/* ============================================================================
 * appartamento.css — pagine dei singoli appartamenti
 * Condiviso dalle 40 pagine (8 appartamenti x 5 lingue). Palette e tipografia
 * sono quelle della home; qui c'e' solo cio' che serve a queste pagine.
 * ========================================================================== */
:root{
  --brand:#C46A3D; --brand-dark:#A8552C; --brand-soft:rgba(196,106,61,.10);
  --ink:#3D3D3D; --ink-soft:#6B6B6B; --line:#E5E5E5;
  --bg:#FFFFFF; --bg-soft:#FBFAF7;
  --radius:16px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 28px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0; background:var(--bg); color:var(--ink);
  font-family:'Inter','Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:var(--brand); text-decoration:none}
a:hover{color:var(--brand-dark)}
a:focus-visible,button:focus-visible{outline:2px solid var(--brand); outline-offset:3px; border-radius:4px}
.container{max-width:1100px; margin:0 auto; padding:0 24px}

/* ---- barra fissa, identica alla home ---- */
.header{position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.header-inner{max-width:1280px; margin:0 auto; padding:12px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px}
.logo img{height:66px; width:auto}
.nav{display:flex; align-items:center; gap:32px}
.nav a{font-size:15px; font-weight:500; color:var(--ink)}
.nav a:hover{color:var(--brand)}
.lang-dd{position:relative}
.lang-trigger{list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  font-size:14px; font-weight:600; padding:7px 12px; border:1px solid var(--line); border-radius:999px; white-space:nowrap}
.lang-trigger::-webkit-details-marker{display:none}
.lang-trigger:hover{border-color:var(--brand); color:var(--brand)}
.lang-menu{position:absolute; right:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--line);
  border-radius:var(--radius-sm); box-shadow:var(--shadow); padding:6px; min-width:170px; z-index:120}
.lang-menu a{display:flex; align-items:center; gap:9px; padding:8px 12px; border-radius:7px; font-size:14px; color:var(--ink)}
.lang-menu a:hover{background:var(--bg-soft)}
.lang-menu a.active{background:var(--brand-soft); color:var(--brand); font-weight:600}
main{padding-top:110px}
@media(max-width:940px){ .nav{display:none} }
@media(max-width:640px){
  .header-inner{padding:10px 22px} .logo img{height:42px} main{padding-top:86px}
  .container{padding:0 18px}
}

/* ---- briciole di pane ---- */
.briciole{font-size:13px; color:var(--ink-soft); margin-bottom:18px; display:flex; flex-wrap:wrap; gap:7px; align-items:center}
.briciole a{color:var(--ink-soft)} .briciole a:hover{color:var(--brand)}
.briciole span[aria-current]{color:var(--ink); font-weight:600}

/* ---- testata ---- */
h1{font-size:clamp(30px,4.6vw,44px); line-height:1.12; font-weight:600; margin:0 0 8px; letter-spacing:-.02em}
.sottotitolo{font-size:16px; color:var(--ink-soft); margin:0 0 6px}
.occhiello{display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  color:var(--brand); background:var(--brand-soft); padding:5px 12px; border-radius:999px; margin-bottom:14px}
.distintiva{font-size:17px; line-height:1.55; font-weight:500; color:var(--ink); margin:0 0 10px; max-width:62ch}
.tagline{font-size:15px; color:var(--ink-soft); margin:0 0 26px}

/* ---- galleria: un solo riquadro orizzontale, si scorre ----
   Prima era una griglia di miniature, e ogni miniatura apriva il file della
   foto nel browser: senza una X per tornare indietro. Ora e' un carosello:
   lo scorrimento e' nativo (scroll-snap), quindi funziona con lo swipe e
   anche a JavaScript spento; appartamento.js aggiunge frecce e contatore. */
.galleria{position:relative; aspect-ratio:16/10; max-height:70vh; background:#111;
  border-radius:var(--radius); overflow:hidden; margin:0 0 40px; box-shadow:var(--shadow)}
.galleria:focus-visible{outline:2px solid var(--brand); outline-offset:3px}
.gal-piste{display:flex; height:100%; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none}
.gal-piste::-webkit-scrollbar{display:none}
.gal-foto{flex:0 0 100%; height:100%; margin:0; scroll-snap-align:center; scroll-snap-stop:always}
.gal-foto img{width:100%; height:100%; object-fit:cover; display:block}
.gal-freccia{position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:50%; border:none; padding:0;
  background:rgba(255,255,255,.94); color:var(--ink); font-size:22px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.2); transition:background .15s, opacity .15s}
