/*
Theme Name:  6 Zampe
Description: Tema ufficiale 6 Zampe - Asilo per cani
Version:     1.0.0
Author:      Forma Studio
Author URI:  https://www.forma-studio.it
Text Domain: 6zampe
*/

/* ── WordPress admin bar ── */
.admin-bar #nav        { top: 32px; }
.admin-bar .nav-drawer { top: calc(72px + 32px); }
@media screen and (max-width:782px){
  .admin-bar #nav        { top: 46px; }
  .admin-bar .nav-drawer { top: calc(72px + 46px); }
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;height:100%}
body{
  font-family:'Outfit',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;
  min-height:100%;display:flex;flex-direction:column;
}
img{display:block;max-width:100%}

/* Spinge il footer in fondo quando il contenuto è più basso del viewport
   (es. step 1 del wizard di prenotazione). Nav e drawer sono position:fixed
   quindi non partecipano al flusso flex — non serve toccarli. */
footer{margin-top:auto}

/* ── Variabili (sovrascritte da Customizer via inline CSS) ── */
:root{
  --bg:      #FAFAF8;
  --white:   #FFFFFF;
  --stone:   #E8E2D9;
  --stone2:  #D8D0C4;
  --terra:   #B5795A;
  --terra-lt:#CFA08A;
  --ink:     #1E1B18;
  --ink-m:   #6B6258;
  --ink-lt:  #A89E94;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:72px;padding:0 48px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .35s,border-color .35s;
  border-bottom:1px solid transparent;
}
nav.scrolled{
  background:rgba(250,250,248,.95);
  backdrop-filter:blur(12px);
  border-color:var(--stone);
}
.logo{
  font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500;
  letter-spacing:.02em;color:var(--ink);text-decoration:none;flex-shrink:0;
}
.logo em{font-style:italic;color:var(--terra)}

.nav-pill{
  display:flex;align-items:center;gap:4px;
  background:rgba(250,250,248,.7);backdrop-filter:blur(8px);
  border:1px solid var(--stone);border-radius:100px;padding:5px 6px;
}
.nav-pill a{
  font-size:.75rem;font-weight:400;color:var(--ink-m);
  text-decoration:none;padding:7px 18px;border-radius:100px;
  transition:background .2s,color .2s;white-space:nowrap;
}
.nav-pill a:hover{background:var(--stone);color:var(--ink)}
.nav-pill a.cta{background:var(--ink);color:var(--white);font-weight:500}
.nav-pill a.cta:hover{background:var(--ink-m)}

.nav-burger{
  display:none;flex-direction:column;justify-content:center;
  gap:5px;cursor:pointer;padding:8px;background:none;border:none;
}
.nav-burger span{
  display:block;width:22px;height:1.5px;
  background:var(--ink);border-radius:2px;
  transition:transform .3s,opacity .3s;
}
.nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.nav-drawer{
  display:flex;flex-direction:column;gap:0;
  position:fixed;top:72px;left:0;right:0;z-index:99;
  background:rgba(250,250,248,.98);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--stone);
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .35s ease,opacity .25s ease;pointer-events:none;
}
.nav-drawer.open{max-height:400px;opacity:1;pointer-events:all}
.nav-drawer a{
  font-size:.95rem;font-weight:400;color:var(--ink-m);
  text-decoration:none;padding:18px 24px;
  border-bottom:1px solid var(--stone);transition:background .2s,color .2s;
}
.nav-drawer a:hover{background:var(--stone);color:var(--ink)}
.nav-drawer a.cta{
  background:var(--ink);color:var(--white);font-weight:500;
  text-align:center;border-bottom:none;
  margin:16px 20px 20px;border-radius:8px;padding:14px;
}
.nav-drawer a.cta:hover{background:var(--ink-m)}

