/* ============================================================
   BENTU E MARE — sito pubblico (bentuemare.com)
   Stessa famiglia della guida: palette, Fraunces + Karla, onde.
   Ma qui il mare è fermo: niente animazioni all'orizzonte,
   solo un cielo d'ora d'oro e le sezioni che affiorano.
   ============================================================ */

@font-face{
  font-family:'Fraunces';
  src:url('fonts/fraunces-var.woff2') format('woff2-variations');
  font-weight:100 900;
  font-display:swap;
}
@font-face{
  font-family:'Karla';
  src:url('fonts/karla-var.woff2') format('woff2-variations');
  font-weight:200 800;
  font-display:swap;
}

:root{
  --abisso:#0F3B43;
  --onda:#14525E;
  --onda-chiara:#2C7A8C;
  --schiuma:#7FB3B8;
  --sabbia:#EFE6D4;
  --sabbia-chiara:#FCFAF4;
  --sabbia-scura:#E7DCC6;
  --corallo:#E2674C;
  --corallo-scuro:#C9583F;
  --oro:#DCC9A4;
  --inchiostro:#273133;
  --inchiostro-tenue:#5A6668;
  --astro:#F4E3B8;
  --astro-glow:rgba(244,227,184,.5);

  --display:'Fraunces',Georgia,serif;
  --testo:'Karla',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --morbido:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--sabbia);
  color:var(--inchiostro);
  font-family:var(--testo);
  font-weight:400;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--onda-chiara);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--corallo);outline-offset:3px}

/* ============================================================
   LINGUA — pillola fissa in alto a destra, come nella guida
   ============================================================ */
