/* ═══════════════════════════════════════════════════════════════════════════
   GOLF &  —  GLOBAL STYLESHEET
   International Golf Adventures
   Extracted from inline <style> blocks across all pages.
   Load order: every page loads this file before its body renders.
   Image URLs are resolved from /css/, so they use ../images/*.
   ─── Order ───
     1.  Tokens
     2.  Reset & base
     3.  Top bar
     4.  Header & logo
     5.  Main nav
     6.  Nav dropdown (Destinations + Resources panels)
     7.  Nav CTA & mobile toggle
     8.  Animation utility (.anim)
     9.  Footer
    10.  Chat widget (WhatsApp)
    11.  Page blocks  —  .page-home  →  .page-destinations  →
                          .page-destination-detail  →  .page-itineraries  →
                          .page-itinerary-detail  →  .page-about  →
                          .page-custom-trip
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══ 1. TOKENS ═══ */
:root {
  --navy:#003366; --navy-deep:#002244; --navy-light:#004488;
  --green:#228B22; --green-light:#2da82d;
  --beige:#F5DEB3; --beige-light:#faf0d8; --beige-pale:#fdf8ef;
  --tan:#CAA56E; --tan-light:#d9be8f;
  --white:#fff; --off-white:#fafaf7;
  --text:#2c2c2c; --text-muted:#6b6b6b;
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --ease:cubic-bezier(0.16, 1, 0.3, 1);
}


/* ═══ 2. RESET & BASE ═══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: var(--font-body); color: var(--text); background: var(--off-white); line-height: 1.7; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 clamp(1.5rem, 4vw, 3rem); }


/* ═══ 3. TOP BAR ═══ */
.top-bar { background: var(--navy-deep); color: var(--beige); font-size: 0.8rem; letter-spacing: 0.06em; padding: 0.5rem 0; }
.top-bar .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
.top-bar a { color: var(--beige); transition: color 0.3s; }
.top-bar a:hover { color: var(--white); }
.top-bar__contact { display: flex; gap: 1.5rem; align-items: center; }
.top-bar__tag { opacity: 0.7; font-style: italic; font-family: var(--font-display); font-size: 0.85rem; }


/* ═══ 4. HEADER & LOGO ═══ */
header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,0.97); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(0,51,102,0.08); transition: box-shadow 0.4s; }
header.scrolled { box-shadow: 0 4px 30px rgba(0,0,0,0.06); }
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: 0.8rem clamp(1.5rem, 4vw, 3rem); max-width: 1280px; margin: 0 auto; }
.logo { display: flex; align-items: center; gap: 0.6rem; }
.logo-mark { width: 52px; height: 52px; }
.logo-mark img { width: 100%; height: auto; }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-text__primary { font-family: var(--font-display); font-size: 1.65rem; font-weight: 600; color: var(--navy); }
.logo-text__ampersand { font-weight: 700; color: var(--green); }
.logo-text__sub { font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--tan); font-weight: 500; margin-top: 2px; }


/* ═══ 5. MAIN NAV ═══ */
.main-nav { display: flex; align-items: center; gap: 2.2rem; }
.main-nav a { font-size: 0.82rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--navy); position: relative; padding: 0.3rem 0; transition: color 0.3s; }
.main-nav a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--green); transition: width 0.4s var(--ease); }
.main-nav a:hover { color: var(--green); }
.main-nav a:hover::after { width: 100%; }
.main-nav a.active { color: var(--green); }
.main-nav a.active::after { width: 100%; }


/* ═══ 6. NAV DROPDOWN (Destinations + Resources panels) ═══ */
.nav-dropdown { position: relative; padding-bottom: 0.8rem; margin-bottom: -0.8rem; }
.nav-dropdown__trigger { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.82rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--navy); position: relative; padding: 0.3rem 0; transition: color 0.3s; background: none; border: none; cursor: pointer; font-family: var(--font-body); }
.nav-dropdown__trigger::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--green); transition: width 0.4s var(--ease); }
.nav-dropdown:hover .nav-dropdown__trigger { color: var(--green); }
.nav-dropdown:hover .nav-dropdown__trigger::after { width: 100%; }
.nav-dropdown__trigger svg { width: 12px; height: 12px; transition: transform 0.3s; }
.nav-dropdown:hover .nav-dropdown__trigger svg { transform: rotate(180deg); }

.nav-dropdown__panel { position: absolute; top: 100%; left: 50%; padding-top: 0.8rem; width: 680px; background: var(--white); border: 1px solid rgba(0,51,102,0.08); border-radius: 12px; box-shadow: 0 20px 60px rgba(0,51,102,0.12); padding-bottom: 1.8rem; padding-left: 1.8rem; padding-right: 1.8rem; display: grid; grid-template-columns: 1fr 220px; gap: 1.5rem; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s, visibility 0.3s, transform 0.3s; transform: translateX(-50%) translateY(8px); }
.nav-dropdown:hover .nav-dropdown__panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.nav-dropdown__panel::before { content: ''; position: absolute; top: 4px; left: 50%; width: 16px; height: 16px; background: var(--white); border-left: 1px solid rgba(0,51,102,0.08); border-top: 1px solid rgba(0,51,102,0.08); transform: translateX(-50%) rotate(45deg); }

.dd-regions { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.dd-region__label { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--green); font-weight: 700; margin-bottom: 0.4rem; }
.dd-region a { display: block; font-size: 0.82rem; color: var(--navy); padding: 0.25rem 0; transition: color 0.2s, padding-left 0.3s; }
.dd-region a:hover { color: var(--green); padding-left: 0.3rem; }
.dd-featured { border-left: 1px solid rgba(0,51,102,0.06); padding-left: 1.5rem; }
.dd-featured__img { border-radius: 8px; overflow: hidden; margin-bottom: 0.8rem; height: 120px; }
.dd-featured__img img { width: 100%; height: 100%; object-fit: cover; }
.dd-featured__label { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--tan); font-weight: 600; margin-bottom: 0.3rem; }
.dd-featured__title { font-family: var(--font-display); font-size: 1.05rem; font-weight: 500; color: var(--navy); margin-bottom: 0.3rem; }
.dd-featured__link { font-size: 0.72rem; color: var(--green); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }

/* Resources dropdown panel — smaller, no featured image, grouped sections */
.nav-dropdown__panel--resources { width: 420px; grid-template-columns: 1fr; padding-top: 0.8rem; padding-bottom: 1.5rem; padding-left: 1.5rem; padding-right: 1.5rem; }
.res-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.res-groups .dd-region:last-child { grid-column: 1 / -1; }