.gal-freccia:hover{background:#fff}
.gal-freccia:disabled{opacity:.3; cursor:default}
.gal-freccia[hidden]{display:none}
.gal-freccia.prec{left:14px}
.gal-freccia.succ{right:14px}
.gal-contatore{position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:5;
  background:rgba(0,0,0,.62); color:#fff; font-size:12px; font-weight:500;
  padding:5px 13px; border-radius:999px; font-variant-numeric:tabular-nums}
.gal-contatore[hidden]{display:none}
@media(max-width:640px){
  .galleria{aspect-ratio:4/3; border-radius:var(--radius-sm)}
  .gal-freccia{width:38px; height:38px; font-size:19px}
  .gal-freccia.prec{left:8px} .gal-freccia.succ{right:8px}
}
@media (prefers-reduced-motion: reduce){ .gal-piste{scroll-behavior:auto} }

/* ---- corpo a due colonne ---- */
.colonne{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:44px; align-items:start}
@media(max-width:900px){ .colonne{grid-template-columns:1fr; gap:32px} }
.descrizione{font-size:17px; line-height:1.7; margin:0 0 28px}
.fatti{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; margin-bottom:34px}
.fatto{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px 16px}
.fatto .etichetta{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); margin-bottom:4px}
.fatto .valore{font-size:19px; font-weight:700}
.sezione{margin-bottom:30px}
.sezione h2{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-soft); margin:0 0 12px}
.sezione p{margin:0}
.elenco{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px}
.elenco li{font-size:14px; background:var(--bg-soft); border:1px solid var(--line); border-radius:999px; padding:6px 14px}
.elenco-righe{list-style:none; padding:0; margin:0; display:grid; gap:7px}
.elenco-righe li{font-size:14.5px; color:var(--ink); padding-left:16px; position:relative; line-height:1.5}
.elenco-righe li::before{content:"·"; position:absolute; left:3px; color:var(--brand); font-weight:700}
.nota{background:var(--brand-soft); border-left:3px solid var(--brand); border-radius:var(--radius-sm);
  padding:16px 20px; font-size:15px; margin:0 0 30px}

/* ---- riquadro prezzi ---- */
.riquadro{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:24px;
  box-shadow:var(--shadow); position:sticky; top:120px}
@media(max-width:900px){ .riquadro{position:static} }
.riquadro h2{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); margin:0 0 14px}
.prezzi{width:100%; border-collapse:collapse; margin-bottom:14px}
.prezzi td{padding:9px 0; border-bottom:1px solid var(--line); font-size:14px; vertical-align:baseline}
.prezzi tr:last-child td{border-bottom:none}
.prezzi td:last-child{text-align:right; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums}
.spese{font-size:13px; color:var(--ink-soft); margin:0 0 18px}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:14px 22px; border-radius:999px; font-size:15px; font-weight:600; border:1px solid transparent; cursor:pointer}
.btn-primary{background:var(--brand); color:#fff}
.btn-primary:hover{background:var(--brand-dark); color:#fff}
.riquadro .minimo{font-size:13px; color:var(--ink-soft); margin:14px 0 0; text-align:center}

/* ---- altri appartamenti ---- */
.altri{margin:56px 0 0; padding-top:34px; border-top:1px solid var(--line)}
.altri h2{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); margin:0 0 16px}
.altri-griglia{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px}
.altri-card{border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; background:#fff; display:block}
.altri-card:hover{box-shadow:var(--shadow)}
.altri-card img{aspect-ratio:4/3; object-fit:cover; width:100%}
.altri-card .testo{padding:12px 14px}
.altri-card .nome{font-weight:600; color:var(--ink); font-size:16px}
.altri-card .dove{font-size:12.5px; color:var(--ink-soft); margin-top:2px}
.altri-card .da{font-size:13px; color:var(--brand); font-weight:600; margin-top:6px}

/* ---- pie' di pagina ---- */
.footer{background:var(--ink); color:#fff; margin-top:70px; padding:44px 0 30px}
.footer a{color:rgba(255,255,255,.82)}
.footer a:hover{color:#fff}
.footer-inner{display:flex; flex-wrap:wrap; gap:26px; justify-content:space-between; align-items:flex-start}
.footer img{height:54px; width:auto; filter:brightness(0) invert(1); opacity:.95}
.footer nav{display:flex; flex-wrap:wrap; gap:18px; font-size:14px}
.footer .fine{margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.16);
  font-size:13px; color:rgba(255,255,255,.6); display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between}