.lingua{
  position:fixed;top:14px;right:14px;z-index:50;
  display:flex;gap:4px;padding:4px;border-radius:999px;
  background:rgba(15,59,67,.55);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.lingua button{
  appearance:none;border:none;cursor:pointer;
  padding:6px 13px;border-radius:999px;
  background:transparent;color:var(--sabbia-chiara);
  font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.14em;
  transition:background .2s ease,color .2s ease;
}
.lingua button[aria-pressed="true"]{background:var(--sabbia-chiara);color:var(--abisso)}

/* ============================================================
   EROE
   ============================================================ */
.eroe{
  position:relative;overflow:hidden;
  min-height:min(92vh,860px);
  display:flex;align-items:center;justify-content:center;
  padding:90px 22px 200px;
  background:linear-gradient(180deg,#0B2E38 0%,var(--abisso) 34%,var(--onda-chiara) 72%,#B08A5A 100%);
  color:var(--sabbia-chiara);
  text-align:center;
}
.astro{
  position:absolute;left:50%;bottom:150px;transform:translateX(-50%);
  width:120px;height:120px;border-radius:50%;
  background:var(--astro);
  box-shadow:0 0 70px 28px var(--astro-glow),0 0 160px 70px rgba(244,227,184,.22);
  opacity:0;animation:sorge 1.6s var(--morbido) .2s forwards;
}
.testata{position:relative;z-index:2;max-width:640px}
.eyebrow{
  margin:0 0 14px;
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--oro);
}
.nome{
  margin:0;
  font-family:var(--display);font-weight:500;
  font-size:clamp(44px,9vw,76px);
  line-height:1.04;letter-spacing:.01em;
  text-shadow:0 2px 24px rgba(7,30,41,.35);
  opacity:0;animation:affiora .9s var(--morbido) .15s forwards;
}
.filo{
  width:58px;height:2px;margin:22px auto;
  background:var(--oro);border-radius:2px;
}
.motto{
  margin:0 auto;max-width:520px;
  font-size:16.5px;line-height:1.7;
  color:rgba(252,250,244,.94);
  opacity:0;animation:affiora .9s var(--morbido) .35s forwards;
}
.cta{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;
  margin-top:30px;
  opacity:0;animation:affiora .9s var(--morbido) .55s forwards;
}
.onde{position:absolute;left:0;right:0;bottom:-2px;height:190px;pointer-events:none}
.onda{position:absolute;left:0;right:0;bottom:0;width:100%;display:block}
.o1{height:180px;fill:rgba(127,179,184,.5)}
.o2{height:150px;fill:rgba(44,122,140,.75)}
.o3{height:120px;fill:var(--sabbia)}

/* ============================================================
   BOTTONI
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 26px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  transition:background .22s ease,border-color .22s ease,transform .22s var(--morbido),box-shadow .22s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn svg{
  width:17px;height:17px;flex:none;
  stroke:currentColor;stroke-width:1.7;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
.btn.pieno{
  background:var(--corallo);color:#fff;
  box-shadow:0 12px 28px -12px rgba(226,103,76,.65);
}
.btn.pieno:hover{background:var(--corallo-scuro)}
.btn.vuoto{
  border:1px solid rgba(252,250,244,.55);color:var(--sabbia-chiara);
}
.btn.vuoto:hover{background:rgba(252,250,244,.14);border-color:var(--sabbia-chiara)}
.btn.onda-btn{
  background:var(--onda);color:var(--sabbia-chiara);
}
.btn.onda-btn:hover{background:var(--onda-chiara)}
.btn.grande{padding:17px 32px;font-size:13px}

/* ============================================================
   BANDE — le sezioni, alternate sabbia / sabbia chiara,
   separate da un filo d'onda
   ============================================================ */
.banda{padding:72px 22px}
.banda.sabbia{background:var(--sabbia)}
.banda.chiara{background:var(--sabbia-chiara)}
.colonna{max-width:820px;margin:0 auto}

.banda .eyebrow{color:var(--onda-chiara)}
.banda h2{
  margin:0 0 18px;
  font-family:var(--display);font-weight:500;
  font-size:clamp(27px,4.6vw,38px);line-height:1.15;
  color:var(--abisso);
}
.lead{font-size:17px;line-height:1.72;margin:0 0 14px}
.banda p{color:#3E474A}

.filo-onda{display:block;line-height:0}
.filo-onda svg{width:100%;height:64px;display:block}
.da-sabbia{background:var(--sabbia)}
.da-chiara{background:var(--sabbia-chiara)}
.a-sabbia path{fill:var(--sabbia)}
.a-chiara path{fill:var(--sabbia-chiara)}
.a-abisso path{fill:var(--abisso)}

/* Le sezioni affiorano allo scroll. Si nascondono SOLO se pagina.js
   ha messo .anima su <html>: senza JavaScript resta tutto visibile. */
.anima .rivela{opacity:0;transform:translateY(22px);transition:opacity .8s var(--morbido),transform .8s var(--morbido)}
.anima .rivela.vista{opacity:1;transform:none}

/* ============================================================
   DOTAZIONI — le sei cose che l'ospite vuole sapere subito
   ============================================================ */
.dotazioni{
  list-style:none;margin:30px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
.dotazioni li{
  display:flex;align-items:center;gap:13px;
  padding:15px 17px;border-radius:14px;
  background:var(--sabbia-chiara);border:1px solid var(--sabbia-scura);
  font-weight:500;font-size:14.5px;color:var(--abisso);
}
.banda.chiara .dotazioni li{background:var(--sabbia)}
.dotazioni svg{
  width:26px;height:26px;flex:none;
  stroke:var(--onda-chiara);stroke-width:1.35;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}

/* ============================================================
   GALLERIA — segnaposto finché non ci sono le foto vere
   ============================================================ */
.galleria{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-top:30px;
}
.foto{
  margin:0;aspect-ratio:4/3;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
}
.foto svg{
  width:34px;height:34px;
  stroke:rgba(252,250,244,.85);stroke-width:1.35;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
.t1{background:linear-gradient(140deg,var(--abisso),var(--onda-chiara))}
.t2{background:linear-gradient(150deg,var(--onda),var(--schiuma))}
.t3{background:linear-gradient(135deg,var(--onda-chiara),var(--schiuma))}
.t4{background:linear-gradient(145deg,var(--onda),var(--onda-chiara))}
.t5{background:linear-gradient(140deg,var(--abisso),var(--onda))}
.t6{background:linear-gradient(155deg,var(--onda-chiara),var(--oro))}

/* ============================================================
   DOVE SIAMO
   ============================================================ */
address{
  font-style:normal;font-size:17px;margin:0 0 16px;color:var(--abisso);
}
.spazio-btn{margin:0 0 34px}
.distanze{
  display:grid;grid-template-columns:repeat(2,1fr);gap:26px;
}
.blocco h3{
  margin:0 0 6px;
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--onda-chiara);
}
.blocco dl{margin:0}
.blocco dl>div{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid var(--sabbia-scura);
}
.blocco dl>div:last-child{border-bottom:0}
.blocco dt{font-size:14.5px}
.blocco dd{
  margin:0;flex:none;
  font-family:var(--display);font-weight:500;font-size:15px;color:var(--abisso);
}

/* ============================================================
   LA ZONA — tre carte
   ============================================================ */
.carte{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin-top:28px;
}
.carta{
  padding:22px 20px;border-radius:16px;
  background:var(--sabbia);border:1px solid var(--sabbia-scura);
}
.banda.sabbia .carta{background:var(--sabbia-chiara)}
.carta h3{
  margin:0 0 8px;
  font-family:var(--display);font-weight:500;font-size:18px;color:var(--abisso);
}
.carta p{margin:0;font-size:14px;line-height:1.65}

/* ============================================================
   HOST — le schede con i contatti
   ============================================================ */
.schede{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  margin-top:26px;
}
.scheda{
  padding:22px;border-radius:16px;text-align:center;
  background:var(--sabbia-chiara);border:1px solid var(--sabbia-scura);
}
.scheda h3{
  margin:0 0 12px;
  font-family:var(--display);font-weight:500;font-size:20px;color:var(--abisso);
}
.rubrica{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0}
.tel{
  display:inline-block;padding:9px 16px;border-radius:999px;
  border:1px solid var(--sabbia-scura);background:var(--sabbia);
  color:var(--abisso);text-decoration:none;font-size:13px;font-weight:500;
  transition:background .2s ease,border-color .2s ease;
}
.tel:hover{background:var(--sabbia-scura);border-color:var(--onda-chiara)}

/* ============================================================
   FASCIA FINALE + PIÈ DI PAGINA
   ============================================================ */
.fascia{
  background:linear-gradient(160deg,var(--abisso),var(--onda));
  color:var(--sabbia-chiara);
  padding:64px 22px 72px;text-align:center;
}
.fascia h2{
  margin:0 0 8px;
  font-family:var(--display);font-weight:500;
  font-size:clamp(26px,4.4vw,36px);
}
.fascia p{margin:0 0 26px;color:rgba(252,250,244,.85)}

footer{
  background:#0B2E35;color:var(--schiuma);
  padding:38px 22px calc(34px + env(safe-area-inset-bottom));
  text-align:center;font-size:13.5px;line-height:1.9;
}
footer p{margin:0}
footer a{color:var(--sabbia-chiara);text-decoration:none}
footer a:hover{text-decoration:underline}
.marchio{
  font-family:var(--display);font-weight:500;font-size:19px;
  color:var(--sabbia-chiara);margin-bottom:4px;
}
.cin{margin-top:10px}
.vuoto{
  color:#FFB3A0;font-weight:700;
  background:rgba(226,103,76,.18);padding:1px 7px;border-radius:5px;font-size:12px;
}
.quieto{color:rgba(127,179,184,.75);font-size:12.5px;margin-top:8px}

/* ============================================================
   ANIMAZIONI
   ============================================================ */
@keyframes affiora{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}
}
@keyframes sorge{
  from{opacity:0;transform:translate(-50%,26px)}
  to{opacity:1;transform:translate(-50%,0)}
}

/* ============================================================
   RESPONSIVE / ACCESSIBILITÀ
   ============================================================ */
@media (max-width:640px){
  .eroe{min-height:88vh;padding-bottom:170px}
  .astro{width:92px;height:92px;bottom:130px}
  .dotazioni{grid-template-columns:1fr}
  .galleria{grid-template-columns:repeat(2,1fr)}
  .distanze{grid-template-columns:1fr}
  .carte{grid-template-columns:1fr}
  .schede{grid-template-columns:1fr}
  .banda{padding:56px 20px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .nome,.motto,.cta,.astro{animation-duration:.01ms;animation-delay:0ms;opacity:1}
  .astro{transform:translateX(-50%)}
  .rivela{opacity:1;transform:none;transition:none}
  .btn:hover{transform:none}
}