@media (max-width: 1024px) {
  .nav-dropdown__panel { display: none; }
  .nav-dropdown.open .nav-dropdown__panel {
    display: block;
    position: static;
    width: 100%;
    box-shadow: none;
    border: none;
    border-radius: 0;
    background: transparent;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    padding: 0.5rem 0 1rem;
  }
  .nav-dropdown.open .nav-dropdown__panel .dd-regions,
  .nav-dropdown.open .nav-dropdown__panel .res-groups {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .nav-dropdown.open .nav-dropdown__panel .dd-region,
  .nav-dropdown.open .nav-dropdown__panel .res-groups > div {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .nav-dropdown.open .nav-dropdown__panel .dd-region__label {
    display: none;
  }
  .nav-dropdown.open .nav-dropdown__panel a {
    color: var(--tan);
    font-size: 0.88rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.4rem 0;
    text-align: center;
  }
  .nav-dropdown.open .nav-dropdown__panel a:hover {
    color: var(--white);
  }
  .nav-dropdown.open .nav-dropdown__panel .dd-featured {
    display: none;
  }
}


/* ═══ 7. NAV CTA & MOBILE TOGGLE ═══ */
.nav-cta { background: var(--navy) !important; color: var(--white) !important; padding: 0.65rem 1.5rem !important; border-radius: 4px; transition: all 0.3s !important; }
.nav-cta::after { display: none !important; }
.nav-cta:hover { background: var(--green) !important; color: var(--white) !important; transform: translateY(-1px); }

.nav-toggle { display: none; background: none; border: none; cursor: pointer; width: 32px; height: 24px; position: relative; z-index: 1001; }
.nav-toggle span { display: block; width: 100%; height: 2px; background: var(--navy); position: absolute; left: 0; transition: 0.3s; }
body.nav-open .nav-toggle span { background: var(--tan); }
.nav-toggle span:nth-child(1) { top: 0; }
.nav-toggle span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.nav-toggle span:nth-child(3) { bottom: 0; }


/* ═══ 7b. MOBILE-ONLY NAV ELEMENTS ═══ */
.nav-mobile-only { display: none; }
@media (max-width: 1024px) {
  .nav-mobile-only { display: block; color: var(--tan); font-size: 0.88rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; text-align: center; }
}
.nav-cta-sub { display: none; }
@media (max-width: 1024px) {
  .nav-cta-sub { display: block; font-size: 0.88rem; font-style: italic; color: rgba(245,222,179,0.6); text-align: center; margin-top: 0.3rem; letter-spacing: 0.06em; }
}


/* ═══ 8. ANIMATION UTILITY ═══ */
.anim { opacity: 0; transform: translateY(30px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.anim.visible { opacity: 1; transform: translateY(0); }


/* ═══ 9. FOOTER ═══ */
footer { background: var(--navy-deep); color: var(--beige); padding: 4rem 0 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 3rem; margin-bottom: 3rem; }
.footer-logo { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.footer-logo img { width: 48px; height: auto; }
.footer-logo-text__primary { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: var(--beige); }
.footer-logo-text__ampersand { font-weight: 700; color: var(--green-light); }
.footer-logo-text__sub { font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--tan); font-weight: 500; }
.footer-brand p { font-size: 0.9rem; line-height: 1.7; max-width: 300px; color: var(--beige); }
.footer-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(245,222,179,0.15); }
.footer-badges img { height: 44px; width: auto; opacity: 0.85; transition: opacity 0.2s; filter: brightness(0) invert(1); }
.footer-badges a img { filter: none; height: 32px; }
.footer-badges img:hover { opacity: 1; }
@media (max-width: 600px) { .footer-badges { gap: 0.6rem; margin-top: 1rem; padding-top: 1rem; } .footer-badges img { height: 34px; } }
footer h4 { font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; color: var(--beige); margin-bottom: 1.2rem; text-transform: uppercase; letter-spacing: 0.1em; }
footer ul li { margin-bottom: 0.7rem; }
footer ul a { font-size: 0.9rem; color: var(--beige); transition: color 0.3s; }
footer ul a:hover { color: var(--green-light); }
.footer-contact li { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 1rem; font-size: 0.9rem; color: var(--beige); }
.footer-contact-icon { width: 36px; height: 36px; flex-shrink: 0; background: rgba(34,139,34,0.15); border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.footer-contact-icon svg { width: 18px; height: 18px; color: var(--green-light); }
.footer-newsletter input { width: 100%; padding: 0.85rem 1rem; background: rgba(255,255,255,0.08); border: 1px solid rgba(245,222,179,0.15); border-radius: 6px; color: var(--beige); font-family: var(--font-body); font-size: 0.9rem; margin-bottom: 0.8rem; outline: none; }
.footer-newsletter input::placeholder { color: rgba(245,222,179,0.4); }
.footer-newsletter input:focus { border-color: var(--green); }
.footer-newsletter .btn { width: 100%; justify-content: center; background: var(--green); color: var(--white); padding: 0.75rem 1.5rem; font-size: 0.85rem; display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; border-radius: 4px; border: none; cursor: pointer; transition: background 0.3s; }
.footer-newsletter .btn:hover { background: var(--green-light); }
.footer-bottom { border-top: 1px solid rgba(245,222,179,0.1); padding: 1.8rem 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; font-size: 0.82rem; color: var(--beige); }
.footer-bottom__links { display: flex; gap: 1.5rem; }
.footer-bottom a { color: var(--beige); }
.footer-bottom a:hover { color: var(--green-light); }


/* ═══ 10. CHAT WIDGET (WhatsApp) ═══ */
.chat-widget { position: fixed; bottom: 2rem; right: 2rem; z-index: 900; display: flex; align-items: center; gap: 0.6rem; background: var(--green); color: var(--white); padding: 0.9rem 1.6rem; border-radius: 100px; font-size: 0.88rem; font-weight: 600; box-shadow: 0 6px 30px rgba(34,139,34,0.35); cursor: pointer; transition: all 0.3s var(--ease); text-decoration: none; }
.chat-widget:hover { background: var(--green-light); transform: translateY(-3px); }
.chat-widget svg { width: 22px; height: 22px; flex-shrink: 0; }


/* ═══ SHARED RESPONSIVE — header + footer collapse ═══ */
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1024px) {
  .nav-toggle { display: block; }
  .main-nav { position: fixed; top: 0; right: -100%; width: 100%; max-width: 100%; height: 100vh; background: var(--navy-deep); flex-direction: column; justify-content: flex-start; align-items: center; text-align: center; gap: 1.5rem; padding: 2rem; padding-top: 5rem; padding-bottom: 2rem; overflow-y: auto; transition: right 0.5s var(--ease); z-index: 1000; }
  .main-nav.open { right: 0; }
  .main-nav > a,
  .nav-dropdown > .nav-dropdown__trigger { color: var(--tan); font-size: 1rem; }
  /* White text on hover/active for all nav items (dark overlay background) */
  .main-nav > a:hover,
  .nav-dropdown > .nav-dropdown__trigger:hover,
  .nav-dropdown.open > .nav-dropdown__trigger { color: var(--white) !important; }
  /* Green underline stays on hover */
  .main-nav > a:hover::after,
  .nav-dropdown > .nav-dropdown__trigger:hover::after,
  .nav-dropdown.open > .nav-dropdown__trigger::after { width: 100%; }
  /* Hide the dropdown arrow/diamond pseudo-element on mobile */
  .nav-dropdown.open .nav-dropdown__panel::before { display: none; }
  .nav-cta { background: var(--green) !important; text-align: center; }
}
@media (max-width: 700px) {
  .top-bar { padding: 0.75rem 0; min-height: 36px; }
  .top-bar .container { flex-direction: column; gap: 0.2rem; align-items: center; text-align: center; }
  .top-bar__tag { display: block; font-size: 0.78rem; }
  .top-bar__contact { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .chat-widget { bottom: 1.2rem; right: 1.2rem; font-size: 0.82rem; padding: 0.75rem 1.3rem; }
}



/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  HOMEPAGE (.page-home)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
       HERO + VIMEO VIDEO
       ═══════════════════════════════════════ */
    .page-home .hero {
      position: relative;
      min-height: 92vh;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: var(--navy-deep);
    }
    .page-home .hero__video-wrap {
      position: absolute;
      inset: 0;
      z-index: 0;
      overflow: hidden;
    }
    .page-home .hero__video { position: absolute; top: 50%; left: 50%; width: max(177.78vh, 100vw); height: max(56.25vw, 100vh); transform: translate(-50%, -50%); pointer-events: none; border: 0; }
    .page-home .hero__video--mobile { display: none; }
    @media (max-width: 768px) {
      .page-home .hero__video--desktop { display: none; }
      .page-home .hero__video--mobile { display: block; width: 100vw; height: 100%; top: 0; left: 0; transform: none; object-fit: cover; }
    }
    .page-home .hero__overlay {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(135deg,
        rgba(0, 34, 68, 0.88) 0%,
        rgba(0, 51, 102, 0.62) 40%,
        rgba(34, 139, 34, 0.22) 100%
      );
    }
    .page-home .hero__grain {
      position: absolute; inset: 0; z-index: 1;
      opacity: 0.035;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 128px;
      pointer-events: none;
    }
    .page-home .hero__content {
      position: relative; z-index: 2;
      max-width: 1280px; margin: 0 auto;
      padding: 6rem clamp(1.5rem, 5vw, 4rem);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .page-home .hero__left { animation: fadeUp 1s var(--ease) 0.3s both; }
    .page-home .hero__badge {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: rgba(34,139,34,0.2); border: 1px solid rgba(34,139,34,0.35);
      color: var(--beige); padding: 0.4rem 1rem; border-radius: 100px;
      font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.15em;
      font-weight: 500; margin-bottom: 1.5rem;
    }
    .page-home .hero__badge::before {
      content: ''; width: 6px; height: 6px;
      background: var(--green-light); border-radius: 50%;
      animation: pulse 2s ease infinite;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }
    .page-home .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(2.8rem, 5.5vw, 4.5rem);
      font-weight: 300; color: var(--white);
      line-height: 1.1; margin-bottom: 1.5rem;
    }
    .page-home .hero h1 em { font-style: italic; color: var(--beige); font-weight: 400; }
    .page-home .hero h1 strong { font-weight: 600; color: var(--green-light); }
    .page-home .hero__sub {
      font-size: 1.05rem; color: rgba(245,222,179,0.8);
      max-width: 480px; line-height: 1.8; margin-bottom: 2.5rem;
    }
    .page-home .hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; }
    .page-home .btn {
      display: inline-flex; align-items: center; gap: 0.5rem;
      padding: 0.9rem 2rem; font-family: var(--font-body);
      font-size: 0.82rem; font-weight: 600; text-transform: uppercase;
      letter-spacing: 0.12em; border-radius: 4px; border: none;
      cursor: pointer; transition: all 0.4s var(--ease);
    }
    .page-home .btn--primary { background: var(--green); color: var(--white); }
    .page-home .btn--primary:hover { background: var(--green-light); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(34,139,34,0.3); }
    .page-home .btn--outline { background: transparent; color: var(--beige); border: 1.5px solid rgba(245,222,179,0.4); }
    .page-home .btn--outline:hover { border-color: var(--beige); background: rgba(245,222,179,0.08); transform: translateY(-2px); }
    .page-home .btn--dark { background: var(--navy); color: var(--beige); }
    .page-home .btn--dark:hover { background: var(--navy-light); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,51,102,0.2); }
    .page-home .btn svg { width: 16px; height: 16px; }

    .page-home .hero__right { animation: fadeUp 1s var(--ease) 0.6s both; }
    .page-home .hero-stats {
      background: rgba(255,255,255,0.06); backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,0.1); border-radius: 16px;
      padding: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
    }
    .page-home .hero-stat { text-align: center; }
    .page-home .hero-stat__number {
      font-family: var(--font-display); font-size: 2.8rem;
      font-weight: 600; color: var(--beige); line-height: 1; margin-bottom: 0.3rem;
    }
    .page-home .hero-stat__number span { color: var(--green-light); }
    .page-home .hero-stat__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.15em; color: rgba(245,222,179,0.6); font-weight: 500; }
    .page-home .hero-stat--full { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 1.5rem; }
    .page-home .hero-stat--full .hero-stat__number { font-size: 1.8rem; }
    @keyframes fadeUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }

    /* ═══════════════════════════════════════
       COURSE TICKER
       ═══════════════════════════════════════ */
    .page-home .course-ticker {
      background: var(--navy);
      padding: 1rem 0;
      overflow: hidden;
      border-top: 3px solid var(--green);
      border-bottom: 3px solid var(--green);
    }
    .page-home .ticker-track {
      display: flex; gap: 2.5rem;
      animation: ticker 35s linear infinite;
      width: max-content;
    }
    @keyframes ticker { to { transform: translateX(-50%); } }
    .page-home .ticker-item {
      white-space: nowrap;
      font-family: var(--font-display);
      font-size: 1rem;
      font-weight: 500;
      color: var(--white);
      letter-spacing: 0.02em;
    }
    .page-home .ticker-dot {
      color: var(--green-light);
      font-size: 0.7rem;
      display: flex;
      align-items: center;
    }

    /* ═══════════════════════════════════════
       SECTION COMMON
       ═══════════════════════════════════════ */
    .page-home .section { padding: clamp(4rem, 8vw, 7rem) 0; }
    .page-home .section--navy { background: var(--navy); color: var(--white); }
    .page-home .section--beige { background: var(--beige-pale); }
    .page-home .section-header { text-align: center; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
    .page-home .section-eyebrow {
      font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.2em;
      font-weight: 600; color: var(--green); margin-bottom: 0.8rem;
    }
    .page-home .section--navy .section-eyebrow { color: var(--tan-light); }
    .page-home .section-title {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 400; color: var(--navy);
      line-height: 1.15; margin-bottom: 1rem;
    }
    .page-home .section--navy .section-title { color: var(--white); }
    .page-home .section-subtitle {
      font-size: 1rem; color: var(--text-muted);
      max-width: 580px; margin: 0 auto; line-height: 1.7;
    }
    .page-home .section--navy .section-subtitle { color: rgba(245,222,179,0.7); }

    /* ═══════════════════════════════════════
       ITINERARY CARDS
       ═══════════════════════════════════════ */
    .page-home .itin-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }
    .page-home .itin-card {
      background: var(--white); border-radius: 12px; overflow: hidden;
      border: 1px solid rgba(0,51,102,0.06);
      transition: all 0.5s var(--ease); position: relative;
    }
    .page-home .itin-card:hover { transform: translateY(-5px); box-shadow: 0 16px 50px rgba(0,51,102,0.1); }
    .page-home .itin-card__img {
      height: 210px; background-size: cover; background-position: center;
      position: relative;
    }
    .page-home .itin-card__img::after {
      content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
      background: linear-gradient(to top, rgba(0,34,68,0.6), transparent);
    }
    .page-home .itin-card__badge {
      position: absolute; top: 1rem; right: 1rem;
      background: var(--green); color: var(--white);
      padding: 0.25rem 0.7rem; border-radius: 4px;
      font-size: 0.62rem; font-weight: 700; text-transform: uppercase;
      letter-spacing: 0.1em; z-index: 2;
    }
    .page-home .itin-card__body { padding: 1.5rem; }
    .page-home .itin-card__dest {
      font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.18em;
      color: var(--green); font-weight: 700; margin-bottom: 0.3rem;
    }
    .page-home .itin-card__title {
      font-family: var(--font-display); font-size: 1.25rem; font-weight: 500;
      color: var(--navy); margin-bottom: 0.6rem; line-height: 1.25;
    }
    .page-home .itin-card__courses { margin-bottom: 1rem; }
    .page-home .itin-card__courses-label {
      font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em;
      color: var(--tan); font-weight: 700; margin-bottom: 0.3rem;
    }
    .page-home .itin-card__course-list { font-size: 0.82rem; color: var(--text-muted); line-height: 1.6; }
    .page-home .itin-card__meta {
      display: flex; gap: 1rem; padding-top: 0.8rem;
      border-top: 1px solid rgba(0,51,102,0.06); margin-bottom: 1rem;
    }
    .page-home .itin-card__meta-item { font-size: 0.72rem; color: var(--text-muted); }
    .page-home .itin-card__meta-item strong { color: var(--navy); display: block; font-size: 0.88rem; font-weight: 600; }
    .page-home .itin-card__link {
      display: inline-flex; align-items: center; gap: 0.4rem;
      font-size: 0.78rem; color: var(--navy); font-weight: 600;
      text-transform: uppercase; letter-spacing: 0.06em;
      transition: color 0.3s, gap 0.3s;
    }
    .page-home .itin-card__link:hover { color: var(--green); gap: 0.7rem; }
    .page-home .itin-card__link svg { width: 14px; height: 14px; }

    /* ═══════════════════════════════════════
       DESTINATION STRIP
       ═══════════════════════════════════════ */
    .page-home .dest-strip {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 1rem;
    }
    .page-home .dest-chip {
      position: relative; border-radius: 10px; overflow: hidden;
      aspect-ratio: 1; cursor: pointer;
    }
    .page-home .dest-chip__img {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
      transition: transform 0.7s var(--ease);
    }
    .page-home .dest-chip:hover .dest-chip__img { transform: scale(1.08); }
    .page-home .dest-chip__overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(0,34,68,0.85) 0%, rgba(0,34,68,0.1) 60%);
    }
    .page-home .dest-chip__content { position: absolute; bottom: 0; left: 0; right: 0; padding: 1rem; z-index: 2; }
    .page-home .dest-chip__name { font-family: var(--font-display); font-size: 1rem; font-weight: 500; color: var(--white); }
    .page-home .dest-chip__count { font-size: 0.65rem; color: var(--beige); opacity: 0.7; }

    /* ═══════════════════════════════════════
       WHY US CARDS
       ═══════════════════════════════════════ */
    .page-home .why-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }
    .page-home .why-card {
      text-align: center; padding: 2.5rem 1.5rem; border-radius: 12px;
      background: var(--white); border: 1px solid rgba(0,51,102,0.06);
      transition: all 0.5s var(--ease);
    }
    .page-home .why-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,51,102,0.08); border-color: rgba(34,139,34,0.15); }
    .page-home .why-card__icon {
      width: 56px; height: 56px;
      background: linear-gradient(135deg, var(--navy), var(--navy-light));
      border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 1.2rem;
    }
    .page-home .why-card__icon svg { width: 24px; height: 24px; color: var(--beige); }
    .page-home .why-card h3 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; color: var(--navy); margin-bottom: 0.6rem; }
    .page-home .why-card p { font-size: 0.88rem; color: var(--text-muted); line-height: 1.65; }

    /* ═══════════════════════════════════════
       TESTIMONIALS
       ═══════════════════════════════════════ */
    .page-home .test-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.8rem;
    }
    .page-home .test-card {
      background: var(--white); border-radius: 12px; padding: 2rem;
      border: 1px solid rgba(0,51,102,0.06); position: relative;
      transition: all 0.4s var(--ease);
    }
    .page-home .test-card:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,51,102,0.06); }
    .page-home .test-card__quote {
      position: absolute; top: 1rem; right: 1.2rem;
      font-family: var(--font-display); font-size: 4rem;
      color: var(--beige); line-height: 1; font-weight: 700;
    }
    .page-home .test-card__stars { color: var(--tan); font-size: 0.9rem; letter-spacing: 0.15em; margin-bottom: 1rem; }
    .page-home .test-card p { font-size: 0.9rem; color: var(--text-muted); line-height: 1.75; font-style: italic; margin-bottom: 1.5rem; }
    .page-home .test-card__author { font-weight: 600; color: var(--navy); font-size: 0.88rem; }
    .page-home .test-card__location { font-size: 0.75rem; color: var(--tan); text-transform: uppercase; letter-spacing: 0.08em; }

    /* ═══════════════════════════════════════
       ABOUT JACK (COMPACT)
       ═══════════════════════════════════════ */
    .page-home .about-jack {
      display: grid;
      grid-template-columns: 240px 1fr;
      gap: clamp(2rem, 4vw, 3.5rem);
      align-items: center;
      max-width: 900px;
      margin: 0 auto;
    }
    .page-home .about-jack__image {
      border-radius: 12px; overflow: hidden;
      border: 3px solid var(--white);
      box-shadow: 0 12px 40px rgba(0,51,102,0.08);
    }
    .page-home .about-jack__image img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
    .page-home .about-jack__text h2 {
      font-family: var(--font-display);
      font-size: clamp(1.5rem, 2.5vw, 2rem);
      font-weight: 400; color: var(--navy);
      line-height: 1.2; margin-bottom: 1rem;
    }
    .page-home .about-jack__text h2 em { font-style: italic; color: var(--green); }
    .page-home .about-jack__text p { color: var(--text-muted); margin-bottom: 0.8rem; font-size: 0.92rem; }
    .page-home .about-jack__sig { margin-top: 1.2rem; line-height: 1.8; padding-top: 1rem; border-top: 1px solid rgba(0,51,102,0.08); }
    .page-home .about-jack__sig-name { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; color: var(--navy); margin-bottom: 0.25rem; }
    .page-home .about-jack__sig-role { font-size: 0.72rem; color: var(--tan); text-transform: uppercase; letter-spacing: 0.1em; }

    /* ═══════════════════════════════════════
       CTA BANNER
       ═══════════════════════════════════════ */
    .page-home .cta-banner {
      position: relative; padding: clamp(4rem, 8vw, 6rem) 0;
      text-align: center; color: var(--white); overflow: hidden;
    }
    .page-home .cta-banner__bg {
      position: absolute; inset: 0;
      background: url('../images/cta-bg1.jpg') center/cover no-repeat;
      z-index: 0;
    }
    .page-home .cta-banner__overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(135deg, rgba(0,34,68,0.94), rgba(0,51,102,0.85) 50%, rgba(34,139,34,0.4));
    }
    .page-home .cta-banner .container { position: relative; z-index: 2; }
    .page-home .cta-banner h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 400; margin-bottom: 1rem;
    }
    .page-home .cta-banner h2 em { font-style: italic; color: var(--beige); }
    .page-home .cta-banner p {
      font-size: 1rem; color: rgba(245,222,179,0.75);
      margin-bottom: 2.5rem; max-width: 500px;
      margin-left: auto; margin-right: auto;
    }

    /* ═══════════════════════════════════════
       BLOG
       ═══════════════════════════════════════ */
    .page-home .blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.8rem;
    }
    .page-home .blog-card {
      border-radius: 12px; overflow: hidden;
      background: var(--white); border: 1px solid rgba(0,51,102,0.06);
      transition: all 0.5s var(--ease);
    }
    .page-home .blog-card:hover { transform: translateY(-4px); box-shadow: 0 16px 50px rgba(0,51,102,0.08); }
    .page-home .blog-card__img { height: 200px; background-size: cover; background-position: center; }
    .page-home .blog-card__body { padding: 1.5rem; display: flex; flex-direction: column; height: calc(100% - 200px); }
    .page-home .blog-card__body p { flex-grow: 1; }
    .page-home .blog-card__body .btn { align-self: flex-start; margin-top: 1rem; font-size: 0.72rem; padding: 0.55rem 1.2rem; }
    .page-home .blog-card__date { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--tan); font-weight: 500; margin-bottom: 0.5rem; }
    .page-home .blog-card h3 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 500; color: var(--navy); line-height: 1.3; margin-bottom: 0.6rem; }
    .page-home .blog-card p { font-size: 0.85rem; color: var(--text-muted); line-height: 1.6; }

    /* ═══════════════════════════════════════
       FOOTER
       ═══════════════════════════════════════ */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* ═══════════════════════════════════════
       CHAT WIDGET
       ═══════════════════════════════════════ */
    
    
    

    /* ═══════════════════════════════════════
       MASTERS POPUP
       ═══════════════════════════════════════ */
    .page-home .masters-popup-overlay {
      position: fixed; inset: 0;
      background: rgba(0,20,40,0.65);
      backdrop-filter: blur(4px);
      z-index: 950;
      display: none;
      align-items: center; justify-content: center;
      padding: 1.5rem;
      opacity: 0;
      transition: opacity 0.4s;
    }
    .page-home .masters-popup-overlay.active { display: flex; opacity: 1; }
    .page-home .masters-popup {
      position: relative;
      width: 100%; max-width: 560px;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 30px 80px rgba(0,0,0,0.4);
      animation: popIn 0.5s var(--ease) both;
    }
    @keyframes popIn { from{opacity:0;transform:scale(0.92) translateY(20px)} to{opacity:1;transform:scale(1) translateY(0)} }
    .page-home .masters-popup__bg {
      position: absolute; inset: 0;
      background: url('../images/masters1.jpg') center/cover no-repeat;
    }
    .page-home .masters-popup__overlay {
      position: absolute; inset: 0;
      background: linear-gradient(170deg, rgba(0,51,102,0.92) 0%, rgba(0,34,68,0.88) 50%, rgba(34,139,34,0.45) 100%);
    }
    .page-home .masters-popup__content {
      position: relative; z-index: 2;
      padding: 2.5rem 2rem;
      text-align: center;
    }
    .page-home .masters-popup__badge {
      display: inline-flex; align-items: center; gap: 0.4rem;
      background: rgba(34,139,34,0.25);
      border: 1px solid rgba(34,139,34,0.4);
      color: var(--beige); padding: 0.3rem 0.9rem; border-radius: 100px;
      font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.15em;
      font-weight: 600; margin-bottom: 1.2rem;
    }
    .page-home .masters-popup__badge::before {
      content: ''; width: 6px; height: 6px;
      background: var(--green-light); border-radius: 50%;
    }
    .page-home .masters-popup h3 {
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 400; color: var(--white);
      line-height: 1.2; margin-bottom: 1rem;
    }
    .page-home .masters-popup h3 em { font-style: italic; color: var(--beige); }
    .page-home .masters-popup p {
      font-size: 0.95rem; color: rgba(245,222,179,0.8);
      line-height: 1.7; margin-bottom: 1.8rem;
      max-width: 400px; margin-left: auto; margin-right: auto;
    }
    .page-home .masters-popup .btn { font-size: 0.85rem; padding: 0.85rem 2rem; }
    .page-home .masters-popup__close {
      position: absolute; top: 1rem; right: 1rem;
      width: 36px; height: 36px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; z-index: 3;
      transition: background 0.3s;
      color: var(--white); font-size: 1.2rem; line-height: 1;
    }
    .page-home .masters-popup__close:hover { background: rgba(255,255,255,0.2); }

    /* ═══════════════════════════════════════
       ANIMATIONS
       ═══════════════════════════════════════ */
    
    

    /* ═══════════════════════════════════════
       RESPONSIVE
       ═══════════════════════════════════════ */
    @media (max-width: 1024px) {

      .page-home .hero__content { grid-template-columns: 1fr; }
      .page-home .hero__right { display: none; }
      .page-home .itin-grid { grid-template-columns: 1fr 1fr; }
      .page-home .dest-strip { grid-template-columns: repeat(3, 1fr); }
      
    
}
    @media (max-width: 768px) {
      .page-home .itin-grid, .page-home .why-grid, .page-home .test-grid, .page-home .blog-grid { grid-template-columns: 1fr; }
      .page-home .dest-strip { grid-template-columns: repeat(2, 1fr); }
      .page-home .about-jack { grid-template-columns: 1fr; text-align: center; }
      .page-home .about-jack__image { max-width: 200px; margin: 0 auto; }
      .page-home .about-jack__sig { text-align: center; }
      .page-home .itin-cta .btn--primary {
        width: auto;
        display: inline-flex;
        padding: 0.85rem 1.8rem;
      }
      .page-home .why-card p { font-size: 1.0rem; }
    }


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  DESTINATIONS (.page-destinations)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ PAGE HERO ═══ */
    .page-destinations .page-hero {position:relative;min-height:45vh;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep)}
    .page-destinations .page-hero__bg {position:absolute;inset:0;background:url('../images/destination-banner.jpg') center/cover no-repeat}
    .page-destinations .page-hero__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.9) 0%,rgba(0,51,102,0.65) 50%,rgba(34,139,34,0.2) 100%)}
    .page-destinations .page-hero__content {position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(4rem,8vw,6rem) clamp(1.5rem,5vw,4rem);text-align:center}
    .page-destinations .page-hero__eyebrow {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.25em;color:var(--tan-light);font-weight:600;margin-bottom:1rem}
    .page-destinations .page-hero h1 {font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.8rem);font-weight:300;color:var(--white);line-height:1.15;margin-bottom:1.2rem;max-width:700px;margin-left:auto;margin-right:auto}
    .page-destinations .page-hero h1 em {font-style:italic;color:var(--beige);font-weight:400}
    .page-destinations .page-hero__sub {font-size:1.05rem;color:rgba(245,222,179,0.75);max-width:550px;margin:0 auto;line-height:1.8}

    /* ═══ SECTION ═══ */
    .page-destinations .section {padding:clamp(4rem,8vw,6rem) 0}
    .page-destinations .section--beige {background:var(--beige-pale)}
    .page-destinations .region-header {margin-bottom:clamp(2rem,4vw,3rem)}
    .page-destinations .region-eyebrow {font-size:0.68rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;color:var(--green);margin-bottom:0.5rem}
    .page-destinations .region-title {font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:0.6rem}
    .page-destinations .region-title em {font-style:italic;color:var(--green)}
    .page-destinations .region-subtitle {font-size:0.95rem;color:var(--text-muted);max-width:550px;line-height:1.7}

    /* ═══ DESTINATION CARDS ═══ */
    .page-destinations .dest-row {display:grid;gap:1.5rem}
    .page-destinations .dest-row--4 {grid-template-columns:repeat(4,1fr)}
    .page-destinations .dest-row--3 {grid-template-columns:repeat(3,1fr)}
    .page-destinations .dest-row--2-1 {grid-template-columns:2fr 1fr}

    .page-destinations .dest-card {
      position:relative;border-radius:12px;overflow:hidden;
      cursor:pointer;min-height:320px;
      display:block;
    }
    .page-destinations .dest-card--tall {min-height:400px}
    .page-destinations .dest-card__img {
      position:absolute;inset:0;
      background-size:cover;background-position:center;
      transition:transform 0.8s var(--ease);
    }
    .page-destinations .dest-card:hover .dest-card__img {transform:scale(1.06)}
    .page-destinations .dest-card__overlay {
      position:absolute;inset:0;
      background:linear-gradient(to top,rgba(0,34,68,0.92) 0%,rgba(0,34,68,0.45) 70%,rgba(0,34,68,0.2) 100%);
      transition:background 0.5s;
    }
    .page-destinations .dest-card:hover .dest-card__overlay {
      background:linear-gradient(to top,rgba(0,34,68,0.94) 0%,rgba(0,34,68,0.4) 55%,rgba(0,34,68,0.1) 100%);
    }
    .page-destinations .dest-card__content {
      position:absolute;bottom:0;left:0;right:0;
      padding:1.8rem;z-index:2;
    }
    .page-destinations .dest-card__tag {
      font-size:0.6rem;text-transform:uppercase;letter-spacing:0.18em;
      color:var(--green-light);font-weight:700;margin-bottom:0.3rem;
    }
    .page-destinations .dest-card__name {
      font-family:var(--font-display);font-size:1.6rem;font-weight:700;
      color:var(--white);margin-bottom:0.4rem;
    }
    .page-destinations .dest-card__desc {
      font-size:0.85rem;color:rgba(245,222,179,0.85);
      line-height:1.6;margin-bottom:0.6rem;
      max-width:320px;font-weight:400;
    }
    .page-destinations .dest-card__courses {
      font-size:0.85rem;color:rgba(245,222,179,0.7);
      font-style:italic;font-family:var(--font-display);
      letter-spacing:0.02em;font-weight:600;
    }
    .page-destinations .dest-card__arrow {
      position:absolute;top:1.2rem;right:1.2rem;
      width:38px;height:38px;background:rgba(255,255,255,0.1);
      border:1px solid rgba(255,255,255,0.15);
      border-radius:50%;display:flex;align-items:center;justify-content:center;
      opacity:0;transform:translateX(-6px);
      transition:all 0.4s var(--ease);z-index:2;
    }
    .page-destinations .dest-card:hover .dest-card__arrow {opacity:1;transform:translateX(0)}
    .page-destinations .dest-card__arrow svg {width:16px;height:16px;color:var(--white)}

    /* Inquiry card (no image) */
    .page-destinations .inquiry-card {
      border-radius:12px;min-height:320px;
      background:linear-gradient(135deg,var(--navy),var(--navy-light));
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      text-align:center;padding:2rem;
      transition:all 0.4s var(--ease);
    }
    .page-destinations .inquiry-card:hover {transform:translateY(-4px);box-shadow:0 16px 50px rgba(0,51,102,0.2)}
    .page-destinations .inquiry-card__icon {
      width:56px;height:56px;background:rgba(34,139,34,0.2);
      border:1px solid rgba(34,139,34,0.3);border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      margin-bottom:1.2rem;
    }
    .page-destinations .inquiry-card__icon svg {width:24px;height:24px;color:var(--green-light)}
    .page-destinations .inquiry-card h3 {
      font-family:var(--font-display);font-size:1.3rem;font-weight:500;
      color:var(--white);margin-bottom:0.5rem;
    }
    .page-destinations .inquiry-card p {font-size:0.85rem;color:rgba(245,222,179,0.65);line-height:1.6;max-width:240px}

    /* ═══ FOOTER ═══ */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* Chat widget */
    
    
    

    
    

    @media(max-width:1024px) {

      .page-destinations .dest-row--4 {grid-template-columns:1fr 1fr}
      .page-destinations .dest-row--3 {grid-template-columns:1fr 1fr}
      .page-destinations .dest-row--2-1 {grid-template-columns:1fr}
      .page-destinations .nav-dropdown__panel {display:none}
      
    
}
    @media(max-width:768px) {

      .page-destinations .nav-dropdown__panel {display:none}
      .page-destinations .dest-row--4, .page-destinations .dest-row--3, .page-destinations .dest-row--2-1 {grid-template-columns:1fr}
      .page-destinations .dest-card {min-height:260px}
      .page-destinations .dest-card--tall {min-height:300px}
      
      
    
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  DESTINATION DETAIL — template for scotland.html + 10+ siblings (.page-destination-detail)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ DESTINATION HERO ═══ */
    .page-destination-detail .dest-hero {position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy-deep)}
    .page-destination-detail .dest-hero__bg {position:absolute;inset:0;background:url('../images/scotland-hero.jpg') center/cover no-repeat}
    .page-destination-detail .dest-hero__overlay {position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.92) 0%,rgba(0,34,68,0.4) 50%,rgba(0,34,68,0.1) 100%)}
    .page-destination-detail .dest-hero__content {position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem) clamp(3rem,6vw,5rem);width:100%}
    .page-destination-detail .dest-hero__crumb {display:flex;align-items:center;gap:0.5rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;color:rgba(245,222,179,0.7);margin-bottom:1rem}
    .page-destination-detail .dest-hero__crumb a {color:rgba(245,222,179,0.7);transition:color 0.3s}
    .page-destination-detail .dest-hero__crumb a:hover {color:var(--green-light)}
    .page-destination-detail .dest-hero__crumb svg {width:10px;height:10px}
    .page-destination-detail .dest-hero__eyebrow {font-size:0.8rem;text-transform:uppercase;letter-spacing:0.25em;color:var(--green-light);font-weight:700;margin-bottom:0.6rem}
    .page-destination-detail .dest-hero h1 {font-family:var(--font-display);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;color:var(--white);line-height:1;margin-bottom:0.6rem}
    .page-destination-detail .dest-hero h1 em {font-style:italic;color:var(--beige)}
    .page-destination-detail .dest-hero__tagline {font-family:var(--font-display);font-size:clamp(1.2rem,2.5vw,1.8rem);font-style:italic;color:var(--beige);font-weight:300;margin-bottom:1.5rem}
    .page-destination-detail .dest-hero__caption {position:absolute;bottom:1.5rem;right:1.5rem;font-size:0.72rem;color:rgba(245,222,179,0.55);font-style:italic;font-family:var(--font-display);z-index:2}

    /* ═══ STATS STRIP ═══ */
    .page-destination-detail .stats-strip {background:var(--white);border-bottom:1px solid rgba(0,51,102,0.06);padding:1.8rem 0}
    .page-destination-detail .stats-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:900px;margin:0 auto}
    .page-destination-detail .stat {text-align:center}
    .page-destination-detail .stat__value {font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-weight:500;color:var(--navy);line-height:1}
    .page-destination-detail .stat__value em {font-style:italic;color:var(--green)}
    .page-destination-detail .stat__label {font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted);font-weight:600;margin-top:0.4rem}

    /* ═══ SECTION LAYOUT WITH STICKY NAV ═══ */
    .page-destination-detail .content-wrap {display:grid;grid-template-columns:220px 1fr;gap:3rem;padding:clamp(3rem,6vw,5rem) 0;max-width:1280px;margin:0 auto;padding-left:clamp(1.5rem,4vw,3rem);padding-right:clamp(1.5rem,4vw,3rem)}
    .page-destination-detail .side-nav {position:sticky;top:100px;align-self:start;height:fit-content}
    .page-destination-detail .side-nav__title {font-size:0.62rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--tan);font-weight:700;margin-bottom:1rem;padding-bottom:0.8rem;border-bottom:1px solid rgba(0,51,102,0.1)}
    .page-destination-detail .side-nav a {display:block;padding:0.5rem 0;font-size:0.82rem;color:var(--text-muted);transition:all 0.3s;border-left:2px solid transparent;padding-left:0.8rem;margin-left:-0.8rem}
    .page-destination-detail .side-nav a:hover {color:var(--green);border-left-color:var(--green);background:var(--beige-pale)}
    .page-destination-detail .side-nav a.active {color:var(--navy);border-left-color:var(--green);font-weight:600}

    .page-destination-detail .section {scroll-margin-top:100px;margin-bottom:clamp(3rem,5vw,4.5rem)}
    .page-destination-detail .section h2 {font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:0.8rem}
    .page-destination-detail .section h2 em {font-style:italic;color:var(--green)}
    .page-destination-detail .section__eyebrow {font-size:0.68rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--green);font-weight:700;margin-bottom:0.5rem}
    .page-destination-detail .section__intro {font-size:1rem;color:var(--text);line-height:1.85;margin-bottom:1.5rem}
    .page-destination-detail .section__intro p {margin-bottom:1.2rem}
    .page-destination-detail .section__intro p:last-child {margin-bottom:0}

    /* ═══ TOP COURSES LIST (Pioneer-inspired) ═══ */
    .page-destination-detail .courses-featured {display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:2rem}
    .page-destination-detail .course-card {
      display:block;text-decoration:none;color:inherit;
      position:relative;border-radius:10px;overflow:hidden;
      background:var(--white);border:1px solid rgba(0,51,102,0.08);
      transition:all 0.4s var(--ease);cursor:pointer;
    }
    .page-destination-detail .course-card:hover {transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,51,102,0.1)}
    .page-destination-detail .course-card__img {height:180px;background-size:cover;background-position:center;position:relative}
    .page-destination-detail .course-card__rank {position:absolute;top:0.8rem;left:0.8rem;background:var(--green);color:var(--white);padding:0.2rem 0.7rem;border-radius:4px;font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em}
    .page-destination-detail .course-card__body {padding:1.2rem}
    .page-destination-detail .course-card__name {font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--navy);margin-bottom:0.3rem}
    .page-destination-detail .course-card__location {font-size:0.78rem;color:var(--text-muted);margin-bottom:0.6rem;font-style:italic}
    .page-destination-detail .course-card__stats {display:flex;gap:1rem;font-size:0.7rem;color:var(--text-muted)}
    .page-destination-detail .course-card__stats span strong {color:var(--navy);font-weight:600}

    .page-destination-detail .courses-list {background:var(--white);border-radius:10px;padding:1.5rem;border:1px solid rgba(0,51,102,0.08)}
    .page-destination-detail .courses-list__title {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--tan);font-weight:700;margin-bottom:1rem}
    .page-destination-detail .courses-list__grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0.6rem 1.5rem}
    .page-destination-detail .courses-list__item {display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;border-bottom:1px solid rgba(0,51,102,0.06);font-size:0.85rem}
    .page-destination-detail .courses-list__item:last-child {border-bottom:none}
    .page-destination-detail .courses-list__item__name {color:var(--navy);font-weight:500}
    .page-destination-detail .courses-list__item__rank {font-family:var(--font-display);font-size:1.05rem;color:var(--green);font-weight:600}

    /* ═══ REGIONS TABS ═══ */
    .page-destination-detail .regions-tabs {display:flex;gap:0.4rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(0,51,102,0.1);flex-wrap:wrap}
    .page-destination-detail .regions-tab {
      padding:0.7rem 1.2rem;font-size:0.75rem;text-transform:uppercase;
      letter-spacing:0.1em;font-weight:600;color:var(--text-muted);
      cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;
      transition:all 0.3s;font-family:var(--font-body);margin-bottom:-1px;
    }
    .page-destination-detail .regions-tab:hover {color:var(--green)}
    .page-destination-detail .regions-tab.active {color:var(--navy);border-bottom-color:var(--green)}

    .page-destination-detail .region-panel {display:none}
    .page-destination-detail .region-panel.active {display:block;animation:fadeIn 0.4s var(--ease)}
    @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

    .page-destination-detail .region-layout {display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:start}
    .page-destination-detail .region-text h3 {font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--navy);margin-bottom:0.8rem}
    .page-destination-detail .region-text p {font-size:0.95rem;color:var(--text);line-height:1.85;margin-bottom:1rem}
    .page-destination-detail .region-attractions {background:var(--beige-pale);border-radius:10px;padding:1.5rem}
    .page-destination-detail .region-attractions h4 {font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--navy);margin-bottom:0.8rem}
    .page-destination-detail .region-attractions ul li {padding:0.4rem 0;font-size:0.85rem;color:var(--navy);display:flex;align-items:center;gap:0.5rem;border-bottom:1px solid rgba(0,51,102,0.08)}
    .page-destination-detail .region-attractions ul li:last-child {border-bottom:none}
    .page-destination-detail .region-attractions ul li::before {content:'';width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}

    /* ═══ ITINERARIES SECTION ═══ */
    .page-destination-detail .itin-cards {display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
    .page-destination-detail .itin-card-sm {
      display:grid;grid-template-columns:120px 1fr;gap:1rem;
      background:var(--white);border:1px solid rgba(0,51,102,0.08);
      border-radius:10px;overflow:hidden;transition:all 0.4s;
    }
    .page-destination-detail .itin-card-sm:hover {transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,51,102,0.08);border-color:var(--green)}
    .page-destination-detail .itin-card-sm__img {background-size:cover;background-position:center}
    .page-destination-detail .itin-card-sm__body {padding:1rem 1rem 1rem 0;display:flex;flex-direction:column;justify-content:center}
    .page-destination-detail .itin-card-sm__title {font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:0.3rem;line-height:1.2}
    .page-destination-detail .itin-card-sm__meta {font-size:0.72rem;color:var(--text-muted);margin-bottom:0.5rem}
    .page-destination-detail .itin-card-sm__link {font-size:0.7rem;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:0.1em}

    /* ═══ ACCOMMODATION STRIP ═══ */
    .page-destination-detail .hotels-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
    .page-destination-detail .hotel-card {display:block;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;background:var(--white);border:1px solid rgba(0,51,102,0.08);transition:all 0.4s}
    .page-destination-detail .hotel-card:hover {transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,51,102,0.1)}
    .page-destination-detail .hotel-card__img {height:160px;background-size:cover;background-position:center}
    .page-destination-detail .hotel-card__body {padding:1.1rem}
    .page-destination-detail .hotel-card__stars {color:var(--tan);font-size:0.8rem;letter-spacing:0.1em;margin-bottom:0.2rem}
    .page-destination-detail .hotel-card__name {font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--navy);margin-bottom:0.2rem;line-height:1.25}
    .page-destination-detail .hotel-card__location {font-size:0.72rem;color:var(--text-muted);font-style:italic}

    /* ═══ WEATHER/CLIMATE ═══ */
    .page-destination-detail .climate-box {background:var(--beige-pale);border-radius:10px;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
    .page-destination-detail .climate-item h4 {font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--navy);margin-bottom:0.4rem}
    .page-destination-detail .climate-item p {font-size:0.85rem;color:var(--text);line-height:1.7}
    .page-destination-detail .climate-item strong {color:var(--green);font-weight:700}

    /* ═══ CTA BANNER ═══ */
    .page-destination-detail .cta-banner {
      background:linear-gradient(135deg,var(--navy),var(--navy-light));
      color:var(--white);border-radius:12px;padding:clamp(2rem,4vw,3rem);
      text-align:center;margin-bottom:3rem;
      position:relative;overflow:hidden;
    }
    .page-destination-detail .cta-banner::before {content:'';position:absolute;top:-50%;right:-10%;width:60%;height:200%;background:radial-gradient(circle,rgba(34,139,34,0.15),transparent);pointer-events:none}
    .page-destination-detail .cta-banner > * {position:relative;z-index:1}
    .page-destination-detail .cta-banner h3 {font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;margin-bottom:0.5rem}
    .page-destination-detail .cta-banner h3 em {font-style:italic;color:var(--beige)}
    .page-destination-detail .cta-banner p {font-size:0.95rem;color:rgba(245,222,179,0.8);margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}
    .page-destination-detail .btn {display:inline-flex;align-items:center;gap:0.5rem;padding:0.9rem 1.8rem;font-family:var(--font-body);font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;border-radius:5px;border:none;cursor:pointer;transition:all 0.3s var(--ease)}
    .page-destination-detail .btn--primary {background:var(--green);color:var(--white)}
    .page-destination-detail .btn--primary:hover {background:var(--green-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,139,34,0.3)}
    .page-destination-detail .btn--outline {background:transparent;color:var(--navy);border:1.5px solid rgba(0,51,102,0.2)}
    .page-destination-detail .btn--outline:hover {border-color:var(--navy);background:var(--navy);color:var(--beige)}
    .page-destination-detail .btn--large {padding:1.05rem 2rem;font-size:0.88rem}
    .page-destination-detail .btn svg {width:15px;height:15px}

    /* ═══ FOOTER ═══ */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    

    @media(max-width:1024px) {

      .page-destination-detail .content-wrap {grid-template-columns:1fr}
      .page-destination-detail .side-nav {position:static;display:none}
      .page-destination-detail .courses-featured, .page-destination-detail .hotels-grid {grid-template-columns:repeat(2,1fr)}
      .page-destination-detail .courses-list__grid {grid-template-columns:repeat(2,1fr)}
      .page-destination-detail .region-layout {grid-template-columns:1fr}
      .page-destination-detail .itin-cards {grid-template-columns:1fr}
      .page-destination-detail .stats-grid {grid-template-columns:repeat(2,1fr)}
      
    
}
    @media(max-width:768px) {

      .page-destination-detail .nav-dropdown__panel {display:none}
      .page-destination-detail .courses-featured, .page-destination-detail .hotels-grid {grid-template-columns:1fr}
      .page-destination-detail .courses-list__grid {grid-template-columns:1fr}
      .page-destination-detail .climate-box {grid-template-columns:1fr}
      .page-destination-detail .itin-card-sm {grid-template-columns:90px 1fr}
      
      
    
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  ITINERARIES (.page-itineraries)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ PAGE HERO ═══ */
    .page-itineraries .page-hero {position:relative;min-height:45vh;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep)}
    .page-itineraries .page-hero__bg {position:absolute;inset:0;background:url('../images/itinerary-banner.jpg') center/cover no-repeat}
    .page-itineraries .page-hero__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.9) 0%,rgba(0,51,102,0.65) 50%,rgba(34,139,34,0.2) 100%)}
    .page-itineraries .page-hero__content {position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(4rem,8vw,6rem) clamp(1.5rem,5vw,4rem);text-align:center}
    .page-itineraries .page-hero__eyebrow {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.25em;color:var(--tan-light);font-weight:600;margin-bottom:1rem}
    .page-itineraries .page-hero h1 {font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.8rem);font-weight:300;color:var(--white);line-height:1.15;margin-bottom:1.2rem;max-width:750px;margin-left:auto;margin-right:auto}
    .page-itineraries .page-hero h1 em {font-style:italic;color:var(--beige);font-weight:400}
    .page-itineraries .page-hero__sub {font-size:1.05rem;color:rgba(245,222,179,0.8);max-width:580px;margin:0 auto;line-height:1.8}

    /* ═══ REGION NAV STRIP ═══ */
    .page-itineraries .region-nav {background:var(--white);border-bottom:1px solid rgba(0,51,102,0.06);padding:1.2rem 0;position:sticky;top:80px;z-index:50}
    .page-itineraries .region-nav__inner {display:flex;justify-content:center;gap:clamp(0.8rem,2vw,1.8rem);flex-wrap:wrap}
    .page-itineraries .region-nav a {font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:600;color:var(--text-muted);padding:0.4rem 0.8rem;border-radius:4px;transition:all 0.3s}
    .page-itineraries .region-nav a:hover {color:var(--green);background:var(--beige-pale)}

    /* ═══ SECTIONS ═══ */
    .page-itineraries .section {padding:clamp(3.5rem,7vw,5.5rem) 0;scroll-margin-top:140px}
    .page-itineraries .section--beige {background:var(--beige-pale)}
    .page-itineraries .section--navy {background:var(--navy);color:var(--white)}
    .page-itineraries .region-header {margin-bottom:clamp(2rem,4vw,3rem)}
    .page-itineraries .region-eyebrow {font-size:0.68rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:700;color:var(--green);margin-bottom:0.5rem}
    .page-itineraries .section--navy .region-eyebrow {color:var(--tan-light)}
    .page-itineraries .region-title {font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:0.6rem}
    .page-itineraries .section--navy .region-title {color:var(--white)}
    .page-itineraries .region-title em {font-style:italic;color:var(--green)}
    .page-itineraries .section--navy .region-title em {color:var(--beige)}
    .page-itineraries .region-subtitle {font-size:0.95rem;color:var(--text-muted);max-width:600px;line-height:1.7}
    .page-itineraries .section--navy .region-subtitle {color:rgba(245,222,179,0.65)}

    /* ═══ ITINERARY CARDS ═══ */
    .page-itineraries .itin-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
    .page-itineraries .itin-card {display:grid;grid-template-columns:260px 1fr;background:var(--white);border-radius:12px;overflow:hidden;border:1px solid rgba(0,51,102,0.06);transition:all 0.5s var(--ease)}
    .page-itineraries .section--navy .itin-card {background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)}
    .page-itineraries .itin-card:hover {transform:translateY(-4px);box-shadow:0 16px 50px rgba(0,51,102,0.1)}
    .page-itineraries .section--navy .itin-card:hover {box-shadow:0 16px 50px rgba(0,0,0,0.25);border-color:rgba(34,139,34,0.3)}
    .page-itineraries .itin-card__img {background-size:cover;background-position:center;position:relative;min-height:260px}
    .page-itineraries .itin-card__img::after {content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.25),transparent)}
    .page-itineraries .itin-card__badge {position:absolute;top:1rem;left:1rem;background:var(--green);color:var(--white);padding:0.25rem 0.7rem;border-radius:4px;font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;z-index:2}
    .page-itineraries .itin-card__body {padding:1.6rem;display:flex;flex-direction:column}
    .page-itineraries .itin-card__dest {font-size:0.6rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--green);font-weight:700;margin-bottom:0.3rem}
    .page-itineraries .section--navy .itin-card__dest {color:var(--green-light)}
    .page-itineraries .itin-card__title {font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem;line-height:1.25}
    .page-itineraries .section--navy .itin-card__title {color:var(--white)}
    .page-itineraries .itin-card__region {font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-bottom:0.8rem}
    .page-itineraries .section--navy .itin-card__region {color:rgba(245,222,179,0.55)}
    .page-itineraries .itin-card__meta {display:flex;gap:1rem;padding:0.7rem 0;border-top:1px solid rgba(0,51,102,0.06);border-bottom:1px solid rgba(0,51,102,0.06);margin-bottom:0.9rem}
    .page-itineraries .section--navy .itin-card__meta {border-color:rgba(255,255,255,0.08)}
    .page-itineraries .itin-card__meta-item {font-size:0.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em}
    .page-itineraries .section--navy .itin-card__meta-item {color:rgba(245,222,179,0.5)}
    .page-itineraries .itin-card__meta-item strong {color:var(--navy);display:block;font-size:1rem;font-weight:700;font-family:var(--font-display);letter-spacing:0}
    .page-itineraries .section--navy .itin-card__meta-item strong {color:var(--beige)}
    .page-itineraries .itin-card__courses {font-size:0.8rem;color:var(--text-muted);line-height:1.55;margin-bottom:1rem}
    .page-itineraries .section--navy .itin-card__courses {color:rgba(245,222,179,0.55)}
    .page-itineraries .itin-card__courses strong {color:var(--navy);font-weight:600;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.12em;display:block;margin-bottom:0.3rem}
    .page-itineraries .section--navy .itin-card__courses strong {color:var(--tan-light)}
    .page-itineraries .itin-card__actions {display:flex;gap:0.6rem;margin-top:auto;flex-wrap:wrap}
    .page-itineraries .btn {display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.1rem;font-family:var(--font-body);font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;border-radius:5px;border:none;cursor:pointer;transition:all 0.3s var(--ease)}
    .page-itineraries .btn--primary {background:var(--green);color:var(--white)}
    .page-itineraries .btn--primary:hover {background:var(--green-light);transform:translateY(-2px);box-shadow:0 6px 18px rgba(34,139,34,0.25)}
    .page-itineraries .btn--outline {background:transparent;color:var(--navy);border:1.5px solid rgba(0,51,102,0.2)}
    .page-itineraries .btn--outline:hover {border-color:var(--navy);background:var(--navy);color:var(--beige)}
    .page-itineraries .section--navy .btn--outline {color:var(--beige);border-color:rgba(245,222,179,0.3)}
    .page-itineraries .section--navy .btn--outline:hover {background:var(--beige);color:var(--navy)}
    .page-itineraries .btn--large {padding:0.9rem 1.8rem;font-size:0.82rem}
    .page-itineraries .btn--outline-light {background:transparent;color:var(--beige);border:1.5px solid rgba(245,222,179,0.4)}
    .page-itineraries .btn--outline-light:hover {border-color:var(--beige);background:rgba(245,222,179,0.08)}
    .page-itineraries .btn svg {width:13px;height:13px}
    .page-itineraries .btn--large svg {width:15px;height:15px}

    /* ═══ EXCLUSIVE US OFFERS ═══ */
    .page-itineraries .offers-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
    .page-itineraries .offer-card {
      background:var(--white);border-radius:12px;overflow:hidden;
      border:2px solid var(--green);position:relative;
      transition:all 0.4s var(--ease);
    }
    .page-itineraries .offer-card:hover {transform:translateY(-4px);box-shadow:0 16px 50px rgba(34,139,34,0.15)}
    .page-itineraries .offer-card__ribbon {
      position:absolute;top:12px;right:-35px;transform:rotate(45deg);
      background:var(--green);color:var(--white);
      padding:0.3rem 2.5rem;font-size:0.62rem;font-weight:700;
      text-transform:uppercase;letter-spacing:0.12em;
      z-index:2;box-shadow:0 2px 8px rgba(0,0,0,0.15);
    }
    .page-itineraries .offer-card__img {height:180px;background-size:cover;background-position:center;position:relative}
    .page-itineraries .offer-card__img::after {content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.6),transparent)}
    .page-itineraries .offer-card__body {padding:1.5rem}
    .page-itineraries .offer-card__location {font-size:0.6rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--green);font-weight:700;margin-bottom:0.3rem}
    .page-itineraries .offer-card__title {font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--navy);margin-bottom:0.6rem;line-height:1.25}
    .page-itineraries .offer-card__desc {font-size:0.82rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem;min-height:3.2rem}
    .page-itineraries .offer-card__link {font-size:0.72rem;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;display:inline-flex;align-items:center;gap:0.3rem;transition:gap 0.3s}
    .page-itineraries .offer-card__link:hover {gap:0.6rem}

    /* ═══ MAJORS BANNER ═══ */
    .page-itineraries .majors-banner {
      display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
      margin-top:2rem;
    }
    .page-itineraries .major-card {
      position:relative;border-radius:12px;overflow:hidden;
      min-height:220px;cursor:pointer;
      display:flex;align-items:flex-end;padding:2rem;
    }
    .page-itineraries .major-card__img {position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.7s var(--ease)}
    .page-itineraries .major-card:hover .major-card__img {transform:scale(1.05)}
    .page-itineraries .major-card__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.85) 0%,rgba(34,139,34,0.5) 100%)}
    .page-itineraries .major-card__content {position:relative;z-index:2;color:var(--white)}
    .page-itineraries .major-card__badge {
      display:inline-block;background:var(--green);color:var(--white);
      padding:0.25rem 0.7rem;border-radius:4px;font-size:0.6rem;
      font-weight:700;text-transform:uppercase;letter-spacing:0.12em;
      margin-bottom:0.8rem;
    }
    .page-itineraries .major-card h3 {font-family:var(--font-display);font-size:1.6rem;font-weight:500;margin-bottom:0.4rem;line-height:1.2}
    .page-itineraries .major-card h3 em {font-style:italic;color:var(--beige)}
    .page-itineraries .major-card p {font-size:0.85rem;color:rgba(245,222,179,0.8);line-height:1.55;margin-bottom:0.8rem;max-width:340px}
    .page-itineraries .major-card__link {font-size:0.72rem;color:var(--beige);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;display:inline-flex;align-items:center;gap:0.3rem;transition:gap 0.3s,color 0.3s}
    .page-itineraries .major-card__link:hover {gap:0.6rem;color:var(--green-light)}

    /* ═══ OTHER DESTINATIONS ═══ */
    .page-itineraries .other-intro {text-align:center;max-width:680px;margin:0 auto clamp(2rem,4vw,3rem)}
    .page-itineraries .other-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}
    .page-itineraries .other-card {
      position:relative;border-radius:12px;overflow:hidden;
      min-height:260px;display:flex;align-items:flex-end;padding:1.8rem;
      cursor:pointer;
    }
    .page-itineraries .other-card__img {position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.7s var(--ease)}
    .page-itineraries .other-card:hover .other-card__img {transform:scale(1.06)}
    .page-itineraries .other-card__overlay {position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.9) 0%,rgba(0,34,68,0.25) 60%,rgba(0,34,68,0.05) 100%);transition:background 0.4s}
    .page-itineraries .other-card:hover .other-card__overlay {background:linear-gradient(to top,rgba(34,139,34,0.85) 0%,rgba(0,34,68,0.4) 70%,rgba(0,34,68,0.15) 100%)}
    .page-itineraries .other-card__content {position:relative;z-index:2;color:var(--white)}
    .page-itineraries .other-card h3 {font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:0.4rem}
    .page-itineraries .other-card p {font-size:0.82rem;color:rgba(245,222,179,0.85);line-height:1.55;margin-bottom:0.8rem;max-width:280px}
    .page-itineraries .other-card__link {font-size:0.7rem;color:var(--beige);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;display:inline-flex;align-items:center;gap:0.3rem}

    /* ═══ CTA ═══ */
    .page-itineraries .cta-section {position:relative;padding:clamp(4rem,8vw,6rem) 0;text-align:center;color:var(--white);overflow:hidden}
    .page-itineraries .cta-section__bg {position:absolute;inset:0;background:url('../images/cta-bg1.jpg') center/cover no-repeat}
    .page-itineraries .cta-section__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.94),rgba(0,51,102,0.85) 50%,rgba(34,139,34,0.4))}
    .page-itineraries .cta-section .container {position:relative;z-index:2}
    .page-itineraries .cta-section h2 {font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:0.8rem}
    .page-itineraries .cta-section h2 em {font-style:italic;color:var(--beige)}
    .page-itineraries .cta-section p {font-size:1rem;color:rgba(245,222,179,0.75);margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto}
    .page-itineraries .cta-actions {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

    /* ═══ FOOTER ═══ */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    

    
    

    @media(max-width:1024px) {

      .page-itineraries .itin-grid {grid-template-columns:1fr}
      .page-itineraries .itin-card {grid-template-columns:220px 1fr}
      .page-itineraries .offers-grid {grid-template-columns:1fr 1fr}
      .page-itineraries .other-grid {grid-template-columns:1fr 1fr 1fr}
      .page-itineraries .majors-banner {grid-template-columns:1fr}
      
    
}
    @media(max-width:768px) {

      .page-itineraries .region-nav {position:static}
      .page-itineraries .itin-card {grid-template-columns:1fr}
      .page-itineraries .itin-card__img {min-height:180px}
      .page-itineraries .offers-grid, .page-itineraries .other-grid {grid-template-columns:1fr}
      
      
    
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  ITINERARY DETAIL — template for scotland-home-of-golf.html + 30+ siblings (.page-itinerary-detail)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ ITINERARY HERO ═══ */
    .page-itinerary-detail .itin-hero {position:relative;min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy-deep)}
    .page-itinerary-detail .itin-hero__bg {position:absolute;inset:0;background:url('../images/scotland-home-of-golf-hero.jpg') center/cover no-repeat}
    .page-itinerary-detail .itin-hero__overlay {position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.95) 0%,rgba(0,34,68,0.4) 55%,rgba(0,34,68,0.1) 100%)}
    .page-itinerary-detail .itin-hero__content {position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(4rem,10vw,7rem) clamp(1.5rem,5vw,4rem) clamp(3rem,6vw,5rem);width:100%}
    .page-itinerary-detail .itin-hero__crumb {display:flex;align-items:center;gap:0.5rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;color:rgba(245,222,179,0.7);margin-bottom:1rem;flex-wrap:wrap}
    .page-itinerary-detail .itin-hero__crumb a {color:rgba(245,222,179,0.7);transition:color 0.3s}
    .page-itinerary-detail .itin-hero__crumb a:hover {color:var(--green-light)}
    .page-itinerary-detail .itin-hero__crumb svg {width:10px;height:10px}
    .page-itinerary-detail .itin-hero__badge {display:inline-block;background:var(--green);color:var(--white);padding:0.3rem 0.9rem;border-radius:4px;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;margin-bottom:1rem}
    .page-itinerary-detail .itin-hero h1 {font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.8rem);font-weight:300;color:var(--white);line-height:1.05;margin-bottom:1rem;max-width:800px}
    .page-itinerary-detail .itin-hero h1 em {font-style:italic;color:var(--beige)}
    .page-itinerary-detail .itin-hero__location {font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.4rem);font-style:italic;color:var(--beige);font-weight:300}

    /* ═══ KEY STATS BAR ═══ */
    .page-itinerary-detail .stats-bar {background:var(--white);border-bottom:1px solid rgba(0,51,102,0.06);padding:1.5rem 0;position:sticky;top:80px;z-index:50}
    .page-itinerary-detail .stats-bar__inner {display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
    .page-itinerary-detail .stats-quick {display:flex;gap:clamp(1.2rem,3vw,2.5rem);align-items:center;flex-wrap:wrap}
    .page-itinerary-detail .stat-q {text-align:center}
    .page-itinerary-detail .stat-q__val {font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--navy);line-height:1}
    .page-itinerary-detail .stat-q__val em {font-style:italic;color:var(--green)}
    .page-itinerary-detail .stat-q__lbl {font-size:0.6rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-muted);font-weight:600;margin-top:0.2rem}
    .page-itinerary-detail .stats-bar__cta {display:flex;gap:0.6rem;flex-wrap:wrap}
    .page-itinerary-detail .btn {display:inline-flex;align-items:center;gap:0.4rem;padding:0.75rem 1.4rem;font-family:var(--font-body);font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;border-radius:5px;border:none;cursor:pointer;transition:all 0.3s var(--ease)}
    .page-itinerary-detail .btn--primary {background:var(--green);color:var(--white)}
    .page-itinerary-detail .btn--primary:hover {background:var(--green-light);transform:translateY(-2px);box-shadow:0 6px 18px rgba(34,139,34,0.25)}
    .page-itinerary-detail .btn--outline {background:var(--navy);color:var(--white);border:1.5px solid var(--navy)}
    .page-itinerary-detail .btn--outline:hover {background:var(--navy);color:var(--white);border:1.5px solid var(--navy)}
    .page-itinerary-detail .btn--large {padding:1rem 2rem;font-size:0.85rem}
    .page-itinerary-detail .btn svg {width:13px;height:13px}
    .page-itinerary-detail .btn--large svg {width:15px;height:15px}

    /* ═══ INTRO ═══ */
    .page-itinerary-detail .intro-section {padding:clamp(3rem,6vw,5rem) 0;background:var(--off-white)}
    .page-itinerary-detail .intro-layout {display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
    .page-itinerary-detail .intro-text__eyebrow {font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;font-weight:700;color:var(--green);margin-bottom:0.8rem}
    .page-itinerary-detail .intro-text h2 {font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:1.2rem}
    .page-itinerary-detail .intro-text h2 em {font-style:italic;color:var(--green)}
    .page-itinerary-detail .intro-text p {font-size:1rem;line-height:1.85;color:var(--text);margin-bottom:1.2rem}
    .page-itinerary-detail .intro-text p:last-child {margin-bottom:0}
    .page-itinerary-detail .intro-highlights {background:var(--white);border-radius:12px;padding:1.8rem;border:1px solid rgba(0,51,102,0.06);box-shadow:0 4px 20px rgba(0,51,102,0.04)}
    .page-itinerary-detail .intro-highlights__title {font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--tan);font-weight:700;margin-bottom:1rem;padding-bottom:0.8rem;border-bottom:1px solid rgba(0,51,102,0.08)}
    .page-itinerary-detail .intro-highlights ul li {display:flex;align-items:flex-start;gap:0.8rem;padding:0.7rem 0;border-bottom:1px solid rgba(0,51,102,0.06);font-size:0.9rem}
    .page-itinerary-detail .intro-highlights ul li:last-child {border-bottom:none}
    .page-itinerary-detail .intro-highlights__icon {width:32px;height:32px;flex-shrink:0;background:var(--beige-pale);border-radius:50%;display:flex;align-items:center;justify-content:center}
    .page-itinerary-detail .intro-highlights__icon svg {width:15px;height:15px;color:var(--green)}
    .page-itinerary-detail .intro-highlights__text strong {display:block;color:var(--navy);font-weight:600;margin-bottom:0.15rem;font-family:var(--font-display);font-size:1rem}
    .page-itinerary-detail .intro-highlights__text span {color:var(--text-muted);font-size:0.82rem;line-height:1.5}

    /* ═══ DAY-BY-DAY TIMELINE ═══ */
    .page-itinerary-detail .timeline-section {background:var(--beige-pale);padding:clamp(3rem,6vw,5rem) 0}
    .page-itinerary-detail .section-title {text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem)}
    .page-itinerary-detail .section-title__eyebrow {font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;font-weight:700;color:var(--green);margin-bottom:0.6rem}
    .page-itinerary-detail .section-title h2 {font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:0.6rem}
    .page-itinerary-detail .section-title h2 em {font-style:italic;color:var(--green)}
    .page-itinerary-detail .section-title p {font-size:1rem;color:var(--text-muted);max-width:620px;margin:0 auto;line-height:1.75}

    .page-itinerary-detail .timeline {max-width:860px;margin:0 auto;position:relative}
    .page-itinerary-detail .timeline::before {content:'';position:absolute;left:30px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--green) 0%,var(--tan) 100%)}
    .page-itinerary-detail .day {position:relative;padding-left:80px;margin-bottom:2.5rem}
    .page-itinerary-detail .day:last-child {margin-bottom:0}
    .page-itinerary-detail .day__marker {
      position:absolute;left:0;top:0;width:62px;height:62px;
      background:var(--white);border:3px solid var(--green);
      border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
      box-shadow:0 4px 12px rgba(34,139,34,0.15);
    }
    .page-itinerary-detail .day__marker-num {font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--navy);line-height:1}
    .page-itinerary-detail .day__marker-lbl {font-size:0.52rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);font-weight:700;margin-top:0.1rem}
    .page-itinerary-detail .day__card {background:var(--white);border-radius:10px;padding:1.5rem 1.8rem;box-shadow:0 4px 18px rgba(0,51,102,0.05)}
    .page-itinerary-detail .day__title {font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--navy);margin-bottom:0.3rem}
    .page-itinerary-detail .day__sub {font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--green);font-weight:600;margin-bottom:0.8rem}
    .page-itinerary-detail .day__desc {font-size:0.92rem;color:var(--text);line-height:1.75;margin-bottom:1rem}
    .page-itinerary-detail .day__tags {display:flex;gap:0.5rem;flex-wrap:wrap}
    .page-itinerary-detail .day__tag {display:inline-flex;align-items:center;gap:0.35rem;background:var(--beige-pale);color:var(--navy);padding:0.3rem 0.7rem;border-radius:4px;font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em}
    .page-itinerary-detail .day__tag svg {width:11px;height:11px}

    /* ═══ COURSES ═══ */
    .page-itinerary-detail .courses-section {padding:clamp(3rem,6vw,5rem) 0}
    .page-itinerary-detail .course-row {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
    .page-itinerary-detail .course-box {display:block;text-decoration:none;color:inherit;background:var(--white);border-radius:10px;overflow:hidden;border:1px solid rgba(0,51,102,0.08);transition:all 0.4s}
    .page-itinerary-detail .course-box:hover {transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,51,102,0.1)}
    .page-itinerary-detail .course-box__img {height:180px;background-size:cover;background-position:center}
    .page-itinerary-detail .course-box__body {padding:1.3rem}
    .page-itinerary-detail .course-box__name {font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--navy);margin-bottom:0.2rem}
    .page-itinerary-detail .course-box__location {font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-bottom:0.8rem}
    .page-itinerary-detail .course-box__specs {display:flex;gap:1rem;padding:0.7rem 0;border-top:1px solid rgba(0,51,102,0.06);border-bottom:1px solid rgba(0,51,102,0.06);margin-bottom:0.8rem}
    .page-itinerary-detail .course-box__spec {font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);font-weight:600}
    .page-itinerary-detail .course-box__spec strong {display:block;font-family:var(--font-display);font-size:1.1rem;color:var(--navy);font-weight:600;letter-spacing:0}
    .page-itinerary-detail .course-box__desc {font-size:0.83rem;color:var(--text-muted);line-height:1.65}

    /* ═══ HOTELS ═══ */
    .page-itinerary-detail .hotels-section {padding:clamp(3rem,6vw,5rem) 0;background:var(--beige-pale)}
    .page-itinerary-detail .hotels-row {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
    .page-itinerary-detail .hotel-box {display:block;text-decoration:none;color:inherit;background:var(--white);border-radius:10px;overflow:hidden;transition:all 0.4s}
    .page-itinerary-detail .hotel-box:hover {transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,51,102,0.1)}
    .page-itinerary-detail .hotel-box__img {height:200px;background-size:cover;background-position:center}
    .page-itinerary-detail .hotel-box__body {padding:1.4rem}
    .page-itinerary-detail .hotel-box__stars {color:var(--tan);font-size:0.8rem;letter-spacing:0.1em;margin-bottom:0.25rem}
    .page-itinerary-detail .hotel-box__name {font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--navy);margin-bottom:0.2rem;line-height:1.25}
    .page-itinerary-detail .hotel-box__location {font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-bottom:0.8rem}
    .page-itinerary-detail .hotel-box__nights {display:inline-block;background:var(--beige-pale);color:var(--navy);padding:0.25rem 0.7rem;border-radius:4px;font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}

    /* ═══ WHAT'S INCLUDED ═══ */
    .page-itinerary-detail .included-section {padding:clamp(3rem,6vw,5rem) 0;background:var(--white)}
    .page-itinerary-detail .included-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem}
    .page-itinerary-detail .included-col h3 {font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--navy);margin-bottom:1rem;padding-bottom:0.8rem;border-bottom:2px solid var(--green);display:inline-block}
    .page-itinerary-detail .included-col ul li {display:flex;align-items:flex-start;gap:0.7rem;padding:0.6rem 0;font-size:0.92rem;color:var(--text);line-height:1.6}
    .page-itinerary-detail .included-col ul li svg {width:18px;height:18px;color:var(--green);flex-shrink:0;margin-top:3px}
    .page-itinerary-detail .value-adds {background:linear-gradient(135deg,var(--navy),var(--navy-light));color:var(--white);border-radius:12px;padding:2rem;margin-top:2rem;position:relative;overflow:hidden}
    .page-itinerary-detail .value-adds::before {content:'';position:absolute;top:-50%;right:-10%;width:60%;height:200%;background:radial-gradient(circle,rgba(34,139,34,0.12),transparent);pointer-events:none}
    .page-itinerary-detail .value-adds > * {position:relative;z-index:1}
    .page-itinerary-detail .value-adds h3 {font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--beige);margin-bottom:0.5rem}
    .page-itinerary-detail .value-adds h3 em {font-style:italic;color:var(--green-light)}
    .page-itinerary-detail .value-adds p {font-size:0.92rem;color:rgba(245,222,179,0.8);margin-bottom:1.2rem}
    .page-itinerary-detail .value-adds ul {display:grid;grid-template-columns:repeat(2,1fr);gap:0.7rem}
    .page-itinerary-detail .value-adds ul li {display:flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:rgba(245,222,179,0.9)}
    .page-itinerary-detail .value-adds ul li svg {width:16px;height:16px;color:var(--green-light);flex-shrink:0}

    /* ═══ ATTRACTIONS ═══ */
    .page-itinerary-detail .attractions-section {padding:clamp(3rem,6vw,5rem) 0;background:var(--off-white)}
    .page-itinerary-detail .attract-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
    .page-itinerary-detail .attract-card {position:relative;border-radius:10px;overflow:hidden;min-height:220px;display:flex;align-items:flex-end;padding:1.2rem;cursor:pointer}
    .page-itinerary-detail .attract-card__img {position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.6s}
    .page-itinerary-detail .attract-card:hover .attract-card__img {transform:scale(1.08)}
    .page-itinerary-detail .attract-card__overlay {position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.85),transparent 60%)}
    .page-itinerary-detail .attract-card__title {position:relative;z-index:1;font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--white)}

    /* ═══ GALLERY ═══ */
    .page-itinerary-detail .gallery-section {padding:clamp(3rem,6vw,5rem) 0 clamp(5rem,10vw,8rem);background:var(--beige-pale)}
    .page-itinerary-detail .gallery-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
    .page-itinerary-detail .gallery-item {position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer;background-size:cover;background-position:center}
    .page-itinerary-detail .gallery-item::before {content:'';position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;transition:transform 0.5s ease}
    .page-itinerary-detail .gallery-item:hover::before {transform:scale(1.08)}
    .page-itinerary-detail .gallery-item--wide {grid-column:span 1}
    .page-itinerary-detail .gallery-item--tall {grid-row:span 1}

    /* ═══ FINAL CTA ═══ */
    .page-itinerary-detail .final-cta {padding:clamp(4rem,8vw,6rem) 0;text-align:center;background:var(--navy);color:var(--white);position:relative;overflow:hidden}
    .page-itinerary-detail .final-cta::before {content:'';position:absolute;inset:0;background:url('../images/scotland1.jpg') center/cover;opacity:0.15}
    .page-itinerary-detail .final-cta > * {position:relative;z-index:1}
    .page-itinerary-detail .final-cta h2 {font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.3rem);font-weight:400;margin-bottom:0.8rem;line-height:1.1}
    .page-itinerary-detail .final-cta h2 em {font-style:italic;color:var(--beige)}
    .page-itinerary-detail .final-cta p {font-size:1.05rem;color:rgba(245,222,179,0.8);margin-bottom:2rem;max-width:560px;margin-left:auto;margin-right:auto}
    .page-itinerary-detail .final-cta__actions {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}
    .page-itinerary-detail .btn--outline-light {background:transparent;color:var(--beige);border:1.5px solid rgba(245,222,179,0.4)}
    .page-itinerary-detail .btn--outline-light:hover {border-color:var(--beige);background:rgba(245,222,179,0.08)}
    .page-itinerary-detail .final-cta__trust {display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid rgba(245,222,179,0.15);font-size:0.78rem;color:rgba(245,222,179,0.7)}
    .page-itinerary-detail .final-cta__trust span {display:flex;align-items:center;gap:0.4rem}
    .page-itinerary-detail .final-cta__trust svg {width:16px;height:16px;color:var(--green-light)}

    /* Footer (shared) */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    

    @media(max-width:1024px) {

      .page-itinerary-detail .intro-layout, .page-itinerary-detail .included-grid {grid-template-columns:1fr}
      .page-itinerary-detail .gallery-grid {grid-template-columns:repeat(3,1fr)}
      
    
}
    @media(max-width:768px) {

      .page-itinerary-detail .nav-dropdown__panel {display:none}
      .page-itinerary-detail .stats-bar {position:static}
      .page-itinerary-detail .stats-bar__inner {flex-direction:column;align-items:flex-start}
      .page-itinerary-detail .timeline::before {left:20px}
      .page-itinerary-detail .day {padding-left:58px}
      .page-itinerary-detail .day__marker {width:46px;height:46px}
      .page-itinerary-detail .day__marker-num {font-size:1.1rem}
      .page-itinerary-detail .value-adds ul {grid-template-columns:1fr}
      .page-itinerary-detail .gallery-grid {grid-template-columns:repeat(2,1fr)}
      
      
    
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  ABOUT (.page-about)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ PAGE HERO ═══ */
    .page-about .page-hero {
      position:relative;min-height:50vh;display:flex;align-items:center;
      overflow:hidden;background:var(--navy-deep);
    }
    .page-about .page-hero__bg {
      position:absolute;inset:0;
      background:url('../images/about-hero1.jpg') center/cover no-repeat;
    }
    .page-about .page-hero__overlay {
      position:absolute;inset:0;
      background:linear-gradient(135deg,rgba(0,34,68,0.92) 0%,rgba(0,51,102,0.7) 50%,rgba(34,139,34,0.25) 100%);
    }
    .page-about .page-hero__content {
      position:relative;z-index:2;max-width:1280px;margin:0 auto;
      padding:clamp(4rem,8vw,6rem) clamp(1.5rem,5vw,4rem);
      text-align:center;
    }
    .page-about .page-hero__eyebrow {
      font-size:0.72rem;text-transform:uppercase;letter-spacing:0.25em;
      color:var(--tan-light);font-weight:600;margin-bottom:1rem;
    }
    .page-about .page-hero h1 {
      font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.8rem);
      font-weight:300;color:var(--white);line-height:1.15;
      margin-bottom:1.2rem;max-width:700px;margin-left:auto;margin-right:auto;
    }
    .page-about .page-hero h1 em {font-style:italic;color:var(--beige);font-weight:400}
    .page-about .page-hero__sub {
      font-size:1.05rem;color:rgba(245,222,179,0.75);
      max-width:550px;margin:0 auto;line-height:1.8;
    }

    /* ═══ SECTIONS ═══ */
    .page-about .section {padding:clamp(4rem,8vw,6.5rem) 0}
    .page-about .section--beige {background:var(--beige-pale)}
    .page-about .section--navy {background:var(--navy);color:var(--white)}

    /* ═══ ORIGIN STORY ═══ */
    .page-about .story-block {
      display:grid;grid-template-columns:1fr 1fr;
      gap:clamp(2.5rem,5vw,5rem);align-items:center;
    }
    .page-about .story-block--reverse {direction:rtl}
    .page-about .story-block--reverse > * {direction:ltr}
    .page-about .story-img {border-radius:12px;overflow:hidden;position:relative}
    .page-about .story-img img {width:100%;aspect-ratio:4/5;object-fit:cover}
    .page-about .story-img__caption {
      position:absolute;bottom:0;left:0;right:0;
      background:linear-gradient(to top,rgba(0,34,68,0.85),transparent);
      padding:1.5rem;color:var(--beige);
      font-family:var(--font-display);font-style:italic;font-size:0.9rem;
    }
    .page-about .story-text h2 {
      font-family:var(--font-display);
      font-size:clamp(1.6rem,3vw,2.3rem);
      font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:1.2rem;
    }
    .page-about .story-text h2 em {font-style:italic;color:var(--green)}
    .page-about .story-text p {color:var(--text-muted);margin-bottom:1rem;font-size:0.95rem;line-height:1.85}
    .page-about .story-text p strong {color:var(--navy);font-weight:600}

    /* ═══ PULL QUOTE ═══ */
    .page-about .pull-quote {
      max-width:800px;margin:0 auto;text-align:center;
      padding:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,3rem);
    }
    .page-about .pull-quote__mark {
      font-family:var(--font-display);font-size:5rem;
      color:var(--green);line-height:0.5;margin-bottom:1rem;
    }
    .page-about .pull-quote blockquote {
      font-family:var(--font-display);
      font-size:clamp(1.3rem,2.5vw,1.8rem);
      font-weight:400;color:var(--navy);
      line-height:1.45;font-style:italic;margin-bottom:1.5rem;
    }
    .page-about .pull-quote__author {font-weight:600;color:var(--navy);font-size:0.95rem}
    .page-about .pull-quote__loc {font-size:0.78rem;color:var(--tan);text-transform:uppercase;letter-spacing:0.08em}
    .page-about .section--navy .pull-quote blockquote {color:var(--white)}
    .page-about .section--navy .pull-quote__author {color:var(--beige)}
    .page-about .section--navy .pull-quote__loc {color:var(--tan-light)}
    .page-about .section--navy .pull-quote__mark {color:var(--green-light)}

    /* ═══ VALUES GRID ═══ */
    .page-about .values-grid {
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:2rem;max-width:1000px;margin:0 auto;
    }
    .page-about .value-card {text-align:center;padding:2rem 1.5rem}
    .page-about .value-card__icon {
      width:56px;height:56px;
      background:linear-gradient(135deg,var(--navy),var(--navy-light));
      border-radius:12px;display:flex;align-items:center;justify-content:center;
      margin:0 auto 1.2rem;
    }
    .page-about .value-card__icon svg {width:24px;height:24px;color:var(--beige)}
    .page-about .value-card h3 {font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--navy);margin-bottom:0.5rem}
    .page-about .value-card p {font-size:0.88rem;color:var(--text-muted);line-height:1.65}

    /* ═══ TESTIMONIAL ROW ═══ */
    .page-about .test-row {display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
    .page-about .test-card {
      background:var(--white);border-radius:12px;padding:2rem;
      border:1px solid rgba(0,51,102,0.06);position:relative;
      border-left:4px solid var(--green);
      transition:all 0.4s var(--ease);
    }
    .page-about .test-card:hover {transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,51,102,0.06)}
    .page-about .test-card__title {font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--navy);font-style:italic;margin-bottom:0.8rem}
    .page-about .test-card__stars {color:var(--tan);font-size:0.85rem;letter-spacing:0.12em;margin-bottom:0.8rem}
    .page-about .test-card p {font-size:0.88rem;color:var(--text-muted);line-height:1.75;font-style:italic;margin-bottom:1.2rem}
    .page-about .test-card__author {font-weight:600;color:var(--navy);font-size:0.85rem}
    .page-about .test-card__loc {font-size:0.72rem;color:var(--tan);text-transform:uppercase;letter-spacing:0.08em}

    /* ═══ TIMELINE ═══ */
    .page-about .timeline {max-width:700px;margin:0 auto;position:relative;padding-left:3rem}
    .page-about .timeline::before {
      content:'';position:absolute;left:0.75rem;top:0;bottom:0;
      width:2px;background:var(--green);opacity:0.3;
    }
    .page-about .timeline-item {position:relative;margin-bottom:2.5rem}
    .page-about .timeline-item:last-child {margin-bottom:0}
    .page-about .timeline-item::before {
      content:'';position:absolute;left:-2.35rem;top:0.35rem;
      width:12px;height:12px;border-radius:50%;
      background:var(--green);border:3px solid var(--off-white);
    }
    .page-about .timeline-item__year {
      font-family:var(--font-display);font-size:1.4rem;
      font-weight:600;color:var(--navy);margin-bottom:0.2rem;
    }
    .page-about .timeline-item p {font-size:0.92rem;color:var(--text-muted);line-height:1.7}
    .page-about .timeline-item p strong {color:var(--navy);font-weight:600}

    /* ═══ CTA ═══ */
    .page-about .cta-section {
      position:relative;padding:clamp(4rem,8vw,6rem) 0;
      text-align:center;color:var(--white);overflow:hidden;
    }
    .page-about .cta-section__bg {position:absolute;inset:0;background:url('../images/cta-bg1.jpg') center/cover no-repeat}
    .page-about .cta-section__overlay {
      position:absolute;inset:0;
      background:linear-gradient(135deg,rgba(0,34,68,0.94),rgba(0,51,102,0.85) 50%,rgba(34,139,34,0.4));
    }
    .page-about .cta-section .container {position:relative;z-index:2}
    .page-about .cta-section h2 {font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:0.8rem}
    .page-about .cta-section h2 em {font-style:italic;color:var(--beige)}
    .page-about .cta-section p {font-size:1rem;color:rgba(245,222,179,0.75);margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto}
    .page-about .cta-actions {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
    .page-about .btn {
      display:inline-flex;align-items:center;gap:0.5rem;
      padding:0.9rem 2rem;font-family:var(--font-body);
      font-size:0.82rem;font-weight:600;text-transform:uppercase;
      letter-spacing:0.12em;border-radius:4px;border:none;
      cursor:pointer;transition:all 0.4s var(--ease);
    }
    .page-about .btn--primary {background:var(--green);color:var(--white)}
    .page-about .btn--primary:hover {background:var(--green-light);transform:translateY(-2px);box-shadow:0 8px 30px rgba(34,139,34,0.3)}
    .page-about .btn--outline-light {background:transparent;color:var(--beige);border:1.5px solid rgba(245,222,179,0.4)}
    .page-about .btn--outline-light:hover {border-color:var(--beige);background:rgba(245,222,179,0.08)}
    .page-about .btn svg {width:16px;height:16px}

    /* ═══ FOOTER ═══ */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* Chat widget */
    
    
    

    
    

    @media(max-width:1024px) {

      .page-about .story-block, .page-about .story-block--reverse {grid-template-columns:1fr;direction:ltr}
      .page-about .story-block--reverse > * {direction:ltr}
      .page-about .test-row {grid-template-columns:1fr 1fr}
      
    
}
    @media(max-width:768px) {

      .page-about .values-grid {grid-template-columns:1fr}
      .page-about .test-row {grid-template-columns:1fr}
      
      
    
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  CUSTOM TRIP — quote form (.page-custom-trip)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ PAGE HERO ═══ */
    .page-custom-trip .page-hero {position:relative;padding:clamp(3rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem);overflow:hidden;background:var(--navy-deep)}
    .page-custom-trip .page-hero__bg {position:absolute;inset:0;background:url('../images/custom-trip-banner.jpg') center/cover no-repeat}
    .page-custom-trip .page-hero__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.92) 0%,rgba(0,51,102,0.75) 50%,rgba(34,139,34,0.3) 100%)}
    .page-custom-trip .page-hero__content {position:relative;z-index:2;text-align:center}
    .page-custom-trip .page-hero__eyebrow {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.25em;color:var(--tan-light);font-weight:600;margin-bottom:1rem}
    .page-custom-trip .page-hero h1 {font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:300;color:var(--white);line-height:1.15;margin-bottom:1rem;max-width:780px;margin-left:auto;margin-right:auto}
    .page-custom-trip .page-hero h1 em {font-style:italic;color:var(--beige);font-weight:400}
    .page-custom-trip .page-hero__sub {font-size:1.05rem;color:rgba(245,222,179,0.8);max-width:620px;margin:0 auto;line-height:1.75}

    /* ═══ COMPLIMENTARY BENEFITS RIBBON ═══ */
    .page-custom-trip .benefits-ribbon {
      background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
      color:var(--white);padding:1.25rem 0;
      border-bottom:3px solid var(--green);
    }
    .page-custom-trip .benefits-ribbon__inner {
      display:flex;justify-content:center;align-items:center;
      gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap;
    }
    .page-custom-trip .benefit-item {display:flex;align-items:center;gap:0.75rem;font-size:0.9rem;font-weight:500;color:var(--beige)}
    .page-custom-trip .benefit-item__icon {
      width:40px;height:40px;flex-shrink:0;
      background:rgba(34,139,34,0.25);
      border:1px solid rgba(34,139,34,0.4);border-radius:50%;
      display:flex;align-items:center;justify-content:center;
    }
    .page-custom-trip .benefit-item__icon svg {width:18px;height:18px;color:var(--green-light)}
    .page-custom-trip .benefit-item__text strong {display:block;color:var(--white);font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:0.01em}
    .page-custom-trip .benefit-item__text span {font-size:0.78rem;color:rgba(245,222,179,0.7);letter-spacing:0.03em}

    /* ═══ FORM LAYOUT ═══ */
    .page-custom-trip .form-wrapper {padding:clamp(3rem,6vw,4.5rem) 0;background:var(--off-white)}
    .page-custom-trip .form-container {max-width:860px;margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem)}

    /* Progress bar */
    .page-custom-trip .progress {
      display:flex;justify-content:space-between;align-items:center;
      margin-bottom:2.5rem;position:relative;
    }
    .page-custom-trip .progress::before {
      content:'';position:absolute;top:20px;left:5%;right:5%;height:2px;
      background:rgba(0,51,102,0.1);z-index:0;
    }
    .page-custom-trip .progress__line {
      position:absolute;top:20px;left:5%;height:2px;
      background:var(--green);z-index:1;
      transition:width 0.5s var(--ease);width:0%;
    }
    .page-custom-trip .progress-step {
      position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;
      flex:1;
    }
    .page-custom-trip .progress-step__circle {
      width:40px;height:40px;border-radius:50%;
      background:var(--white);border:2px solid rgba(0,51,102,0.15);
      color:var(--text-muted);font-family:var(--font-display);
      font-size:1.1rem;font-weight:600;
      display:flex;align-items:center;justify-content:center;
      transition:all 0.4s var(--ease);
    }
    .page-custom-trip .progress-step.active .progress-step__circle {
      background:var(--green);border-color:var(--green);color:var(--white);
      box-shadow:0 0 0 4px rgba(34,139,34,0.15);
    }
    .page-custom-trip .progress-step.complete .progress-step__circle {
      background:var(--navy);border-color:var(--navy);color:var(--beige);
    }
    .page-custom-trip .progress-step__label {
      font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;
      color:var(--text-muted);font-weight:600;margin-top:0.5rem;
      text-align:center;
    }
    .page-custom-trip .progress-step.active .progress-step__label {color:var(--green)}
    .page-custom-trip .progress-step.complete .progress-step__label {color:var(--navy)}

    /* Form card */
    .page-custom-trip .form-card {
      background:var(--white);border:1px solid rgba(0,51,102,0.06);
      border-radius:16px;padding:clamp(2rem,4vw,3rem);
      box-shadow:0 8px 40px rgba(0,51,102,0.04);
    }

    /* Step */
    .page-custom-trip .step {display:none;animation:fadeStep 0.5s var(--ease)}
    .page-custom-trip .step.active {display:block}
    @keyframes fadeStep{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
    .page-custom-trip .step__eyebrow {font-size:0.7rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--green);font-weight:700;margin-bottom:0.5rem}
    .page-custom-trip .step__title {font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:0.6rem}
    .page-custom-trip .step__title em {font-style:italic;color:var(--green)}
    .page-custom-trip .step__sub {font-size:0.95rem;color:var(--text-muted);margin-bottom:2rem;line-height:1.65}

    /* Labels & inputs */
    .page-custom-trip label {display:block;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--navy);margin-bottom:0.5rem}
    .page-custom-trip .field {margin-bottom:1.4rem}
    .page-custom-trip .field-row {display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
    .page-custom-trip input[type="text"], .page-custom-trip input[type="email"], .page-custom-trip input[type="tel"], .page-custom-trip input[type="date"], .page-custom-trip input[type="number"], .page-custom-trip select, .page-custom-trip textarea {
      width:100%;padding:0.85rem 1rem;
      font-family:var(--font-body);font-size:0.95rem;color:var(--text);
      background:var(--off-white);
      border:1.5px solid rgba(0,51,102,0.1);border-radius:8px;
      outline:none;transition:border-color 0.3s,background 0.3s;
    }
    .page-custom-trip input:focus, .page-custom-trip select:focus, .page-custom-trip textarea:focus {border-color:var(--green);background:var(--white)}
    .page-custom-trip textarea {resize:vertical;min-height:110px;line-height:1.6}
    .page-custom-trip .field__help {font-size:0.78rem;color:var(--text-muted);margin-top:0.4rem;font-style:italic}

    /* Choice cards — visual pickers */
    .page-custom-trip .choice-grid {display:grid;gap:0.8rem}
    .page-custom-trip .choice-grid--2 {grid-template-columns:1fr 1fr}
    .page-custom-trip .choice-grid--3 {grid-template-columns:repeat(3,1fr)}
    .page-custom-trip .choice-grid--4 {grid-template-columns:repeat(4,1fr)}
    .page-custom-trip .choice {
      position:relative;cursor:pointer;
      background:var(--off-white);
      border:1.5px solid rgba(0,51,102,0.1);border-radius:10px;
      padding:1.1rem 1rem;
      transition:all 0.3s var(--ease);
      display:flex;flex-direction:column;align-items:flex-start;gap:0.4rem;
      text-align:left;
    }
    .page-custom-trip .choice:hover {border-color:var(--green);background:var(--white);transform:translateY(-2px);box-shadow:0 4px 16px rgba(34,139,34,0.08)}
    .page-custom-trip .choice input {position:absolute;opacity:0;pointer-events:none}
    .page-custom-trip .choice input:checked ~ .choice__content {color:var(--navy)}
    .page-custom-trip .choice:has(input:checked) {background:var(--beige-pale);border-color:var(--green);box-shadow:0 0 0 3px rgba(34,139,34,0.1)}
    .page-custom-trip .choice__icon {font-size:1.3rem;line-height:1}
    .page-custom-trip .choice__label {font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--navy)}
    .page-custom-trip .choice__desc {font-size:0.78rem;color:var(--text-muted);line-height:1.5}
    .page-custom-trip .choice__check {
      position:absolute;top:0.6rem;right:0.6rem;
      width:20px;height:20px;border-radius:50%;
      background:var(--green);color:var(--white);
      display:flex;align-items:center;justify-content:center;
      opacity:0;transform:scale(0.6);
      transition:all 0.3s var(--ease);
    }
    .page-custom-trip .choice__check svg {width:12px;height:12px}
    .page-custom-trip .choice:has(input:checked) .choice__check {opacity:1;transform:scale(1)}

    /* Destination picker — with images */
    .page-custom-trip .dest-pick-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:0.8rem}
    .page-custom-trip .dest-pick {
      position:relative;cursor:pointer;
      border-radius:10px;overflow:hidden;
      aspect-ratio:1;
      transition:all 0.3s var(--ease);
    }
    .page-custom-trip .dest-pick input {position:absolute;opacity:0;pointer-events:none}
    .page-custom-trip .dest-pick__img {position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.5s var(--ease)}
    .page-custom-trip .dest-pick:hover .dest-pick__img {transform:scale(1.06)}
    .page-custom-trip .dest-pick__overlay {position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.85) 0%,rgba(0,34,68,0.2) 70%);transition:background 0.3s}
    .page-custom-trip .dest-pick__label {
      position:absolute;bottom:0.6rem;left:0.8rem;right:0.8rem;
      font-family:var(--font-display);font-size:0.95rem;font-weight:600;
      color:var(--white);z-index:2;line-height:1.15;
    }
    .page-custom-trip .dest-pick__check {
      position:absolute;top:0.5rem;right:0.5rem;
      width:24px;height:24px;border-radius:50%;
      background:var(--green);color:var(--white);
      display:flex;align-items:center;justify-content:center;
      opacity:0;transform:scale(0.5);z-index:3;
      transition:all 0.3s var(--ease);
    }
    .page-custom-trip .dest-pick__check svg {width:14px;height:14px}
    .page-custom-trip .dest-pick:has(input:checked) .dest-pick__overlay {background:linear-gradient(to top,rgba(34,139,34,0.9) 0%,rgba(34,139,34,0.3) 70%)}
    .page-custom-trip .dest-pick:has(input:checked) {box-shadow:0 0 0 3px var(--green)}
    .page-custom-trip .dest-pick:has(input:checked) .dest-pick__check {opacity:1;transform:scale(1)}

    /* Pre-filled banner (if URL params passed) */
    .page-custom-trip .prefill-banner {
      background:linear-gradient(135deg,var(--beige-pale),var(--beige-light));
      border:1px solid var(--tan-light);border-radius:10px;
      padding:1rem 1.2rem;margin-bottom:1.5rem;
      display:none;align-items:center;gap:0.8rem;
    }
    .page-custom-trip .prefill-banner.show {display:flex}
    .page-custom-trip .prefill-banner__icon {
      width:36px;height:36px;flex-shrink:0;
      background:var(--green);color:var(--white);
      border-radius:50%;display:flex;align-items:center;justify-content:center;
    }
    .page-custom-trip .prefill-banner__icon svg {width:18px;height:18px}
    .page-custom-trip .prefill-banner__text {font-size:0.88rem;color:var(--navy)}
    .page-custom-trip .prefill-banner__text strong {font-family:var(--font-display);font-size:1rem;color:var(--green)}

    /* Nav buttons */
    .page-custom-trip .form-nav {
      display:flex;justify-content:space-between;align-items:center;
      margin-top:2rem;padding-top:1.8rem;border-top:1px solid rgba(0,51,102,0.08);
      gap:1rem;
    }
    .page-custom-trip .btn {
      display:inline-flex;align-items:center;gap:0.5rem;
      padding:0.9rem 1.8rem;font-family:var(--font-body);
      font-size:0.82rem;font-weight:600;text-transform:uppercase;
      letter-spacing:0.1em;border-radius:6px;border:none;
      cursor:pointer;transition:all 0.3s var(--ease);
    }
    .page-custom-trip .btn--primary {background:var(--green);color:var(--white)}
    .page-custom-trip .btn--primary:hover {background:var(--green-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,139,34,0.3)}
    .page-custom-trip .btn--ghost {background:transparent;color:var(--navy);border:1.5px solid rgba(0,51,102,0.15)}
    .page-custom-trip .btn--ghost:hover {border-color:var(--navy);background:var(--navy);color:var(--beige)}
    .page-custom-trip .btn--large {padding:1.1rem 2.2rem;font-size:0.88rem}
    .page-custom-trip .btn svg {width:15px;height:15px}
    .page-custom-trip .btn:disabled {opacity:0.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}

    /* Success screen */
    .page-custom-trip .success {text-align:center;padding:2rem 0;display:none}
    .page-custom-trip .success.active {display:block;animation:fadeStep 0.6s var(--ease)}
    .page-custom-trip .success__icon {
      width:80px;height:80px;margin:0 auto 1.5rem;
      background:linear-gradient(135deg,var(--green),var(--green-light));
      border-radius:50%;display:flex;align-items:center;justify-content:center;
      box-shadow:0 10px 30px rgba(34,139,34,0.3);
    }
    .page-custom-trip .success__icon svg {width:40px;height:40px;color:var(--white)}
    .page-custom-trip .success h2 {font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:0.8rem}
    .page-custom-trip .success h2 em {font-style:italic;color:var(--green)}
    .page-custom-trip .success p {font-size:1rem;color:var(--text-muted);max-width:520px;margin:0 auto 1rem;line-height:1.75}
    .page-custom-trip .success__highlight {
      background:var(--beige-pale);border:1px solid var(--tan-light);border-radius:10px;
      padding:1.5rem;margin:2rem auto;max-width:480px;
    }
    .page-custom-trip .success__highlight strong {font-family:var(--font-display);font-size:1.1rem;color:var(--navy);display:block;margin-bottom:0.5rem}
    .page-custom-trip .success__highlight p {font-size:0.88rem;margin:0}

    /* Trust row below form */
    .page-custom-trip .trust-row {
      display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;
      margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(0,51,102,0.08);
    }
    .page-custom-trip .trust-row__item {display:flex;align-items:center;gap:0.5rem;font-size:0.78rem;color:var(--text-muted);font-weight:500}
    .page-custom-trip .trust-row__item svg {width:16px;height:16px;color:var(--green)}

    /* ═══ FOOTER ═══ */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    

    /* Responsive */
    @media(max-width:900px) {

      .page-custom-trip .benefit-item__text span {display:none}
      .page-custom-trip .dest-pick-grid {grid-template-columns:repeat(3,1fr)}
      .page-custom-trip .choice-grid--4 {grid-template-columns:1fr 1fr}
      
    
}
    @media(max-width:640px) {

      .page-custom-trip .field-row {grid-template-columns:1fr}
      .page-custom-trip .dest-pick-grid {grid-template-columns:repeat(2,1fr)}
      .page-custom-trip .choice-grid--3, .page-custom-trip .choice-grid--2 {grid-template-columns:1fr}
      .page-custom-trip .progress-step__label {font-size:0.6rem}
      .page-custom-trip .benefits-ribbon__inner {gap:1.2rem}
      .page-custom-trip .benefit-item__text strong {font-size:0.88rem}
      
      
    
}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCKS  —  RESOURCE PAGES (shared)
   blog, faq, contact, credibility, travel-insurance, gift-certificates, payment
   These 7 pages share identical hero / section / button / CTA chrome.
   Page-specific hero backgrounds follow in individual blocks.
   ═══════════════════════════════════════════════════════════════════════════ */

