/* Region → Country → Package components: mega-menu, breadcrumb, destination tiles, highlights.
   Loaded after theme.css on every page. Tokens come from theme.css (see DESIGN.md). */

/* ---------- Destinations mega-menu ---------- */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{min-height:44px;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;cursor:pointer;color:var(--indigo);font:600 .76rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.nav-dropdown-toggle:hover{color:var(--royal)}
.nav-dropdown-toggle svg{width:11px;height:8px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s ease}
.nav-dropdown.is-open .nav-dropdown-toggle svg{transform:rotate(180deg)}
.mega-menu{position:absolute;top:calc(100% + 18px);left:50%;z-index:60;width:min(980px,calc(100vw - 48px));padding:34px 36px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 30px 70px rgba(13,33,89,.18);transform:translateX(-38%);display:none}
.nav-dropdown.is-open .mega-menu{display:block}
.mega-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.site-nav .mega-region{min-height:0;display:block;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid transparent;border-image:var(--brand-gradient) 1;color:var(--indigo);font:600 1.25rem/1.15 var(--serif);letter-spacing:.01em;text-transform:none}
.mega-column ul{margin:0;padding:0;list-style:none}
.site-nav .mega-column li a{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text);font:500 .86rem/1.3 var(--sans);letter-spacing:0;text-transform:none}
.site-nav .mega-column li a:hover{color:var(--royal)}
.mega-count{min-width:22px;padding:3px 7px;border-radius:999px;background:var(--mist);color:var(--royal);font:700 .66rem/1 var(--sans);text-align:center}
.site-nav .mega-all{min-height:44px;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:flex;color:var(--royal)}

/* ---------- Breadcrumb ---------- */
.breadcrumb ol{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;font:600 .68rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.breadcrumb li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.75)}
.breadcrumb li+li::before{content:"/";color:var(--aqua)}
.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;color:#fff}
.breadcrumb a:hover{color:var(--aqua)}
.breadcrumb [aria-current]{color:rgba(255,255,255,.75)}
.detail-hero .breadcrumb+h1{margin-top:18px}
.hub-hero .hero-actions{margin-top:30px}

/* ---------- Package cards: country line + NEW flag ---------- */
.package-country{margin:0 0 6px;color:var(--muted);font:600 .7rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.package-new{position:absolute;top:18px;right:18px;padding:9px 14px;border-radius:999px;background:#fff;color:var(--royal);font:700 .64rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;box-shadow:0 8px 20px rgba(13,33,89,.18)}
.package-media{position:relative}

/* ---------- Destination tiles (regions and countries) ---------- */
.place-grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.place-tile{position:relative;min-height:320px;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--radius);background:var(--indigo);color:#fff;isolation:isolate}
.place-tile img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.place-tile:hover img{transform:scale(1.04)}
.place-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,33,89,.9) 0%,rgba(13,33,89,.2) 65%,rgba(13,33,89,.05))}
.place-body{padding:26px 28px;display:flex;flex-direction:column;gap:6px}
.place-body small{color:var(--aqua);font:700 .66rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.place-body strong{font:500 2rem/1.05 var(--serif);text-transform:uppercase;letter-spacing:.04em}
.place-body span{max-width:40ch;color:rgba(255,255,255,.82);font-size:.88rem}

/* ---------- Hub sections ---------- */
.hub-section{padding-top:clamp(70px,8vw,110px)}
.hub-section:first-child{padding-top:0}
.hub-section .package-grid{margin-top:40px}
.detail-main>.detail-inquiry{margin-top:clamp(70px,8vw,110px)}
.region-block{padding:0 0 clamp(60px,7vw,90px)}
.region-block+.region-block{padding-top:clamp(60px,7vw,90px);border-top:1px solid var(--line)}
.region-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.region-block-head h2{margin:0 0 12px;color:var(--indigo);font:500 clamp(2rem,3.4vw,3rem)/1.02 var(--serif);text-transform:uppercase;letter-spacing:.04em}
.region-block-head p:not(.eyebrow){margin:0;max-width:60ch;color:var(--muted)}
.region-block-head .text-link{flex:none}
.hub-overview{align-items:start}
.highlight-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.highlight-list li{position:relative;padding:20px 0 20px 34px;border-bottom:1px solid var(--line);color:var(--indigo);font:600 1.35rem/1.25 var(--serif)}
.highlight-list li::before{content:"";position:absolute;left:4px;top:28px;width:10px;height:10px;border-radius:50%;background:var(--brand-gradient)}
.place-chips{margin:30px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.place-chips span{width:100%;color:var(--royal);font:600 .68rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.place-chips b{padding:9px 16px;border:1px solid var(--sand-deep);border-radius:999px;color:var(--indigo);font-size:.82rem;font-weight:600}
.coming-soon-panel{margin-top:40px;padding:clamp(34px,5vw,60px);background:var(--sand);border:1px solid var(--sand-deep);border-radius:var(--radius)}
.coming-soon-panel .price-soon{margin:0 0 10px;font:500 italic 1.6rem/1 var(--serif);color:var(--royal)}
.coming-soon-panel h3{margin:0 0 12px;color:var(--indigo);font:600 clamp(1.8rem,3vw,2.6rem)/1.1 var(--serif)}
.coming-soon-panel p:not(.price-soon){max-width:60ch;margin:0 0 26px;color:var(--muted)}

/* ---------- Homepage: browse by region ---------- */
.regions-home{padding-top:0}
.regions-home .place-grid{grid-template-columns:repeat(5,1fr)}
.regions-home .place-tile{min-height:380px}
.regions-home .place-body strong{font-size:1.55rem}

@media(max-width:1180px){.regions-home .place-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1060px){
  .place-grid{grid-template-columns:repeat(2,1fr)}
  .mega-grid{grid-template-columns:repeat(3,1fr)}
  .mega-menu{transform:translateX(-50%)}
}
@media(max-width:760px){
  .nav-dropdown{width:100%}
  .nav-dropdown-toggle{width:100%;justify-content:center;border-top:1px solid var(--line)}
  .mega-menu{position:static;width:100%;padding:8px 6px 14px;border:0;border-radius:0;box-shadow:none;transform:none;background:transparent}
  .mega-grid{grid-template-columns:1fr 1fr;gap:18px}
  .site-nav .mega-column li a{justify-content:flex-start;border-top:0}
  .site-nav .mega-region{border-top:0}
  .place-grid,.regions-home .place-grid{grid-template-columns:1fr}
  .place-tile,.regions-home .place-tile{min-height:260px}
  .region-block-head{flex-direction:column;align-items:flex-start}
  .package-new{top:auto;bottom:16px;right:16px}
}

/* Hero readability over busy city and festival photos */
.detail-hero::after{background:linear-gradient(90deg,rgba(13,33,89,.82) 0%,rgba(13,33,89,.45) 45%,rgba(13,33,89,0) 75%),linear-gradient(0deg,rgba(13,33,89,.9) 0%,rgba(13,33,89,.2) 55%,rgba(13,33,89,.3))}
.detail-hero .breadcrumb li,.detail-hero .breadcrumb [aria-current]{color:rgba(255,255,255,.88)}
/* Three hotel tiers fill the row */
.hotel-list:has(>li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.hotel-list:has(>li:nth-child(3):last-child){grid-template-columns:1fr}}
.detail-back{margin:28px 0 0}
