/* Iuris Tekne — stili comuni. La composizione di ogni sezione è nei modelli (dal prototipo approvato). */
@font-face{font-family:'Pagella IT';src:url(../fonts/pagella-regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Pagella IT';src:url(../fonts/pagella-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Pagella IT';src:url(../fonts/pagella-bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Asap IT';src:url(../fonts/asap-wdth.woff2) format('woff2');font-weight:100 900;font-stretch:75% 125%;font-style:normal;font-display:swap}
@font-face{font-family:'Asap IT';src:url(../fonts/asap-wdth-italic.woff2) format('woff2');font-weight:100 900;font-stretch:75% 125%;font-style:italic;font-display:swap}

:root{color-scheme:light;--blu:#052E52;--cam:#D99C57;--tost:#94601F;--bianco:#FFFFFF;--nero:#0A0A0A;--chiaro:#F2F5F6;--filo:#E1E6EA;--sec:#506D86;--esce:cubic-bezier(.2,.65,.25,1)}
html{background:var(--bianco);scroll-padding-top:84px}
body{margin:0;background:var(--bianco);color:var(--blu)}
img{max-width:100%}
a{color:var(--blu)}
h1,h2,h3{text-wrap:balance}
p,li,dd,summary{text-wrap:pretty}
p,li,dd{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
details[open] .piu{transform:rotate(45deg)}
:focus-visible{outline:2px solid var(--cam);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.salta{position:absolute;left:12px;top:-60px;z-index:100;background:var(--cam);color:var(--blu);padding:10px 16px;border-radius:999px;font:600 15px/1 'Adelle Sans','Asap IT',sans-serif;text-decoration:none}
.salta:focus{top:12px}

/* viste: intestazione completa oltre 1024 px; etichette brevi sotto 600 px */
.v-full,.v-compact,.v-desk,.v-mob{display:contents}
.v-compact,.v-mob{display:none}
@media (max-width:1024px){.v-full{display:none}.v-compact{display:contents}}
@media (max-width:600px){.v-desk{display:none}.v-mob{display:contents}}

/* quadrati degli ambiti */
.tile-hot{opacity:0}
.tile:hover .tile-hot,.tile:focus-visible .tile-hot{opacity:1}

/* micro-interazioni */
.sito a > svg{transition:transform .25s var(--esce)}
.sito a:hover > svg{transform:translateX(4px)}
.sito header nav a,.barra-nav a{background:linear-gradient(var(--cam),var(--cam)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--esce)}
.sito header nav a:hover,.barra-nav a:hover{background-size:100% 1px}

/* ingresso delle sezioni: parte solo quando l'elemento sta per entrare nello schermo */
@keyframes entra{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.entra{animation:entra .8s var(--esce) var(--d,0ms) both}

/* la filigrana dell'apertura si compone dall'angolo verso il centro, a ogni apertura della home:
   le tessere si accendono di caramello e si posano nel motivo (circa 3 secondi, poi resta ferma) */
.frammento{pointer-events:none}
.copertura{position:absolute;inset:0;width:100%;height:100%;visibility:hidden}
.copertura rect{fill:var(--blu)}
.anima .copertura{visibility:visible}
.anima .gioca .copertura rect{animation:cella .95s cubic-bezier(.33,.6,.3,1) var(--d) both}
@keyframes cella{0%{fill:#052E52;opacity:1}35%{fill:#D99C57;opacity:.5}100%{fill:#D99C57;opacity:0}}

/* barra compatta dopo l'apertura */
.barra{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--blu);color:var(--bianco);padding-top:env(safe-area-inset-top,0px);box-shadow:0 10px 28px -18px rgba(0,0,0,.6);transform:translateY(-110%);transition:transform .45s var(--esce)}
.barra.su{transform:none}
.barra-in{max-width:1240px;margin:0 auto;box-sizing:border-box;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));display:flex;align-items:center;gap:14px 26px;font-family:'Adelle Sans','Asap IT',sans-serif;font-stretch:112%}
.barra-marchio{flex:0 0 auto;display:block}
.barra-marchio img{display:block;height:30px;width:auto}
.barra-nav{font-size:14px;letter-spacing:.03em}
.barra-nav a{color:var(--bianco);text-decoration:none;padding:6px 0;margin-right:22px;white-space:nowrap}
.barra-cta{margin-left:auto;flex:0 0 auto;background:var(--cam);color:var(--blu);text-decoration:none;font-weight:600;font-size:14px;padding:9px 18px;border-radius:999px}
.barra-menu{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(217,156,87,.7);border-radius:50%;cursor:pointer;padding:0}
.barra-menu.v-compact{display:none}
@media (max-width:1024px){.barra-menu.v-compact{display:flex}}
@media (max-width:600px){.barra-cta{display:none}.barra-menu{margin-left:auto}}
/* con la barra di amministrazione di WordPress visibile (utenti collegati) */
.admin-bar .barra{top:32px}
@media (max-width:782px){.admin-bar .barra{top:46px}}
@media (max-width:600px){.admin-bar .barra{top:0}}

/* menu per tablet e smartphone */
.menu-mobile{position:fixed;inset:0;z-index:70;background:var(--blu);color:var(--bianco);overflow-y:auto;font-family:'Adelle Sans','Asap IT',sans-serif;font-stretch:112%}
.menu-mobile-in{box-sizing:border-box;min-height:100%;padding:calc(18px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:22px}
.menu-mobile-testa{display:flex;align-items:center;justify-content:space-between}
.menu-mobile-testa img{height:40px;width:auto}
.chiudi-menu{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(217,156,87,.7);border-radius:50%;cursor:pointer;padding:0}
.menu-mobile nav{display:flex;flex-direction:column}
.menu-mobile nav a{color:var(--bianco);text-decoration:none;font-family:'Palatino Linotype',Palatino,'Book Antiqua','Pagella IT',serif;font-size:26px;line-height:1.2;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.menu-mobile-cta{align-self:flex-start;background:var(--cam);color:var(--blu);text-decoration:none;font-weight:600;padding:14px 24px;border-radius:999px}
.menu-mobile-tel{color:var(--bianco);font-size:17px;text-decoration:none}
.menu-mobile-ig{color:#BEC9D2;font-size:15px}
body.menu-aperto{overflow:hidden}

/* modulo e mappa */
.esito{margin:0;padding:14px 16px;border-radius:4px;font-size:15px;line-height:1.5}
.esito-ok{background:#E8F3EC;color:#1E5A35}
.esito-ko{background:#FBEAEA;color:#8A1F1F}
#mappa iframe{display:block;flex:1 1 100%;width:100%;height:320px;border:0;border-radius:4px;position:relative}

/* cookie policy: su smartphone la tabella diventa una scheda per ogni cookie */
@media (max-width:600px){
  .tabella-cookie thead{display:none}
  .tabella-cookie tr{display:block;padding:14px 16px;border-bottom:1px solid var(--filo)}
  .tabella-cookie tr:last-child{border-bottom:0}
  .tabella-cookie td{display:block;padding:0 !important;border:0 !important}
  .tabella-cookie td:first-child{margin-bottom:6px}
  .tabella-cookie td:nth-child(3){margin-top:6px;color:var(--sec)}
  .tabella-cookie td:nth-child(3)::before{content:"Durata: ";font-weight:600;color:var(--blu)}
}

/* pagine generiche (testo dall'editor di WordPress) */
.testo-editor h2{font-family:'Palatino Linotype',Palatino,'Book Antiqua','Pagella IT',serif;font-size:28px;line-height:1.25;margin:40px 0 12px}
.testo-editor h3{font-family:'Palatino Linotype',Palatino,'Book Antiqua','Pagella IT',serif;font-size:21px;margin:28px 0 8px}
.testo-editor a{text-decoration-color:var(--cam);text-underline-offset:3px}

@media (prefers-reduced-motion:reduce){
  .entra,.copertura rect{animation:none}
  .anima .copertura{visibility:hidden}
  .barra,.sito a > svg{transition:none}
}
