/* Institutional footer. Attraction system (body[class*="vm-page"]): the Majorelle prototype's .gfoot — navy, Cormorant headings.
   Home system (every other page): dark green, DM Sans; the home page itself refines these in home/home.css. */
body[class*="vm-page"] #apo-global-footer {margin:0;padding:48px 0 28px;border:0;background:#071b32;color:#f9f7f1;font-family:var(--font-sans)}
body[class*="vm-page"] #apo-global-footer .page-width {box-sizing:border-box;width:100%;max-width:1160px;margin-inline:auto;padding-inline:var(--gutter)}
body[class*="vm-page"] #apo-global-footer .footer-assurance {margin:0 auto;padding-top:0;padding-bottom:0;background:transparent;border:0;color:inherit}
body[class*="vm-page"] #apo-global-footer .footer-assurance .eyebrow {margin:4px 0 0;font:600 14px/1.55 var(--font-sans);letter-spacing:3.4px;text-transform:uppercase;color:#e3c97a}
body[class*="vm-page"] #apo-global-footer h2 {margin:0;max-width:none;font:600 clamp(28px,5vw,40px)/1.02 var(--font-serif);letter-spacing:-.7px;color:#fff}
body[class*="vm-page"] #apo-global-footer .footer-assurance__grid {display:grid;gap:16px;margin:22px 0 0}
body[class*="vm-page"] #apo-global-footer .footer-assurance__grid > div {display:block;margin:0;padding:14px 0 0;border:0;border-top:1px solid rgba(249,247,241,.16)}
body[class*="vm-page"] #apo-global-footer .footer-assurance__icon {display:none}
body[class*="vm-page"] #apo-global-footer .footer-assurance h3 {margin:0;font:600 15px/1.1 var(--font-sans);letter-spacing:0;color:#fff}
body[class*="vm-page"] #apo-global-footer .footer-assurance__grid p {margin:4px 0 0;font-size:15px;line-height:1.55;color:rgba(249,247,241,.75)}
body[class*="vm-page"] #apo-global-footer .footer-assurance__grid a {display:inline-flex;align-items:center;gap:8px;width:auto;min-height:0;margin:10px 0 0;font:600 15px/1.55 var(--font-sans);color:#f3e37a;text-decoration:none}
body[class*="vm-page"] #apo-global-footer .footer-assurance__grid a::after {content:"↗";color:#f3e37a}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:34px 0 0;padding:26px 0 0;border:0;border-top:1px solid rgba(249,247,241,.16)}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro > div {display:grid;gap:12px}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro .brand {display:block;line-height:1;margin:0;padding:0;border:0;background:none;text-decoration:none;color:#fec61d}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro .brand-lockup {display:block;line-height:1}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro .brand-mark {display:none}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro .brand-word {display:block;font:700 26px/1 var(--font-sans);letter-spacing:0;color:#fec61d}
body[class*="vm-page"] #apo-global-footer .institutional-footer__intro .brand-dot {margin-left:0;color:#8a9a3a;font-weight:900}
body[class*="vm-page"] #apo-global-footer .footer-tagline {margin:0;font:400 13px/1.55 var(--font-sans);letter-spacing:0;color:#fff;white-space:normal}
body[class*="vm-page"] #apo-global-footer .footer-invitation {margin:0;font:600 24px/1.55 var(--font-serif);letter-spacing:0;color:#fff}
body[class*="vm-page"] #apo-global-footer .footer-contact {display:grid;gap:2px;min-width:0;margin:4px 0 0;padding:14px 16px;border:1px solid rgba(249,247,241,.22);border-radius:14px;background:transparent;color:#fff;text-decoration:none}
body[class*="vm-page"] #apo-global-footer .footer-contact > span:first-child {font:400 11px/1.55 var(--font-sans);letter-spacing:2.4px;text-transform:uppercase;color:#e3c97a}
body[class*="vm-page"] #apo-global-footer .footer-contact strong {font:600 21px/1.55 var(--font-serif);letter-spacing:0;color:#fff}
body[class*="vm-page"] #apo-global-footer .footer-contact > span:last-child {font:400 13px/1.55 var(--font-sans);color:#f3e37a}
body[class*="vm-page"] #apo-global-footer .institutional-footer__grid {display:block;margin:26px 0 0;padding:0;border:0;gap:0}
body[class*="vm-page"] #apo-global-footer .footer-destinations {margin:0;padding:0;border:0}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold {margin:0;padding:0;border:0;border-top:1px solid rgba(249,247,241,.16)}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold > summary {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:0;margin:0;padding:14px 0;list-style:none;font:600 14px/1.55 var(--font-sans);letter-spacing:0;text-transform:none;color:#fff;cursor:pointer}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold > summary::-webkit-details-marker {display:none}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold > summary::after {content:"+";color:#e3c97a;font:400 22px/.8 var(--font-serif)}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold[open] > summary::after {content:"–"}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold ul {display:grid;gap:8px;margin:0;padding:0 0 14px;list-style:none;border:0}
body[class*="vm-page"] #apo-global-footer .cv-footer-fold li a {display:inline;min-height:0;padding:0;font:400 14px/1.55 var(--font-sans);color:rgba(249,247,241,.88);text-decoration:none}
body[class*="vm-page"] #apo-global-footer .footer-destinations__links {display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0 0 14px}
body[class*="vm-page"] #apo-global-footer .footer-destinations__links a[data-footer-city] span {display:none}
body[class*="vm-page"] #apo-global-footer .footer-destinations__links a {display:block;min-height:0;margin:0;padding:6px 12px;border:1px solid rgba(249,247,241,.22);border-radius:999px;background:transparent;color:#fff;font:400 13px/1.55 var(--font-sans);text-decoration:none}
body[class*="vm-page"] #apo-global-footer .institutional-footer__company {display:grid;gap:10px;margin:24px 0 0;padding:18px 0 0;border:0;border-top:1px solid rgba(249,247,241,.16);font:400 12.5px/1.55 var(--font-sans);color:rgba(249,247,241,.72)}
body[class*="vm-page"] #apo-global-footer .institutional-footer__company p {margin:0;font-size:12.5px;line-height:1.55;text-align:left;color:rgba(249,247,241,.75)}
body[class*="vm-page"] #apo-global-footer .institutional-footer__company strong {font-weight:400}
body[class*="vm-page"] #apo-global-footer .institutional-footer__company a {color:#fff;text-decoration:underline}
body[class*="vm-page"] #apo-global-footer .institutional-footer__origin {display:none}
body[class*="vm-page"] #apo-global-footer .institutional-footer__origin svg {display:inline-block;vertical-align:middle;width:28px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
body[class*="vm-page"] #apo-global-footer .institutional-footer__bottom {display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0;padding:0;border:0;font:400 12.5px/1.55 var(--font-sans)}
body[class*="vm-page"] #apo-global-footer .institutional-footer__bottom > span {display:none}
body[class*="vm-page"] #apo-global-footer .institutional-footer__bottom a {color:#fff;font-size:12.5px;text-decoration:none}
@media (min-width:900px) {
  body[class*="vm-page"] #apo-global-footer {padding:48px 0 28px;font-size:15.5px}
  body[class*="vm-page"] #apo-global-footer .footer-assurance__grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}
  body[class*="vm-page"] #apo-global-footer .institutional-footer__intro {grid-template-columns:1fr 1fr;align-items:start}
  body[class*="vm-page"] #apo-global-footer .footer-contact {grid-column:2;grid-row:1;max-width:380px;justify-self:end}
  body[class*="vm-page"] #apo-global-footer .institutional-footer__grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin-top:26px}
  body[class*="vm-page"] #apo-global-footer .cv-footer-fold > summary {pointer-events:none;padding:14px 0;font:600 14px/1.55 var(--font-sans);letter-spacing:2.4px;text-transform:uppercase;color:#fff}
  body[class*="vm-page"] #apo-global-footer .cv-footer-fold > summary::after {content:none!important}
}

