@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@300&display=swap");
/* Classifiche MGA 2027, stile nuovo (mod_golfnova, parametro stile = nuovo): la grafica del loop TV di golfnova (mga/tv/tv.css)
   sul sito. Foglio bianco a righe sottili, inchiostro scuro, verde solo sui dati che contano, posizioni T a pari merito.
   In cima la fascia verde scuro con i bottoni delle categorie come nel 2026 (nell'articolo: classe gn27-banda).
   Dal telefono la tabella resta leggibile senza scorrere di lato: provenienza e hcp spariscono, le tappe diventano pillole. */
.gn27, .gn27-banda {
  --gn-inchiostro: #16181d;
  --gn-grigio: #5f6368;
  --gn-grigio-chiaro: #8a8f95;
  --gn-riga: #e3e5e8;
  --gn-fondo: #f0f1f3;
  --gn-verde-scuro: #0c4a2b;
  --gn-verde: #1a7344;
  --gn-verde-tenue: #e6f2ea;
  --gn-rosso: #a3241c;
  font-family: "Open Sans", Arial, sans-serif;
  color: var(--gn-inchiostro);
  font-variant-numeric: tabular-nums;
}
.gn27 { margin: 0 0 40px; }
.gn27 *, .gn27-banda * { box-sizing: border-box; }

/* fascia grigio chiaro sotto l'header come nel 2026, a tutta larghezza (sfondo esteso con border-image, niente scorrimento
   orizzontale), con i bottoni delle categorie con la forma di quelli del 2026: rettangoli 141x56, scritta bianca condensata
   su due righe; colori scelti da Manuel (proposta C): generale verde scuro, tappa blu notte con "Risultati di tappa"
   sottile sopra, attivo verde MGA */
