/* RC47 — premium footer system. Desktop/tablet stays information-rich; mobile remains light above the persistent bottom nav. */
.viviare-site .elementor .viviare-site-footer{margin-top:96px;min-height:0;padding:54px max(36px,calc((100vw - 1320px)/2)) 22px;border-top:1px solid #dce5ea;background:linear-gradient(180deg,#f5f8fa 0%,#fff 78%);color:var(--vx-stay,#0d3158)}
.viviare-site .elementor .viviare-elementor-footer-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(120px,.72fr)) minmax(210px,1fr);gap:34px;align-items:start}
.viviare-site .elementor .viviare-elementor-footer-grid>.elementor-element{width:100%;max-width:none;min-width:0}
.viviare-site .elementor .viviare-elementor-footer-brand{padding-right:18px}
.viviare-site .elementor .viviare-elementor-footer-brand .elementor-widget-text-editor{max-width:320px;margin-top:14px;color:#617387;font-size:13px;line-height:1.65}
.viviare-site .elementor .viviare-elementor-footer-column h3{margin:2px 0 14px;color:#0d3158;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.viviare-site .elementor .viviare-footer-links{display:grid;gap:4px}
.viviare-site .elementor .viviare-site-footer .viviare-footer-links .elementor-button{min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#617387;font-size:13px;font-weight:650;justify-content:flex-start;box-shadow:none}
.viviare-site .elementor .viviare-site-footer .viviare-footer-links .elementor-button:hover{padding-left:5px;background:#fff;color:#0c8f98;box-shadow:none}
.viviare-site .elementor .viviare-footer-contact{padding:20px;border:1px solid #dbe5ea;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgb(13 49 88 / 6%)}
.viviare-site .elementor .viviare-footer-contact .elementor-widget-text-editor{color:#53697c;font-size:13px;line-height:1.75}
.viviare-site .elementor .viviare-footer-contact a{color:#0d3158;font-weight:800;text-decoration:none}
.viviare-site .elementor .viviare-elementor-footer-bottom{display:flex;justify-content:space-between;gap:22px;margin-top:36px;padding-top:18px;border-top:1px solid #dce5ea;color:#718094;font-size:11.5px}
/* Native fallback footer mirrors the Elementor footer hierarchy. */
.viviare-footer{margin-top:96px;padding:54px 0 22px;background:linear-gradient(180deg,#f5f8fa,#fff);border-top:1px solid #dce5ea}
.viviare-footer__grid{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(130px,.75fr));gap:34px}
.viviare-footer__intro{max-width:340px}.viviare-footer__intro p{font-size:13px;line-height:1.65}.viviare-footer__column{gap:7px}.viviare-footer__column strong{margin-bottom:8px;font-size:12px}.viviare-footer__column a{min-height:28px;font-size:13px}.viviare-footer__bottom{margin-top:34px;padding-top:16px}
@media(max-width:1100px) and (min-width:768px){
  .viviare-site .elementor .viviare-elementor-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .viviare-site .elementor .viviare-elementor-footer-brand,.viviare-site .elementor .viviare-footer-contact{grid-column:span 3}
}
@media(max-width:767px){
  /* Override the old hide rule: compact footer remains available, but bottom nav keeps priority. */
  .viviare-site .elementor .viviare-site-footer{display:block;margin-top:58px;padding:34px 18px calc(92px + env(safe-area-inset-bottom))}
  .viviare-site .elementor .viviare-elementor-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .viviare-site .elementor .viviare-elementor-footer-brand,.viviare-site .elementor .viviare-footer-contact{grid-column:1/-1}
  .viviare-site .elementor .viviare-elementor-footer-brand{padding-right:0}
  .viviare-site .elementor .viviare-elementor-footer-column h3{margin-bottom:9px}
  .viviare-site .elementor .viviare-site-footer .viviare-footer-links .elementor-button{min-height:32px;font-size:12px}
  .viviare-site .elementor .viviare-elementor-footer-bottom{display:block;margin-top:28px;padding-top:14px;line-height:1.6}
  .viviare-site .elementor .viviare-elementor-footer-bottom>.elementor-element+ .elementor-element{margin-top:5px}
}
@media(max-width:767px){.viviare-footer{display:block;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.viviare-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.viviare-footer__intro{grid-column:1/-1}.viviare-footer__bottom{display:block;line-height:1.6}}

/* RC47 native fallback parity: Assistance is a first-class footer family too. */
@media(min-width:1101px){
  .viviare-footer__grid{grid-template-columns:minmax(260px,1.55fr) repeat(5,minmax(120px,.72fr));gap:30px}
}
.viviare-footer__support a:last-child{margin-top:5px;color:#0d3158;font-weight:800}

/* RC48 — footer identity: stronger brand, clearer support and a deliberate final surface. */
.viviare-site .elementor .viviare-site-footer--rc48,.viviare-site .viviare-footer{position:relative;margin-top:112px;padding-top:66px;background:linear-gradient(180deg,#edf4f7 0%,#f7fafb 42%,#fff 100%);border-top:0}
.viviare-site .elementor .viviare-site-footer--rc48:before,.viviare-site .viviare-footer:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#0b3158 0 33.333%,#11a5a8 33.333% 66.666%,#f1b542 66.666%)}
.viviare-site .elementor .viviare-site-footer--rc48 .viviare-elementor-footer-brand,.viviare-site .viviare-footer__intro{position:relative;padding:24px;border:1px solid #dbe6eb;border-radius:20px;background:rgb(255 255 255 / 72%)}
.viviare-site .elementor .viviare-site-footer--rc48 .viviare-elementor-footer-brand:after,.viviare-site .viviare-footer__intro:after{content:"STAY · DISCOVER · FEEL";display:block;margin-top:17px;color:#0a989c;font-size:9.5px;font-weight:850;letter-spacing:.15em}
.viviare-site .elementor .viviare-site-footer--rc48 .viviare-elementor-footer-column h3,.viviare-site .viviare-footer__column strong{color:#0b3158;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.viviare-site .elementor .viviare-site-footer--rc48 .viviare-footer-links .elementor-button,.viviare-site .viviare-footer__column a{color:#526a7f;font-size:12.5px}.viviare-site .elementor .viviare-site-footer--rc48 .viviare-footer-contact,.viviare-site .viviare-footer__support{border-left:3px solid #11a5a8}.viviare-site .viviare-footer__support{padding-left:18px}
@media(max-width:767px){.viviare-site .elementor .viviare-site-footer--rc48,.viviare-site .viviare-footer{margin-top:64px;padding-top:42px}.viviare-site .elementor .viviare-site-footer--rc48 .viviare-elementor-footer-brand,.viviare-site .viviare-footer__intro{padding:18px}}
