/* Pagine legali dello shooting di Natale (condizioni.html, privacy.html).
   Marchio Kesia Production: Inter, fondo crema, testo verde scuro. Nessuno script esterno. */
@font-face{font-family:'Inter';src:url('fonts/inter-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{--crema:#fff4e3;--verde:#254441;--filo:rgba(37,68,65,.22);--velo:rgba(37,68,65,.06);--segna:#ffe08a}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--crema);color:var(--verde);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}

.col{width:100%;max-width:46rem;margin-inline:auto;padding-inline:1.25rem}

/* Testata: logo e ritorno alla prenotazione */
.testata{border-bottom:1px solid var(--filo)}
.testata .col{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;min-height:4.25rem;padding-block:.5rem}
.testata img{width:110px}
.testata a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:700}

main{padding-block:2.5rem 3.5rem}
h1,h2,h3{font-weight:850;letter-spacing:-.04em;line-height:1.12;text-wrap:balance;margin:0}
h1{font-size:clamp(1.9rem,7vw,3rem)}
h2{font-size:clamp(1.3rem,4.6vw,1.65rem);margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid var(--filo)}
h3{font-size:1.0625rem;letter-spacing:-.02em;margin-top:1.5rem}
.num{font-variant-numeric:tabular-nums;margin-right:.35em}
.unito{white-space:nowrap}
.versione{margin:.9rem 0 0;font-size:.9375rem;font-weight:700}
.apertura{margin-top:1.25rem}

p,ul,ol,dl{margin:1rem 0 0}
ul,ol{padding-left:1.35rem}
li{margin-top:.4rem}
li::marker{font-weight:700}
strong,b{font-weight:750}

/* Link sottolineati; l'imbottitura verticale porta l'area di tocco a 44 px senza spostare le righe */
a{color:inherit;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.2em;padding-block:.8rem;overflow-wrap:anywhere}
a:hover{text-decoration-thickness:.14em}
a:focus-visible,button:focus-visible{outline:3px solid var(--verde);outline-offset:3px}

/* Elenchi a voci: finalità e base giuridica, prezzi, contatti */
.voci{border-top:1px solid var(--filo)}
.voci>div{padding:.85rem 0;border-bottom:1px solid var(--filo)}
.voci dt{font-weight:750}
.voci dd{margin:.2rem 0 0}
.prezzi{list-style:none;padding:0;border-top:1px solid var(--filo)}
.prezzi li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.1rem 1rem;margin:0;padding:.7rem 0;border-bottom:1px solid var(--filo)}
.prezzi b{white-space:nowrap}

/* Punti ancora da confermare: sempre fra parentesi quadre, evidenziati */
mark{background:var(--segna);color:inherit;padding:.05em .25em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.avviso{margin-top:1.25rem;padding:1rem 1.1rem;background:var(--velo);border-left:4px solid var(--verde)}
.avviso>:first-child{margin-top:0}

.stampa{margin-top:1.5rem}
.stampa button{font:inherit;font-weight:750;min-height:48px;padding:.75rem 1.25rem;background:var(--verde);color:var(--crema);border:2px solid var(--verde);border-radius:0;cursor:pointer;text-align:left}
.bozza{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--filo);font-size:.9375rem;font-weight:700}

.pie{border-top:1px solid var(--filo);padding-block:1.5rem 2.5rem;font-size:.8125rem;line-height:1.7}
.pie p{margin:0}
.pie p+p{margin-top:.6rem}
.pie a{padding-block:1rem}
.pie .legami a{display:inline-flex;align-items:center;min-height:44px;padding-block:0;margin-right:1rem;font-weight:700}

@media (max-width:22.5rem){
  .col{padding-inline:1rem}
  body{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

@media print{
  html{background:#fff;color:#000}
  body{font-size:10.5pt;line-height:1.5}
  .testata,.stampa,.pie .legami{display:none!important}
  main{padding-block:0 1rem}
  .col{max-width:none;padding-inline:0}
  h2{break-after:avoid;margin-top:1.6rem;padding-top:1rem}
  h3{break-after:avoid}
  .voci>div,.prezzi li,.avviso{break-inside:avoid}
  .avviso{background:none;border:1px solid #000;border-left-width:4px}
  mark{background:none;border:1px dashed #000}
  a{padding-block:0}
}