.page-blog .page-hero,
.page-faq .page-hero,
.page-contact .page-hero,
.page-credibility .page-hero,
.page-travel-insurance .page-hero,
.page-gift-certificates .page-hero,
.page-payment .page-hero,
.page-terms .page-hero,
.page-privacy .page-hero,
.page-404 .page-hero {position:relative;min-height:42vh;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep)}

.page-blog .page-hero__overlay,
.page-faq .page-hero__overlay,
.page-contact .page-hero__overlay,
.page-credibility .page-hero__overlay,
.page-travel-insurance .page-hero__overlay,
.page-gift-certificates .page-hero__overlay,
.page-payment .page-hero__overlay,
.page-terms .page-hero__overlay,
.page-privacy .page-hero__overlay,
.page-404 .page-hero__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.92) 0%,rgba(0,51,102,0.78) 50%,rgba(34,139,34,0.25) 100%)}

.page-blog .page-hero__bg,
.page-faq .page-hero__bg,
.page-contact .page-hero__bg,
.page-credibility .page-hero__bg,
.page-travel-insurance .page-hero__bg,
.page-gift-certificates .page-hero__bg,
.page-payment .page-hero__bg,
.page-terms .page-hero__bg,
.page-privacy .page-hero__bg,
.page-404 .page-hero__bg {position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}

