/*
 * Per gli occhi — stile del tema.
 * Regole: leggibilità prima di tutto (testo grande, interlinea ampia, contrasti AA o migliori, fuoco ben visibile),
 * il testo si ingrandisce dai pulsanti «A» (html[data-testo]), ogni rubrica ha il suo colore d'iride,
 * i box redazionali (In breve, Lo studio, Quando parlarne con l'oculista) hanno sempre la stessa forma.
 */

/* ------------------------------------------------------------------ Base */

html { scroll-padding-top: 9rem; }
html[data-testo="1"] { font-size: 112.5%; }
html[data-testo="2"] { font-size: 126%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; font-variant-numeric: lining-nums; }
:where(p, li) { hyphens: manual; overflow-wrap: break-word; }
a { text-underline-offset: .18em; text-decoration-thickness: .07em; }
a:hover { text-decoration-thickness: .12em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; border-radius: 4px; }
::selection { background: #CFE5EE; color: var(--wp--preset--color--contrast); }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.is-style-occhiello { font-size: .875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--primary); margin-bottom: .4rem; }
.is-style-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wp--preset--color--contrast-2); font-family: var(--wp--preset--font-family--titoli); font-weight: 400; }
.is-style-nota { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--contrast-2); }
.wp-block-heading.is-style-filetto { padding-top: .9rem; border-top: 3px solid var(--wp--preset--color--accent); display: inline-block; }
.wp-block-separator.is-style-breve { width: 5rem; border-top-width: 3px !important; border-color: var(--wp--preset--color--accent); margin-left: 0; }

/* ------------------------------------------------------------------ Testata */

header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0); }
.sito-testata { position: relative; background: rgba(252, 251, 248, .94); border-bottom: 1px solid var(--wp--preset--color--linea); }
@supports (backdrop-filter: blur(8px)) { .sito-testata { background: rgba(252, 251, 248, .86); backdrop-filter: saturate(1.4) blur(10px); } }
/* Con il menu aperto niente sfocatura: backdrop-filter fa da riquadro agli elementi fissi, e il pannello del menu restava chiuso nella testata invece di coprire lo schermo. */
html.has-modal-open .sito-testata, .sito-testata:has(.is-menu-open) { -webkit-backdrop-filter: none; backdrop-filter: none; }
.testata-riga { gap: 1.2rem; min-height: 4rem; }
.marchio { flex-shrink: 0; }
.marchio .wp-block-site-logo img { width: auto; height: 46px; display: block; }
.testata-azioni { gap: 1.1rem; }
.menu-principale { font-size: 1rem; }
.menu-principale .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); text-decoration: none; padding: .35rem 0; }
.menu-principale .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }
.menu-principale .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--linea) !important; border-radius: 12px; padding: .5rem !important; box-shadow: var(--wp--preset--shadow--morbida); min-width: 17rem !important; background: var(--wp--preset--color--base) !important; }
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem .7rem !important; border-radius: 8px; }
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--superficie); text-decoration: none; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; background: var(--wp--preset--color--base) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; font-size: 1.25rem; gap: 1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem !important; font-size: 1.05rem; }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
/* Menu aperto: voci a sinistra (il menu in riga è allineato a destra) e sottomenu senza la cornice della tendina. */
.menu-principale .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem !important; }
.menu-principale .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; margin-left: 0; }
.menu-principale .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; min-width: 0 !important; background: transparent !important; padding: .3rem 0 0 1rem !important; }
.menu-principale .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .35rem 0 !important; }
.ricerca-testata .wp-block-search__button { background: transparent; color: var(--wp--preset--color--contrast); border: 1px solid var(--wp--preset--color--linea); border-radius: 999px; padding: .45rem; }
.ricerca-testata .wp-block-search__input { border-radius: 999px; border: 1px solid var(--wp--preset--color--linea); padding: .45rem .9rem; font-size: 1rem; }
.ricerca-testata .wp-block-search__button svg { width: 22px; height: 22px; }
.istl-lingue { font-size: .9rem; font-weight: 600; }

/* Dimensione del testo */
.pgo-testo { display: inline-flex; align-items: flex-end; gap: .15rem; padding: .15rem; border: 1px solid var(--wp--preset--color--linea); border-radius: 999px; background: var(--wp--preset--color--base); }
.pgo-testo__a { appearance: none; border: 0; background: transparent; color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--titoli); font-weight: 700; line-height: 1; width: 2rem; height: 2rem; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.pgo-testo__a--0 { font-size: .85rem; }
.pgo-testo__a--1 { font-size: 1.05rem; }
.pgo-testo__a--2 { font-size: 1.3rem; }
.pgo-testo__a[aria-pressed="true"] { background: var(--wp--preset--color--primary-strong); color: var(--wp--preset--color--base); }
.pgo-testo__a:hover { background: var(--wp--preset--color--superficie-2); }
.pgo-testo__a[aria-pressed="true"]:hover { background: var(--wp--preset--color--primary); }