/* ── HERO ── */
#hero{
  min-height:100vh;padding:88px 64px 0;
  display:grid;grid-template-rows:1fr auto;
  background:var(--white);overflow:hidden;
}
.hero-top{
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;padding-bottom:72px;
}
.hero-tag{display:flex;align-items:center;gap:12px;margin-bottom:32px;}
.hero-tag-line{width:32px;height:1px;background:var(--terra)}
.hero-tag-text{font-size:.7rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.hero-title{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(2.8rem,4.5vw,5rem);line-height:1.08;color:var(--ink);
  margin-bottom:28px;animation:up .9s both;
}
.hero-title em{font-style:italic;font-weight:300;color:var(--ink-m)}
.hero-desc{
  font-size:.97rem;font-weight:300;line-height:1.8;
  color:var(--ink-m);max-width:420px;margin-bottom:44px;animation:up .9s .12s both;
}
.hero-btns{display:flex;align-items:center;gap:14px;animation:up .9s .24s both;}
.hb-main{
  background:var(--terra);color:var(--white);
  padding:13px 30px;border-radius:6px;text-decoration:none;
  font-size:.85rem;font-weight:500;letter-spacing:.02em;transition:background .2s;
}
.hb-main:hover{background:var(--terra-lt);color:var(--white)}
.hb-sec{
  border:1px solid var(--stone);color:var(--ink-m);
  padding:13px 28px;border-radius:6px;text-decoration:none;
  font-size:.85rem;font-weight:400;transition:border-color .2s,color .2s;
}
.hb-sec:hover{border-color:var(--stone2);color:var(--ink)}
.hero-photo{
  border-radius:16px;overflow:hidden;height:480px;position:relative;
  background:linear-gradient(150deg,#C8BFB4,#B0A694);animation:up .9s .08s both;
}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo-ph{
  width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;
  color:rgba(30,27,24,.28);font-size:.7rem;font-weight:300;
  letter-spacing:.1em;text-transform:uppercase;
}
.hero-photo-ph svg{opacity:.35}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--stone);
  border-top:1px solid var(--stone);border-radius:0 0 16px 16px;overflow:hidden;
}
.hs{background:var(--white);padding:22px 28px;transition:background .2s}
.hs:hover{background:var(--bg)}
.hs-n{font-family:'Fraunces',serif;font-size:2rem;font-weight:500;color:var(--terra);line-height:1}
.hs-l{font-size:.65rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-m);margin-top:6px}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ── SEZIONE COMUNE ── */
section.std{padding:110px 80px}
.s-label{font-size:.68rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:18px}
.s-title{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(2.2rem,3vw,3.5rem);line-height:1.1;color:var(--ink);margin-bottom:20px}
.s-title em{font-style:italic}
.s-body{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--ink-m);max-width:500px}

/* ── CHI SIAMO ── */
#chi{background:var(--white)}
.chi-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.chi-feats{margin-top:48px;display:flex;flex-direction:column;gap:0}
.chi-f{padding:22px 0;border-bottom:1px solid var(--stone);display:flex;gap:20px;align-items:flex-start}
.chi-f-bar{width:2px;min-height:40px;background:var(--stone2);flex-shrink:0;margin-top:2px}
.chi-f-text{font-size:.88rem;font-weight:300;line-height:1.7;color:var(--ink-m)}
.chi-f-text strong{display:block;font-weight:500;color:var(--ink);margin-bottom:2px}
.chi-right{display:flex;flex-direction:column;gap:16px}
.chi-card{background:var(--bg);padding:32px;border:1px solid var(--stone);border-radius:2px;transition:border-color .2s}
.chi-card:hover{border-color:var(--stone2)}
.chi-card-n{font-family:'Fraunces',serif;font-size:3rem;font-weight:500;color:var(--terra);line-height:1}
.chi-card-l{font-size:.7rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-lt);margin-top:6px}
.chi-card-desc{font-size:.83rem;font-weight:300;color:var(--ink-m);margin-top:8px;line-height:1.6}
.chi-card.horiz{display:flex;align-items:center;gap:32px}
.chi-sep{width:1px;height:48px;background:var(--stone2);flex-shrink:0}

