/*
Theme Name: Il Cammino di Sophia
Description: Tema su misura per ilcamminodisophia.com: quattro Cammini, blog, shop Etsy, gallery.
Version: 0.7.2
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: camminodisophia
*/

:root{
  --carta:#f6f0e6; --foglio:#fffdf9; --inchiostro:#2b221d; --tenue:#6b5c51; --linea:#e2d6c5;
  --rosso:#b3172f; --nero:#1f1a17; --turchese:#06707a; --bianco:#cbc2b5;
  --accento:var(--rosso);
  --serif:"Cormorant Garamond",Georgia,serif; --sans:Lato,Helvetica,Arial,sans-serif;
}
body.cammino-rosso{--accento:var(--rosso)}
body.cammino-nero{--accento:var(--nero)}
body.cammino-turchese{--accento:var(--turchese)}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--carta);color:var(--inchiostro);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;padding-bottom:64px}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
:focus-visible{outline:2px solid var(--accento);outline-offset:3px}

/* ---------- testata ---------- */
.testata{position:relative;text-align:center;padding:28px 16px 8px}
.logo{display:inline-block}
.logo img{width:104px;margin:0 auto;transition:transform .3s ease}
.logo:hover img{transform:scale(1.04)}
.nome{display:inline-block;margin-top:12px;font-family:var(--serif);font-size:clamp(30px,4.2vw,44px);font-weight:500;line-height:1.1;color:var(--accento);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.nome:hover{border-color:currentColor}
.cammini-nav{display:flex;justify-content:center;gap:clamp(14px,4vw,40px);margin:22px 0 6px;flex-wrap:wrap}
.cerchio{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--tenue);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.cerchio .marchio{width:78px;height:78px;transition:transform .25s ease}
.cerchio:hover .marchio{transform:translateY(-4px) scale(1.04)}
.cerchio.attivo{color:var(--inchiostro);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.cerchio.attivo .marchio{transform:scale(1.12)}

.lato{position:absolute;top:28px}
.lato.sx{left:24px} .lato.dx{right:24px}
.bottone{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--inchiostro);border-radius:999px;background:var(--foglio);font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--inchiostro);text-decoration:none;cursor:pointer}
.bottone:hover{background:var(--inchiostro);color:var(--foglio)}
.shop{position:relative;display:inline-block}
.shop .menu{list-style:none;position:absolute;left:0;top:calc(100% + 8px);min-width:220px;background:var(--foglio);border:1px solid var(--linea);border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(43,34,29,.12);text-align:left;display:none;z-index:20}
.shop.aperto .menu{display:block}
.shop .menu a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:400}
.shop .menu a:hover{background:var(--carta)}
.shop .menu li:last-child a{border-top:1px solid var(--linea);margin-top:6px;padding-top:12px;font-weight:700;color:var(--rosso)}

/* ---------- impaginazione ---------- */
.griglia{max-width:1200px;margin:24px auto 0;padding:0 16px;display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.griglia>main{min-width:0}
.colonna{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px}
.scheda{background:var(--foglio);border:1px solid var(--linea);border-radius:14px;padding:18px}
.etichetta{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--tenue);margin-bottom:12px}
.insta-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:8px;overflow:hidden}
.insta-griglia img{aspect-ratio:1;object-fit:cover;width:100%}
.segui{display:block;margin-top:12px;font-size:14px;font-weight:700;color:var(--rosso);text-decoration:none}

h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15}
.titolo-sezione{font-size:clamp(30px,4vw,42px);margin-bottom:6px}
.sotto{color:var(--tenue);margin-bottom:24px}