/* Avviso divulgativo, sempre in cima */
.pgo-avviso { background: var(--wp--preset--color--notte); color: #E7EEF0; font-size: .875rem; line-height: 1.4; }
.pgo-avviso p { margin: 0 auto; max-width: var(--wp--style--global--wide-size); padding: .45rem var(--wp--preset--spacing--40); display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.pgo-avviso__segno { flex: none; width: 1.25rem; height: 1.25rem; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); display: inline-flex; align-items: center; justify-content: center; font: 700 .75rem/1 var(--wp--preset--font-family--titoli); font-style: italic; }
.pgo-avviso__corto { display: none; }
.pgo-avviso__link { color: #FFFFFF; font-weight: 700; }
.pgo-avviso__link:hover, .pgo-avviso__link:focus { color: var(--wp--preset--color--accent); }

/* ------------------------------------------------------------------ Intestazioni */

.intestazione-pagina { background: linear-gradient(180deg, var(--wp--preset--color--superficie) 0%, var(--wp--preset--color--base) 100%); }
.intestazione-pagina .wp-block-post-title, .intestazione-pagina h1 { margin-top: .6rem; text-wrap: balance; }
.intestazione-pagina .is-style-lead, .intestazione-pagina .wp-block-post-excerpt__excerpt { max-width: 46rem; }
.wp-block-breadcrumbs { margin-bottom: .5rem; }
.wp-block-breadcrumbs a { text-decoration: none; }
.wp-block-breadcrumbs a:hover { text-decoration: underline; }
.intestazione-rubrica h1::before { content: ""; display: block; width: 3.2rem; height: 3.2rem; border-radius: 50%; margin-bottom: 1rem; background: radial-gradient(circle at 50% 50%, var(--wp--preset--color--notte) 0 30%, var(--rubrica, var(--wp--preset--color--primary)) 31% 88%, var(--wp--preset--color--notte) 89%); }

/* ------------------------------------------------------------------ Etichette e colori delle rubriche */

.etichetta-rubrica { font-size: .8125rem !important; letter-spacing: .06em !important; text-transform: uppercase; }
.etichetta-rubrica a, .pgo-rubriche__voce a { --rubrica: var(--wp--preset--color--primary); }
.etichetta-rubrica a { color: var(--rubrica) !important; display: inline-flex; align-items: center; gap: .45rem; }
.etichetta-rubrica a::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: radial-gradient(circle, var(--wp--preset--color--notte) 0 32%, var(--rubrica) 34%); flex: none; }
.etichetta-rubrica .wp-block-post-terms__separator { display: none; }
a[href*="/rubrica/malattie/"] { --rubrica: #2B5F8A; }
a[href*="/rubrica/vedere-bene/"] { --rubrica: #2F6B4A; }
a[href*="/rubrica/prevenzione/"] { --rubrica: #755719; }
a[href*="/rubrica/bambini/"] { --rubrica: #94560B; }
a[href*="/rubrica/ricerca/"] { --rubrica: #3F5B6B; }
a[href*="/rubrica/salute/"] { --rubrica: #7A3B26; }
a[href*="/rubrica/visite-esami/"] { --rubrica: #1F6A6C; }
a[href*="/rubrica/vero-o-falso/"] { --rubrica: #5D4C85; }
body.category-malattie { --rubrica: #2B5F8A; }
body.category-vedere-bene { --rubrica: #2F6B4A; }
body.category-prevenzione { --rubrica: #755719; }
body.category-bambini { --rubrica: #94560B; }
body.category-ricerca { --rubrica: #3F5B6B; }
body.category-salute { --rubrica: #7A3B26; }
body.category-visite-esami { --rubrica: #1F6A6C; }
body.category-vero-o-falso { --rubrica: #5D4C85; }

/* Le otto rubriche */
.pgo-rubriche { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
.pgo-rubriche__voce a { display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; row-gap: .25rem; align-items: center; height: 100%; box-sizing: border-box; padding: 1.1rem 1.2rem; border-radius: var(--wp--custom--raggio); background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--linea); color: var(--wp--preset--color--contrast); text-decoration: none; transition: border-color var(--wp--custom--durata), box-shadow var(--wp--custom--durata), transform var(--wp--custom--durata); }
.pgo-rubriche__voce a:hover { border-color: var(--rubrica); box-shadow: var(--wp--preset--shadow--morbida); transform: translateY(-2px); }
.pgo-rubriche__iride { grid-row: span 2; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: radial-gradient(circle, var(--wp--preset--color--notte) 0 30%, var(--rubrica) 32% 62%, var(--rubrica-chiaro, var(--rubrica)) 63% 86%, var(--rubrica) 88%); }
.pgo-rubriche__nome { font-family: var(--wp--preset--font-family--titoli); font-weight: 650; font-size: 1.15rem; line-height: 1.25; }
.pgo-rubriche__descrizione { grid-column: 2; font-size: .9375rem; line-height: 1.45; color: var(--wp--preset--color--contrast-2); }
.pgo-rubriche.is-chip { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.pgo-rubriche.is-chip .pgo-rubriche__voce a { display: inline-flex; gap: .5rem; padding: .4rem .85rem .4rem .45rem; border-radius: 999px; }
.pgo-rubriche.is-chip .pgo-rubriche__iride { width: 1.4rem; height: 1.4rem; }
.pgo-rubriche.is-chip .pgo-rubriche__nome { font-size: .95rem; font-family: var(--wp--preset--font-family--testo); font-weight: 700; }

/* ------------------------------------------------------------------ Schede degli articoli */

.griglia-articoli .wp-block-post-template { gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important; }
.scheda-articolo { gap: .55rem !important; height: 100%; }
.scheda-articolo .wp-block-post-featured-image { margin: 0 0 .5rem; overflow: hidden; border-radius: var(--wp--custom--raggio); background: var(--wp--preset--color--superficie-2); }
.scheda-articolo .wp-block-post-featured-image img { transition: transform .6s ease; }
.scheda-articolo:hover .wp-block-post-featured-image img { transform: scale(1.035); }
.scheda-articolo .wp-block-post-title { margin: 0; line-height: 1.22; text-wrap: balance; }
.scheda-articolo .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; text-decoration-thickness: .06em; }
.scheda-articolo .wp-block-post-excerpt { font-size: 1rem; line-height: 1.55; color: var(--wp--preset--color--contrast-2); margin: 0; }
.scheda-articolo .wp-block-post-excerpt__more-text { display: none; }
.scheda-grande .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large) !important; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--60); gap: .4rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: .35rem .75rem; border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--primary-strong); color: var(--wp--preset--color--base); }

/* ------------------------------------------------------------------ Home */

.apertura { background: radial-gradient(120% 90% at 85% 40%, var(--wp--preset--color--superficie-2) 0%, var(--wp--preset--color--base) 58%); overflow: hidden; }
.apertura__riga { gap: var(--wp--preset--spacing--60) !important; align-items: center !important; }
.apertura h1 { font-size: var(--wp--preset--font-size--display) !important; line-height: 1.02; letter-spacing: -.025em; text-wrap: balance; margin: .4rem 0 1.2rem; }
.apertura h1 em { font-style: italic; font-weight: 500; color: var(--wp--preset--color--primary); }
.pgo-iride { margin: 0; width: 100%; max-width: 30rem; justify-self: center; }
.pgo-iride svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 30px 40px rgba(12, 26, 34, .18)); }
.iride-errore { max-width: 9rem; margin: 0 auto 1rem; }
.pgo-numeri { list-style: none; margin: 1.8rem 0 0; padding: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: 1.2rem 2.6rem; border-top: 1px solid var(--wp--preset--color--linea); }
.pgo-numeri li { display: flex; flex-direction: column; }
.pgo-numeri__cifra { font: 650 2.2rem/1 var(--wp--preset--font-family--titoli); color: var(--wp--preset--color--primary-strong); letter-spacing: -.02em; }
.pgo-numeri__etichetta { font-size: .9375rem; color: var(--wp--preset--color--contrast-2); margin-top: .3rem; }
.sezione-rubrica { border-top: 1px solid var(--wp--preset--color--linea); }
.titolo-sezione { gap: 1rem; align-items: baseline !important; }
.titolo-sezione h2 { margin: 0; }
.titolo-sezione .freccia-sezione a { font-weight: 700; text-decoration: none; white-space: nowrap; }
.titolo-sezione .freccia-sezione a::after { content: " →"; }
.titolo-sezione .freccia-sezione a:hover { text-decoration: underline; }

/* Fascia scura: urgenze */
.fascia-urgenza { background: var(--wp--preset--gradient--notte); color: #E7EEF0; }
.fascia-urgenza h2, .fascia-urgenza h3 { color: #FFFFFF; }
.fascia-urgenza a { color: #FFFFFF; }
.fascia-urgenza .is-style-occhiello { color: #FFB4A8; }
.fascia-urgenza .wp-block-list.is-style-spunte li::before { background: #FF8A7A; box-shadow: 0 0 0 4px rgba(255, 138, 122, .2); }
.fascia-urgenza .numero-112 { font: 700 clamp(4rem, 3rem + 5vw, 7.5rem)/1 var(--wp--preset--font-family--titoli); color: #FFFFFF; letter-spacing: -.03em; margin: 0; }

/* Il metodo, in tre colonne */
.metodo-colonne .wp-block-column { border-top: 3px solid var(--wp--preset--color--accent); padding-top: 1.1rem; }
.metodo-colonne h3 { margin-top: 0; }

/* ------------------------------------------------------------------ Articolo */

.testata-articolo .wp-block-post-title { margin: .5rem 0 .9rem; text-wrap: balance; }
.testata-articolo .wp-block-post-excerpt { margin: 0 0 1.2rem; }
.testata-articolo .wp-block-post-excerpt__excerpt { font-family: var(--wp--preset--font-family--titoli); font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wp--preset--color--contrast-2); }
.pgo-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; font-size: .9375rem; color: var(--wp--preset--color--contrast-2); }
.pgo-meta__firma { font-weight: 700; color: var(--wp--preset--color--contrast); }
.pgo-meta__punto { opacity: .5; }
.pgo-meta__studi { font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .65rem .15rem .2rem; border-radius: 999px; background: var(--wp--preset--color--superficie-2); }
.pgo-meta__numero { background: var(--wp--preset--color--primary-strong); color: #FFFFFF; border-radius: 999px; min-width: 1.6rem; padding: 0 .35rem; text-align: center; line-height: 1.6rem; font-size: .875rem; }
.pgo-meta__ia { font-size: .8125rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; color: var(--wp--preset--color--contrast-2); border: 1px solid var(--wp--preset--color--linea); border-radius: 999px; padding: .1rem .6rem; }
.pgo-meta__ia:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--contrast); }
.copertina-articolo { margin: 0 auto; }
.copertina-articolo img { border-radius: calc(var(--wp--custom--raggio) * 1.6); }
.articolo-testo { font-size: var(--wp--preset--font-size--medium); }
.articolo-testo > p:first-of-type::first-letter { font-family: var(--wp--preset--font-family--titoli); float: left; font-size: 4.1em; line-height: .82; font-weight: 650; padding: .08em .1em 0 0; color: var(--wp--preset--color--primary-strong); }
.articolo-testo h2 { margin-top: var(--wp--preset--spacing--60); }
.articolo-testo h3 { margin-top: var(--wp--preset--spacing--50); }
.articolo-testo li { margin-bottom: .45rem; }
.articolo-testo .wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: 1rem; line-height: 1.5; }
.wp-block-table th { background: var(--wp--preset--color--superficie-2); text-align: left; font-weight: 700; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--linea); padding: .65rem .8rem; vertical-align: top; }
.wp-block-table tbody tr:nth-child(even) td { background: rgba(243, 241, 234, .55); }

/* Rimandi numerati alle fonti */
sup.rif { font-size: .68em; line-height: 0; font-weight: 700; margin-left: .08em; }
sup.rif a { text-decoration: none; color: var(--wp--preset--color--primary); padding: 0 .12em; border-radius: 3px; }
sup.rif a:hover, sup.rif a:focus { background: var(--wp--preset--color--superficie-2); text-decoration: underline; }

/* Indice dell'articolo */
.pgo-indice { margin-top: var(--wp--preset--spacing--50) !important; box-sizing: border-box; border: 1px solid var(--wp--preset--color--linea); border-radius: var(--wp--custom--raggio); padding: .9rem 1.2rem; background: var(--wp--preset--color--base); }
.pgo-indice summary { cursor: pointer; font-weight: 700; font-size: 1rem; letter-spacing: .02em; }
.pgo-indice ol { margin: .8rem 0 .2rem; padding-left: 1.4rem; font-size: 1rem; line-height: 1.5; }
.pgo-indice li { margin-bottom: .35rem; }
.pgo-indice a { text-decoration: none; }
.pgo-indice a:hover { text-decoration: underline; }

/* Box redazionali */
.is-style-in-breve, .is-style-studio, .is-style-oculista, .is-style-riquadro { border-radius: var(--wp--custom--raggio); padding: 1.3rem 1.5rem !important; margin-top: var(--wp--preset--spacing--40) !important; margin-bottom: var(--wp--preset--spacing--40) !important; }
.is-style-in-breve { background: var(--wp--preset--color--superficie-2); border-left: 5px solid var(--wp--preset--color--primary); }
.is-style-in-breve > .is-style-occhiello, .is-style-studio > .is-style-occhiello { margin-top: 0; }
.is-style-in-breve ul { margin-bottom: 0; }
.is-style-studio { background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); position: relative; }
.is-style-studio::after { content: ""; position: absolute; top: 1.2rem; right: 1.2rem; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: radial-gradient(circle, var(--wp--preset--color--notte) 0 30%, var(--wp--preset--color--primary) 32% 86%, var(--wp--preset--color--notte) 88%); opacity: .85; }
.is-style-studio h3 { margin-top: .2rem; padding-right: 3rem; }
.is-style-studio dl, .is-style-studio ul { font-size: 1.0625rem; }
.is-style-oculista { background: #FBEFEC; border-left: 5px solid var(--wp--preset--color--allerta); }
.is-style-oculista h3 { margin-top: 0; color: var(--wp--preset--color--allerta); display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; }
.is-style-oculista h3::before { content: "!"; flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--wp--preset--color--allerta); color: #FFFFFF; font: 700 1.05rem/1.7rem var(--wp--preset--font-family--testo); text-align: center; }
.is-style-oculista ul { margin-bottom: 0; }
.is-style-riquadro { background: var(--wp--preset--color--superficie); }
.is-style-urgenza { background: #FBEFEC; border: 2px solid var(--wp--preset--color--allerta); border-radius: var(--wp--custom--raggio); padding: 1.2rem 1.4rem !important; }
.is-style-scheda { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--linea); border-radius: var(--wp--custom--raggio); padding: 1.4rem !important; }
.is-style-cornice { border: 1px solid var(--wp--preset--color--linea); border-radius: var(--wp--custom--raggio); padding: 1.4rem !important; }

/* Elenchi */
.wp-block-list.is-style-spunte { list-style: none; padding-left: 0; }
.wp-block-list.is-style-spunte > li { position: relative; padding-left: 1.6rem; }
.wp-block-list.is-style-spunte > li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: .55rem; height: .55rem; border-radius: 50%; background: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px rgba(11, 92, 114, .14); }
.wp-block-list.is-style-cronologia { list-style: none; padding-left: 0; counter-reset: passo; }
.wp-block-list.is-style-cronologia > li { counter-increment: passo; position: relative; padding-left: 2.8rem; min-height: 2rem; margin-bottom: .9rem; }
.wp-block-list.is-style-cronologia > li::before { content: counter(passo); position: absolute; left: 0; top: .05rem; width: 2rem; height: 2rem; border-radius: 50%; background: var(--wp--preset--color--primary-strong); color: #FFFFFF; font: 700 1rem/2rem var(--wp--preset--font-family--testo); text-align: center; }
.wp-block-list.is-style-pulito { list-style: none; padding-left: 0; }

/* Fonti */
.fonti-articolo { margin-top: var(--wp--preset--spacing--60) !important; padding-top: var(--wp--preset--spacing--40); border-top: 2px solid var(--wp--preset--color--contrast); }
.fonti-articolo h2 { margin-top: 0 !important; font-size: var(--wp--preset--font-size--large); }
.wp-block-list.is-style-fonti { font-size: .9375rem; line-height: 1.55; padding-left: 2rem; color: var(--wp--preset--color--contrast-2); }
.wp-block-list.is-style-fonti > li { margin-bottom: .75rem; padding-left: .3rem; scroll-margin-top: 9rem; }
.wp-block-list.is-style-fonti > li::marker { font-weight: 700; color: var(--wp--preset--color--contrast); }
.wp-block-list.is-style-fonti > li:target { background: #FFF6DF; outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; border-radius: 4px; }
.wp-block-list.is-style-fonti a { word-break: break-word; }
.fonti-articolo .is-style-nota { margin-top: 1rem; }

/* Domande frequenti */
.wp-block-details summary { cursor: pointer; font-weight: 700; font-size: 1.125rem; line-height: 1.4; list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .2rem; top: -.05rem; font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--primary); }
.wp-block-details[open] summary::after { content: "−"; }
.wp-block-details[open] > summary { margin-bottom: .6rem; }

/* Citazione da rivista */
.wp-block-quote.is-style-grande { border: 0 !important; padding: 0 !important; margin: var(--wp--preset--spacing--50) 0 !important; }
.wp-block-quote.is-style-grande p { font-size: var(--wp--preset--font-size--x-large); line-height: 1.3; font-style: italic; color: var(--wp--preset--color--primary-strong); }
.wp-block-quote.is-style-grande p::before { content: "“"; display: block; font-size: 3em; line-height: .6; color: var(--wp--preset--color--accent); }

/* Nota finale degli articoli */
.pgo-nota-finale { margin-top: var(--wp--preset--spacing--50) !important; padding: 1.2rem 1.4rem; border-radius: var(--wp--custom--raggio); background: var(--wp--preset--color--superficie); border: 1px solid var(--wp--preset--color--linea); font-size: .9375rem; line-height: 1.55; color: var(--wp--preset--color--contrast-2); }
.pgo-nota-finale p { margin: 0 0 .6rem; }
.pgo-nota-finale p:last-child { margin-bottom: 0; }
.pgo-nota-finale strong { color: var(--wp--preset--color--contrast); }
.pgo-nota-finale__urgenza strong { color: var(--wp--preset--color--allerta); }

/* Pulsanti */
.wp-block-button.is-style-freccia .wp-block-button__link::after { content: "→"; margin-left: .55em; display: inline-block; transition: transform var(--wp--custom--durata); }
.wp-block-button.is-style-freccia .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--primary-strong); padding: calc(.85em - 2px) calc(1.6em - 2px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--superficie-2); }
.ricerca-grande { max-width: 34rem; margin-inline: auto; }
.ricerca-grande .wp-block-search__input { border-radius: 999px 0 0 999px; padding: .75rem 1.1rem; border: 2px solid var(--wp--preset--color--linea); font-size: 1.05rem; }
.ricerca-grande .wp-block-search__button { border-radius: 0 999px 999px 0; margin-left: 0; background: var(--wp--preset--color--primary-strong); color: #FFFFFF; font-weight: 700; padding: .75rem 1.3rem; }

/* ------------------------------------------------------------------ Avvertenza: segno, finestra, riquadri */

@property --pgo-giro { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

/* Il segno: un occhio che sbatte le palpebre, con un alone ambra che pulsa. */
.pgo-occhio { flex: none; display: inline-flex; width: 3rem; height: 3rem; }
.pgo-occhio svg { width: 100%; height: 100%; overflow: visible; }
.pgo-occhio__alone { fill: var(--wp--preset--color--accent); opacity: .35; transform-box: fill-box; transform-origin: center; animation: pgo-alone 2.4s ease-out infinite; }
.pgo-occhio__globo { transform-box: fill-box; transform-origin: center; animation: pgo-battito 5s ease-in-out infinite; }
.pgo-occhio__bianco { fill: #FFFFFF; stroke: var(--wp--preset--color--contrast); stroke-width: 2.6; stroke-linejoin: round; }
.pgo-occhio__iride { fill: var(--wp--preset--color--primary); }
.pgo-occhio__pupilla { fill: var(--wp--preset--color--notte); }
.pgo-occhio__luce { fill: #FFFFFF; }
@keyframes pgo-alone { 0% { transform: scale(.6); opacity: .55; } 80%, 100% { transform: scale(1.18); opacity: 0; } }
@keyframes pgo-battito { 0%, 88%, 100% { transform: scaleY(1); } 92% { transform: scaleY(.08); } }

/* Bordo che gira: ambra, rosso e petrolio rincorrono il contorno dei riquadri dell'avvertenza. */
.pgo-attenzione { position: relative; isolation: isolate; }
.pgo-attenzione::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 3px; background: conic-gradient(from var(--pgo-giro), var(--wp--preset--color--accent), var(--wp--preset--color--allerta) 18%, var(--wp--preset--color--accent) 36%, var(--wp--preset--color--primary) 68%, var(--wp--preset--color--accent)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: pgo-giro 5s linear infinite; pointer-events: none; z-index: 1; }
@keyframes pgo-giro { to { --pgo-giro: 360deg; } }

/* Riquadro in testa all'articolo: luce che scorre e un piccolo richiamo quando compare. */
.pgo-avvertenza-box { display: flex; align-items: center; gap: .8rem 1.1rem; flex-wrap: wrap; margin-top: 1.3rem !important; padding: .85rem 1.1rem; border-radius: 16px; background: linear-gradient(100deg, #FFF3D4 0%, #FFFDF6 50%, #FFF3D4 100%); background-size: 220% 100%; box-shadow: 0 8px 26px rgba(227, 165, 53, .25); animation: pgo-luce 7s ease-in-out infinite, pgo-richiamo .9s ease-in-out 1.2s 2; }
.pgo-avvertenza-box__testo { flex: 1 1 18rem; margin: 0; font-size: 1rem; line-height: 1.5; color: var(--wp--preset--color--contrast); }
.pgo-avvertenza-box__testo strong { color: var(--wp--preset--color--allerta); }
.pgo-avvertenza-box__apri { flex: none; position: relative; z-index: 2; display: inline-flex; align-items: center; padding: .5rem 1.05rem; border-radius: 999px; background: var(--wp--preset--color--primary-strong); color: #FFFFFF; font-weight: 700; font-size: .9375rem; text-decoration: none; }
.pgo-avvertenza-box__apri:hover, .pgo-avvertenza-box__apri:focus-visible { background: var(--wp--preset--color--primary); color: #FFFFFF; }
@keyframes pgo-luce { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
@keyframes pgo-richiamo { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-5px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(3px); } }

/* Nota in fondo all'articolo: lo stesso segno e lo stesso bordo. */
.pgo-nota-finale.pgo-attenzione { border-color: transparent; padding-left: 4.8rem; }
.pgo-nota-finale .pgo-occhio { position: absolute; left: 1.2rem; top: 1.1rem; }

/* La «i» della barra in cima: un anello che si allarga ricorda che l'avvertenza si può riaprire. */
.pgo-avviso__segno { position: relative; }
.pgo-avviso__segno::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--accent); animation: pgo-anello 2.4s ease-out infinite; }
@keyframes pgo-anello { from { transform: scale(.8); opacity: .9; } to { transform: scale(1.7); opacity: 0; } }

/* Finestra dell'avvertenza (dialog nativo: tastiera, Esc e lettori di schermo funzionano da soli). */
.pgo-dialogo { width: min(35rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 0; border-radius: 20px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); box-shadow: 0 30px 80px rgba(12, 26, 34, .45); overflow: auto; overscroll-behavior: contain; }
.pgo-dialogo::backdrop { background: rgba(12, 26, 34, .72); }
.pgo-dialogo[open] { animation: pgo-entra .5s cubic-bezier(.2, .8, .2, 1) both; }
.pgo-dialogo[open]::backdrop { animation: pgo-sfondo .4s ease-out both; }
@keyframes pgo-entra { from { opacity: 0; transform: translateY(24px) scale(.96); } }
@keyframes pgo-sfondo { from { opacity: 0; } }
@keyframes pgo-sale { from { transform: translateY(100%); } }
html:has(.pgo-dialogo[open]) { overflow: hidden; }
.pgo-dialogo__corpo { position: relative; padding: 1.6rem 1.6rem 1.3rem; font-size: 1.0625rem; line-height: 1.55; }
.pgo-dialogo__corpo::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--wp--preset--color--accent), var(--wp--preset--color--allerta), var(--wp--preset--color--primary), var(--wp--preset--color--accent)); background-size: 300% 100%; animation: pgo-scorre 6s linear infinite; }
@keyframes pgo-scorre { to { background-position: 300% 0; } }
.pgo-dialogo__testa { display: flex; align-items: center; gap: .8rem; margin: 0 2.4rem .5rem 0; }
.pgo-dialogo__testa .pgo-occhio { width: 3.8rem; height: 3.8rem; }
.pgo-dialogo__occhiello { margin: 0 !important; font-size: .875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--secondary); }
.pgo-dialogo__titolo { margin: 0 0 .7rem; font-family: var(--wp--preset--font-family--titoli); font-size: clamp(1.45rem, 1.1rem + 1.4vw, 1.9rem); line-height: 1.2; }
.pgo-dialogo p { margin: 0 0 .8rem; }
.pgo-dialogo__urgenza { padding: .75rem .95rem; border-radius: 12px; background: #FBEFEC; border-left: 5px solid var(--wp--preset--color--allerta); font-size: 1rem; }
.pgo-dialogo__urgenza strong { color: var(--wp--preset--color--allerta); }
.pgo-dialogo__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.3rem; margin: 1.1rem 0 .8rem; }
.pgo-dialogo__ok { appearance: none; border: 0; cursor: pointer; padding: .75rem 1.7rem; border-radius: 999px; background: var(--wp--preset--color--primary-strong); color: #FFFFFF; font: 700 1.0625rem/1.2 var(--wp--preset--font-family--testo); }
.pgo-dialogo__ok:hover, .pgo-dialogo__ok:focus-visible { background: var(--wp--preset--color--primary); }
.pgo-dialogo__azioni a { font-weight: 700; }
.pgo-dialogo__nota { font-size: .875rem; color: var(--wp--preset--color--contrast-2); margin-bottom: 0 !important; }
.pgo-dialogo__chiudi { position: absolute; top: .8rem; right: .8rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid var(--wp--preset--color--linea); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.pgo-dialogo__chiudi:hover { background: var(--wp--preset--color--superficie-2); }

/* Illustrazione concettuale in testa all'articolo. */
.pgo-concetto img { display: block; width: 100%; height: auto; background: var(--wp--preset--color--superficie-2); }
.pgo-concetto__didascalia { max-width: 46rem; margin: .85rem auto 0; font-size: .9375rem; line-height: 1.5; color: var(--wp--preset--color--contrast-2); text-align: center; }
.pgo-concetto__etichetta { margin-right: .35rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--primary); }

/* ------------------------------------------------------------------ Pagine */

.pagina-testo h2 { margin-top: var(--wp--preset--spacing--50); }
.pagina-testo .wp-block-columns { gap: var(--wp--preset--spacing--40); }
.pagina-errore .is-style-lead { margin-inline: auto; }

/* ------------------------------------------------------------------ Piè di pagina */

.sito-piede { font-size: 1rem; line-height: 1.6; }
.sito-piede a { color: #FFFFFF; text-decoration: none; }
.sito-piede a:hover { text-decoration: underline; color: var(--wp--preset--color--accent); }
.sito-piede .piede-titolo { color: var(--wp--preset--color--accent) !important; font-family: var(--wp--preset--font-family--testo); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .8rem; }
.sito-piede .piede-marchio { margin: 0 0 1.1rem; line-height: 0; }
.sito-piede .piede-marchio img { width: auto; height: 73px; }
.sito-piede .piede-motto { font-family: var(--wp--preset--font-family--titoli); font-style: italic; font-size: 1.2rem; color: #CFE5EE; }
.sito-piede .wp-block-navigation { font-size: 1rem; }
.sito-piede .wp-block-navigation-item__content { color: #E7EEF0 !important; }
.piede-avvertenza { border-top: 1px solid rgba(231, 238, 240, .2); margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.2rem; font-size: .9375rem; color: #C9D5DA; }
.piede-avvertenza strong { color: #FFFFFF; }
.sito-piede .piede-avvertenza a { text-decoration: underline; text-underline-offset: .18em; }
.piede-legale { font-size: .875rem; color: #AFC0C7; }

/* ------------------------------------------------------------------ Telefono */

@media (max-width: 1080px) {
	.testata-azioni .ricerca-testata { display: none; }
	/* Menu nel pulsante fino a qui, non solo sotto i 600 px di WordPress: le voci in riga, accanto a misura del testo e lingue, vanno a capo. */
	.sito-testata .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sito-testata .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 781px) {
	html { scroll-padding-top: 7.5rem; }
	.pgo-avviso__lungo { display: none; }
	.pgo-avviso__corto { display: inline; }
	.marchio .wp-block-site-logo img { height: 40px; }
	.testata-azioni { gap: .6rem; }
	.pgo-testo__a { width: 1.8rem; height: 1.8rem; }
	.apertura__riga { flex-direction: column-reverse; }
	.pgo-iride { max-width: 15rem; }
	.articolo-testo > p:first-of-type::first-letter { font-size: 3.3em; }
	.is-style-in-breve, .is-style-studio, .is-style-oculista, .is-style-riquadro { padding: 1.1rem 1.1rem !important; }
}
/* Le lingue su una riga a parte, sotto il marchio: accanto al menu e alla misura del testo non ci stanno. */
@media (max-width: 640px) {
	html { scroll-padding-top: 9rem; }
	.sito-testata .testata-riga { flex-wrap: wrap; column-gap: .6rem; row-gap: .2rem; }
	.sito-testata .testata-azioni { display: contents; }
	.sito-testata .testata-azioni .menu-principale { margin-left: auto; }
	.sito-testata .testata-azioni .istl-lingue { flex: 0 0 100%; padding-top: .25rem; border-top: 1px solid var(--wp--preset--color--linea); }
}
@media (max-width: 600px) {
	.pgo-dialogo { margin: auto auto 0; width: 100%; max-width: 100%; max-height: 90dvh; border-radius: 20px 20px 0 0; }
	.pgo-dialogo[open] { animation-name: pgo-sale; }
	.pgo-dialogo__corpo { padding: 1.4rem 1.2rem 1.2rem; }
	.pgo-avvertenza-box__apri { width: 100%; box-sizing: border-box; justify-content: center; }
	.pgo-avvertenza-box__testo { flex-basis: 12rem; font-size: .9375rem; }
	.pgo-nota-finale.pgo-attenzione { padding-left: 1.2rem; padding-top: 4.4rem; }
}
@media (max-width: 480px) {
	.marchio .wp-block-site-logo img { height: 36px; }
}

/* ------------------------------------------------------------------ Movimento e stampa */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
	header.wp-block-template-part, .sito-piede, .leggi-anche, .wp-block-inst-condividi, .pgo-indice, .firma-publilia, .pgo-dialogo, .pgo-avvertenza-box__apri, .pgo-occhio { display: none !important; }
	.pgo-attenzione::before { display: none; }
	.pgo-nota-finale.pgo-attenzione { padding-left: 1.4rem; border-color: var(--wp--preset--color--linea); }
	.articolo-testo { font-size: 11pt; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; word-break: break-all; }
}