.page-blog .page-hero__content,
.page-faq .page-hero__content,
.page-contact .page-hero__content,
.page-credibility .page-hero__content,
.page-travel-insurance .page-hero__content,
.page-gift-certificates .page-hero__content,
.page-payment .page-hero__content,
.page-terms .page-hero__content,
.page-privacy .page-hero__content,
.page-404 .page-hero__content {position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(5rem,12vw,8rem) clamp(1.5rem,5vw,4rem) clamp(3rem,6vw,4rem);width:100%;text-align:center}

.page-blog .page-hero__eyebrow,
.page-faq .page-hero__eyebrow,
.page-contact .page-hero__eyebrow,
.page-credibility .page-hero__eyebrow,
.page-travel-insurance .page-hero__eyebrow,
.page-gift-certificates .page-hero__eyebrow,
.page-payment .page-hero__eyebrow,
.page-terms .page-hero__eyebrow,
.page-privacy .page-hero__eyebrow,
.page-404 .page-hero__eyebrow {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--tan-light);font-weight:600;margin-bottom:0.8rem}

.page-blog .page-hero h1,
.page-faq .page-hero h1,
.page-contact .page-hero h1,
.page-credibility .page-hero h1,
.page-travel-insurance .page-hero h1,
.page-gift-certificates .page-hero h1,
.page-payment .page-hero h1,
.page-terms .page-hero h1,
.page-privacy .page-hero h1,
.page-404 .page-hero h1 {font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--white);line-height:1.15;margin-bottom:1.2rem;max-width:700px;margin-left:auto;margin-right:auto}

