/* ============================================================
   DULCE DOMOS — Componenti: header, footer, modale, widget
   ============================================================ */
/* ================= HEADER / NAV ================= */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(250,246,240,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .3s;
}
header.scrolled{border-bottom-color:var(--sand)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700}
/* Logo vettoriale: mani che sorreggono una domus (vedi <symbol id="dd-logo">) */
.logo-mark{
  width:46px;height:46px;border-radius:50%;background:var(--beige);color:var(--brown);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.logo-mark svg{width:34px;height:34px}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-size:.95rem;color:var(--brown);position:relative;padding:4px 0}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--gold);transition:width .3s;
}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--gold);color:var(--white)!important;padding:10px 22px;border-radius:50px;font-size:.9rem}
.nav-cta::after{display:none}
.nav-cta:hover{background:#a4874f}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{display:block;width:26px;height:2px;background:var(--brown);margin:6px 0;transition:.3s}
.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Modale di prenotazione */
.modal-overlay{
  position:fixed;inset:0;background:rgba(40,33,26,.6);z-index:200;
  display:none;align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.open{display:flex}
.modal{
  background:var(--cream);border-radius:var(--radius);max-width:530px;width:100%;
  max-height:92vh;overflow-y:auto;padding:36px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.modal-close{
  position:absolute;top:12px;right:16px;background:none;border:none;
  font-size:1.6rem;cursor:pointer;color:var(--taupe);line-height:1;
}
.demo-tag{
  display:inline-block;background:var(--gold);color:var(--white);font-size:.68rem;
  letter-spacing:.15em;padding:4px 14px;border-radius:50px;text-transform:uppercase;margin-bottom:12px;
}
.modal h3{font-size:1.4rem;margin-bottom:4px}
.modal .apt-zone{display:block;margin-bottom:14px}
.bk-form label{display:block;font-size:.85rem;color:var(--taupe);margin:14px 0 5px}
.bk-form input,.bk-form select{
  width:100%;padding:12px 14px;border:1px solid var(--sand);border-radius:8px;
  background:var(--white);font-family:'Jost',sans-serif;font-size:.95rem;color:var(--brown);
}
.bk-form input:focus,.bk-form select:focus{outline:none;border-color:var(--gold)}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-summary{background:var(--beige);border-radius:10px;padding:16px 20px;margin-top:18px;font-size:.95rem}
.bk-summary div{display:flex;justify-content:space-between;padding:3px 0}
.bk-total{font-weight:600;border-top:1px solid var(--sand);margin-top:8px;padding-top:10px!important}
.bk-note{font-size:.78rem;color:var(--taupe);margin-top:12px;text-align:center}
.bk-error{color:#b3563e;font-size:.85rem;margin-top:10px;display:none}
.modal .btn{width:100%;margin-top:20px}
.bk-success{text-align:center;padding:20px 0}
.bk-success .tick{
  width:60px;height:60px;border-radius:50%;background:var(--gold);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 18px;
}
.bk-success h4{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:10px}
.bk-success p{color:var(--taupe);font-size:.95rem}

/* ================= FOOTER ================= */
footer{background:#28211a;color:rgba(250,246,240,.55);padding:36px 0;font-size:.88rem}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.footer-grid a:hover{color:var(--gold-light)}

/* WhatsApp flottante */
.wa-float{
  position:fixed;bottom:26px;right:26px;z-index:90;width:58px;height:58px;border-radius:50%;
  background:#25d366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .3s;
}
.wa-float:hover{transform:scale(1.1)}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* Selettore lingua GTranslate */
.gtranslate_wrapper{margin-left:14px}
.gtranslate_wrapper select{
  padding:8px 12px;border:1px solid var(--sand);border-radius:50px;
  background:var(--white);color:var(--brown);font-family:'Jost',sans-serif;
  font-size:.85rem;cursor:pointer;outline:none;
}
.gtranslate_wrapper select:focus{border-color:var(--gold)}
@media(max-width:720px){.gtranslate_wrapper{margin-left:auto;margin-right:12px}}
