/* ==========================================================================
   HEADER & FOOTER — ported from design/homepage-mockup.html. Styles the
   template-part header/footer (and any Theme Builder build that reuses the
   same classes). Prefix: aaa-
   ========================================================================== */

/* ── Utility bar ── */
.aaa-util{background:var(--aaa-navy);color:#cdddf3;font-size:.86rem}
.aaa-util .aaa-container{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:18px}
.aaa-util a:hover{color:var(--aaa-gold)}
.aaa-util__left,.aaa-util__right{display:flex;gap:16px;align-items:center}
.aaa-util .pill{color:var(--aaa-gold);font-weight:700}
.aaa-util .sep{opacity:.3}

/* ── Header shell ── */
.aaa-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 10px 30px -18px rgba(7,32,63,.4);transition:background .3s,box-shadow .3s}
.aaa-header .aaa-container{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:24px}

/* Logo */
.aaa-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.aaa-logo__mark{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#3d9bff,var(--aaa-blue-deep));display:grid;place-items:center;color:#fff;font-family:var(--aaa-serif);font-weight:700;font-size:1.45rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.aaa-logo__name{font-family:var(--aaa-serif);font-weight:700;font-size:1.3rem;line-height:1;color:var(--aaa-ink)}
.aaa-logo__name small{display:block;font-family:var(--aaa-sans);font-weight:600;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--aaa-blue);margin-top:6px}

/* Nav */
.aaa-nav{display:flex;gap:30px;align-items:center}
.aaa-nav>a,.aaa-has-mega>a{font-weight:600;font-size:1rem;color:var(--aaa-ink);position:relative;display:flex;align-items:center;gap:6px;padding:6px 0}
.aaa-nav>a:hover,.aaa-has-mega>a:hover{color:var(--aaa-blue)}
.aaa-nav>a::after,.aaa-has-mega>a::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--aaa-gold);border-radius:3px;transition:.25s}
.aaa-nav>a:hover::after,.aaa-has-mega:hover>a::after{width:100%}
.aaa-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-bottom:3px;transition:.25s}
.aaa-has-mega:hover .aaa-caret{transform:rotate(-135deg);margin-bottom:-3px}

/* Header CTA */
.aaa-header__cta{display:flex;align-items:center;gap:16px}
.aaa-phone{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.98rem;color:var(--aaa-ink)}
.aaa-phone small{display:block;font-weight:500;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--aaa-blue)}
.aaa-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.aaa-burger span{width:26px;height:3px;background:var(--aaa-ink);border-radius:3px;transition:.25s}

/* ── Destinations mega-menu (from inc/mega-menu.php) ── */
.aaa-has-mega{position:static}
.mega-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:3px solid var(--aaa-blue);box-shadow:0 28px 50px -24px rgba(7,32,63,.4);opacity:0;visibility:hidden;transform:translateY(8px);transition:.28s;z-index:55}
.aaa-has-mega:hover .mega-menu{opacity:1;visibility:visible;transform:none}
.mega-inner{max-width:var(--aaa-maxw);margin:0 auto;padding:34px 30px 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.mega-dest-country{display:flex;align-items:center;gap:10px;font-family:var(--aaa-serif);font-size:1.05rem;font-weight:700;color:var(--aaa-ink);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--aaa-line)}
.mega-dest-flag{width:24px;height:auto;border-radius:3px}
.mega-dest-links{display:grid;gap:10px}
.mega-dest-link{display:flex;align-items:center;gap:12px;color:var(--aaa-ink-soft);font-weight:500;font-size:.95rem}
.mega-dest-link:hover{color:var(--aaa-blue)}
.mega-dest-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--aaa-sky);display:grid;place-items:center;color:var(--aaa-blue)}
.mega-dest-thumb img{width:100%;height:100%;object-fit:cover}