.page-blog .page-hero h1 em,
.page-faq .page-hero h1 em,
.page-contact .page-hero h1 em,
.page-credibility .page-hero h1 em,
.page-travel-insurance .page-hero h1 em,
.page-gift-certificates .page-hero h1 em,
.page-payment .page-hero h1 em,
.page-terms .page-hero h1 em,
.page-privacy .page-hero h1 em,
.page-404 .page-hero h1 em {font-style:italic;color:var(--beige);font-weight:400}

.page-blog .page-hero__sub,
.page-faq .page-hero__sub,
.page-contact .page-hero__sub,
.page-credibility .page-hero__sub,
.page-travel-insurance .page-hero__sub,
.page-gift-certificates .page-hero__sub,
.page-payment .page-hero__sub,
.page-terms .page-hero__sub,
.page-privacy .page-hero__sub,
.page-404 .page-hero__sub {font-size:1.05rem;color:rgba(245,222,179,0.75);max-width:550px;margin:0 auto;line-height:1.8}

/* Hero backgrounds — page-specific */
.page-blog .page-hero__bg {background-image:url('../images/blog-hero.jpg')}
.page-blog .page-hero {min-height:45vh}
.page-faq .page-hero__bg {background-image:url('../images/faq-hero.jpg')}
.page-contact .page-hero__bg {background-image:url('../images/contact-hero.jpg')}
.page-credibility .page-hero__bg {background-image:url('../images/credibility-hero.jpg')}
.page-travel-insurance .page-hero__bg {background-image:url('../images/insurance-hero.jpg')}
.page-travel-insurance .page-hero__sub {max-width:600px}
.page-gift-certificates .page-hero__bg {background-image:url('../images/gift-hero.jpg')}
.page-payment .page-hero__bg {background-image:url('../images/payment-hero.jpg')}
.page-payment .page-hero {min-height:38vh}
.page-payment .page-hero__overlay {background:linear-gradient(135deg,rgba(0,34,68,0.94) 0%,rgba(0,51,102,0.82) 50%,rgba(34,139,34,0.2) 100%)}
.page-404 .page-hero__bg {background-image:url('../images/404-hero.jpg')}
.page-404 .page-hero {min-height:72vh;align-items:center}
.page-404 .page-hero__content {padding-bottom:clamp(4rem,8vw,6rem)}
.page-404 .page-hero__code {font-family:var(--font-display);font-size:clamp(6rem,15vw,10rem);font-weight:300;line-height:1;color:rgba(245,222,179,0.15);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;z-index:1}
.page-404 .page-hero__actions {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* Shared sections */
.page-blog .section,
.page-faq .section,
.page-contact .section,
.page-credibility .section,
.page-travel-insurance .section,
.page-gift-certificates .section,
.page-payment .section,
.page-terms .section,
.page-privacy .section {padding:clamp(4rem,8vw,6.5rem) 0}

.page-blog .section--beige,
.page-faq .section--beige,
.page-contact .section--beige,
.page-credibility .section--beige,
.page-travel-insurance .section--beige,
.page-gift-certificates .section--beige,
.page-payment .section--beige,
.page-terms .section--beige,
.page-privacy .section--beige {background:var(--beige-pale)}

.page-credibility .section--navy {background:var(--navy-deep);color:var(--beige)}

.page-blog .section-header,
.page-faq .section-header,
.page-contact .section-header,
.page-credibility .section-header,
.page-travel-insurance .section-header,
.page-gift-certificates .section-header,
.page-payment .section-header,
.page-terms .section-header,
.page-privacy .section-header {text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem)}