/* Home system pages other than the home page (contact, help, policies …): the dark-green footer with folded groups. */
body:not([class*="vm-page"]) .institutional-footer {background:#173a32;color:#fff7de;font-family:var(--font-sans)}
body:not([class*="vm-page"]) .institutional-footer .page-width {box-sizing:border-box;width:100%;max-width:1180px;margin-inline:auto;padding-inline:max(16px,env(safe-area-inset-left),env(safe-area-inset-right))}
body:not([class*="vm-page"]) .institutional-footer :is(a,p,small) {color:#e2eade}
body:not([class*="vm-page"]) .institutional-footer .footer-assurance {background:transparent;color:inherit}
body:not([class*="vm-page"]) .institutional-footer .footer-assurance .eyebrow {color:#f8e46c;font-size:11px}
body:not([class*="vm-page"]) .institutional-footer :is(.footer-contact,.footer-destinations__links a) {background:#24483e;border-color:rgba(255,255,255,.26);color:#fffefa}
body:not([class*="vm-page"]) .institutional-footer .footer-assurance__grid a,body:not([class*="vm-page"]) .institutional-footer__column li a {display:inline-flex;align-items:center;min-height:44px}
body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold > summary {display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:12px;min-height:44px;margin:0;list-style:none;cursor:pointer}
body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold > summary::-webkit-details-marker {display:none}
body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold > summary h2 {margin:0}
body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold a {display:inline-flex;align-items:center;min-height:44px}
body:not([class*="vm-page"]) .institutional-footer .footer-destinations__links {display:flex;flex-wrap:wrap;gap:8px}
body:not([class*="vm-page"]) .institutional-footer .footer-destinations__links a {border-radius:999px;padding:6px 14px}
@media (max-width:899.98px) {
  body:not([class*="vm-page"]) .institutional-footer .institutional-footer__grid {grid-template-columns:minmax(0,1fr);gap:0}
  body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold {border-bottom:1px solid var(--line-2)}
  body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold > summary::after {content:'+';font-size:20px}
  body:not([class*="vm-page"]) .institutional-footer .cv-footer-fold[open] > summary::after {content:'–'}
  body:not([class*="vm-page"]) .institutional-footer .footer-destinations [data-footer-all] {margin-top:12px}
}

/* Drawer language row on home-system pages (theme control with inline styles). */
#mobile-nav.mm .language-bar button[data-apo-language-preferences] {display:inline-flex;align-items:center;min-height:44px;width:100%;max-width:100%;justify-content:flex-start;padding:6px 10px!important;gap:6px!important;font-size:14px!important;background:transparent!important;color:#f3f1ea!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important}
#mobile-nav.mm .language-bar button[data-apo-language-preferences] span {display:inline}
#mobile-nav.mm .language-bar button[data-apo-language-preferences] img {width:24px}
#mobile-nav.mm .gtranslate_wrapper:empty {display:none}
/* One inset for every block of the attraction drawer. */
body[class*="vm-page"] #mobile-menu.ac-mj-drawer > :is(.d-buy,.sec,.links,.settings,details.fold) {box-sizing:border-box;width:calc(100% - 36px);margin-inline:18px}
body[class*="vm-page"] #mobile-menu.ac-mj-drawer > :is(.sec,.links) {padding-inline:0}