.gn27-banda { border-image: conic-gradient(#f0f1f3 0 0) fill 0 // 0 100vmax; margin: -20px 0 30px; padding: 22px 0; }
.gn27-banda nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.gn27-banda nav a { flex: 0 0 141px; height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 6px;
  background: #0c4a2b; color: #fff !important; text-decoration: none !important; text-align: center; text-transform: uppercase;
  font-family: "Bebas Neue", "Oswald", "Arial Narrow", sans-serif; font-weight: 400; font-size: 21px; line-height: .92; letter-spacing: .5px; }
.gn27-banda nav a:hover, .gn27-banda nav a.attiva { background: #2bb673; }
.gn27-banda nav a small { display: block; font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 300; font-size: 9.5px; letter-spacing: 1.8px; line-height: 1; margin-bottom: 3px; }
.gn27-banda.gn27-banda-gio nav a { background: #14394f; }
.gn27-banda.gn27-banda-gio nav a:hover, .gn27-banda.gn27-banda-gio nav a.attiva { background: #2bb673; }

/* l'intestazione vuota dell'articolo (30 px di margine) staccava la fascia dalla striscia verde sotto l'header */
.item-page:has(.gn27-banda) .entry-header { display: none; }

/* testata come il TV: etichetta e stato, titolo grande, riga verde */
.gn27-testa { padding-bottom: 16px; margin-bottom: 4px; border-bottom: 1px solid var(--gn-riga); }
.gn27-stato { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--gn-verde); }
.gn27-stato.gn27-parziale { color: #8a5300; }
.gn27-etichetta { background: var(--gn-verde-scuro); color: #fff; padding: 3px 9px; border-radius: 4px; font-size: 12px; }
.gn27-testa h2 { margin: 0; font-family: "Open Sans", Arial, sans-serif; font-size: 46px; font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; text-transform: uppercase; color: var(--gn-inchiostro); }
.gn27-meta { margin: 8px 0 0; font-size: 17px; letter-spacing: .04em; text-transform: uppercase; color: var(--gn-verde); }

/* titolo di sezione con l'etichetta grigia a destra */
.gn27-sezione { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0 12px; }
.gn27-sezione h3 { margin: 0; font-size: 22px; font-weight: 700; color: var(--gn-inchiostro); }
.gn27-sezione span { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gn-grigio); background: var(--gn-fondo); padding: 5px 12px; border-radius: 4px; }

/* tab delle giornate (come le pillole del TV) e link alle altre tappe */
.gn27-barra-tab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0 14px; }
.gn27-tab { display: flex; gap: 8px; }
.gn27-tab button { border: 0; cursor: pointer; padding: 10px 24px; border-radius: 999px; font: 600 16px "Open Sans", Arial, sans-serif; color: var(--gn-grigio); background: var(--gn-fondo); }
.gn27-tab button small { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #8a5300; }
.gn27-tab button.attiva { color: #fff; font-weight: 700; background: var(--gn-verde-scuro); }
.gn27-tab button.attiva small { color: #ffd88a; }
.gn27-tappe { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; }
.gn27-tappe span { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gn-grigio); margin-right: 2px; }
.gn27-tappe a { padding: 4px 10px; border-radius: 4px; border: 1px solid var(--gn-riga); color: var(--gn-grigio) !important; text-decoration: none !important; }
.gn27-tappe a:hover { border-color: var(--gn-verde); color: var(--gn-verde) !important; }
.gn27-tappe a.attiva { border-color: var(--gn-verde-scuro); color: var(--gn-verde-scuro) !important; font-weight: 700; }

/* i primi: schede come il TV verticale, foto in alto, posto sull'angolo, punti su fondo verde in basso */
.gn27-podio { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin: 4px 0 30px 18px; padding: 0; }
.gn27-primo { position: relative; display: flex; flex-direction: column; border: 1px solid var(--gn-riga); border-radius: 8px; min-width: 0; margin: 0; background: #fff; }
.gn27-primo .gn27-foto { width: 100%; height: 160px; object-fit: cover; object-position: center 20%; border-radius: 7px 7px 0 0; background: #eef0f2; }
.gn27-primo .gn27-foto.gn27-iniziali { display: flex; align-items: center; justify-content: center; font-size: 40px; font-weight: 800; color: #c3c8cd; }
.gn27-posto { position: absolute; left: -18px; top: 138px; z-index: 2; min-width: 40px; height: 40px; padding: 0 6px; border-radius: 999px; background: var(--gn-verde-scuro); color: #fff; font-size: 16px; font-weight: 800; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff; }
.gn27-primo .gn27-chi { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; padding: 14px 10px 10px 26px; }
.gn27-primo .gn27-nome { display: flex; flex-direction: column; font-size: 16px; line-height: 1.2; }
.gn27-primo .gn27-nome strong { font-weight: 700; text-transform: uppercase; }
.gn27-primo .gn27-nome em { font-style: normal; }
.gn27-primo .gn27-nome strong, .gn27-primo .gn27-nome em, .gn27-primo small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gn27-primo small { font-size: 13px; color: var(--gn-grigio); }
.gn27-mga { display: flex; align-items: baseline; justify-content: center; gap: 6px; margin: 0 -1px -1px; padding: 8px 4px; line-height: 1; background: var(--gn-verde); color: #fff; border-radius: 0 0 8px 8px; }
.gn27-mga b { font-size: 28px; font-weight: 800; }
.gn27-mga small { font-size: 12px; color: #fff; }

/* tabella come il TV: intestazione grigia con riga scura, righe bianche sottili (vince sulle regole globali del sito) */
.gn27 .gn27-tabella table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.gn27 .gn27-tabella table thead, .gn27 .gn27-tabella table thead:hover, .gn27 .gn27-tabella table thead tr, .gn27 .gn27-tabella table thead th { background: transparent !important; background-color: transparent !important; }
.gn27 .gn27-tabella th, .gn27 .gn27-tabella td { border: 0; border-bottom: 1px solid var(--gn-riga); padding: 10px; text-align: left; vertical-align: middle; font-size: 16px; }
.gn27 .gn27-tabella thead th { border-bottom: 3px solid var(--gn-inchiostro); color: var(--gn-grigio) !important; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.gn27 .gn27-tabella thead th small { display: block; font-size: 10px; font-weight: 400; letter-spacing: 0; color: var(--gn-grigio-chiaro); }
.gn27 .gn27-tabella tbody tr, .gn27 .gn27-tabella tbody tr:nth-child(odd), .gn27 .gn27-tabella tbody tr:nth-child(even) { background: #fff !important; }
.gn27 .gn27-tabella tbody tr:hover td { background: #fafbfb; }
.gn27 .gn27-tabella tbody tr.gn27-zona td { background: var(--gn-verde-tenue); }
.gn27-pos { width: 60px; font-weight: 700; }
.gn27 .gn27-n { text-align: center; width: 76px; }
.gn27 .gn27-tot { width: 90px; font-weight: 800; }
.gn27 .gn27-luogo { color: var(--gn-grigio); font-size: 14px; white-space: nowrap; font-weight: 400; }
.gn27 .gn27-tabella td.gn27-t { font-weight: 400; }
/* Classifica di giornata: Stableford (o Lordo) al centro, MGA points a destra */
.gn27 .gn27-tabella .gn27-n:not(.gn27-t):not(.gn27-tot) { text-align: center; }
.gn27 .gn27-tabella th.gn27-tot:has(.gn27-pillola), .gn27 .gn27-tabella td.gn27-tot.gn27-punti, .gn27 .gn27-tabella td.gn27-tot.gn27-tenue { text-align: right; }
.gn27 .gn27-conta, .gn27 .gn27-punti { color: var(--gn-verde); font-weight: 700; }
.gn27 .gn27-scarto { color: var(--gn-grigio-chiaro); text-decoration: line-through; }
.gn27 .gn27-tenue, .gn27 .gn27-fg td { color: var(--gn-grigio-chiaro); }
.gn27-pillola { display: inline-block; padding: 2px 10px; border-radius: 4px; background: var(--gn-verde-scuro); color: #fff; }
.gn27-giocatore { display: flex; align-items: center; gap: 12px; min-width: 0; }
.gn27-avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex: none; background: #eef0f2; }
.gn27-avatar.gn27-iniziali { display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #9aa0a6; }
.gn27-giocatore .gn27-nome { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.gn27-giocatore .gn27-nome strong { font-weight: 700; text-transform: uppercase; }
.gn27-giocatore .gn27-nome em { font-style: normal; }
.gn27-pass { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: var(--gn-rosso); border: 1px solid #e8b4ae; border-radius: 3px; padding: 0 6px; }
.gn27-qf { font-size: 11px; font-weight: 700; color: #fff; border-radius: 3px; padding: 0 6px; }
.gn27-qf-rossa { background: #c0392b; }
.gn27-qf-verde { background: var(--gn-verde); }
.gn27-chips, .gn27-corto { display: none; }
.gn27-legenda { margin: 14px 0 0; font-size: 13px; color: var(--gn-grigio); line-height: 1.8; }
.gn27-vuota { padding: 30px 0; color: var(--gn-grigio); }

/* tablet */
@media (max-width: 1100px) {
  .gn27-podio { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 30px; }
  .gn27 .gn27-luogo { display: none; }
}
/* telefono */
@media (max-width: 700px) {
  .gn27-banda nav { gap: 6px; }
  .gn27-banda nav a { flex: 0 0 calc(33.33% - 4px); height: 50px; font-size: 18px; }
  .gn27-banda nav a small { font-size: 8px; letter-spacing: 1px; }
  .gn27-testa h2 { font-size: 30px; }
  .gn27-meta { font-size: 13px; }
  .gn27-tab { width: 100%; }
  .gn27-tab button { flex: 1; padding: 10px 8px; font-size: 14px; }
  .gn27-podio { grid-template-columns: 1fr; gap: 14px; margin-left: 16px; }
  .gn27-primo { flex-direction: row; align-items: stretch; }
  .gn27-primo .gn27-foto { width: 64px; height: auto; min-height: 74px; border-radius: 7px 0 0 7px; }
  .gn27-primo .gn27-foto.gn27-iniziali { font-size: 20px; }
  .gn27-posto { top: auto; bottom: -10px; left: -16px; min-width: 32px; height: 32px; font-size: 14px; }
  .gn27-primo .gn27-chi { justify-content: center; padding: 8px 10px; }
  .gn27-primo .gn27-nome { flex-direction: row; gap: 5px; }
  .gn27-mga { flex-direction: column; align-items: center; justify-content: center; width: 74px; flex: none; margin: -1px -1px -1px 0; border-radius: 0 8px 8px 0; }
  .gn27-mga b { font-size: 24px; }
  .gn27-mga small { font-size: 10px; margin-top: 3px; }
  .gn27 .gn27-tabella .gn27-t, .gn27 .gn27-avatar { display: none; }
  .gn27 .gn27-tabella th, .gn27 .gn27-tabella td { padding: 9px 6px; font-size: 15px; }
  .gn27-pos { width: 40px; }
  .gn27 .gn27-n { width: 48px; }
  .gn27 .gn27-tot { width: 56px; }
  .gn27-lungo { display: none; }
  .gn27-corto { display: inline; }
  .gn27-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
  .gn27-chips span { font-size: 11px; padding: 1px 6px; border-radius: 3px; background: var(--gn-fondo); }
  .gn27-chips .gn27-conta { background: var(--gn-verde-tenue); }
}

/* Partenze di un giorno di gara (tipo partenze): per ogni buca un foglio con la fascia del titolo come il foglio delle partenze
   pubbliche di golfnova (verde petrolio, bianco, grande, centrato), poi una riga per gruppo: partenza e i quattro giocatori,
   righe alternate. Al telefono i giocatori vanno uno sotto l'altro accanto all'orario. */
.gn27-tab a { display: inline-block; padding: 10px 24px; border-radius: 999px; font: 600 16px "Open Sans", Arial, sans-serif; color: var(--gn-grigio) !important; background: var(--gn-fondo); text-decoration: none !important; }
.gn27-tab a.attiva { color: #fff !important; font-weight: 700; background: var(--gn-verde-scuro); }
.gn27-foglio { margin: 26px 0 0; border: 1px solid #cbd5e1; border-radius: 20px; overflow: hidden; background: #fff; }
.gn27 .gn27-foglio-titolo { margin: 0; padding: 18px 16px; background: #0f766e; color: #fff; font-size: 30px; font-weight: 800; line-height: 1.2; text-align: center; }
.gn27 .gn27-partenze thead th { border-bottom: 2px solid var(--gn-inchiostro); padding: 12px 10px; }
.gn27 .gn27-partenze th.gn27-ora, .gn27 .gn27-partenze td.gn27-ora { width: 110px; text-align: center; }
.gn27 .gn27-partenze td { padding: 13px 10px; }
.gn27 .gn27-partenze tbody tr:last-child td { border-bottom: 0; }
.gn27 .gn27-partenze tbody tr:nth-child(even) td { background: #f5f7f6; }
.gn27 .gn27-partenze td.gn27-ora { font-size: 22px; font-weight: 800; line-height: 1; }
.gn27 .gn27-partenze td.gn27-gioc { font-size: 16px; font-weight: 400; }
.gn27 .gn27-partenze td.gn27-gioc strong { font-weight: 700; }
@media (max-width: 700px) {
  .gn27 .gn27-foglio-titolo { font-size: 20px; padding: 14px 12px; }
  .gn27 .gn27-partenze thead { display: none; }
  .gn27 .gn27-partenze tr { display: grid; grid-template-columns: 64px 1fr; }
  .gn27 .gn27-partenze td.gn27-ora { grid-row: span 4; width: auto; font-size: 18px; padding-top: 14px; }
  .gn27 .gn27-partenze td.gn27-gioc { padding: 4px 10px; border-bottom: 0; font-size: 15px; }
  .gn27 .gn27-partenze td.gn27-gioc-vuoto { display: none; }
  .gn27 .gn27-partenze tbody tr { border-bottom: 1px solid var(--gn-riga); padding: 6px 0; }
  .gn27 .gn27-partenze tbody tr:nth-child(even) { background: #f5f7f6; }
  .gn27-tab a, .gn27-tab button { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 48px; text-align: center; padding: 8px 6px; font-size: min(14px, 3.6vw); line-height: 1.25; white-space: nowrap; }
}

/* Partenze: testata con la foto del circolo ospitante (images/circoli/<nome>.jpg) a destra, in dissolvenza sul verde MGA,
   e a sinistra il logo bianco MGA Tour 2027 con tappa, circolo e giorno */
.gn27 .gn27-hero { position: relative; min-height: 300px; box-sizing: border-box; padding: 34px 40px; margin: 0 0 4px; border-radius: 16px; overflow: hidden;
  background-color: #0c4a2b; background-repeat: no-repeat;
  background-image: linear-gradient(90deg, #0c4a2b 0%, #0c4a2b 34%, rgba(12,74,43,.6) 46%, rgba(12,74,43,0) 62%), var(--gn27-foto);
  background-size: 100% 100%, 68% auto; background-position: 0 0, right 0 top 47%;
  display: flex; align-items: center; gap: 34px; color: #ffffff; }
.gn27 .gn27-hero-logo { width: 190px; height: auto; flex: none; }
.gn27 .gn27-hero-testo { display: flex; flex-direction: column; padding-left: 34px; border-left: 1px solid rgba(255,255,255,.3); }
.gn27 .gn27-hero .gn27-stato { color: #ffffff; margin: 0 0 10px; }
.gn27 .gn27-hero .gn27-stato .gn27-etichetta { background: #ffffff; color: #0c4a2b; }
.gn27 .gn27-hero h2 { margin: 0; color: #ffffff; font-size: 52px; line-height: 1; }
.gn27 .gn27-hero .gn27-meta { margin: 6px 0 0; color: #e3f2e9; font-size: 16px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 900px) {
  .gn27 .gn27-hero { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 16px; min-height: 0; padding: 24px 22px 210px; border-radius: 12px;
    background-image: linear-gradient(180deg, #0c4a2b 0%, #0c4a2b 52%, rgba(12,74,43,0) 78%), var(--gn27-foto);
    background-size: 100% 100%, 140% auto; background-position: 0 0, 30% 100%; }
  .gn27 .gn27-hero-logo { width: 130px; }
  .gn27 .gn27-hero-testo { padding-left: 0; border-left: 0; }
  .gn27 .gn27-hero h2 { font-size: 36px; }
  .gn27 .gn27-hero .gn27-meta { font-size: 13px; }
}

/* Classifica generale: al posto del logo MGA Tour "Road to" e il logo bianco del MGA Portugal Open (12/11/2026) */
.gn27 .gn27-hero-road { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: none; }
.gn27 .gn27-hero-road span { font-family: 'Montserrat', 'Open Sans', Arial, sans-serif; font-size: 13px; font-weight: 500; line-height: 1; letter-spacing: .3em; color: #ffffff; text-transform: uppercase; }
.gn27 .gn27-hero-road img { width: 200px; height: auto; display: block; }
@media (max-width: 700px) {
  .gn27 .gn27-hero-road { align-items: flex-start; }
  .gn27 .gn27-hero-road span { font-size: 11px; }
  .gn27 .gn27-hero-road img { width: 150px; }
}