.scorrevole{overflow:hidden;border-radius:14px;margin-bottom:36px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.nastro{display:flex;gap:10px;width:max-content;animation:scorri 70s linear infinite}
.scorrevole:hover .nastro{animation-play-state:paused}
.nastro img{height:220px;width:auto;border-radius:10px;object-fit:cover}
@keyframes scorri{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.nastro{animation:none}}

.articoli{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.articolo{background:var(--foglio);border:1px solid var(--linea);border-radius:14px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease}
.articolo:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(43,34,29,.1)}
.articolo img{width:100%;height:auto;background:var(--carta)}
.articoli{align-items:start}

/* ---------- home ---------- */
.scegli{margin:26px 0 0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--inchiostro)}
.scegli+.cammini-nav{margin-top:14px}
.vetrina{display:grid;grid-template-columns:1.25fr 1fr;gap:0;align-items:stretch;background:#141012;color:#f4ece4;border-radius:16px;overflow:hidden;margin-bottom:40px}
.vetrina-foto img{width:100%;height:100%;object-fit:cover;display:block}
.vetrina-testo{padding:clamp(22px,3.4vw,40px);display:flex;flex-direction:column;justify-content:center}
.vetrina .etichetta{color:#e8a0a0}
.vetrina h1{font-size:clamp(34px,4.4vw,52px);letter-spacing:.06em;margin:6px 0 12px;color:#fff}
.vetrina h1 span{display:block;font-size:.46em;letter-spacing:0;font-style:italic;color:#f4ece4;margin-top:6px}
.vetrina p{font-size:15.5px;color:#d9cfc6}
.vetrina-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:18px}
.vetrina .compra{background:#d71920;color:#fff;font-size:17px;padding:14px 30px}
.vetrina .compra:hover{background:#b3121a}
.vetrina-shop{color:#f4ece4;font-size:14px;font-weight:700;text-underline-offset:4px}
.tutti{text-align:center;margin:22px 0 40px}
@media (max-width:820px){.vetrina{grid-template-columns:1fr}}
.articolo .testo{padding:16px 18px 20px}
.data{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--accento)}
.articolo h3{font-size:23px;margin:6px 0 8px}
.articolo p{font-size:14.5px;color:var(--tenue)}
.paginazione{margin:32px 0;display:flex;gap:8px;justify-content:center}
.paginazione .page-numbers{padding:8px 14px;border:1px solid var(--linea);border-radius:999px;text-decoration:none;background:var(--foglio)}
.paginazione .current{background:var(--inchiostro);color:var(--foglio)}

/* pagina cammino */
.cammino-testa{border-radius:16px;padding:40px 32px;color:#fff;background:var(--accento);margin-bottom:28px}
body.cammino-bianco .cammino-testa{color:var(--inchiostro);background:#fff;border:1px solid var(--linea)}
.cammino-testa .etichetta{color:inherit;opacity:.8}
.cammino-testa h1{font-size:clamp(36px,5vw,54px)}
.cammino-testa .intro{max-width:680px;margin-top:12px;font-family:var(--serif);font-size:clamp(22px,2.6vw,28px);line-height:1.3;opacity:.95}
.tutti{text-align:center;margin-top:8px}

p.temi{font-family:var(--serif);font-size:clamp(22px,2.6vw,28px);line-height:1.35;color:var(--accento)}
body.cammino-bianco p.temi{color:var(--inchiostro)}

/* contenuti (articoli e pagine) */
.contenuto{background:var(--foglio);border:1px solid var(--linea);border-radius:16px;padding:clamp(20px,4vw,44px)}
.contenuto>*+*{margin-top:1em}
.contenuto h1{font-size:clamp(32px,4.5vw,48px)}
.contenuto h2{font-size:30px;margin-top:1.4em}
.contenuto h3{font-size:24px;margin-top:1.2em}
.contenuto a{color:var(--accento)}
.contenuto ul,.contenuto ol{padding-left:1.4em}
.contenuto img{border-radius:10px}
.contenuto .wp-block-gallery{gap:10px}
.contenuto figure{margin:1.4em 0}
.galleria-importata{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.galleria-importata img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;margin:0}
.immagine-evidenza{border-radius:14px;margin-bottom:24px;width:100%;height:auto}
.wp-block-button__link{display:inline-block;padding:12px 22px;border-radius:999px;background:var(--accento);color:#fff!important;text-decoration:none;font-weight:700}
.wp-block-columns{display:flex;gap:16px;flex-wrap:wrap}
.wp-block-column{flex:1 1 220px}
.blocco-cammino{background:var(--carta);border:1px dashed var(--linea);border-radius:14px;padding:20px;height:100%}

/* ---------- contatti sempre in basso ---------- */
.contatti{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(43,34,29,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f6f0e6;font-size:14px}
.contatti .dentro{max-width:1200px;margin:0 auto;padding:12px 16px;display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap}
.contatti a{color:#f6f0e6;text-decoration:none}
.contatti a:hover{text-decoration:underline}
.contatti strong{letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:#e9a3ad}
.piede{max-width:1200px;margin:48px auto 0;padding:0 16px 24px;text-align:center;font-size:12px;letter-spacing:.06em;color:var(--tenue)}
.piede a{color:inherit}

@media (max-width:900px){
  .griglia{grid-template-columns:1fr}
  .colonna{position:static;order:2}
}
@media (max-width:640px){
  .lato{position:static;display:inline-block;margin:0 4px 16px}
  .testata{padding-top:16px}
  .cerchio .marchio{width:60px;height:60px}
  .articoli{grid-template-columns:1fr}
  .cammino-testa{padding:28px 20px}
  .contatti .dentro{gap:14px;font-size:13px}
}

/* ===================== v0.2: organizzazione e lettura ===================== */
.menu-secondario{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin:18px auto 0;padding:12px 16px 0;border-top:1px solid var(--linea);max-width:720px}
.menu-secondario a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--tenue);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.menu-secondario a:hover,.menu-secondario a.attivo{color:var(--inchiostro);border-color:var(--accento)}

/* tre impaginazioni: home con colonna, largo per schede, stretto per leggere */
.griglia.largo,.griglia.lettura{grid-template-columns:1fr}
.griglia.largo{max-width:1120px}
.griglia.lettura{max-width:820px}
.griglia.largo .articoli{grid-template-columns:repeat(3,1fr)}

/* lettura comoda */
.contenuto{font-size:18px;line-height:1.75}
.contenuto p,.contenuto li{max-width:68ch}
.contenuto img{max-height:680px;width:auto;margin-left:auto;margin-right:auto}
.contenuto .immagine-evidenza{width:auto;max-width:100%;max-height:78vh;display:block;margin:0 auto 26px}
.contenuto .galleria-importata img,.contenuto .wp-block-gallery img{max-height:none}
.contenuto blockquote{border-left:3px solid var(--accento);padding:4px 0 4px 18px;font-family:var(--serif);font-size:22px;font-style:italic;color:var(--inchiostro)}
.contenuto hr{border:0;border-top:1px solid var(--linea);margin:2em 0}
.contenuto iframe{max-width:100%;border-radius:10px}

.testa-articolo{margin-bottom:22px}
.testa-articolo .meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.pastiglia{display:inline-block;padding:5px 12px;border-radius:999px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;text-decoration:none;color:#fff;background:var(--accento)}
.pastiglia.bianco{background:#fff;color:var(--inchiostro);border:1px solid var(--linea)}
.dopo-articolo{margin:26px 0 8px}
.correlati{margin-top:36px}
.griglia.lettura .correlati .articoli{grid-template-columns:repeat(3,1fr)}
.correlati .articolo h3{font-size:19px}

/* pagina Cammino */
.cammino-testa{display:flex;align-items:center;gap:26px}
.cammino-testa .marchio-grande{width:112px;height:auto;flex:none;background:#fff;border-radius:16px;padding:8px}
body.cammino-bianco .cammino-testa .marchio-grande{border:1px solid var(--linea)}
.cammino-testa .wp-block-buttons,.contenuto .wp-block-buttons{display:flex;flex-wrap:wrap;gap:10px}

/* piè di pagina */
.piede{max-width:none;margin:64px 0 0;padding:44px 16px 28px;background:#efe6d8;border-top:1px solid var(--linea);text-align:left;font-size:14px;letter-spacing:0}
.piede-colonne{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.piede h2{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--tenue);margin-bottom:10px}
.piede ul{list-style:none}
.piede li{margin:6px 0}
.piede a{color:var(--inchiostro);text-decoration:none}
.piede a:hover{color:var(--rosso)}
.piede-logo{margin-bottom:8px}
.piede-nome{font-family:var(--serif);font-size:22px}
.piede p{color:var(--tenue)}
.piede-fondo{max-width:1120px;margin:30px auto 0;padding-top:18px;border-top:1px solid var(--linea);font-size:12px;color:var(--tenue)}

@media (max-width:900px){
  .griglia.largo .articoli,.griglia.lettura .correlati .articoli{grid-template-columns:repeat(2,1fr)}
  .piede-colonne{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .menu-secondario{gap:4px 16px}
  .griglia.largo .articoli,.griglia.lettura .correlati .articoli{grid-template-columns:1fr}
  .cammino-testa{flex-direction:column;align-items:flex-start;gap:14px}
  .cammino-testa .marchio-grande{width:84px}
  .contenuto{font-size:17px}
  .piede-colonne{grid-template-columns:1fr}
}

/* ===================== viaggi, eventi, corsi, area personale ===================== */
.sophia-filtri{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.sophia-gruppo{margin-bottom:40px}
.sophia-gruppo .titolo-sezione{color:var(--accento)}
.sophia-gruppo.cammino-rosso{--accento:var(--rosso)} .sophia-gruppo.cammino-nero{--accento:var(--nero)} .sophia-gruppo.cammino-turchese{--accento:var(--turchese)} .sophia-gruppo.cammino-bianco{--accento:var(--tenue)}
.sophia-stato{margin-top:8px;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--turchese)!important}
.sophia-stato.completo{color:var(--rosso)!important}
.sophia-dettagli{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 24px!important;padding:0!important}
.sophia-dettagli li{background:var(--carta);border:1px solid var(--linea);border-radius:12px;padding:12px 14px;max-width:none!important;font-weight:400}
.sophia-dettagli span{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--tenue)}
.sophia-prenota{margin-top:32px;padding:24px;border-radius:16px;background:var(--carta);border:1px solid var(--linea)}
.sophia-prenota h2{margin-top:0!important}
.sophia-form-prenota{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0}
.sophia-form-prenota select{padding:10px 12px;border-radius:10px;border:1px solid var(--linea);font:inherit;background:#fff;margin-left:6px}
.sophia-form-prenota button{border:0;cursor:pointer;font:inherit;font-weight:700}
.sophia-nota{font-size:14px;color:var(--tenue)}
.sophia-video{position:relative;aspect-ratio:16/9;margin:12px 0 18px;border-radius:12px;overflow:hidden;background:#000}
.sophia-video iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
.sophia-lezione{padding:20px 0;border-top:1px solid var(--linea)}
.sophia-lezione h3 small{font-family:var(--sans);font-size:13px;color:var(--tenue);font-weight:400}
.sophia-indice{padding-left:1.3em}
.sophia-prenotazioni,.sophia-miei-corsi{display:grid;gap:16px}
.sophia-prenotazione{background:var(--carta);border:1px solid var(--linea);border-radius:14px;padding:18px 20px}
.sophia-prenotazione h3{margin:0 0 4px;font-size:24px}
.sophia-prenotazione ul{list-style:none;padding:0;margin:10px 0 0}
.sophia-corso-mio{display:flex;gap:16px;align-items:center;background:var(--carta);border:1px solid var(--linea);border-radius:14px;padding:12px;text-decoration:none}
.sophia-corso-mio img{width:120px;height:90px;object-fit:cover;border-radius:10px}
.sophia-scorciatoie{display:flex;gap:10px;flex-wrap:wrap}
.sophia-grazie{padding:22px;border-radius:16px;background:var(--carta);border:1px solid var(--linea);margin-bottom:24px}

/* WooCommerce: area personale e cassa nello stile del sito */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.woocommerce-MyAccount-navigation a{display:inline-block;padding:8px 14px;border:1px solid var(--linea);border-radius:999px;text-decoration:none;font-size:14px;background:var(--foglio)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--inchiostro);color:var(--foglio);border-color:var(--inchiostro)}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:10px 12px;border:1px solid var(--linea);border-radius:10px;background:#fff;font:inherit}
.woocommerce button.button,.woocommerce a.button,.woocommerce #place_order{background:var(--accento)!important;color:#fff!important;border-radius:999px!important;padding:12px 22px!important;font-weight:700!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--accento)!important;background:var(--carta)!important;border-radius:12px}

.contenuto a.pastiglia,.pastiglia{color:#fff}
.contenuto a.pastiglia.bianco{color:var(--inchiostro)}
.pastiglia.rosso{background:var(--rosso)}.pastiglia.nero{background:var(--nero)}.pastiglia.turchese{background:var(--turchese)}

/* ===================== testata: logo più grande e menu a comparsa ===================== */
.logo img{width:150px}
.menu-apri{position:absolute;top:24px;right:24px;z-index:5}
.menu-secondario{gap:6px 28px}
.menu-pannello{position:fixed;inset:0;z-index:100}
.menu-pannello[hidden]{display:none}
.menu-sfondo{position:absolute;inset:0;background:rgba(43,34,29,.45)}
.menu-dentro{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--carta);padding:64px 32px 32px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;align-content:start;box-shadow:-12px 0 40px rgba(43,34,29,.18);animation:menuEntra .25s ease}
@keyframes menuEntra{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.menu-dentro{animation:none}}
.menu-chiudi{position:absolute;top:18px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid var(--linea);background:var(--foglio);font-size:18px;cursor:pointer}
.menu-colonna h2{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--tenue);margin:0 0 10px}
.menu-colonna h2:not(:first-child){margin-top:26px}
.menu-colonna ul{list-style:none;padding:0;margin:0}
.menu-colonna li{margin:2px 0}
.menu-colonna a{display:block;padding:7px 0;font-family:var(--serif);font-size:22px;text-decoration:none;color:var(--inchiostro)}
.menu-colonna a:hover,.menu-colonna a[aria-current]{color:var(--rosso)}
body.menu-aperto{overflow:hidden}
@media (max-width:640px){
  .logo img{width:120px}
  .menu-apri{position:absolute;top:14px;left:14px;right:auto;width:46px;height:46px;padding:0;justify-content:center;border-radius:50%}
  .menu-apri .menu-testo{display:none}
  .menu-apri .menu-icona{font-size:20px;line-height:1}
  .testata{padding-top:22px}
  .menu-dentro{grid-template-columns:1fr;padding:64px 24px 24px}
}

/* ===================== contatti ===================== */
.sophia-contatti{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:start}
.sophia-contatti-info{background:var(--carta);border:1px solid var(--linea);border-radius:16px;padding:22px}
.sophia-contatti-info ul{list-style:none;padding:0;margin:0}
.sophia-contatti-info li{margin:10px 0}
.sophia-contatti-info span{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--tenue)}
.sophia-modulo label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
.sophia-modulo input[type=text],.sophia-modulo input[type=email],.sophia-modulo select,.sophia-modulo textarea{width:100%;padding:12px 14px;border:1px solid var(--linea);border-radius:10px;font:inherit;background:#fff}
.sophia-modulo .consenso{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.sophia-modulo .consenso input{margin-top:5px}
.sophia-modulo button{margin-top:16px;border:0;cursor:pointer;font:inherit;font-weight:700}
.sophia-esito{padding:14px 16px;border-radius:12px;background:var(--carta);border:1px solid var(--linea);margin-bottom:16px}
.sophia-esito.errore{border-color:var(--rosso)}
.sophia-trappola{position:absolute;left:-9999px}
@media (max-width:760px){.sophia-contatti{grid-template-columns:1fr}}
body.admin-bar .menu-dentro{top:32px}
@media (max-width:782px){body.admin-bar .menu-dentro{top:46px}}

/* ---------- accessibilità (WCAG 2.2 AA) ---------- */
html{scroll-padding-top:16px;scroll-padding-bottom:88px} /* il fuoco non finisce sotto la barra Contatti */
.screen-reader-text:focus{clip:auto;width:auto;height:auto;overflow:visible;left:16px;top:16px;z-index:100;background:var(--inchiostro);color:#fff;padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.contenuto a{text-decoration:underline;text-underline-offset:3px}
.contenuto a.wp-block-button__link,.contenuto a.pastiglia{text-decoration:none}
:focus-visible{outline:3px solid var(--accento);outline-offset:3px}
.contatti a:focus-visible,.cammino-testa a:focus-visible{outline-color:#fff}
.piede-fondo{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center}
.piede-legali{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0}
.piede-legali li{margin:0}
.piede-legali a{color:var(--tenue)!important;text-decoration:underline;text-underline-offset:3px}
[lang="es"].testo-es{border-top:1px solid var(--linea);margin-top:40px;padding-top:24px}

/* selettore della lingua (GTranslate): in alto a sinistra, su telefono a destra perché lì a sinistra c'è il Menu */
.lingua{position:absolute;top:24px;left:16px;z-index:5}
.lingua select{font:400 14px/1.2 var(--sans);color:var(--inchiostro);background:var(--foglio);border:1px solid var(--inchiostro);border-radius:999px;padding:8px 12px;min-height:40px;max-width:150px}
@media (max-width:640px){.lingua{top:14px;left:auto;right:14px}.lingua select{min-height:46px;max-width:128px}}

/* newsletter: modulo nel piè di pagina e pagina /newsletter/ */
.piede-news{max-width:1120px;margin:0 auto 36px;padding:24px 28px;background:var(--foglio);border:1px solid var(--linea);border-radius:16px;display:grid;grid-template-columns:1fr 1.3fr;gap:12px 32px;align-items:start}
.piede-news h2{margin-bottom:6px}
.piede-news p{margin:0}
.sophia-newsletter-riga{display:flex;gap:10px;flex-wrap:wrap}
.sophia-newsletter-riga input[type=email]{flex:1 1 220px}
.sophia-newsletter-riga button{margin-top:0}
.sophia-newsletter .consenso{font-size:14px;margin-top:12px;color:var(--inchiostro)}
.piede .sophia-newsletter .consenso a{color:var(--inchiostro);text-decoration:underline}
.sophia-account-news{margin:24px 0;padding:16px;border:1px solid var(--linea);border-radius:12px}
.sophia-account-news .consenso{display:flex;gap:10px;align-items:flex-start;font-weight:400}
@media (max-width:760px){.piede-news{grid-template-columns:1fr;padding:20px}}

/* Percorsi Ossidiana: video che si carica al clic e modulo di iscrizione */
.sophia-yt{margin:1.4em 0}
.sophia-yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:#000}
.sophia-yt-play{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:var(--nero);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:18px;cursor:pointer;padding:16px;text-align:center}
.sophia-yt-play small{font-size:13px;opacity:.85}
.sophia-yt-icona{width:72px;height:72px;border-radius:50%;background:#fff;color:var(--nero);display:flex;align-items:center;justify-content:center;font-size:28px;padding-left:5px}
.sophia-yt-play:hover .sophia-yt-icona,.sophia-yt-play:focus-visible .sophia-yt-icona{background:var(--rosso);color:#fff}
.sophia-yt-link{font-size:14px;margin-top:6px}
.sophia-oss fieldset{border:1px solid var(--linea);border-radius:12px;padding:12px 16px 14px;margin:18px 0 0}
.sophia-oss legend{font-weight:700;padding:0 6px}
.sophia-oss .sophia-oss-riga{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.sophia-oss .consenso{margin:8px 0}
.sophia-oss-oggetti{margin-top:6px;padding-left:28px}
.sophia-oss-totale{font-size:20px;margin:18px 0 6px}
.sophia-percorsi{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.2em 0}
.sophia-percorsi > div{border:1px solid var(--linea);border-radius:14px;padding:16px 18px;background:var(--carta)}
.sophia-percorsi h3{margin:0 0 6px}
.sophia-percorsi ul{margin:0;padding-left:18px}
@media (max-width:640px){.sophia-oss .sophia-oss-riga,.sophia-percorsi{grid-template-columns:1fr}}

/* Shop ALMATEA: filtri, ricerca e schede prodotto */
.sophia-shop-carrello{margin:0 0 18px}
.sophia-shop-strumenti{display:flex;flex-direction:column;gap:12px;margin-bottom:6px}
.sophia-shop-strumenti input[type=search]{width:100%;max-width:520px;padding:12px 16px;border:1px solid var(--linea);border-radius:999px;font:inherit;background:var(--foglio)}
.sophia-shop-filtri{display:flex;flex-wrap:wrap;gap:8px}
.sophia-shop-filtri button{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;border-radius:999px;border:1px solid var(--linea);background:var(--foglio);color:var(--inchiostro);cursor:pointer}
.sophia-shop-filtri button[aria-pressed=true]{background:var(--inchiostro);border-color:var(--inchiostro);color:#fff}
.sophia-shop-esito{min-height:1.4em;margin:6px 0 10px;font-size:14px;color:var(--tenue)}
.sophia-shop-griglia{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.sophia-prodotto{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--linea);border-radius:16px;background:var(--foglio)}
.sophia-prodotto[hidden]{display:none}
.sophia-prodotto-foto{position:relative;border-radius:12px;overflow:hidden;background:var(--carta)}
.sophia-prodotto-foto img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.sophia-prodotto-badge{position:absolute;top:10px;left:10px;background:var(--inchiostro);color:#fff;font:700 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:999px}
.sophia-prodotto h3{font-size:20px;line-height:1.25;margin:4px 0 0}
.sophia-prodotto-info{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0;font-size:15px}
.sophia-prodotto-formato{color:var(--tenue)}
.sophia-prodotto-prezzo{font-weight:700;margin-left:auto}
.sophia-prezzo-nota{font-weight:400;font-style:italic;color:var(--tenue)}
.sophia-prodotto-breve p,.sophia-prodotto-diametri,.sophia-prodotto-dettagli{font-size:14.5px;margin:0}
.sophia-prodotto-dettagli summary{cursor:pointer;font-weight:700;padding:4px 0}
.sophia-prodotto-dettagli p{margin:8px 0 0}
.sophia-prodotto-azioni{margin-top:auto;padding-top:8px}
.sophia-prodotto-azioni form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sophia-prodotto-azioni label{font-size:13px;color:var(--tenue)}
.sophia-prodotto-azioni input[type=number]{width:64px;padding:9px 8px;border:1px solid var(--linea);border-radius:10px;font:inherit}
.sophia-prodotto-azioni .wp-block-button__link{border:0;cursor:pointer;font:inherit;font-weight:700;padding:10px 16px}
.sophia-prodotto-richiedi{display:inline-block;padding:10px 16px;border:1px solid var(--inchiostro);border-radius:999px;font-weight:700;text-decoration:none;color:var(--inchiostro)}
.sophia-shop-info{margin-top:40px;padding:24px;border-radius:16px;background:var(--carta);border:1px solid var(--linea)}
/* lo stile delle liste nei testi non deve valere per la griglia dello shop */
.contenuto .sophia-shop-griglia{padding:0;margin:0;list-style:none}
.contenuto .sophia-prodotto{margin:0}
.sophia-prodotto-nelcarrello{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#e7f3ea;color:#1f4d2b;font-size:14px;font-weight:700}
.sophia-prodotto-nelcarrello a{color:inherit}