.page-blog .section-eyebrow,
.page-faq .section-eyebrow,
.page-contact .section-eyebrow,
.page-credibility .section-eyebrow,
.page-travel-insurance .section-eyebrow,
.page-gift-certificates .section-eyebrow,
.page-payment .section-eyebrow,
.page-terms .section-eyebrow,
.page-privacy .section-eyebrow {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:600;color:var(--green);margin-bottom:0.8rem}

.page-blog .section-title,
.page-faq .section-title,
.page-contact .section-title,
.page-credibility .section-title,
.page-travel-insurance .section-title,
.page-gift-certificates .section-title,
.page-payment .section-title,
.page-terms .section-title,
.page-privacy .section-title {font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:1rem}

.page-blog .section-subtitle,
.page-faq .section-subtitle,
.page-contact .section-subtitle,
.page-credibility .section-subtitle,
.page-travel-insurance .section-subtitle,
.page-gift-certificates .section-subtitle,
.page-payment .section-subtitle,
.page-terms .section-subtitle,
.page-privacy .section-subtitle {font-size:1rem;color:var(--text-muted);max-width:620px;margin:0 auto;line-height:1.7}

/* Shared buttons */
.page-blog .btn,
.page-faq .btn,
.page-contact .btn,
.page-credibility .btn,
.page-travel-insurance .btn,
.page-gift-certificates .btn,
.page-payment .btn,
.page-terms .btn,
.page-privacy .btn {display:inline-flex;align-items:center;gap:0.5rem;padding:0.9rem 2rem;font-family:var(--font-body);font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;border-radius:4px;border:none;cursor:pointer;transition:all 0.4s var(--ease)}
.page-blog .btn svg,.page-faq .btn svg,.page-contact .btn svg,.page-credibility .btn svg,.page-travel-insurance .btn svg,.page-gift-certificates .btn svg,.page-payment .btn svg,.page-terms .btn svg,.page-privacy .btn svg {width:16px;height:16px}

.page-blog .btn--primary,
.page-faq .btn--primary,
.page-contact .btn--primary,
.page-credibility .btn--primary,
.page-travel-insurance .btn--primary,
.page-gift-certificates .btn--primary,
.page-payment .btn--primary,
.page-terms .btn--primary,
.page-privacy .btn--primary {background:var(--green);color:var(--white)}
.page-blog .btn--primary:hover,.page-faq .btn--primary:hover,.page-contact .btn--primary:hover,.page-credibility .btn--primary:hover,.page-travel-insurance .btn--primary:hover,.page-gift-certificates .btn--primary:hover,.page-payment .btn--primary:hover,.page-terms .btn--primary:hover,.page-privacy .btn--primary:hover {background:var(--green-light);transform:translateY(-2px);box-shadow:0 8px 30px rgba(34,139,34,0.3)}

.page-blog .btn--outline-light,
.page-faq .btn--outline-light,
.page-contact .btn--outline-light,
.page-credibility .btn--outline-light,
.page-travel-insurance .btn--outline-light,
.page-gift-certificates .btn--outline-light,
.page-payment .btn--outline-light,
.page-terms .btn--outline-light,
.page-privacy .btn--outline-light {background:transparent;color:var(--beige);border:1.5px solid rgba(245,222,179,0.4)}
.page-blog .btn--outline-light:hover,.page-faq .btn--outline-light:hover,.page-contact .btn--outline-light:hover,.page-credibility .btn--outline-light:hover,.page-travel-insurance .btn--outline-light:hover,.page-gift-certificates .btn--outline-light:hover,.page-payment .btn--outline-light:hover,.page-terms .btn--outline-light:hover,.page-privacy .btn--outline-light:hover {border-color:var(--beige);background:rgba(245,222,179,0.08)}

.page-contact .btn--outline,
.page-travel-insurance .btn--outline,
.page-gift-certificates .btn--outline,
.page-payment .btn--outline {background:transparent;color:var(--navy);border:1.5px solid rgba(0,51,102,0.2)}
.page-contact .btn--outline:hover,.page-travel-insurance .btn--outline:hover,.page-gift-certificates .btn--outline:hover,.page-payment .btn--outline:hover {border-color:var(--green);color:var(--green)}

