/* ============ Rodevita Home — main styles ============ */
:root{
  --maroon:#7a2a22;        /* primary dark red (headings, bands, top bar) */
  --maroon-dark:#42120d;   /* near-black maroon (dark buttons) */
  --red:#d33e2f;           /* accent orange-red (icons, accent btn, links) */
  --red-2:#bb3b2c;
  --peach:#fae7da;         /* hero / cambia / faq panels */
  --bianco:#fdf4ef;        /* page + card background */
  --side:clamp(24px, 3.5vw, 80px);

  /* Fibonacci type scale — sequenza 1,1,2,3,5,8,13,21,34,55,89 */
  --fib-sm:  16px;   /* F(7)  — caption, chip, breadcrumb, footer legal */
  --fib-md:  21px;   /* F(8)  — corpo testo, nav, pulsanti, testo sezioni */
  --fib-lg:  34px;   /* F(9)  — icone, lead max, h3 max */
  --fib-xl:  55px;   /* F(10) — h2 max */
  --fib-2xl: 89px;   /* F(11) — h1 hero max, blockquote decorativo */
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'MerriweatherSans-Variable',system-ui,sans-serif;
  color:var(--maroon-dark);
  background:var(--bianco);
  font-size:var(--fib-md);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
p {
  font-weight: 400;
}

.submit-p p,
.wpcf7 p {margin-bottom: 0!important;}
.submit-p p {display: flex;
    align-items: center;}
img{max-width:100%;display:block}

img.img-fluid.ratio-1x1 {
  aspect-ratio: 1 / 1;
}

img.img-fluid.ratio-1x1,
img.img-fluid-100 {
  object-fit: cover;
  object-position: center;
}

img.img-fluid-100 {
  width:100%;
  height:100%;
}

a{text-decoration:none;color:inherit}

.wrap{width:min(1600px, calc(100% - 2 * var(--side)));margin-inline:auto; overflow:hidden}
h1,h2,h3,h4{font-weight:800;color:var(--maroon);margin:0;line-height:115%;letter-spacing:-.01em; margin-bottom: 14px; }
h1, h2{font-size:clamp(var(--fib-lg),3.8vw,var(--fib-xl))}
h2.wp-block-heading {font-size:34px!important}

/*h2.titolo-34{font-size:clamp(var(--fib-lg),3.8vw,var(--fib-md))}*/
h3.titolo-34, .titolo-34{
  font-size:clamp(21px,3.8vw,var(--fib-lg));
  font-family: 'MerriweatherSans-Variable', system-ui, sans-serif;
  font-weight: 500;
  color: var(--maroon-dark);
  line-height: 140%;
}
.faq-q h3.titolo-34 {
  font-family: 'Merriweather',Georgia,serif;
  font-weight: 700;
}

/*h2{font-size:clamp(var(--fib-lg),2.5vw,36px)}*/
h1,h2,h3{font-family:'Merriweather',Georgia,serif}
h4 {margin: 1em 0; font-size: 16px; font-weight: 600;}
/* ---------- Announcement bar ---------- */
.announce{background:var(--maroon);color:var(--bianco);text-align:center;font-size:16px;font-weight:600;padding:20px}

/* ---------- Header / nav ---------- */
.nav{background:var(--bianco);transition:background .25s,box-shadow .25s}
.nav.sticky{position:fixed;top:0;left:0;right:0;z-index:2000;}
.nav .wrap{display:flex;align-items:center;gap:32px;padding:20px 0;min-height:96px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand-logo{height:60px;width:auto;display:block}
.nav-links{display:flex;align-items:center;margin-left:auto}
.nav-links a{font-weight:600;font-size:21px;color:var(--maroon-dark);white-space:nowrap; padding:25px}
.nav-links a:hover, .nav-links .current-menu-item, .foot-list .current-menu-item {color:var(--red)}
.phone-btn{display:inline-flex;align-items:center;gap:14px;background:var(--red);color:var(--bianco);padding:12px 22px;border-radius:0;flex-shrink:0; width: 100%;    justify-content: center; text-align: left;}
.phone-btn .bi{font-size:var(--fib-lg)}
.phone-btn small{display:block;font-size:var(--fib-sm);font-weight:500;line-height:1.7}
.phone-btn b{display:block;font-size:var(--fib-md);font-weight:800;letter-spacing:.01em;line-height:1.15;white-space:nowrap}



/* ---------- Buttons ---------- */
.wpcf7-submit,
.btn-rv{display:inline-flex;align-items:center;gap:16px;font-weight:600;font-size:16px;
  padding:18px 28px;border-radius:0;border:0;cursor:pointer;transition:.15s}
.wpcf7-submit,.btn-dark{background:var(--maroon-dark);color:var(--bianco)}

.btn-maroon{background:var(--maroon);color:var(--bianco)}
.btn-maroon:hover{background:#601f18;color:var(--bianco)}
.btn-rv .bi{width:32px;height:32px;flex-shrink:0}

/* text link with red circle arrow */
.link-arrow{display:inline-flex;align-items:center;gap:12px;font-weight:600;color:var(--maroon-dark);font-size:var(--fib-md);margin-top:32px;}
.link-arrow .circ{width:30px;height:30px;border-radius:50%;background:var(--red);color:var(--bianco);display:grid;place-items:center;font-size:var(--fib-sm);flex-shrink:0}
.link-arrow .circ .arrow-right {
  width:16px;
  height:16px;
  -webkit-mask-image: url(../img/icone/arrow_forward.svg);
  mask-image: url(../img/icone/arrow_forward.svg);
  mask-repeat: no-repeat;
  mask-size: cover;
  background:var(--bianco);
}
.link-arrow:hover{color:var(--red)}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr}
.hero-left{background:var(--peach);display:flex;align-items:center;padding:90px 60px 90px 0}
.hero-left .inner{max-width:820px;width:100%;margin-left:max(var(--side), calc((100vw - 1600px)/2)); /*margin-right:max(var(--side), calc((100vw - 1600px)/2))*/ }
.hero h1{font-weight:800;line-height:115%}
.hero .sub{font-size:21px;color:var(--maroon-dark);margin-top:34px;max-width:640px;font-weight:500}
.hero-right{background:#c4c4c4;min-height:680px}

/* generic photo placeholder */
.ph{position:relative;overflow:hidden;
  background:
   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.2' opacity='.5'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='8.5' cy='9.5' r='1.7'/%3E%3Cpath d='M21 15l-5-4L5 20'/%3E%3C/svg%3E") center/64px no-repeat,
   linear-gradient(135deg,#e7d3c4,#d9bda9)}
.ph.flat{background:#c4c4c4}

/* ---------- Section helpers ---------- */
.sec{padding:60px 0}
.sec-head{text-align:center;max-width:1000px;margin:0 auto 60px}
.sec-head h2{font-size:34px}
.sec-head p{font-size:21px;font-weight:500;color:var(--maroon-dark);margin-top:14px}
.bg-cream{background:var(--bianco)}
.bg-peach{background:var(--peach)}


/* ---------- Senior Housing carousel ---------- */
.senior .wrap{display:block}
.senior .row,.senior-page-section .row{--bs-gutter-x:80px}
.senior-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}

/*.senior h2{font-size:clamp(var(--fib-lg),3.4vw,var(--fib-xl));margin-bottom:24px}*/
.senior .lead{font-size:21px;color:var(--maroon-dark);font-weight:500;margin-bottom:36px;line-height:1.3}
.feat{list-style:none;margin:0 0 44px;padding:0}
.feat li{display:flex;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--peach)}
.feat li:last-child{border-bottom:1px solid var(--peach)}
.feat .ic{width:40px;height:40px;background:var(--red); mask-repeat: no-repeat; mask-size:contain; }
.feat .ic{color:var(--red);font-size:var(--fib-lg);flex-shrink:0;width:34px;display:flex;justify-content:center;margin-top:2px}
.feat .ic.person{mask-image:url(../img/icone/person.svg);-webkit-mask-image:url(../img/icone/person.svg)}
.feat .ic.pet{mask-image:url(../img/icone/pet.svg);-webkit-mask-image:url(../img/icone/pets.svg)}
.feat .ic.group{mask-image:url(../img/icone/group.svg);-webkit-mask-image:url(../img/icone/group.svg)}
.feat .ic.gita{mask-image:url(../img/icone/gita.svg);-webkit-mask-image:url(../img/icone/gite.svg)}
.svc-ic.ristorante,.icona_tag.icona_ristorante,.feat .ic.hand-housing{mask-image:url(../img/icone/hand_housing_1.svg);-webkit-mask-image:url(../img/icone/hand_housing_1.svg)}
.feat .ic.family-housing{mask-image:url(../img/icone/family_housing_2.svg);-webkit-mask-image:url(../img/icone/family_housing_2.svg)}
.icona_tag.icona_notifications,.svc-ic.notification,.feat .ic.notification{mask-image:url(../img/icone/notifications.svg);-webkit-mask-image:url(../img/icone/notifications.svg)}
.feat .ic.luggage-housing{mask-image:url(../img/icone/luggage_housing-3.svg);-webkit-mask-image:url(../img/icone/luggage_housing-3.svg)}
.feat p{margin:0;font-size:var(--fib-md);color:var(--maroon-dark);}
.senior-photo{height:100%;min-height:560px;border-radius:0}
/* ---- Swiper slide width fix (tutti gli schermi ≤1199px) ---- */
@media(max-width:1199px){
  .senior-swiper,
  .res-swiper{overflow:hidden;width:100%}
  .senior-swiper .swiper-slide,
  .res-swiper .swiper-slide{width:100%!important}
  .link-arrow{ margin-bottom:1.5em}
  .px-32-mobile {
    padding:16px 32px;
  }
 .row > .px-32-mobile:first-child {
    padding-top: 32px;
  }
 .row > .px-32-mobile:last-child  {
    padding-bottom: 32px;
  }
}

/* ---- Full-bleed senior-media-col quando il grid è 1 colonna (≤1100px) ---- */
/* Tecnica: margini negativi = annullano esattamente il padding del .wrap      */
/* Risultato: bordo box = 100vw; background maroon va da 0 a 100vw             */
@media(max-width:1100px){
  .sec.senior,
  .senior-page-section{overflow-x:hidden}
  
  .wrap.wrap-mobile{overflow:visible}

  .senior-media-col{
    background:var(--maroon);
    /* cancella il padding --side (24px) del .wrap su entrambi i lati */
    margin-left:calc(-1 * var(--side));
    margin-right:calc(-1 * var(--side));
    /* larghezza auto: il grid calcola border-box = grid-area + 24px + 24px = 100vw */
    width:auto;
    /* azzera eventuali residui del trucco position/left/transform */
    left:auto;
    transform:none;
    max-width:none;
    overflow:hidden;
    margin-top:48px;
    /*padding-top:48px;*/
    /*padding-bottom:48px;*/
    /*padding-inline:var(--side);*/
  }
  .sq-btn:not(.sq-btn.fill){background:transparent!important;border-color:var(--bianco)!important;color:var(--bianco)!important}
}

/* Tablet: foto più alta */
@media(min-width:768px) and (max-width:1100px){
  .senior-photo{height:440px;min-height:440px; width:100%}
}

/* Mobile */
@media(max-width:1100px){
 /* .ph,
  .senior-photo,
  .hero-right,
  .feature-row .media,
  .servizi-row .media .ph,
  .cta-band .media,
  .contatti .media,
  .page-intro-media{
    height:300px;
    min-height:300px;
  }*/
  .senior-media-col{
    margin-top:64px;
    /*padding-top:64px;*/
   /* padding-bottom:64px;*/
  }

  .senior-controls {
    margin-bottom:30px;
  }
}
.senior-controls{display:flex;align-items:center;justify-content:center;margin-top:30px}
.dash-pag{display:flex;gap:14px}
.dash-pag .swiper-pagination-bullet{width:64px;height:6px;border-radius:0;background:#f0cdb8;opacity:1;margin:0!important;transition:.2s}
.dash-pag .swiper-pagination-bullet-active{background:var(--maroon)}
.sq-nav{display:flex;gap:16px}
.sq-btn, .sq-btn-other{width:74px;height:74px;border-radius:0;display:grid;place-items:center;cursor:pointer;font-size:var(--fib-md);border:1px solid var(--maroon);background:var(--bianco);color:var(--maroon);transition:.15s;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
.sq-btn.fill, .sq-btn-other.fill{background:var(--maroon-dark);border-color:var(--maroon-dark);color:var(--bianco)}
.sq-btn:hover, .sq-btn-other:hover{background:var(--maroon);color:var(--bianco)}
.sq-btn.fill:hover, .sq-btn-other.fill:hover{background:#2c0b08;border-color:#2c0b08}
.sq-btn:focus,.sq-btn:focus-visible, .sq-btn-other:focus,.sq-btn-other:focus-visible{outline:none;box-shadow:none}
.sq-btn svg, .sq-btn-other svg{pointer-events:none;outline:none}

/* ---------- Cambia la tua vita ---------- */
.feature-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch; margin-bottom:60px}

.feature-row.rev .txt{order:2;}
.feature-row.rev .media{order:1}
.feature-row h3{font-size:21px;margin-bottom:14px; line-height:1.55;}
.feature-row p{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:400;}
/*.feature-row .media{height:430px}*/

.feature-row .media{height:100%}
.feature-row .media .ph{height:100%;border-radius:0}
.servizi-row .media{height:auto;align-self:stretch}
.servizi-row .media .ph{height:100%;}
.servizi-list{display:flex;flex-direction:column}
.servizi-item{display:flex;gap:22px;align-items:flex-start;padding:24px 0;border-top:1px solid var(--peach)}
.servizi-item:last-child{border-bottom:1px solid var(--peach)}
.svc-ic{width:40px;height:40px;background:var(--red);mask-repeat:no-repeat;mask-size:cover;flex-shrink:0;margin-top:4px}
.svc-ic.cibo{mask-image:url(../img/icone/cibo.svg);-webkit-mask-image:url(../img/icone/cibo.svg)}
.svc-ic.liberta{mask-image:url(../img/icone/liberta.svg);-webkit-mask-image:url(../img/icone/liberta.svg)}
.svc-ic.yoga{mask-image:url(../img/icone/yoga.svg);-webkit-mask-image:url(../img/icone/yoga.svg)}
.svc-ic.gite{mask-image:url(../img/icone/gite.svg);-webkit-mask-image:url(../img/icone/gite.svg)}
.svc-ic.person{mask-image:url(../img/icone/person.svg);-webkit-mask-image:url(../img/icone/person.svg)}
.svc-ic.creativita{mask-image:url(../img/icone/creativita.svg);-webkit-mask-image:url(../img/icone/creativita.svg)}
.svc-body{display:flex;flex-direction:column;gap:4px}
.svc-body b{font-size:var(--fib-md);font-weight:800;color:var(--maroon);line-height:1.2}
.svc-body p{margin:0;font-size:var(--fib-md);color:var(--maroon-dark);font-weight:500;line-height:1.45}
.chips{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
@media(max-width:767px){.chips{display:none}}
@media(max-width:767px){.feature-row{gap:24px}}

.chip{display:inline-flex;align-items:center;gap:12px;border:1.5px solid var(--maroon);color:var(--maroon);background:var(--bianco);
  font-weight:700;font-size:var(--fib-sm);padding:16px;border-radius:0}
.icona_tag{width:20px;height:20px;background:var(--maroon);mask-repeat:no-repeat;mask-size:contain;flex-shrink:0}
.icona_calendario{mask-image:url(../img/icone/calendario.svg);-webkit-mask-image:url(../img/icone/calendario.svg)}
.icona_thermo{mask-image:url(../img/icone/domotica.svg);-webkit-mask-image:url(../img/icone/domotica.svg)}
.icona_telemedicina{mask-image:url(../img/icone/medico.svg);-webkit-mask-image:url(../img/icone/medico.svg)}
.icona_security{mask-image:url(../img/icone/security.svg);-webkit-mask-image:url(../img/icone/security.svg)}
.icona_medkit{mask-image:url(../img/icone/medico.svg);-webkit-mask-image:url(../img/icone/medico.svg)}
.icona_gym{mask-image:url(../img/icone/gym.svg);-webkit-mask-image:url(../img/icone/gym.svg)}
.icona_benessere{mask-image:url(../img/icone/centro-benessere.svg);-webkit-mask-image:url(../img/icone/centro-benessere.svg)}
.icona_creativita{mask-image:url(../img/icone/creativita.svg);-webkit-mask-image:url(../img/icone/creativita.svg)}
.icona_gite{mask-image:url(../img/icone/gite.svg);-webkit-mask-image:url(../img/icone/gite.svg)}
.icona_pulizie{mask-image:url(../img/icone/pulizie.svg);-webkit-mask-image:url(../img/icone/pulizie.svg)}
.icona_conciergerie{mask-image:url(../img/icone/conciergerie.svg);-webkit-mask-image:url(../img/icone/conciergerie.svg)}
.icona_musica{mask-image:url(../img/icone/musica.svg);-webkit-mask-image:url(../img/icone/musica.svg)}
.icona_cibo{mask-image:url(../img/icone/cibo.svg);-webkit-mask-image:url(../img/icone/cibo.svg)}
.svc-ic.lavanderia,.icona_lavanderia{mask-image:url(../img/icone/lavanderia.svg);-webkit-mask-image:url(../img/icone/lavanderia.svg)}
.svc-ic.spesa,.icona_spesa{mask-image:url(../img/icone/spesa.svg);-webkit-mask-image:url(../img/icone/spesa.svg)}
.svc-ic.manutenzione,.icona_manutenzione{mask-image:url(../img/icone/manutenzione.svg);-webkit-mask-image:url(../img/icone/manutenzione.svg)}

/* CTA band: un mese */
.cta-band{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-radius:0;overflow:hidden}
.cta-band .panel{background:var(--maroon);color:var(--bianco);padding:32px;display:flex;flex-direction:column;justify-content:center}
.cta-band .panel h3{color:var(--bianco);font-size:34px;margin-bottom:24px}
.cta-band .panel p{color:#fbe9e2;font-size:var(--fib-md);font-weight:500;margin:0 0 32px;max-width:560px}
.cta-band .media{min-height:340px}
.cta-band .media .ph{height:100%}

/* ---------- Le nostre Attività ---------- */

.attivita{position:relative;background:linear-gradient(rgba(250, 231, 218, .8),rgba(250,231,218,.8)),url('../img/pexels-patricia-bozan-2151752743-36624700.webp') center/cover no-repeat}
.act-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1500px;margin:0 auto}
.act-card{background:var(--bianco);border-radius:0;padding:34px 38px;display:flex;gap:24px;align-items:center;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.act-card .ic{color:var(--red);font-size:var(--fib-lg);flex-shrink:0;width:40px;display:flex;justify-content:center;margin-top:2px}
.act-card .ic{width:40px;height:40px;background:var(--red);mask-repeat: no-repeat;}
.act-card .ic.yoga{mask-image:url(../img/icone/yoga.svg);-webkit-mask-image:url(../img/icone/yoga.svg);mask-size:cover; mask-repeat:no-repeat;}
.icona_intrattenimento, .act-card .ic.socialita{mask-image:url(../img/icone/socialita.svg);-webkit-mask-image:url(../img/icone/socialita.svg);mask-size:cover; mask-repeat:no-repeat;}
.act-card .ic.cultura{mask-image:url(../img/icone/cultura.svg);-webkit-mask-image:url(../img/icone/cultura.svg);mask-size:cover; mask-repeat:no-repeat;}
.act-card .ic.creativita{mask-image:url(../img/icone/creativita.svg);-webkit-mask-image:url(../img/icone/creativita.svg);mask-size:cover; mask-repeat:no-repeat;}
.act-card .ic.gite{mask-image:url(../img/icone/gite.svg);-webkit-mask-image:url(../img/icone/gite.svg);mask-size:cover; mask-repeat:no-repeat;}
.act-card .ic.cibo{mask-image:url(../img/icone/cibo.svg);-webkit-mask-image:url(../img/icone/cibo.svg);mask-size:cover; mask-repeat:no-repeat;}
.act-card p{margin:0;font-size:var(--fib-md);color:var(--maroon-dark);font-weight:400}
.act-card b{font-weight:800;color:var(--maroon-dark)}
.center-btn{display:flex;justify-content:center;margin-top:54px}

/* ---------- Le residenze ---------- */
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.res-card{background:var(--bianco);border-radius:0;overflow:hidden}
.res-swiper{position:relative}
.res-swiper .slide-img{height:420px}
.res-nav{position:absolute;top:50%;transform:translateY(-50%);width:62px;height:62px;display:grid;place-items:center;
  z-index:5;cursor:pointer;font-size:var(--fib-md);border:1px solid var(--maroon);transition:.15s}
.res-nav.prev{left:26px;background:var(--bianco);color:var(--maroon)}
.res-nav.next{right:26px;background:var(--maroon-dark);border-color:var(--maroon-dark);color:var(--bianco)}
.res-nav::after{content:'';display:block;width:21px;height:21px;-webkit-mask-image:url(../img/icone/arrow_forward.svg);mask-image:url(../img/icone/arrow_forward.svg);mask-repeat:no-repeat;mask-size:cover}
.res-nav.next::after{background:var(--bianco)}
.res-nav.prev::after{background:var(--maroon);transform:rotate(180deg)}
.res-nav.prev:hover{background:var(--maroon);border-color:var(--maroon)}
.res-nav.prev:hover::after{background:var(--bianco)}
.res-nav.next:hover{background:#2c0b08;border-color:#2c0b08}
.res-body{padding:38px 40px 42px}
.res-body h3{font-size:clamp(var(--fib-md),2.2vw,var(--fib-lg));margin-bottom:16px}
.res-loc{display:inline-flex;align-items:center;gap:9px;color:var(--red);font-weight:600;font-size:var(--fib-md);margin-bottom:18px}
.res-body p{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:500;margin:0 0 26px}

.prossime{display:grid;grid-template-columns:1.55fr 1fr;align-items:center;gap:40px;background:var(--maroon);
  color:var(--bianco);border-radius:0;padding:48px 54px;margin-top:40px}
.prossime h3{color:var(--bianco);font-size:clamp(var(--fib-md),2.4vw,var(--fib-lg));margin-bottom:16px}
.prossime p{color:#fbe9e2;font-size:var(--fib-md);font-weight:500;margin:0;max-width:760px}
.prossime .act{display:flex;justify-content:flex-end}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:12px;align-items:start}
.faq-left h2{font-size:clamp(var(--fib-lg),3.6vw,var(--fib-xl));margin-bottom:24px}
.faq-left p{font-size:clamp(var(--fib-md),1.7vw,var(--fib-lg));color:var(--maroon-dark);font-weight:500;margin:0 0 40px;line-height:1.25}
.faq-item{background:var(--bianco);border-radius:0;padding:20px;margin-bottom:24px;border: 1px solid var(--maroon);}
.faq-item p {margin-bottom: 0;}
.faq-q{display:flex;align-items:start;gap:18px;margin-bottom:16px}
.faq-q .faq_icon{width:32px;height:32px;background:var(--red);mask-image:url(../img/icone/icona_faq.svg);-webkit-mask-image:url(../img/icone/icona_faq.svg);mask-repeat:no-repeat;mask-size:contain;flex-shrink:0}
.faq-q h4{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:800}
.faq-a{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:500;margin:0}
.faq-a + .faq-a{margin-top:18px}
.faq-a .hl{color:var(--red)}
/*.sec.padding-faq {padding:20px!important}*/

@media (min-width:768px) {
  
  .sec-head p {font-size:34px}
}

@media (min-width:992px) {
    .faq-grid{gap:64px}
}

/* ---------- Contatti CTA ---------- */
.contatti{display:grid;grid-template-columns:1fr 1fr;border-radius:0;overflow:hidden;margin-top:8px}
.contatti .panel{background:var(--maroon);color:var(--bianco);padding:32px;display:flex;flex-direction:column;justify-content:center}
.contatti .panel h3{color:var(--bianco);font-size:34px;line-height:140%;margin-bottom:34px;font-weight:700}
.contatti .media{min-height:360px}
.contatti .media .ph{height:100%}

/* ---------- Footer ---------- */
.footer{background:var(--bianco)}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding:clamp(50px, 6vw, 100px) 0 clamp(40px, 4vw, 70px)}
.foot-ln{width:72px;height:72px;border-radius:0;background:var(--red);color:var(--bianco);display:grid;place-items:center;font-size:var(--fib-lg)}
.foot-ln .ico-white{display:block;width:22px;height:22px;filter:brightness(0) invert(1)}
.footer-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding-bottom:clamp(50px, 5vw, 90px)}
.footer-cols .about{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:500;line-height:1.5}
.footer-cols .about .hl{color:var(--red)}
.foot-list{display:flex;flex-direction:column;gap:30px}
.foot-list a{font-weight:600;color:var(--maroon-dark);font-size:var(--fib-md)}
.foot-list a:hover{color:var(--red)!important; text-decoration:underline}
.foot-list .sub{display:flex;flex-direction:column;gap:6px;margin-top:-18px}
.foot-list .sub a{font-weight:500;color:var(--maroon-dark)}
.foot-contact{display:flex;flex-direction:column;gap:30px}
.foot-contact a,.foot-contact span{display:flex;align-items:center;gap:16px;font-size:var(--fib-md);color:var(--maroon-dark);font-weight:500}
.foot-contact .bi{color:var(--red);font-size:var(--fib-md)}
.footer-bottom{background:var(--maroon);color:var(--bianco)}
.footer-bottom .wrap{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:16px;font-weight:600}
.footer-bottom .legal{display:flex;gap:20px}
.footer-bottom .legal a:hover{text-decoration:underline}

.foot-contact .icona-footer, .icona-contatti {
  background:var(--maroon-dark);
  width:22px;
  height:22px;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}

.foot-contact .icona-footer{
  background:var(--maroon-dark);
}

.icona-contatti {
  background:var(--red);
}

.foot-contact .icona-footer.linkedin-icon {
  -webkit-mask-image: url(../img/icone/linkedin.svg);
  mask-image: url(../img/icone/linkedin.svg);
}

.foot-contact .icona-footer.facebook-icon {
  -webkit-mask-image: url(../img/icone/facebook.svg);
  mask-image: url(../img/icone/facebook.svg);
}

.foot-contact .icona-footer.instagram-icon {
  -webkit-mask-image: url(../img/icone/instagram.svg);
  mask-image: url(../img/icone/instagram.svg);
}

.foot-contact .icona-footer.envelope-icon {
  -webkit-mask-image: url(../img/icone/mail.svg);
  mask-image: url(../img/icone/mail.svg);
}

.foot-contact .icona-footer.phone-icon {
  -webkit-mask-image: url(../img/icone/phone.svg);
  mask-image: url(../img/icone/phone.svg);
}

.foot-contact .icona-footer.youtube-icon {
  -webkit-mask-image: url(../img/icone/youtube-solid.svg);
  mask-image: url(../img/icone/youtube-solid.svg);
}

.icona-contatti.pin,
.foot-contact .icona-footer.pin {
  -webkit-mask-image: url(../img/icone/posizione.svg);
  mask-image: url(../img/icone/posizione.svg);
}

/* ---------- Back to top ---------- */
.back-top{position:fixed;bottom:32px;right:32px;z-index:10;width:60px;height:60px;background:var(--maroon-dark);
  color:var(--bianco);border:none;cursor:pointer;display:grid;place-items:center;
  opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s,transform .2s}
.back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-top:hover{background:#2c0b08}

/* ---------- Hero video controls ---------- */
.video-controls{position:absolute;bottom:24px;right:24px;z-index:10;display:flex;gap:8px}
.vid-btn{background:rgba(0,0,0,.45);color:var(--bianco);border:none;cursor:pointer;
  width:48px;height:48px;display:grid;place-items:center;transition:background .15s;flex-shrink:0}
.vid-btn:hover{background:rgba(0,0,0,.7)}

/* ---------- Inline SVG icons ---------- */
svg.bi{width:32px;height:32px;fill:currentColor;vertical-align:-.125em;flex-shrink:0}

.back-top-inner{width:32px;height:32px;
  -webkit-mask-image: url(../img/icone/torna-su.svg);
  mask-image: url(../img/icone/torna-su.svg);
  mask-repeat: no-repeat;
  background-color: var(--bianco);
  mask-size: cover;
}

.link_hover:is(:hover,:focus) {text-decoration: underline;}
.foot-contact .link_hover:is(:hover,:focus), .senior .link_hover:is(:hover,:focus){color: var(--red);}

/* ---------- Mobile hamburger ---------- */
.nav-toggler{display:none;background:none;border:none;cursor:pointer;padding:6px;margin-left:auto;flex-shrink:0;align-items:center;justify-content:center}
.nav-toggler .icon-ham,.nav-toggler .icon-x{filter:brightness(0) saturate(100%) invert(8%) sepia(50%) saturate(900%) hue-rotate(330deg)}
.nav-toggler .icon-x{display:none}
.nav-toggler[aria-expanded="true"] .icon-ham{display:none}
.nav-toggler[aria-expanded="true"] .icon-x{display:block}

.phone-btn .phone-icon {
  background:var(--bianco);
  width:44px;
  height:44px;
  -webkit-mask-image: url(../img/icone/phone.svg);
  mask-image: url(../img/icone/phone.svg);
  mask-repeat: no-repeat;
  mask-size: cover;
}

/* ---------- Single nav collapse ---------- */

/* Desktop: always show collapse inline */
@media(min-width:1451px){
  #nav-collapse{display:flex!important;flex:1;align-items:center;}
  .nav-phone-mobile{display:none!important}
  /* Clamp: scala a partire da 1101px, raggiunge i valori desktop originali a ~1390-1450px */
  .nav .wrap{gap:clamp(16px,2.3vw,32px)}
  .nav-links a{
    font-size:clamp(13px,1.5vw,21px);
    padding:25px clamp(6px,1.8vw,25px);
  }
  .phone-btn{
    padding:12px clamp(8px,1.52vw,22px);
    gap:clamp(6px,1vw,14px);
  }
  .phone-btn .phone-icon{
    width:clamp(28px,3vw,44px);
    height:clamp(28px,3vw,44px);
  }
  .phone-btn b{font-size:clamp(14px,1.46vw,21px)}
  .logo_mobile{display:none}
}
.cta_header_desktop {display: flex;}
/* Mobile: collapse opens in normal flow, wraps below header row */
@media(max-width:1450px){
  .logo_mobile{display:flex;}
  
  .nav .wrap{flex-wrap:wrap;}
  #nav-collapse{flex:0 0 100%;order:10; height: 100vh;}
  #nav-collapse .nav-links{flex-direction:column;background:var(--bianco);border-top:1px solid var(--peach);padding:0 0 24px;gap:0;margin-left:0;width:100%;}
  #nav-collapse .nav-links a{padding:16px 0;border-bottom:1px solid var(--peach);text-align:left; width: 100%; }
  #nav-collapse .nav-phone-mobile{display:inline-flex;}
  .nav-phone-desktop{display:none!important}
  .nav-toggler{display:flex}
  .cta_header_desktop {display: none;}
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  
  .hero,.senior-grid,.feature-row,.act-grid,.res-grid,.faq-grid,.cta-band,.contatti,.prossime,.footer-cols{grid-template-columns:1fr}
  .hero-left{padding:64px 0}
  .hero-right{min-height:360px}
  .feature-row.rev .txt{order:0}.feature-row.rev .media{order:0}
  .prossime .act{justify-content:flex-start}
}




@media(max-width:680px){
  :root{--fib-md:16px}
  .footer-bottom .wrap{flex-direction:column;gap:20px}
}

/* ---------- Breadcrumb ---------- */
.breadcrumb-bar{padding:18px 0;border-bottom:1px solid var(--peach);background:var(--bianco)}
.breadcrumb-nav{font-size:var(--fib-sm);font-weight:600;color:var(--maroon);display:flex;align-items:center;gap:8px}
.breadcrumb-nav a{color:var(--maroon)}
.breadcrumb-nav a:hover{color:var(--red)}
.breadcrumb-nav .sep{opacity:.5}

/* ---------- Breadcrumb (full-width, sotto header) ---------- */
.page-breadcrumb{display:block;width:100%;font-size:var(--fib-sm);color:var(--maroon)}
.page-breadcrumb span.bold{font-weight:600;}
.page-breadcrumb .wrap{background:var(--peach);padding:20px; margin-top:24px; font-size:var(--fib-sm);}
.page-breadcrumb a{color:var(--maroon)}
a.hover_red:is(:hover,:focus) h3, .page-breadcrumb a:hover{color:var(--red)}

/* ---------- Page intro (cambia-vita) ---------- */
.page-intro{padding: clamp(60px, 7vw, 120px) 0;}
.page-intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
p.intro-lead{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:400;margin-top:28px;line-height:1.55;}
.page-intro-media{min-height:540px;background:var(--maroon);color:var(--bianco);display:flex;flex-direction:column;overflow:hidden}
.page-intro-media .ph{flex:1;min-height:215px}
.page-intro-media .pullquote{background:var(--maroon);padding:32px;text-align:left}
.page-intro-media .pullquote blockquote{font-family:'Merriweather',Georgia,serif;font-size:21px;font-weight:700;color:var(--bianco);margin:0;line-height:1.35;position:relative;}

@media(max-width:767px){
  .page-intro,
  .sec{padding:32px 0}
}

/* ---------- Senior Housing page intro ---------- */
.senior-page-section{padding:60px 0}
.senior-page-section h1{margin-bottom:28px}
.senior-page-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:48px}
.senior-page-intro-text p{font-size:var(--fib-md);color:var(--maroon-dark);font-weight:500;line-height:1.55;margin:0 0 22px}
.senior-page-photos{display:flex;flex-direction:column;gap:20px}
.senior-page-photos .ph{height:280px}
.senior-page-nav{display:flex;justify-content:flex-end;gap:16px;margin-top:20px}

/* ---------- A chi si rivolge ---------- */
.a-chi{background:var(--peach);padding:60px 0}
.a-chi-layout{display:grid;grid-template-columns:1fr 1fr;}
.a-chi-img-col{overflow:hidden;align-self:stretch}
.a-chi-img{width:100%;height:100%;object-fit:cover;display:block;}
.a-chi-content h2{font-size:34px;margin-bottom:28px}
.a-chi-item{display:flex;gap:24px;align-items:center;padding:16px 0;border-top:1px solid var(--peach)}
.a-chi-item .ic{width:40px;height:40px;background:var(--red);mask-repeat:no-repeat;mask-size:cover;flex-shrink:0;margin-top:4px}
.a-chi-item .ic.person{mask-image:url(../img/icone/person.svg);-webkit-mask-image:url(../img/icone/person.svg)}
.a-chi-item .ic.senior{mask-image:url(../img/icone/senior.svg);-webkit-mask-image:url(../img/icone/senior.svg)}
.a-chi-item .ic.anziani{mask-image:url(../img/icone/anziani.svg);-webkit-mask-image:url(../img/icone/anziani.svg)}
.a-chi-item .ic.famiglie{mask-image:url(../img/icone/famiglie.svg);-webkit-mask-image:url(../img/icone/famiglie.svg)}
.a-chi-item .ic.privacy{mask-image:url(../img/icone/privacy.svg);-webkit-mask-image:url(../img/icone/privacy.svg)}
.svc-ic.group,.a-chi-item .ic.group{mask-image:url(../img/icone/group.svg);-webkit-mask-image:url(../img/icone/group.svg)}
.a-chi-item .ic.yoga{mask-image:url(../img/icone/yoga.svg);-webkit-mask-image:url(../img/icone/yoga.svg)}
.a-chi-item .ic.socialita{mask-image:url(../img/icone/socialita.svg);-webkit-mask-image:url(../img/icone/socialita.svg)}
.a-chi-item p{margin:0;font-size:var(--fib-md);color:var(--maroon-dark);line-height:1.45}
.a-chi-cta{margin-top:48px}

/* ---------- Modulo contatto --------- */
.wpcf7{font-size:16px}
.padding_modulo_contatti {padding: 20px 60px; margin-top:60px}

.wpcf7-textarea::placeholder {
       color: #42120d!important;
    opacity: 0.5;
}

.grigio {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('./img/icone/keyboard_arrow_down.svg');
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 14px;

    padding-right: 45px; /* spazio per l'icona */
}

.choices[data-type*="select-one"]::after {
    display: none;
}

.choices[data-type*="select-one"] {
    position: relative;
}

.choices[data-type*="select-one"]::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);

    background: url('../img/icone/keyboard_arrow_down.svg') center no-repeat;
    background-size: contain;

    pointer-events: none;
}

/* --- Choices.js override — stile Rodevita --- */
.choices{width:100%;margin-top:10px}
.choices__inner{
  background:rgba(255,255,255,0.4);
  border:0;
  border-radius:0;
  padding:8px 40px 8px 8px;
  font-size:16px;
  font-family:'MerriweatherSans-Variable',system-ui,sans-serif;
  color:#42120d;
  min-height:unset;
}
.choices.is-open .choices__inner,
.choices.is-focused .choices__inner{border:0;box-shadow:none;outline:2px solid #42120d;outline-offset:-2px}
.choices__list--single .choices__item{padding:0}


.choices[data-type*="select-one"]::after{
  border-color:#42120d transparent transparent;
  right:12px;
}
.choices[data-type*="select-one"].is-open::after{border-color:transparent transparent #42120d}
.choices__list--dropdown,
.choices__list[aria-expanded]{
  background:#fdf4ef;
  border:1px solid #42120d;
  border-radius:0;
  margin-top:2px;
  z-index:200;
}
.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item{
  font-size:16px;
  font-family:'MerriweatherSans-Variable',system-ui,sans-serif;
  color:#42120d;
  padding:10px 12px;
}
.choices__list--dropdown .choices__item--selectable.is-highlighted,
.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{
  background:#42120d;
  color:#fdf4ef;
}
.choices__list--dropdown .choices__item--selected,
.choices__list[aria-expanded] .choices__item--selected{
  background:#7a2a22;
  color:#fdf4ef;
  font-weight:700;
}

textarea.wpcf7-textarea,
.wpcf7-form label,
.wpcf7-form-control-wrap input:not([type="checkbox"]),
.wpcf7-form select {
    width: 100%;
}

.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form select {
    padding: 12px 8px;
    margin-top: 10px;
}

textarea.wpcf7-textarea,
.wpcf7-form-control-wrap input:not([type="checkbox"]),
.wpcf7-form select {
  background-color: rgba(255, 255, 255, 0.4);
  border: 0;
  color:var(--maroon-dark);
  outline: 0;
  
}

.wpcf7-spinner {
    /* visibility: hidden; */
    display: block;
    background-color: var(--maroon-dark);
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 0 0 12px;
    position: relative;
    /* float: left; */
}

/* Checkbox: reset aspetto nativo e applica stile coerente */
.wpcf7-list-item {
    margin: 0;
    display: inline-flex;
}
.wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: auto;
    padding: 0;
    cursor: pointer;
    font-size: var(--fib-sm);
    line-height: 1.5;
}
.wpcf7-list-item input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    min-width: 22px;
    background-color: rgba(255, 255, 255, 0.4);
    border: 1.5px solid var(--maroon);
    cursor: pointer;
    margin: 0 14px 0 0;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.wpcf7-list-item input[type="checkbox"]::before {
    content: '';
    width: 13px;
    height: 13px;
    background: var(--maroon);
    transform: scale(0);
    transition: transform .15s ease-in-out;
}
.wpcf7-list-item input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.wpcf7-list-item input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
}

.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.wpcf7 select.grigio {
  color:rgba(66, 18, 13, .6);
      -webkit-appearance: none;
    -moz-appearance: none;
    background: url(../img/icone/keyboard_arrow_down.svg);
    background-repeat: no-repeat;
    background-position-x: 98%;
    background-position-y: 50%;
    background-color:rgba(255, 255, 255, 0.4); 
}

.wpcf7-form-control.wpcf7-select.grigio option,
select.wpcf7-form-control.grigio option,
.wpcf7-form select option {
  color: #42120d;
  background-color: #fdf4ef;
  font-size: 16px;
  font-family: 'MerriweatherSans-Variable', system-ui, sans-serif;
}

.wpcf7-form-control.wpcf7-select.grigio option:checked,
.wpcf7-form-control.wpcf7-select.grigio option:hover,
.wpcf7-form-control.wpcf7-select.grigio option:focus,
select.wpcf7-form-control.grigio option:checked,
select.wpcf7-form-control.grigio option:hover,
select.wpcf7-form-control.grigio option:focus,
.wpcf7-form select option:checked,
.wpcf7-form select option:hover,
.wpcf7-form select option:focus {
  color: #fdf4ef;
  background-color: #42120d;
}

@media(max-width:1100px){
  .page-intro-inner{grid-template-columns:1fr}
  .page-intro-media{min-height:340px}
  .senior-page-intro{grid-template-columns:1fr}
  .a-chi-layout{grid-template-columns:1fr}
  .a-chi-img-col{margin-bottom: 40px};
  .pb-mobile-0 {padding-bottom: 0!important;}
  .a-chi-img {height: 300px;}
  .a-chi-content h2 {margin-bottom: 1em;}
}


@media screen and (min-width:768px){

  .a-chi-content h2{font-size:55px}

  .padding_modulo_contatti {padding: 40px 60px; height: 100%; margin-top: 0;}
  .px-32-mobile {padding:18px}
 .brand-logo{height:100px;}
 /*.feature-row.rev .txt{padding: 0 40px!important;}*/
 .feature-row.rev,
 .feature-row{gap:64px!important;}

  .btn-rv{font-size:var(--fib-md);}
  .cta-band .panel,
  .contatti .panel{padding:clamp(40px, 4.5vw, 72px);}
  .senior-page-section{padding:clamp(60px, 7vw, 120px) 0}
  .page-intro-media .ph{min-height:650px}

  .senior-grid,
  .a-chi-layout{gap:64px;}
  .footer-bottom .legal{gap:40px}
  .feature-row .media .ph {min-height: 650px;}
  .servizi-row .media .ph{min-height:480px}
  h4 {font-size: 21px;}
  .wpcf7-submit:is(:hover,:focus),.btn-dark:hover{background:#2c0b08;color:var(--bianco)}
}
@media screen and (min-width:992px){
  .sec-head h2{font-size:55px}
  .faq-q{align-items:baseline;}
  .faq-item{padding:40px;}
  .hero .sub{font-size:34px;}
  .px-lg-5x {padding-left:4em;padding-right:4em;}
  .page-intro-media .pullquote blockquote{font-size: 34px}
  .footer-cols{gap:120px;}
  .senior-grid.grid-contatti {grid-template-columns: minmax(0, 1fr) minmax(0,3fr);}
  .col-md-6.ps-lg-20 {padding-left: 10px;}
  .col-md-6.pe-lg-20 {padding-right: 10px;}
}

.padding-form-input {margin:10px 0}



/* ---------- Archive residenze — griglia card ---------- */
/*.arc-res-grid{margin-bottom:48px}*/
.arc-res-wrap{position:relative}
.arc-res-ph{aspect-ratio:3/2;width:100%;height:auto;min-height:300px}
.arc-res-mobile-ph{display:none}
.arc-res-pin{width:20px;height:20px;background:var(--red);mask-image:url(../img/icone/posizione.svg);-webkit-mask-image:url(../img/icone/posizione.svg);mask-repeat:no-repeat;mask-size:contain;flex-shrink:0}
.arc-sq-nav .sq-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:62px;height:62px}
.arc-sq-nav .arc-res-prev{left:26px}
.arc-sq-nav .arc-res-next{right:26px}

.arc-res-wrap-single{position:relative}
.arc-sq-nav .arc-res-prev-single{left:26px}
.arc-sq-nav .arc-res-next-single{right:26px}

.arc-res-wrap-single .res-body { min-height: 390px; }


.color_red, p.color_red {
  color:var(--red);
}

@media(min-width:992px){
  .arc-res-wrap-single .res-body { min-height: 300px; }

  .box_hover_red:is(:hover,:focus) h3, .box_hover_red:is(:hover,:focus) p, .box_hover_red:is(:hover,:focus) .link-arrow {
    color: var(--red);
  }
}


.grecaptcha-badge { visibility: hidden; }