/* ── Transparent header over hero (body.aaa-header-transparent, front page) ── */
.aaa-header-transparent .aaa-header{position:absolute;left:0;right:0;background:transparent;box-shadow:none;backdrop-filter:none}
.aaa-header-transparent .aaa-header:not(.is-scrolled) .aaa-nav>a,
.aaa-header-transparent .aaa-header:not(.is-scrolled) .aaa-has-mega>a,
.aaa-header-transparent .aaa-header:not(.is-scrolled) .aaa-phone,
.aaa-header-transparent .aaa-header:not(.is-scrolled) .aaa-logo__name{color:#fff}
.aaa-header-transparent .aaa-header:not(.is-scrolled) .aaa-burger span{background:#fff}
.aaa-header-transparent .aaa-header.is-scrolled{position:fixed;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 10px 30px -18px rgba(7,32,63,.4)}

/* ── Footer ── */
.aaa-footer{background:var(--aaa-navy);color:#aec4e0;padding-top:74px}
.aaa-footer h5{color:#fff;font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-weight:700}
.aaa-footer a{color:#aec4e0}
.aaa-footer a:hover{color:var(--aaa-gold)}
.aaa-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.aaa-footer__brand .name{font-family:var(--aaa-serif);color:#fff;font-size:1.6rem;margin-bottom:14px;font-weight:700}
.aaa-footer__brand p{opacity:.82;font-size:.96rem;max-width:34ch}
.aaa-footer__contact{display:grid;gap:9px;margin-top:18px;font-size:.95rem}
.aaa-footer__contact a{display:flex;gap:10px;align-items:flex-start}
.aaa-footer__menu{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aaa-footer__menu a{font-size:1rem}
.aaa-socials{display:flex;gap:11px;margin-top:18px}
.aaa-socials a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-weight:700;color:#fff}
.aaa-socials a:hover{background:var(--aaa-gold);border-color:var(--aaa-gold);color:var(--aaa-navy)}
.aaa-footer__badges{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.aaa-footer__badges .b{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 14px;font-size:.78rem;text-align:center;line-height:1.25}
.aaa-footer__badges .b b{color:var(--aaa-gold);font-family:var(--aaa-serif)}
.aaa-footer__bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0 30px;font-size:.86rem;opacity:.85;flex-wrap:wrap;gap:12px}
.aaa-pay{display:flex;gap:8px}
.aaa-pay span{background:rgba(255,255,255,.09);border-radius:6px;padding:4px 9px;font-size:.72rem;letter-spacing:.05em}

/* ── Floating WhatsApp + mobile sticky bar ── */
.aaa-wa{position:fixed;right:24px;bottom:24px;z-index:9000;display:flex;align-items:center;background:#25d366;color:#fff;border-radius:50px;box-shadow:0 16px 34px -10px rgba(37,211,102,.6);overflow:hidden;font-weight:700;text-decoration:none}
.aaa-wa .ic{width:60px;height:60px;display:grid;place-items:center;font-size:1.7rem}
.aaa-wa .lbl{max-width:0;overflow:hidden;white-space:nowrap;transition:.35s}
.aaa-wa:hover .lbl{max-width:220px;padding-right:22px}
.aaa-mobile-bar{display:none}

/* ── Responsive ── */
@media(max-width:1024px){.aaa-util__left .aaa-util__email{display:none}.mega-inner{grid-template-columns:1fr 1fr}}
@media(max-width:980px){
  .aaa-nav{position:fixed;inset:0 0 0 auto;width:300px;max-width:85vw;background:#fff;flex-direction:column;align-items:flex-start;padding:90px 26px;gap:6px;transform:translateX(100%);transition:.3s;box-shadow:-20px 0 50px -20px rgba(7,32,63,.4);z-index:70}
  .aaa-nav.is-open{transform:none}
  .aaa-nav>a,.aaa-has-mega>a{color:var(--aaa-ink)!important;width:100%}
  .mega-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none}
  .mega-inner{grid-template-columns:1fr;padding:10px 0}
  .aaa-phone{display:none}
  .aaa-burger{display:flex}
  .aaa-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .aaa-footer__grid{grid-template-columns:1fr}
  .aaa-header__cta .aaa-btn{display:none}
  .aaa-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:8999;background:#fff;box-shadow:0 -8px 24px -12px rgba(7,32,63,.4);padding:12px 16px;display:flex;gap:12px}
  .aaa-mobile-bar .aaa-btn{flex:1;padding:.9em 1em}
  body{padding-bottom:74px}
  .aaa-wa{bottom:84px}
}