/* Shared CTA section */
.page-blog .cta-section,
.page-faq .cta-section,
.page-contact .cta-section,
.page-credibility .cta-section,
.page-travel-insurance .cta-section,
.page-gift-certificates .cta-section,
.page-payment .cta-section,
.page-terms .cta-section,
.page-privacy .cta-section {position:relative;padding:clamp(4rem,8vw,6rem) 0;text-align:center;color:var(--white);overflow:hidden}
.page-blog .cta-section__bg,.page-faq .cta-section__bg,.page-contact .cta-section__bg,.page-credibility .cta-section__bg,.page-travel-insurance .cta-section__bg,.page-gift-certificates .cta-section__bg,.page-payment .cta-section__bg,.page-terms .cta-section__bg,.page-privacy .cta-section__bg {position:absolute;inset:0;background:url('../images/cta-bg1.jpg') center/cover no-repeat}
.page-blog .cta-section__overlay,.page-faq .cta-section__overlay,.page-contact .cta-section__overlay,.page-credibility .cta-section__overlay,.page-travel-insurance .cta-section__overlay,.page-gift-certificates .cta-section__overlay,.page-payment .cta-section__overlay,.page-terms .cta-section__overlay,.page-privacy .cta-section__overlay {position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.94),rgba(0,51,102,0.85) 50%,rgba(34,139,34,0.4))}
.page-blog .cta-section .container,.page-faq .cta-section .container,.page-contact .cta-section .container,.page-credibility .cta-section .container,.page-travel-insurance .cta-section .container,.page-gift-certificates .cta-section .container,.page-payment .cta-section .container,.page-terms .cta-section .container,.page-privacy .cta-section .container {position:relative;z-index:2}
.page-blog .cta-section h2,.page-faq .cta-section h2,.page-contact .cta-section h2,.page-credibility .cta-section h2,.page-travel-insurance .cta-section h2,.page-gift-certificates .cta-section h2,.page-payment .cta-section h2,.page-terms .cta-section h2,.page-privacy .cta-section h2 {font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:0.8rem}
.page-blog .cta-section h2 em,.page-faq .cta-section h2 em,.page-contact .cta-section h2 em,.page-credibility .cta-section h2 em,.page-travel-insurance .cta-section h2 em,.page-gift-certificates .cta-section h2 em,.page-payment .cta-section h2 em,.page-terms .cta-section h2 em,.page-privacy .cta-section h2 em {font-style:italic;color:var(--beige)}
.page-blog .cta-section p,.page-faq .cta-section p,.page-contact .cta-section p,.page-credibility .cta-section p,.page-travel-insurance .cta-section p,.page-gift-certificates .cta-section p,.page-payment .cta-section p,.page-terms .cta-section p,.page-privacy .cta-section p {font-size:1rem;color:rgba(245,222,179,0.75);margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto}
.page-blog .cta-actions,.page-faq .cta-actions,.page-contact .cta-actions,.page-credibility .cta-actions,.page-travel-insurance .cta-actions,.page-gift-certificates .cta-actions,.page-payment .cta-actions,.page-terms .cta-actions,.page-privacy .cta-actions {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  BLOG (.page-blog)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-blog .newsletter-bar {background:var(--navy);padding:2rem 0;border-bottom:3px solid var(--green)}
.page-blog .newsletter-bar .container {display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.page-blog .newsletter-bar__text {color:var(--beige);flex:1;min-width:280px}
.page-blog .newsletter-bar__text h3 {font-family:var(--font-display);font-size:1.3rem;font-weight:400;margin-bottom:0.2rem}
.page-blog .newsletter-bar__text h3 em {font-style:italic;color:var(--green-light)}
.page-blog .newsletter-bar__text p {font-size:0.85rem;color:rgba(245,222,179,0.6)}
.page-blog .newsletter-bar__form {display:flex;gap:0.6rem;flex:1;max-width:480px}
.page-blog .newsletter-bar__form input {flex:1;padding:0.8rem 1.2rem;background:rgba(255,255,255,0.08);border:1px solid rgba(245,222,179,0.2);border-radius:4px;color:var(--beige);font-family:var(--font-body);font-size:0.88rem;outline:none}
.page-blog .newsletter-bar__form input::placeholder {color:rgba(245,222,179,0.35)}
.page-blog .newsletter-bar__form input:focus {border-color:var(--green)}
.page-blog .carousel-wrap {position:relative;overflow:hidden;border-radius:12px}
.page-blog .carousel-track {display:flex;transition:transform 0.6s var(--ease)}
.page-blog .carousel-slide {min-width:100%;position:relative;aspect-ratio:21/9;display:flex;align-items:flex-end;overflow:hidden}
.page-blog .carousel-slide__img {position:absolute;inset:0;background-size:cover;background-position:center}
.page-blog .carousel-slide__overlay {position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.92) 0%,rgba(0,34,68,0.3) 50%,transparent 100%)}
.page-blog .carousel-slide__content {position:relative;z-index:2;padding:clamp(2rem,4vw,3.5rem);width:100%;max-width:650px}
.page-blog .carousel-slide__date {font-size:0.72rem;color:rgba(245,222,179,0.5);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.6rem}
.page-blog .carousel-slide__dest {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--tan-light);font-weight:600;margin-bottom:0.6rem}
.page-blog .carousel-slide__title {font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;color:var(--white);line-height:1.2;margin-bottom:0.8rem}
.page-blog .carousel-slide__title em {font-style:italic;color:var(--beige)}
.page-blog .carousel-slide__excerpt {font-size:0.9rem;color:rgba(245,222,179,0.7);line-height:1.7;margin-bottom:1.5rem;max-width:480px}
.page-blog .carousel-nav {position:absolute;bottom:1.5rem;right:1.5rem;z-index:3;display:flex;align-items:center;gap:0.8rem}
.page-blog .carousel-btn {width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(245,222,179,0.3);background:rgba(0,34,68,0.5);backdrop-filter:blur(6px);color:var(--beige);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s}
.page-blog .carousel-btn:hover {background:var(--green);border-color:var(--green)}
.page-blog .carousel-btn svg {width:18px;height:18px}
.page-blog .carousel-dots {display:flex;gap:0.4rem}
.page-blog .carousel-dot {width:8px;height:8px;border-radius:50%;background:rgba(245,222,179,0.3);transition:all 0.3s;cursor:pointer}
.page-blog .carousel-dot.active {background:var(--green-light);transform:scale(1.3)}
.page-blog .filter-bar {display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:clamp(2rem,4vw,3rem)}
.page-blog .filter-btn {padding:0.5rem 1.2rem;border-radius:100px;border:1.5px solid rgba(0,51,102,0.12);background:var(--white);color:var(--navy);font-family:var(--font-body);font-size:0.78rem;font-weight:500;cursor:pointer;transition:all 0.3s}
.page-blog .filter-btn:hover {border-color:var(--green);color:var(--green)}
.page-blog .filter-btn.active {background:var(--navy);color:var(--beige);border-color:var(--navy)}
.page-blog .blog-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.page-blog .blog-card {background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 20px rgba(0,51,102,0.06);transition:all 0.4s var(--ease);display:flex;flex-direction:column}
.page-blog .blog-card:hover {transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,51,102,0.12)}
.page-blog .blog-card__img {height:200px;background-size:cover;background-position:center;position:relative}
.page-blog .blog-card__img::after {content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,34,68,0.15),transparent)}
.page-blog .blog-card__dest {position:absolute;top:1rem;left:1rem;z-index:2;padding:0.3rem 0.8rem;border-radius:100px;background:rgba(0,34,68,0.7);backdrop-filter:blur(6px);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--beige);font-weight:600}
.page-blog .blog-card__body {padding:1.5rem;flex:1;display:flex;flex-direction:column}
.page-blog .blog-card__date {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--tan);font-weight:500;margin-bottom:0.5rem}
.page-blog .blog-card__body h3 {font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--navy);line-height:1.3;margin-bottom:0.7rem}
.page-blog .blog-card__body p {font-size:0.88rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.2rem;flex:1}
.page-blog .blog-card__link {font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--green);font-weight:600;display:inline-flex;align-items:center;gap:0.3rem;transition:gap 0.3s}
.page-blog .blog-card:hover .blog-card__link {gap:0.6rem;color:var(--green-light)}
.page-blog .blog-card__link svg {width:14px;height:14px}
@media(max-width:1024px){.page-blog .blog-grid{grid-template-columns:1fr 1fr}.page-blog .carousel-slide{aspect-ratio:16/9}}
@media(max-width:768px){.page-blog .blog-grid{grid-template-columns:1fr}.page-blog .carousel-slide{aspect-ratio:4/3}.page-blog .newsletter-bar .container{flex-direction:column;text-align:center}.page-blog .newsletter-bar__form{max-width:100%;width:100%}.page-blog .filter-bar{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0.5rem}.page-blog .filter-btn{white-space:nowrap;flex-shrink:0}}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  FAQ (.page-faq)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-faq .faq-category {margin-bottom:3.5rem}
.page-faq .faq-category__title {font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--navy);margin-bottom:1.5rem;padding-bottom:0.8rem;border-bottom:2px solid var(--green);display:flex;align-items:center;gap:0.6rem}
.page-faq .faq-category__icon {width:28px;height:28px;background:var(--green);color:var(--white);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.page-faq .faq-category__icon svg {width:16px;height:16px}
.page-faq .faq-item {border:1px solid rgba(0,51,102,0.08);border-radius:8px;margin-bottom:0.8rem;background:var(--white);overflow:hidden;transition:box-shadow 0.3s}
.page-faq .faq-item:hover {box-shadow:0 4px 20px rgba(0,51,102,0.06)}
.page-faq .faq-question {display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;cursor:pointer;gap:1rem}
.page-faq .faq-question h3 {font-family:var(--font-body);font-size:0.95rem;font-weight:600;color:var(--navy);line-height:1.4;margin:0}
.page-faq .faq-toggle {width:28px;height:28px;border-radius:50%;background:var(--beige-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.3s}
.page-faq .faq-toggle svg {width:14px;height:14px;color:var(--navy);transition:transform 0.3s}
.page-faq .faq-item.open .faq-toggle {background:var(--green)}
.page-faq .faq-item.open .faq-toggle svg {color:var(--white);transform:rotate(180deg)}
.page-faq .faq-answer {max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease)}
.page-faq .faq-item.open .faq-answer {max-height:600px}
.page-faq .faq-answer__inner {padding:0 1.5rem 1.5rem;font-size:0.9rem;color:var(--text-muted);line-height:1.8}
.page-faq .faq-answer__inner strong {color:var(--navy);font-weight:600}
.page-faq .img-break {display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:3rem 0}
.page-faq .img-break img {border-radius:12px;width:100%;height:280px;object-fit:cover}
@media(max-width:768px){.page-faq .img-break{grid-template-columns:1fr}.page-faq .img-break img{height:200px}}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  CONTACT (.page-contact)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-contact .contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:960px;margin:0 auto}
.page-contact .contact-card {background:var(--white);border-radius:12px;padding:clamp(2rem,4vw,3rem);box-shadow:0 4px 30px rgba(0,51,102,0.06);text-align:center;transition:all 0.4s var(--ease)}
.page-contact .contact-card:hover {transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,51,102,0.1)}
.page-contact .contact-card__icon {width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-light));display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.page-contact .contact-card__icon svg {width:28px;height:28px;color:var(--beige)}
.page-contact .contact-card h3 {font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--navy);margin-bottom:0.6rem}
.page-contact .contact-card p {font-size:0.9rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.7}
.page-contact .contact-card__links {display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.5rem}
.page-contact .contact-card__link {display:flex;align-items:center;justify-content:center;gap:0.5rem;font-size:0.88rem;color:var(--navy);font-weight:500;transition:color 0.3s}
.page-contact .contact-card__link:hover {color:var(--green)}
.page-contact .contact-card__link svg {width:18px;height:18px;color:var(--green);flex-shrink:0}
.page-contact .btn--whatsapp {background:#25D366;color:var(--white)}
.page-contact .btn--whatsapp:hover {background:#1fb855;transform:translateY(-2px);box-shadow:0 8px 30px rgba(37,211,102,0.3)}
.page-contact .details-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;max-width:960px;margin:0 auto}
.page-contact .detail-item {text-align:center;padding:2rem 1.5rem}
.page-contact .detail-item__icon {width:48px;height:48px;border-radius:10px;background:rgba(34,139,34,0.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.page-contact .detail-item__icon svg {width:22px;height:22px;color:var(--green)}
.page-contact .detail-item h4 {font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:0.4rem}
.page-contact .detail-item p {font-size:0.88rem;color:var(--text-muted);line-height:1.7}
.page-contact .detail-item a {color:var(--green);font-weight:500}
.page-contact .newsletter-section {background:var(--navy);padding:clamp(3rem,6vw,4rem) 0;text-align:center;color:var(--beige)}
.page-contact .newsletter-section h3 {font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;margin-bottom:0.4rem}
.page-contact .newsletter-section h3 em {font-style:italic;color:var(--green-light)}
.page-contact .newsletter-section p {font-size:0.9rem;color:rgba(245,222,179,0.6);margin-bottom:1.5rem}
.page-contact .newsletter-form {display:flex;gap:0.6rem;max-width:480px;margin:0 auto}
.page-contact .newsletter-form input {flex:1;padding:0.8rem 1.2rem;background:rgba(255,255,255,0.08);border:1px solid rgba(245,222,179,0.2);border-radius:4px;color:var(--beige);font-family:var(--font-body);font-size:0.88rem;outline:none}
.page-contact .newsletter-form input::placeholder {color:rgba(245,222,179,0.35)}
.page-contact .newsletter-form input:focus {border-color:var(--green)}
@media(max-width:768px){.page-contact .contact-grid{grid-template-columns:1fr}.page-contact .details-grid{grid-template-columns:1fr}.page-contact .newsletter-form{flex-direction:column}}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  CREDIBILITY (.page-credibility)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-credibility .badges-row {display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1000px;margin:0 auto}
.page-credibility .badge-card {background:var(--white);border-radius:12px;padding:2.5rem 1.5rem;text-align:center;box-shadow:0 4px 30px rgba(0,51,102,0.06);transition:all 0.4s var(--ease);border:1px solid rgba(0,51,102,0.04)}
.page-credibility .badge-card:hover {transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,51,102,0.1)}
.page-credibility .badge-card__img {width:130px;height:130px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center}
.page-credibility .badge-card__img img {max-width:100%;max-height:100%;object-fit:contain}
.page-credibility .badge-card h3 {font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--navy);margin-bottom:0.4rem}
.page-credibility .badge-card__since {font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--green);font-weight:600;margin-bottom:0.8rem}
.page-credibility .badge-card p {font-size:0.85rem;color:var(--text-muted);line-height:1.7}
.page-credibility .stats-row {display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;max-width:900px;margin:0 auto}
.page-credibility .stat-item__number {font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:300;color:var(--green-light);line-height:1}
.page-credibility .stat-item__label {font-size:0.82rem;color:rgba(245,222,179,0.7);margin-top:0.5rem}
.page-credibility .trust-grid {display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;margin:0 auto}
.page-credibility .trust-item {display:flex;gap:1.2rem;align-items:flex-start}
.page-credibility .trust-item__icon {width:44px;height:44px;border-radius:10px;background:rgba(34,139,34,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.page-credibility .trust-item__icon svg {width:22px;height:22px;color:var(--green)}
.page-credibility .trust-item h4 {font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--navy);margin-bottom:0.3rem}
.page-credibility .trust-item p {font-size:0.88rem;color:var(--text-muted);line-height:1.7}
.page-credibility .test-row {display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.page-credibility .test-card {background:var(--white);border-radius:12px;padding:2rem;box-shadow:0 2px 20px rgba(0,51,102,0.06);transition:all 0.4s var(--ease)}
.page-credibility .test-card:hover {transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,51,102,0.1)}
.page-credibility .test-card__title {font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:0.3rem}
.page-credibility .test-card__stars {color:var(--tan);font-size:0.9rem;margin-bottom:0.8rem;letter-spacing:0.1em}
.page-credibility .test-card p {font-size:0.88rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.2rem;font-style:italic}
.page-credibility .test-card__author {font-size:0.85rem;font-weight:600;color:var(--navy)}
.page-credibility .test-card__loc {font-size:0.78rem;color:var(--tan)}
@media(max-width:1024px){.page-credibility .badges-row{grid-template-columns:1fr 1fr}.page-credibility .stats-row{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.page-credibility .badges-row{grid-template-columns:1fr}.page-credibility .trust-grid{grid-template-columns:1fr}.page-credibility .test-row{grid-template-columns:1fr}.page-credibility .stats-row{grid-template-columns:1fr 1fr}}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  TRAVEL INSURANCE (.page-travel-insurance)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-travel-insurance .intro-block {display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1000px;margin:0 auto}
.page-travel-insurance .intro-block__img {border-radius:12px;overflow:hidden;height:360px}
.page-travel-insurance .intro-block__img img {width:100%;height:100%;object-fit:cover}
.page-travel-insurance .intro-block__text h3 {font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--navy);margin-bottom:1rem;line-height:1.3}
.page-travel-insurance .intro-block__text h3 em {font-style:italic;color:var(--green)}
.page-travel-insurance .intro-block__text p {font-size:0.92rem;color:var(--text-muted);line-height:1.8;margin-bottom:1rem}
.page-travel-insurance .intro-block__text strong {color:var(--navy)}
.page-travel-insurance .coverage-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;max-width:1000px;margin:0 auto}
.page-travel-insurance .cov-card {background:var(--white);border-radius:12px;padding:2rem;text-align:center;box-shadow:0 4px 30px rgba(0,51,102,0.06);transition:all 0.4s var(--ease);border-top:3px solid transparent}
.page-travel-insurance .cov-card:hover {transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,51,102,0.1);border-top-color:var(--green)}
.page-travel-insurance .cov-card__icon {width:56px;height:56px;border-radius:50%;background:rgba(34,139,34,0.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.page-travel-insurance .cov-card__icon svg {width:24px;height:24px;color:var(--green)}
.page-travel-insurance .cov-card h4 {font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem}
.page-travel-insurance .cov-card p {font-size:0.85rem;color:var(--text-muted);line-height:1.7}
.page-travel-insurance .rec-box {max-width:800px;margin:0 auto;background:var(--white);border-radius:16px;padding:clamp(2rem,4vw,3.5rem);box-shadow:0 8px 40px rgba(0,51,102,0.08);text-align:center;border:1px solid rgba(0,51,102,0.04)}
.page-travel-insurance .rec-box__logo {width:200px;height:auto;margin:0 auto 1.5rem}
.page-travel-insurance .rec-box h3 {font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--navy);margin-bottom:0.8rem}
.page-travel-insurance .rec-box h3 em {font-style:italic;color:var(--green)}
.page-travel-insurance .rec-box p {font-size:0.92rem;color:var(--text-muted);line-height:1.8;margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}
.page-travel-insurance .rec-box__features {display:flex;flex-wrap:wrap;gap:0.8rem;justify-content:center;margin-bottom:2rem}
.page-travel-insurance .rec-box__feat {display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 1rem;background:var(--beige-pale);border-radius:100px;font-size:0.8rem;font-weight:500;color:var(--navy)}
.page-travel-insurance .rec-box__feat svg {width:14px;height:14px;color:var(--green)}
.page-travel-insurance .rec-box__actions {display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.page-travel-insurance .waiver-note {max-width:800px;margin:2.5rem auto 0;padding:1.5rem 2rem;background:rgba(0,51,102,0.03);border-radius:8px;border-left:3px solid var(--tan);display:flex;gap:1rem;align-items:flex-start}
.page-travel-insurance .waiver-note__icon {width:32px;height:32px;flex-shrink:0;color:var(--tan)}
.page-travel-insurance .waiver-note p {font-size:0.85rem;color:var(--text-muted);line-height:1.7}
.page-travel-insurance .waiver-note strong {color:var(--navy)}
@media(max-width:1024px){.page-travel-insurance .coverage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.page-travel-insurance .intro-block{grid-template-columns:1fr}.page-travel-insurance .intro-block__img{height:240px}.page-travel-insurance .coverage-grid{grid-template-columns:1fr}.page-travel-insurance .rec-box__actions{flex-direction:column;align-items:center}.page-travel-insurance .waiver-note{flex-direction:column}}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  GIFT CERTIFICATES (.page-gift-certificates)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-gift-certificates .gift-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1000px;margin:0 auto}
.page-gift-certificates .gift-card {background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 8px 40px rgba(0,51,102,0.08);transition:all 0.4s var(--ease);position:relative}
.page-gift-certificates .gift-card:hover {transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,51,102,0.14)}
.page-gift-certificates .gift-card__ribbon {position:absolute;top:1.2rem;right:-2rem;background:var(--green);color:var(--white);font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;padding:0.3rem 2.5rem;transform:rotate(45deg);z-index:2}
.page-gift-certificates .gift-card__visual {height:180px;background:linear-gradient(135deg,var(--navy-deep),var(--navy-light));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.page-gift-certificates .gift-card__visual::before {content:'';position:absolute;inset:0;background:url('../images/gift-pattern.png') center/cover no-repeat;opacity:0.08}
.page-gift-certificates .gift-card__amount {font-family:var(--font-display);font-size:clamp(3rem,5vw,4rem);font-weight:300;color:var(--white)}
.page-gift-certificates .gift-card__amount sup {font-size:0.4em;vertical-align:super;color:var(--tan-light)}
.page-gift-certificates .gift-card__body {padding:2rem;text-align:center}
.page-gift-certificates .gift-card__name {font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--navy);margin-bottom:0.3rem}
.page-gift-certificates .gift-card__desc {font-size:0.85rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.7}
.page-gift-certificates .gift-card__cta {display:block;width:100%}
.page-gift-certificates .steps-row {display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:900px;margin:0 auto}
.page-gift-certificates .step-item {text-align:center;position:relative}
.page-gift-certificates .step-item__num {width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--beige);font-family:var(--font-display);font-size:1.3rem;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.page-gift-certificates .step-item h4 {font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:0.4rem}
.page-gift-certificates .step-item p {font-size:0.88rem;color:var(--text-muted);line-height:1.7}
.page-gift-certificates .pay-methods {display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}
.page-gift-certificates .pay-method {display:flex;align-items:center;gap:0.5rem;padding:0.6rem 1.2rem;background:var(--white);border-radius:8px;border:1px solid rgba(0,51,102,0.08);font-size:0.82rem;font-weight:500;color:var(--navy)}
.page-gift-certificates .pay-method svg {width:20px;height:20px;color:var(--green)}
.page-gift-certificates .custom-note {max-width:700px;margin:3rem auto 0;text-align:center;padding:2rem;background:rgba(34,139,34,0.04);border-radius:12px;border:1px dashed rgba(34,139,34,0.2)}
.page-gift-certificates .custom-note h4 {font-family:var(--font-display);font-size:1.2rem;color:var(--navy);margin-bottom:0.5rem}
.page-gift-certificates .custom-note p {font-size:0.9rem;color:var(--text-muted);line-height:1.7}
@media(max-width:768px){.page-gift-certificates .gift-grid{grid-template-columns:1fr}.page-gift-certificates .steps-row{grid-template-columns:1fr}}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  PAYMENT (.page-payment)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-payment .pay-grid {display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:900px;margin:0 auto}
.page-payment .pay-card {background:var(--white);border-radius:16px;padding:clamp(2rem,4vw,3rem);box-shadow:0 8px 40px rgba(0,51,102,0.06);text-align:center;transition:all 0.4s var(--ease);border:2px solid transparent}
.page-payment .pay-card:hover {transform:translateY(-4px);box-shadow:0 12px 50px rgba(0,51,102,0.1);border-color:rgba(34,139,34,0.15)}
.page-payment .pay-card__icon {width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.page-payment .pay-card__icon svg {width:32px;height:32px}
.page-payment .pay-card h3 {font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem}
.page-payment .pay-card p {font-size:0.88rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.5rem}
.page-payment .pay-card__badges {display:flex;gap:0.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.page-payment .pay-card__badge {padding:0.3rem 0.8rem;background:var(--beige-pale);border-radius:6px;font-size:0.72rem;font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:0.06em}
.page-payment .btn--stripe {background:#635BFF;color:var(--white)}
.page-payment .btn--stripe:hover {background:#4B45C6;transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,91,255,0.3)}
.page-payment .btn--paypal {background:#0070BA;color:var(--white)}
.page-payment .btn--paypal:hover {background:#005EA6;transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,112,186,0.3)}
.page-payment .btn--full {width:100%;justify-content:center}
.page-payment .bank-section {max-width:800px;margin:0 auto;background:var(--white);border-radius:16px;padding:clamp(2rem,4vw,3rem);box-shadow:0 8px 40px rgba(0,51,102,0.06)}
.page-payment .bank-section h3 {font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem;text-align:center}
.page-payment .bank-section__sub {font-size:0.88rem;color:var(--text-muted);text-align:center;margin-bottom:2rem;line-height:1.7}
.page-payment .bank-details {display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.page-payment .bank-detail {padding:1.5rem;background:var(--beige-pale);border-radius:10px}
.page-payment .bank-detail h4 {font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--navy);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.5rem}
.page-payment .bank-detail h4 svg {width:18px;height:18px;color:var(--green)}
.page-payment .bank-detail p {font-size:0.85rem;color:var(--text-muted);line-height:1.8}
.page-payment .bank-detail strong {color:var(--navy);font-weight:600}
.page-payment .security-bar {background:var(--navy);padding:2rem 0;text-align:center}
.page-payment .security-bar .container {display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}
.page-payment .security-item {display:flex;align-items:center;gap:0.5rem;color:var(--beige);font-size:0.82rem;font-weight:500}
.page-payment .security-item svg {width:18px;height:18px;color:var(--green-light)}
.page-payment .help-note {max-width:700px;margin:2.5rem auto 0;text-align:center;padding:2rem;background:rgba(0,51,102,0.03);border-radius:12px;border:1px solid rgba(0,51,102,0.06)}
.page-payment .help-note h4 {font-family:var(--font-display);font-size:1.15rem;color:var(--navy);margin-bottom:0.5rem}
.page-payment .help-note p {font-size:0.88rem;color:var(--text-muted);line-height:1.7}
@media(max-width:768px){.page-payment .pay-grid{grid-template-columns:1fr}.page-payment .bank-details{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════════════
   PROPERTY DETAIL PAGES — .page-course-detail & .page-accommodation-detail
   ═══════════════════════════════════════════════════════════════════════ */

/* BREADCRUMB */
.breadcrumb{padding:1rem 0;background:var(--beige-pale);border-bottom:1px solid rgba(0,51,102,0.06)}
.breadcrumb .container{display:flex;align-items:center;gap:0.5rem;font-size:0.78rem;color:var(--text-muted)}
.breadcrumb a{color:var(--navy);font-weight:500;transition:color 0.2s}
.breadcrumb a:hover{color:var(--green)}
.breadcrumb svg{width:14px;height:14px;color:var(--tan);flex-shrink:0}
.breadcrumb span{color:var(--green);font-weight:600}

/* HERO GALLERY */
.property-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:0.5rem;max-width:1280px;margin:0 auto;padding:0.5rem clamp(1.5rem,4vw,3rem)}
.property-hero__main{border-radius:12px;overflow:hidden;height:420px}
.property-hero__main img{width:100%;height:100%;object-fit:cover}
.property-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
.property-hero__thumb{border-radius:8px;overflow:hidden;position:relative}
.property-hero__thumb img{width:100%;height:100%;object-fit:cover}
.property-hero__thumb--more{cursor:pointer}
.property-hero__more{position:absolute;inset:0;background:rgba(0,34,68,0.55);display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:600;font-size:0.9rem;letter-spacing:0.06em;transition:background 0.3s}
.property-hero__thumb--more:hover .property-hero__more{background:rgba(0,34,68,0.7)}

/* LAYOUT */
.property-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start}
.property-main{min-width:0}

/* HEADER */
.property-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:2rem}
.property-header__flag{font-size:2.5rem;line-height:1}
.property-header__type{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--green);font-weight:600;margin-bottom:0.3rem}
.property-header h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:0.4rem}
.property-header h1 em{font-style:italic;color:var(--green);font-weight:300}
.property-header__location{display:flex;align-items:center;gap:0.4rem;font-size:0.88rem;color:var(--text-muted)}
.property-header__location svg{width:16px;height:16px;color:var(--tan)}

/* SPEC PILLS */
.property-specs{display:flex;flex-wrap:wrap;gap:0.6rem;margin-bottom:2.5rem}
.spec-pill{display:flex;align-items:center;background:var(--beige-pale);border-radius:8px;overflow:hidden;border:1px solid rgba(0,51,102,0.06)}
.spec-pill__label{padding:0.4rem 0.7rem;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);font-weight:600;background:rgba(0,51,102,0.03)}
.spec-pill__value{padding:0.4rem 0.8rem;font-size:0.82rem;font-weight:600;color:var(--navy)}

/* DESCRIPTION */
.property-description{margin-bottom:3rem}
.property-description h2{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--navy);margin-bottom:1rem}
.property-description p{font-size:0.92rem;color:var(--text-muted);line-height:1.8;margin-bottom:1rem}

/* HIGHLIGHTS */
.property-highlights{margin-bottom:3rem}
.property-highlights h3,.property-gallery h3{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--navy);margin-bottom:1.5rem;padding-bottom:0.6rem;border-bottom:2px solid var(--green)}
.highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.highlight-item{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;background:var(--beige-pale);border-radius:10px}
.highlight-item svg{width:24px;height:24px;color:var(--green);flex-shrink:0;margin-top:0.2rem}
.highlight-item strong{color:var(--navy);font-size:0.88rem}

