/* TripGozy — Destinations Page CSS */

.hero{
  position:relative;
  overflow:hidden;
  background:var(--c-primary-900,#05111e);
}
.hero-bg{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1488085061387-422e29b40080?w=1440&q=80&auto=format&fit=crop')
  center 42%/cover no-repeat;
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,
    rgba(7,24,41,.97) 0%,
    rgba(7,24,41,.82) 32%,
    rgba(7,24,41,.44) 62%,
    rgba(7,24,41,.12) 100%);
}
.hero-inner{
  position:relative;z-index:2;
  padding:28px 0 52px;
}
.hero-bc{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  font-size:13px;color:rgba(255,255,255,.44);margin-bottom:28px;
}
.hero-bc a{color:rgba(255,255,255,.52)}
.hero-bc a:hover{color:#fff}
.hero-bc-sep{color:rgba(255,255,255,.25)}

/* Desktop: hero splits into content + stat-card */
.hero-layout{display:flex;align-items:flex-end;gap:40px}
.hero-left{flex:1;min-width:0}

.hero-ey{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;color:#F0AB42;margin-bottom:12px;
}
.hero-ey::before{content:'';width:20px;height:2px;background:#F0AB42;flex-shrink:0}
.hero-h1{
  font-family:var(--f-display);
  font-size:clamp(28px,5vw,60px);
  font-weight:700;color:#fff;
  line-height:1.08;letter-spacing:-.03em;
  margin-bottom:14px;word-break:break-word;
}
.hero-h1 em{font-style:italic;color:#F0AB42}
.hero-sub{
  font-size:clamp(15px,2vw,18px);
  font-weight:300;color:rgba(255,255,255,.72);
  line-height:1.7;margin-bottom:24px;
  max-width:540px;word-break:break-word;
}
.hero-btns{
  display:flex;align-items:center;gap:10px;
  flex-wrap:wrap;margin-bottom:22px;
}
.hero-pills{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.hero-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 13px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;font-size:13px;font-weight:600;
  color:rgba(255,255,255,.80);transition:all .18s;
}
.hero-pill:hover{background:rgba(255,255,255,.20);color:#fff}

/* Hero stat card — desktop only */
.hero-stat-card{
  background:rgba(255,255,255,.09);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.16);border-radius:20px;
  padding:22px 24px;flex-shrink:0;width:224px;
}
.hsc-lbl{font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.42);margin-bottom:14px}
.hsc-rows{display:flex;flex-direction:column;gap:9px}
.hsc-row{display:flex;align-items:baseline;justify-content:space-between;
  font-size:13px;color:rgba(255,255,255,.65);gap:8px}
.hsc-num{font-family:var(--f-display);font-size:16px;font-weight:700;
  color:#fff;flex-shrink:0}
.hsc-div{height:1px;background:rgba(255,255,255,.10);margin:2px 0}
.hsc-total{display:flex;align-items:baseline;justify-content:space-between;
  font-size:13px;font-weight:700;color:#F0AB42;gap:8px}

/* ══════════════════════
   DEST SECTION
══════════════════════ */
.dest-section{padding:52px 0 80px}
.dest-head{
  display:flex;align-items:flex-end;
  justify-content:space-between;
  gap:16px;margin-bottom:36px;flex-wrap:wrap;
}
.dest-ey{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--c-secondary-700);margin-bottom:7px}
.dest-h2{font-family:var(--f-display);font-size:clamp(22px,3.5vw,36px);
  font-weight:500;color:var(--c-primary-800);
  line-height:1.18;letter-spacing:-.02em}
.dest-meta{font-size:15px;color:var(--c-stone);line-height:1.6;
  text-align:right;flex-shrink:0}

.dest-stack{display:flex;flex-direction:column;gap:24px}

/* ══════════════════════════════════════════
   CARD SYSTEM
   All cards are <div> with onclick — no <a> nesting
   Full-card clickable via invisible overlay link
══════════════════════════════════════════ */
.ccard{
  background:#fff;border-radius:20px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(7,24,41,.08);
  transition:transform .28s ease,box-shadow .28s ease;
  cursor:pointer;position:relative;
}
.ccard:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 44px rgba(7,24,41,.14);
}
/* Invisible full-card link overlay */
.ccard-link{
  position:absolute;inset:0;z-index:1;
  display:block;font-size:0;outline:none;
  border-radius:20px;
}
.ccard-link:focus-visible{
  outline:3px solid var(--c-accent-600);outline-offset:2px;
}

/* ── Image wrapper ──
   Use padding-top % trick = natural aspect ratio, no fixed heights
──────────────────────── */
.ccard-img{position:relative;width:100%;overflow:hidden}
.ccard-img::before{content:'';display:block;padding-top:60%}/* 5:3 ratio */
.ccard-img img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  transition:transform .55s ease;
}
.ccard:hover .ccard-img img{transform:scale(1.05)}

/* Badge */
.ccard-badge{
  position:absolute;top:14px;left:14px;z-index:2;
  font-size:11px;font-weight:700;
  padding:4px 11px;border-radius:999px;
}
.badge-gold{background:#FEF3C7;color:#7A4500}
.badge-teal{background:var(--c-secondary-50);color:var(--c-secondary-700)}
.badge-navy{background:var(--c-primary-50);color:var(--c-primary-800)}

/* Price tag */
.ccard-price{
  position:absolute;bottom:14px;right:14px;z-index:2;
  background:rgba(7,24,41,.80);backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;padding:7px 12px;text-align:center;
}
.cpr-from{font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:rgba(255,255,255,.52);margin-bottom:1px}
.cpr-num{font-family:var(--f-display);font-size:18px;font-weight:700;
  color:#F0AB42;line-height:1}
.cpr-pp{font-size:10px;color:rgba(255,255,255,.42)}

/* ── Card body ── */
.ccard-body{padding:20px 22px}

.ccard-name-row{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.ccard-flag{font-size:20px;flex-shrink:0;line-height:1}
.ccard-name{
  font-family:var(--f-display);font-size:clamp(18px,3.5vw,24px);
  font-weight:700;color:var(--c-primary-800);
  letter-spacing:-.02em;word-break:break-word;line-height:1.1;
}
.ccard-tagline{
  font-size:14px;font-weight:300;color:var(--c-stone);
  line-height:1.6;margin-bottom:14px;word-break:break-word;
}

/* Stats row */
.ccard-stats{
  display:flex;background:var(--c-snow);
  border:1px solid var(--c-silver);
  border-radius:10px;overflow:hidden;
  margin-bottom:13px;
}
.cstat{
  flex:1;padding:9px 6px;text-align:center;
  border-right:1px solid var(--c-silver);min-width:0;
}
.cstat:last-child{border-right:none}
.cstat-n{
  font-family:var(--f-display);font-size:15px;font-weight:700;
  color:var(--c-primary-800);line-height:1;margin-bottom:2px;
}
.cstat-l{font-size:10px;color:var(--c-stone)}

/* Highlights */
.ccard-hls{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.ccard-hl{
  font-size:12px;font-weight:600;color:var(--c-slate);
  background:var(--c-snow);border:1px solid var(--c-silver);
  padding:3px 9px;border-radius:6px;white-space:nowrap;
}

/* Rating */
.ccard-rating{
  display:flex;align-items:center;gap:5px;
  margin-bottom:14px;flex-wrap:wrap;
}
.ccard-stars{color:#F59E0B;font-size:13px}
.ccard-rn{font-size:13px;font-weight:700;color:var(--c-primary-800)}
.ccard-rc{font-size:12px;color:var(--c-stone)}

/* CTAs */
.ccard-ctas{
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
  position:relative;z-index:3;/* above overlay */
}
.ccard-best{
  font-size:12px;color:var(--c-stone);
  margin-top:8px;display:flex;align-items:center;gap:4px;
}

/* ══════════════════════════════════════════
   FEATURED CARD — India
   On desktop: image LEFT (fixed 45%), content RIGHT (55%)
   Using flex with stretch so both sides fill height equally
══════════════════════════════════════════ */
.ccard.featured{
  display:flex; /* side by side */
  flex-direction:column; /* mobile: stacked */
}
.ccard.featured .ccard-img{
  width:100%;flex-shrink:0;
}
/* override aspect ratio for featured — slightly taller */
.ccard.featured .ccard-img::before{padding-top:62%}
.ccard.featured .ccard-body{
  padding:24px 24px;
}
.ccard.featured .ccard-name{font-size:clamp(20px,3.5vw,28px)}
.ccard.featured .ccard-tagline{font-size:15px}

/* ── Standard pair ── */
.cards-pair{
  display:flex;flex-direction:column;gap:20px;
}
.cards-pair .ccard{flex:1}
/* On mobile, standard cards: image on top, content below (flex-col default) */
.cards-pair .ccard-img::before{padding-top:55%}/* slightly wider crop on standard */

/* ══════════════════════
   WHY SECTION
══════════════════════ */
.why-section{
  background:var(--c-snow);
  border-top:1px solid var(--c-silver);
  padding:56px 0;
}
.why-head-wrap{text-align:center;max-width:520px;margin:0 auto 36px}
.why-ey{display:block;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;color:var(--c-secondary-700);margin-bottom:7px}
.why-h2{font-family:var(--f-display);font-size:clamp(22px,3vw,32px);
  font-weight:500;color:var(--c-primary-800);letter-spacing:-.02em;margin-bottom:8px}
.why-sub{font-size:15px;font-weight:300;color:var(--c-stone);line-height:1.65}
.why-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.why-card{
  background:#fff;border:1px solid var(--c-silver);
  border-radius:14px;padding:20px 18px;
  display:flex;align-items:flex-start;gap:14px;
  transition:border-color .2s,box-shadow .2s;
}
.why-card:hover{border-color:var(--c-primary-200,#93B8DA);
  box-shadow:0 4px 14px rgba(7,24,41,.07)}
.why-icon{font-size:26px;flex-shrink:0;margin-top:2px;line-height:1}
.why-title{font-family:var(--f-display);font-size:16px;font-weight:500;
  color:var(--c-primary-800);margin-bottom:5px}
.why-desc{font-size:14px;color:var(--c-stone);line-height:1.6}

/* ══════════════════════
   FINAL CTA
══════════════════════ */
.final-cta{
  background:var(--c-primary-800);padding:68px 0;
  position:relative;overflow:hidden;
}
.final-cta::before{content:'';position:absolute;right:-60px;top:-60px;
  width:260px;height:260px;border-radius:50%;background:rgba(201,123,16,.07)}
.final-cta::after{content:'';position:absolute;left:-80px;bottom:-80px;
  width:340px;height:340px;border-radius:50%;background:rgba(14,107,92,.06)}
.fci{position:relative;z-index:1;text-align:center;max-width:560px;margin:0 auto}
.fci-ey{font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;color:#F0AB42;margin-bottom:12px}
.fci-h2{font-family:var(--f-display);font-size:clamp(24px,4.5vw,42px);
  font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.025em;
  margin-bottom:12px;word-break:break-word}
.fci-h2 em{color:#F0AB42;font-style:italic}
.fci-sub{font-size:16px;font-weight:300;color:rgba(255,255,255,.62);
  margin-bottom:28px;line-height:1.65}
.fci-btns{display:flex;align-items:center;justify-content:center;
  gap:10px;flex-wrap:wrap}
.fci-trust{font-size:12px;color:rgba(255,255,255,.30);margin-top:14px}

/* ══════════════════════════════════════════
   RESPONSIVE SCALING
   Mobile-first baseline above.
   Scale UP at breakpoints.
══════════════════════════════════════════ */

/* ── 640px+: standard cards side by side ── */
@media(min-width:640px){
  .cards-pair{flex-direction:row}
  .cards-pair .ccard{flex:1;min-width:0}
}

/* ── 900px+: featured card goes landscape ── */
@media(min-width:900px){
  /* Featured: flex row, image left 45%, content right 55% */
  .ccard.featured{flex-direction:row;align-items:stretch}
  .ccard.featured .ccard-img{
    width:45%;flex-shrink:0;
    /* Remove the padding-top trick — height comes from flex stretch */
  }
  .ccard.featured .ccard-img::before{display:none}
  .ccard.featured .ccard-img img{position:absolute;inset:0;width:100%;height:100%}
  /* Make img wrapper position:relative so absolute img works */
  .ccard.featured .ccard-img{position:relative;overflow:hidden}
  .ccard.featured .ccard-body{
    flex:1;min-width:0;
    padding:28px 30px;
    display:flex;flex-direction:column;justify-content:center;
  }
  .ccard.featured .ccard-name{font-size:28px}
  .ccard.featured .ccard-tagline{font-size:16px}

  /* Why grid: 4 cols */
  .why-grid{grid-template-columns:repeat(4,1fr)}

  /* Hero stat card shows */
  .hero-stat-card{display:block}
}

/* ── 1024px+: larger typography + spacing ── */
@media(min-width:1024px){
  .wrap{padding:0 28px}
  .ccard-body{padding:22px 26px}
  .ccard-name{font-size:24px}
}