/* ── STRUTTURA ── */
#struttura{background:var(--bg)}
.str-header{margin-bottom:64px}
.str-intro{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--ink-m);max-width:560px;margin-top:16px}
.str-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:280px 280px;gap:12px}
.str-cell{border-radius:2px;overflow:hidden;position:relative}
.str-cell.tall{grid-row:span 2}
.str-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-ph{
  width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  color:rgba(30,27,24,.25);font-size:.7rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;
}
.photo-ph svg{opacity:.3}
.ph1{background:linear-gradient(135deg,#D8CFC4,#C4B5A4)}
.ph2{background:linear-gradient(135deg,#CCCABB,#BAAD9C)}
.ph3{background:linear-gradient(135deg,#C8BFB4,#B8ADA2)}
.ph4{background:linear-gradient(135deg,#D4CABD,#C2B5A8)}
.ph5{background:linear-gradient(135deg,#BFBBB0,#AFA89C)}
.video-ph{
  width:100%;height:100%;
  background:linear-gradient(135deg,#3A332C,#4E443A);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;cursor:pointer;transition:filter .3s;
}
.video-ph:hover{filter:brightness(1.1)}
.play-btn{
  width:60px;height:60px;border-radius:50%;
  background:rgba(250,250,248,.14);border:1px solid rgba(250,250,248,.22);
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.video-ph:hover .play-btn{background:rgba(250,250,248,.24)}
.play-btn svg{margin-left:3px}
.video-ph-label{font-size:.68rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,250,248,.35)}
.str-caption{
  position:absolute;bottom:0;left:0;right:0;padding:14px 18px;
  background:linear-gradient(transparent,rgba(30,27,24,.32));
  font-size:.7rem;font-weight:400;letter-spacing:.06em;color:rgba(250,250,248,.8);
}

/* ── SERVIZI ── */
#servizi{background:var(--white);padding-bottom:0}
.srv-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--stone)}
.sc{background:var(--white);padding:44px 36px;transition:background .25s}
.sc:hover{background:var(--bg)}
.sc-price{font-family:'Fraunces',serif;font-size:2.8rem;font-weight:300;color:var(--terra);line-height:1}
.sc-price small{font-size:1rem;color:var(--ink-lt);font-weight:300}
.sc-name{font-size:.95rem;font-weight:500;color:var(--ink);margin:16px 0 12px}
.sc-desc{font-size:.85rem;font-weight:300;line-height:1.75;color:var(--ink-m)}
.sc-link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:.78rem;font-weight:400;color:var(--terra);text-decoration:none;letter-spacing:.06em;transition:gap .2s}
.sc-link:hover{gap:10px}

/* ── Alloggio turistico ── */
#bnb{background:var(--ink)}
.bnb-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:600px}
.bnb-carousel{position:relative;overflow:hidden;min-height:500px}
.bnb-slides{display:flex;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.bnb-slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:500px;position:relative}
.bnb-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bnb-photo-ph{display:flex;flex-direction:column;align-items:center;gap:12px;color:rgba(250,250,248,.2);font-size:.7rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase}
.bnb-photo-ph svg{opacity:.25}
.bnb-photo-label{position:absolute;top:28px;left:28px;z-index:10;background:rgba(181,121,90,.9);color:#fff;font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:3px}
.bnb-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:rgba(250,250,248,.1);color:rgba(250,250,248,.8);display:flex;align-items:center;justify-content:center;transition:background .2s;backdrop-filter:blur(4px)}
.bnb-arrow:hover{background:rgba(250,250,248,.2)}
.bnb-prev{left:16px}.bnb-next{right:16px}
.bnb-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:6px}
.bnb-dot{width:6px;height:6px;border-radius:50%;border:none;background:rgba(250,250,248,.3);cursor:pointer;padding:0;transition:background .25s,transform .25s}
.bnb-dot.active{background:rgba(250,250,248,.9);transform:scale(1.3)}
.bnb-counter{position:absolute;bottom:20px;right:20px;z-index:10;font-size:.65rem;font-weight:300;letter-spacing:.1em;color:rgba(250,250,248,.3)}
.bnb-content{padding:80px 72px;display:flex;flex-direction:column;justify-content:center}
.bnb-label{font-size:.68rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-lt);margin-bottom:18px}
.bnb-title{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(2rem,2.8vw,3.2rem);line-height:1.1;color:var(--bg);margin-bottom:20px}
.bnb-title em{font-style:italic;color:var(--terra-lt)}
.bnb-desc{font-size:.93rem;font-weight:300;line-height:1.8;color:rgba(250,250,248,.55);margin-bottom:40px}
.bnb-amenities{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:40px}
.bnb-am{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:300;color:rgba(250,250,248,.6)}
.bnb-am-dot{width:5px;height:5px;border-radius:50%;background:var(--terra-lt);flex-shrink:0;opacity:.7}
.bnb-divider{width:100%;height:1px;background:rgba(250,250,248,.08);margin-bottom:36px}
.bnb-location-title{font-size:.65rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,250,248,.3);margin-bottom:16px}
.bnb-distances{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.bnb-dist{background:rgba(250,250,248,.06);border:1px solid rgba(250,250,248,.1);border-radius:100px;padding:6px 14px;font-size:.75rem;font-weight:300;color:rgba(250,250,248,.5);white-space:nowrap}
.bnb-dist strong{color:rgba(250,250,248,.8);font-weight:500}
.bnb-cta{display:inline-flex;align-items:center;gap:8px;background:var(--terra);color:#fff;padding:13px 28px;border-radius:4px;width:fit-content;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.04em;transition:background .2s}
.bnb-cta:hover{background:var(--terra-lt);color:#fff}

/* ── PERCHE ── */
#perche{background:var(--stone)}
.prc-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.prc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pi{background:var(--white);padding:32px 28px;border-radius:2px;transition:box-shadow .25s}
.pi:hover{box-shadow:0 8px 32px rgba(30,27,24,.07)}
.pi-icon{width:36px;height:2px;background:var(--terra);margin-bottom:20px}
.pi-title{font-size:.92rem;font-weight:500;color:var(--ink);margin-bottom:8px}
.pi-text{font-size:.82rem;font-weight:300;line-height:1.7;color:var(--ink-m)}

/* ── RECENSIONI ── */
#recensioni{background:var(--white)}
.rec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}
.rec-score{display:flex;align-items:center;gap:16px;flex-shrink:0}
.rec-score-num{font-family:'Fraunces',serif;font-size:3.5rem;font-weight:500;color:var(--terra);line-height:1}
.rec-score-detail{display:flex;flex-direction:column;gap:4px}
.rec-stars{display:flex;gap:3px}
.rec-stars svg{fill:var(--terra);width:14px;height:14px}
.rec-source{font-size:.7rem;font-weight:300;color:var(--ink-lt);letter-spacing:.06em}
.rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rec-card{background:var(--bg);border:1px solid var(--stone);padding:32px 28px;border-radius:2px;display:flex;flex-direction:column;gap:20px;transition:border-color .2s,box-shadow .2s}
.rec-card:hover{border-color:var(--stone2);box-shadow:0 8px 32px rgba(30,27,24,.05)}
.rec-card-stars{display:flex;gap:3px}
.rec-card-stars svg{fill:var(--terra);width:13px;height:13px}
.rec-card-text{font-size:.88rem;font-weight:300;line-height:1.75;color:var(--ink-m);flex:1;font-style:italic}
.rec-card-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--stone)}
.rec-avatar{width:36px;height:36px;border-radius:50%;background:var(--stone);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:.9rem;font-weight:500;color:var(--ink-m);flex-shrink:0}
.rec-author-info{}
.rec-author-name{font-size:.82rem;font-weight:500;color:var(--ink)}
.rec-author-dog{font-size:.72rem;font-weight:300;color:var(--ink-lt);margin-top:1px}

/* ── CONTATTO ── */
#contatto{background:var(--bg)}
.form-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:start}
.form-info .s-body{margin-bottom:48px}
.c-item{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--stone)}
.c-item:last-child{border-bottom:none}
.c-item-dot{width:6px;height:6px;border-radius:50%;background:var(--terra);flex-shrink:0}
.c-item-text{font-size:.88rem;font-weight:300;color:var(--ink-m)}
.c-item-text a{color:var(--ink);text-decoration:none;font-weight:400;transition:color .2s}
.c-item-text a:hover{color:var(--terra)}
form{display:flex;flex-direction:column;gap:0;border:1px solid var(--stone);background:var(--white)}
.ff{padding:20px 28px;border-bottom:1px solid var(--stone);display:flex;flex-direction:column;gap:8px}
.ff:last-of-type{border-bottom:none}
.ff label{font-size:.65rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-lt)}
.ff input,.ff select,.ff textarea{background:transparent;border:none;outline:none;font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:300;color:var(--ink);caret-color:var(--terra)}
.ff input::placeholder,.ff textarea::placeholder{color:var(--stone2)}
.ff textarea{resize:none;height:90px}
.ff select option{background:var(--white)}
.ff-row{display:grid;grid-template-columns:1fr 1fr}
.ff-row .ff:first-child{border-right:1px solid var(--stone)}
.form-sub{background:var(--ink);color:var(--bg);border:none;padding:18px;margin:28px 28px;font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.form-sub:hover{background:var(--ink-m)}
.form-sub:disabled{opacity:.6;cursor:default}
.form-note{text-align:center;font-size:.7rem;font-weight:300;color:var(--ink-lt);padding:0 28px 24px}
.f-ok{display:none;text-align:center;padding:60px 28px}
.f-ok h3{font-family:'Fraunces',serif;font-size:1.8rem;font-weight:300;font-style:italic;color:var(--terra);margin-bottom:8px}
.f-ok p{font-size:.85rem;font-weight:300;color:var(--ink-m)}
.form-err{display:none;padding:0 28px 12px;font-size:.82rem;color:#c0392b}

/* ── FOOTER ── */
footer{background:var(--ink);color:rgba(250,250,248,.5);padding:52px 80px;display:flex;align-items:center;justify-content:space-between}
.f-logo{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:300;color:var(--bg)}
.f-logo em{font-style:italic;color:var(--terra-lt)}
.f-links{display:flex;gap:28px}
.f-links a{font-size:.78rem;font-weight:300;color:rgba(250,250,248,.4);text-decoration:none;transition:color .2s}
.f-links a:hover{color:rgba(250,250,248,.8)}
.f-copy{font-size:.72rem;font-weight:300}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  nav{padding:0 20px}
  .nav-pill{display:none}
  .nav-burger{display:flex}

  #hero{padding:80px 20px 0}
  .hero-top{grid-template-columns:1fr;gap:36px;padding-bottom:48px}
  .hero-photo{height:260px}
  .hero-stats{grid-template-columns:1fr 1fr}

  section.std{padding:70px 20px}
  .chi-inner,.prc-inner,.form-inner{grid-template-columns:1fr;gap:48px}

  .str-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .str-cell.tall{grid-row:auto}

  .srv-head{flex-direction:column;gap:20px;align-items:flex-start}
  .srv-grid{grid-template-columns:1fr}

  .prc-grid{grid-template-columns:1fr}

  .ff-row{grid-template-columns:1fr}
  .ff-row .ff:first-child{border-right:none;border-bottom:1px solid var(--stone)}

  .rec-head{flex-direction:column;gap:20px;align-items:flex-start}
  .rec-grid{grid-template-columns:1fr}

  .bnb-inner{grid-template-columns:1fr}
  .bnb-carousel{min-height:260px}
  .bnb-slide{min-height:260px}
  .bnb-content{padding:52px 20px}
  .bnb-amenities{grid-template-columns:1fr}

  .map-card-full{margin-top:40px;height:240px}

  footer{flex-direction:column;gap:24px;padding:40px 20px;text-align:center}
  .f-links{flex-wrap:wrap;justify-content:center}
}

/* ── Footer credit ── */
.f-credit {
  font-size: .65rem;
  font-weight: 300;
  color: rgba(250,250,248,.2);
  text-align: right;
}
.f-credit a {
  color: rgba(250,250,248,.35);
  text-decoration: none;
  transition: color .2s;
}
.f-credit a:hover { color: rgba(250,250,248,.7); }

/* ── Mappa (placeholder statico elegante, no iframe Google) ── */
.map-card-full{
  margin-top:60px;border-radius:14px;overflow:hidden;border:1px solid var(--stone);
  height:340px;position:relative;
}
.map-placeholder{
  width:100%;height:100%;
  background:linear-gradient(135deg,#E0E8DA 0%,#D4DECC 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:#7A8F70;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  font-family:'Outfit',sans-serif;
}
.map-pin{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);
  color:var(--terra);filter:drop-shadow(0 4px 6px rgba(30,27,24,.15));
}
.map-open{
  position:absolute;bottom:18px;right:18px;
  background:var(--white);border:1px solid var(--stone);
  padding:9px 18px;border-radius:100px;font-size:.78rem;color:var(--ink);
  text-decoration:none;display:flex;align-items:center;gap:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);z-index:5;transition:box-shadow .2s,transform .2s;
}
.map-open:hover{box-shadow:0 6px 18px rgba(0,0,0,.12);transform:translateY(-1px)}

/* ── Sezione camere booking (overview) ── */
#szb-rooms-section{background:var(--white)}