/* GALLERY */
.property-gallery{margin-bottom:clamp(4rem,8vw,6rem)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.8rem}
.gallery-item{border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s var(--ease)}
.gallery-item:hover img{transform:scale(1.05)}

/* SIDEBAR */
.property-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:1.5rem}
.sidebar-cta{background:var(--navy-deep);color:var(--beige);border-radius:16px;padding:2rem;text-align:center}
.sidebar-cta h4{font-family:var(--font-display);font-size:1.3rem;font-weight:400;margin-bottom:0.5rem}
.sidebar-cta p{font-size:0.85rem;color:rgba(245,222,179,0.65);margin-bottom:1.5rem;line-height:1.7}
.sidebar-cta .btn--full{width:100%;justify-content:center}
.sidebar-cta .btn--primary{background:var(--green);color:var(--white)}
.sidebar-cta .btn--primary:hover{background:var(--green-light);transform:translateY(-2px)}
.sidebar-cta .btn--outline{background:transparent;color:var(--beige);border:1.5px solid rgba(245,222,179,0.3)}
.sidebar-cta .btn--outline:hover{border-color:var(--beige);background:rgba(245,222,179,0.06)}
.sidebar-cta .btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 1.5rem;font-family:var(--font-body);font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;border-radius:4px;border:none;cursor:pointer;transition:all 0.3s}
.sidebar-cta .btn svg{width:16px;height:16px}

.sidebar-info{background:var(--white);border-radius:12px;padding:1.5rem;border:1px solid rgba(0,51,102,0.06);box-shadow:0 2px 16px rgba(0,51,102,0.04)}
.sidebar-info h4{font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:1rem}
.sidebar-info__item{display:flex;gap:0.8rem;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,51,102,0.04)}
.sidebar-info__item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.sidebar-info__item svg{width:20px;height:20px;color:var(--green);flex-shrink:0;margin-top:0.15rem}
.sidebar-info__item strong{color:var(--navy);font-size:0.85rem;display:block}
.sidebar-info__item div{font-size:0.82rem;color:var(--text-muted);line-height:1.6}

.sidebar-related,.sidebar-stay{background:var(--white);border-radius:12px;padding:1.5rem;border:1px solid rgba(0,51,102,0.06)}
.sidebar-related h4,.sidebar-stay h4{font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:1rem}
.sidebar-related__item,.sidebar-stay__card{display:flex;gap:0.8rem;align-items:center;padding:0.6rem 0;border-bottom:1px solid rgba(0,51,102,0.04);transition:opacity 0.3s}
.sidebar-related__item:last-child,.sidebar-stay__card:last-child{border-bottom:none}
.sidebar-related__item:hover,.sidebar-stay__card:hover{opacity:0.8}
.sidebar-related__item img,.sidebar-stay__card img{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0}
.sidebar-related__item strong,.sidebar-stay__card strong{font-size:0.85rem;color:var(--navy);display:block}
.sidebar-related__item span,.sidebar-stay__card span{font-size:0.75rem;color:var(--tan)}

/* CTA SECTION */
.page-course-detail .cta-section,.page-accommodation-detail .cta-section{position:relative;padding:clamp(4rem,8vw,6rem) 0;text-align:center;color:var(--white);overflow:hidden;margin-top:clamp(3rem,6vw,5rem)}
.page-course-detail .cta-section__bg,.page-accommodation-detail .cta-section__bg{position:absolute;inset:0;background:url('../images/cta-bg1.jpg') center/cover no-repeat}
.page-course-detail .cta-section__overlay,.page-accommodation-detail .cta-section__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,34,68,0.94),rgba(0,51,102,0.85) 50%,rgba(34,139,34,0.4))}
.page-course-detail .cta-section .container,.page-accommodation-detail .cta-section .container{position:relative;z-index:2}
.page-course-detail .cta-section h2,.page-accommodation-detail .cta-section h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:0.8rem}
.page-course-detail .cta-section h2 em,.page-accommodation-detail .cta-section h2 em{font-style:italic;color:var(--beige)}
.page-course-detail .cta-section p,.page-accommodation-detail .cta-section p{font-size:1rem;color:rgba(245,222,179,0.75);margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto}
.page-course-detail .section-eyebrow,.page-accommodation-detail .section-eyebrow{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:600;color:var(--green);margin-bottom:0.8rem}
.page-course-detail .cta-actions,.page-accommodation-detail .cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.page-course-detail .btn,.page-accommodation-detail .btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.9rem 2rem;font-family:var(--font-body);font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;border-radius:4px;border:none;cursor:pointer;transition:all 0.4s var(--ease)}
.page-course-detail .btn svg,.page-accommodation-detail .btn svg{width:16px;height:16px}
.page-course-detail .btn--primary,.page-accommodation-detail .btn--primary{background:var(--green);color:var(--white)}
.page-course-detail .btn--primary:hover,.page-accommodation-detail .btn--primary:hover{background:var(--green-light);transform:translateY(-2px);box-shadow:0 8px 30px rgba(34,139,34,0.3)}
.page-course-detail .btn--outline-light,.page-accommodation-detail .btn--outline-light{background:transparent;color:var(--beige);border:1.5px solid rgba(245,222,179,0.4)}
.page-course-detail .btn--outline-light:hover,.page-accommodation-detail .btn--outline-light:hover{border-color:var(--beige);background:rgba(245,222,179,0.08)}

/* RESPONSIVE */
@media(max-width:1024px){
  .property-layout{grid-template-columns:1fr}
  .property-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
  .sidebar-cta{grid-column:1/-1}
}
@media(max-width:768px){
  .property-hero{grid-template-columns:1fr}
  .property-hero__main{height:280px}
  .property-hero__grid{grid-template-columns:repeat(4,1fr)}
  .property-hero__thumb{height:80px}
  .highlights-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .property-sidebar{grid-template-columns:1fr}
  .property-header__flag{font-size:2rem}
}

/* ═══════════════════════════════════════════════════════════════
   ADD TO TRIP — localStorage feature
   ═══════════════════════════════════════════════════════════════ */

/* Badge on nav CTA */
.trip-badge {
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--green);color:#fff;border-radius:50%;
  width:18px;height:18px;font-size:0.6rem;font-weight:700;
  margin-left:5px;vertical-align:middle;
}

/* Add-to-trip button (injected into sidebar-cta) */
.btn--add-trip {
  appearance:none;border:2px solid var(--navy);background:transparent;
  color:var(--navy);font-family:var(--font-body);font-size:0.82rem;
  font-weight:600;letter-spacing:0.04em;border-radius:6px;
  padding:0.65rem 1.2rem;transition:all 0.25s;width:100%;
  display:flex;align-items:center;justify-content:center;gap:0.45rem;
}
.btn--add-trip svg {width:15px;height:15px;flex-shrink:0}
.btn--add-trip:hover {background:var(--navy);color:#fff}
.btn--add-trip.added {background:var(--green);border-color:var(--green);color:#fff}
.btn--add-trip.added:hover {background:#1a6e1a;border-color:#1a6e1a}

/* Saved trip list on custom-trip page */
.trip-saved-section {
  background:var(--beige-pale);border:1px solid var(--tan);
  border-radius:12px;padding:1.6rem 2rem;margin-bottom:2rem;
}
.trip-saved-header {display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.trip-saved-header h3 {font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--navy);margin:0}
.trip-clear-all {appearance:none;border:none;background:none;color:var(--text-muted);font-size:0.78rem;cursor:pointer;text-decoration:underline;padding:0}
.trip-clear-all:hover {color:var(--navy)}
.trip-saved-list {display:flex;flex-direction:column;gap:0.7rem}
.trip-saved-item {
  display:flex;align-items:center;gap:0.9rem;
  background:#fff;border:1px solid rgba(0,51,102,0.08);
  border-radius:8px;padding:0.75rem 1rem;
}
.trip-saved-item__icon {font-size:1.2rem;flex-shrink:0}
.trip-saved-item__info {flex:1;min-width:0}
.trip-saved-item__info strong {display:block;font-size:0.9rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trip-saved-item__info span {font-size:0.75rem;color:var(--text-muted)}
.trip-saved-item__remove {
  appearance:none;border:none;background:none;color:var(--text-muted);
  font-size:1.1rem;line-height:1;cursor:pointer;padding:0 0.2rem;flex-shrink:0;
}
.trip-saved-item__remove:hover {color:var(--navy)}


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  TERMS & CONDITIONS (.page-terms)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-terms .page-hero__bg { background-image: url('../images/terms-hero.jpg'); }


/* ═══════════════════════════════════════════════════════════════════════════
   PAGE BLOCK  —  PRIVACY POLICY (.page-privacy)
   ═══════════════════════════════════════════════════════════════════════════ */
.page-privacy .page-hero__bg { background-image: url('../images/privacy-hero.jpg'); }


/* ─── Shared Legal Content Layout (.page-terms, .page-privacy) ─── */
.page-terms .legal-layout,
.page-privacy .legal-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 3.5rem;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

.page-terms .legal-toc,
.page-privacy .legal-toc {
  position: sticky;
  top: 100px;
  background: var(--white);
  border-radius: 10px;
  padding: 1.5rem;
  border: 1px solid rgba(0,51,102,0.06);
  box-shadow: 0 2px 16px rgba(0,51,102,0.04);
}

.page-terms .legal-toc__title,
.page-privacy .legal-toc__title {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--tan);
  font-weight: 700;
  margin-bottom: 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(0,51,102,0.06);
}

.page-terms .legal-toc a,
.page-privacy .legal-toc a {
  display: block;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  padding: 0.38rem 0 0.38rem 0.7rem;
  border-left: 2px solid transparent;
  transition: color 0.25s, border-color 0.25s, padding-left 0.25s;
  line-height: 1.35;
  margin-bottom: 0.05rem;
}

.page-terms .legal-toc a:hover,
.page-privacy .legal-toc a:hover,
.page-terms .legal-toc a.active,
.page-privacy .legal-toc a.active {
  color: var(--green);
  border-left-color: var(--green);
  padding-left: 0.9rem;
}

/* Legal prose */
.page-terms .legal-content,
.page-privacy .legal-content {
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.85;
  color: var(--text);
}

.page-terms .legal-content h2,
.page-privacy .legal-content h2 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--navy);
  margin-top: 2.5rem;
  margin-bottom: 0.6rem;
  border-left: 3px solid var(--green);
  padding-left: 1rem;
  line-height: 1.2;
}

.page-terms .legal-content h2:first-child,
.page-privacy .legal-content h2:first-child { margin-top: 0; }

.page-terms .legal-content h3,
.page-privacy .legal-content h3 {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  color: var(--navy);
  margin-top: 1.5rem;
  margin-bottom: 0.4rem;
}

.page-terms .legal-content p,
.page-privacy .legal-content p { margin-bottom: 1.1rem; }

.page-terms .legal-content ul,
.page-privacy .legal-content ul {
  list-style: disc;
  padding-left: 1.4rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 1rem;
}

.page-terms .legal-content ul li,
.page-privacy .legal-content ul li { margin-bottom: 0.3rem; }

/* Callout box */
.page-terms .legal-callout,
.page-privacy .legal-callout {
  background: var(--beige-pale);
  border-left: 4px solid var(--tan);
  border-radius: 6px;
  padding: 1.2rem 1.5rem;
  margin: 1.5rem 0;
  font-size: 0.92rem;
  line-height: 1.8;
  color: var(--text);
}

.page-terms .legal-callout strong,
.page-privacy .legal-callout strong {
  display: block;
  color: var(--navy);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
  font-family: var(--font-body);
}

/* Contact pill */
.page-terms .legal-contact,
.page-privacy .legal-contact {
  background: var(--navy);
  color: var(--white);
  border-radius: 10px;
  padding: 1.5rem 2rem;
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
}

.page-terms .legal-contact__label,
.page-privacy .legal-contact__label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--tan-light);
  font-weight: 700;
  margin-bottom: 0.3rem;
}

.page-terms .legal-contact a,
.page-privacy .legal-contact a {
  color: var(--beige);
  font-weight: 500;
  font-size: 0.9rem;
  transition: color 0.2s;
  display: block;
}

.page-terms .legal-contact a:hover,
.page-privacy .legal-contact a:hover { color: var(--white); }

.page-terms .legal-updated,
.page-privacy .legal-updated {
  font-size: 0.82rem;
  color: var(--text-muted);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0,51,102,0.08);
  font-style: italic;
}

@media(max-width:1024px) {
  .page-terms .legal-layout,
  .page-privacy .legal-layout { grid-template-columns: 1fr; }
  .page-terms .legal-toc,
  .page-privacy .legal-toc { position: static; }
}
@media(max-width:768px) {
  .page-terms .legal-content h2,
  .page-privacy .legal-content h2 { font-size: 1.25rem; }
  .page-terms .legal-contact,
  .page-privacy .legal-contact { flex-direction: column; gap: 0.8rem; }
}

