/**
 * Badri Kedar Darshan — CSS v3
 * Product-level. Real travel agency.
 * Colors: Teal #0a4b4c | Orange #fbb03b | Stone #F5F0E8 | Navy #1C2B3A
 * Font: DM Sans (body) + Playfair Display (headings)
 */

/* ── IMPORT ── */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

/* ── TOKENS ── */
:root {
    /* Brand */
    --teal:         #0a4b4c;
    --teal-dark:    #072e2f;
    --teal-mid:     #116566;
    --teal-light:   #e8f2f2;
    --orange:       #fbb03b;
    --orange-d:     #e09d28;
    --orange-light: #fff8ec;
    --stone:        #F5F0E8;
    --stone-d:      #E8E0D0;
    --navy:         #1C2B3A;
    --navy-mid:     #2E4057;
    /* Text */
    --text:         #1a1a2e;
    --text-mid:     #4a5568;
    --text-light:   #8896a4;
    /* UI */
    --border:       #e2e8f0;
    --border-d:     #cbd5e0;
    --bg:           #f7f8fc;
    --white:        #ffffff;
    /* Shadows */
    --sh-xs:  0 1px 3px rgba(10,75,76,0.06), 0 1px 2px rgba(10,75,76,0.04);
    --sh-sm:  0 4px 6px rgba(10,75,76,0.07), 0 2px 4px rgba(10,75,76,0.05);
    --sh-md:  0 10px 25px rgba(10,75,76,0.10), 0 4px 8px rgba(10,75,76,0.06);
    --sh-lg:  0 20px 50px rgba(10,75,76,0.14), 0 8px 16px rgba(10,75,76,0.08);
    --sh-xl:  0 32px 80px rgba(10,75,76,0.18);
    /* Radius */
    --r-xs:   4px;
    --r-sm:   8px;
    --r-md:   12px;
    --r-lg:   16px;
    --r-xl:   24px;
    --r-pill: 50px;
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
    font-family:'DM Sans',sans-serif;
    color:var(--text);
    line-height:1.65;
    background:var(--white);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5 {
    font-family:'Playfair Display',serif;
    color:var(--teal);
    line-height:1.2;
    font-weight:700;
}
a { text-decoration:none; color:inherit; transition:color 0.2s; }
img { max-width:100%; display:block; }
input,select,textarea,button { font-family:'DM Sans',sans-serif; }
ul { list-style:none; }

/* ── LAYOUT ── */
.bkd-container { max-width:1240px; margin:0 auto; padding:0 24px; }
.bkd-container-wide { max-width:1440px; margin:0 auto; padding:0 32px; }
.section-pad    { padding:88px 0; }
.section-pad-sm { padding:60px 0; }
.section-pad-xs { padding:40px 0; }

/* Section label */
.sec-label {
    display:inline-block;
    font-size:10px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:var(--orange);
    margin-bottom:10px;
}
.sec-label.light { color:rgba(251,176,59,0.7); }

/* ── NAV ── */
.site-header {
    position:fixed; top:0; left:0; right:0; z-index:1000;
    background:var(--white);
    border-bottom:1px solid var(--border);
    transition:box-shadow 0.3s;
}
.site-header.scrolled { box-shadow:var(--sh-sm); }
.header-top-bar {
    background:var(--teal);
    padding:7px 0;
    font-size:12px;
    color:rgba(255,255,255,0.65);
}
.header-top-inner {
    max-width:1240px; margin:0 auto; padding:0 24px;
    display:flex; align-items:center; justify-content:space-between;
}
.header-top-inner a { color:rgba(255,255,255,0.75); transition:color 0.2s; }
.header-top-inner a:hover { color:var(--orange); }
.header-main { max-width:1240px; margin:0 auto; padding:0 24px; height:62px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.logo-mark { width:40px; height:40px; background:var(--teal); border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.logo-mark i { color:var(--orange); font-size:18px; }
.logo-name { line-height:1.1; }
.logo-name .n1 { font-family:'Playfair Display',serif; font-size:16px; font-weight:700; color:var(--teal); display:block; }
.logo-name .n2 { font-size:9px; font-weight:600; color:var(--text-light); letter-spacing:1.5px; text-transform:uppercase; }
.main-nav { display:flex; align-items:center; gap:2px; }
.main-nav a { font-size:13px; font-weight:500; color:var(--text-mid); padding:6px 12px; border-radius:var(--r-sm); transition:all 0.2s; white-space:nowrap; }
.main-nav a:hover,.main-nav a.active { color:var(--teal); background:var(--teal-light); }
.header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.btn-call { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--teal); padding:8px 14px; border:1px solid var(--border); border-radius:var(--r-sm); transition:all 0.2s; text-decoration:none; }
.btn-call:hover { border-color:var(--teal); background:var(--teal-light); }
.btn-call i { color:var(--orange); font-size:11px; }
.btn-book { display:inline-flex; align-items:center; gap:7px; background:var(--teal); color:var(--white); font-size:13px; font-weight:600; padding:9px 18px; border-radius:var(--r-sm); border:none; cursor:pointer; transition:all 0.2s; text-decoration:none; }
.btn-book:hover { background:var(--teal-mid); color:var(--white); }
.mobile-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px; color:var(--teal); font-size:20px; }
.mobile-menu { display:none; position:absolute; top:100%; left:0; right:0; background:var(--white); border-top:1px solid var(--border); box-shadow:var(--sh-md); padding:16px 24px; z-index:999; }
.mobile-menu.open { display:block; }
.mobile-menu a { display:block; padding:10px 0; font-size:14px; font-weight:500; color:var(--text-mid); border-bottom:1px solid var(--border); }
.mobile-menu a:last-child { border-bottom:none; }
.mobile-menu a:hover { color:var(--teal); }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; padding:12px 24px; border-radius:var(--r-sm); border:none; cursor:pointer; transition:all 0.25s; text-decoration:none; letter-spacing:0.2px; }
.btn-primary { background:var(--teal); color:var(--white); }
.btn-primary:hover { background:var(--teal-mid); color:var(--white); transform:translateY(-1px); box-shadow:var(--sh-sm); }
.btn-secondary { background:transparent; color:var(--teal); border:1.5px solid var(--teal); }
.btn-secondary:hover { background:var(--teal); color:var(--white); }
.btn-accent { background:var(--orange); color:var(--navy); font-weight:700; }
.btn-accent:hover { background:var(--orange-d); transform:translateY(-1px); box-shadow:0 8px 24px rgba(251,176,59,0.25); }
.btn-wa { background:#25D366; color:var(--white); }
.btn-wa:hover { background:#1ebb57; color:var(--white); transform:translateY(-1px); }
.btn-outline-white { background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,0.4); }
.btn-outline-white:hover { background:rgba(255,255,255,0.1); border-color:var(--white); }
.btn-lg { padding:15px 32px; font-size:14px; }
.btn-sm { padding:8px 16px; font-size:12px; }
.btn-block { width:100%; justify-content:center; padding:14px; }

/* ── CARDS ── */
.card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; }
.card-hover { transition:all 0.3s; }
.card-hover:hover { box-shadow:var(--sh-lg); transform:translateY(-4px); border-color:rgba(10,75,76,0.15); }
.card-strip { background:var(--teal); padding:14px 20px; display:flex; align-items:center; gap:10px; }
.card-strip h3 { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; color:var(--white); }
.card-strip i { color:var(--orange); }
.card-body { padding:22px 24px; }

/* ── PACKAGE CARD ── */
.pkg-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; transition:all 0.3s; display:block; text-decoration:none; }
.pkg-card:hover { box-shadow:var(--sh-lg); transform:translateY(-5px); border-color:rgba(10,75,76,0.2); }
.pkg-card-img { height:210px; overflow:hidden; position:relative; }
.pkg-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.pkg-card:hover .pkg-card-img img { transform:scale(1.06); }
.pkg-card-badge { position:absolute; top:12px; left:12px; background:var(--teal); color:var(--white); font-size:10px; font-weight:700; padding:3px 9px; border-radius:var(--r-xs); letter-spacing:0.5px; text-transform:uppercase; }
.pkg-card-badge.accent { background:var(--orange); color:var(--navy); }
.pkg-card-body { padding:18px 20px; }
.pkg-card-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.pkg-tag { font-size:10px; font-weight:600; background:var(--teal-light); color:var(--teal); padding:3px 8px; border-radius:var(--r-xs); text-transform:uppercase; letter-spacing:0.5px; }
.pkg-card-title { font-family:'Playfair Display',serif; font-size:17px; color:var(--teal); font-weight:700; margin-bottom:6px; line-height:1.3; }
.pkg-card-sub { font-size:12px; color:var(--text-light); margin-bottom:14px; }
.pkg-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--border); }
.pkg-price { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; color:var(--teal); }
.pkg-price-label { font-size:10px; color:var(--text-light); text-transform:uppercase; letter-spacing:0.5px; margin-top:1px; }
.pkg-card-cta { font-size:12px; font-weight:600; color:var(--teal); display:flex; align-items:center; gap:5px; }
.pkg-card-cta:hover { color:var(--orange); }

/* ── FORM ── */
.form-group { margin-bottom:16px; }
.form-label { display:block; font-size:11px; font-weight:700; color:var(--text-mid); text-transform:uppercase; letter-spacing:1px; margin-bottom:7px; }
.form-control { width:100%; padding:12px 14px; border:1px solid var(--border-d); border-radius:var(--r-md); font-family:'DM Sans',sans-serif; font-size:14px; color:var(--text); background:var(--white); outline:none; transition:border-color 0.2s,box-shadow 0.2s; appearance:none; }
.form-control:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(10,75,76,0.08); }
.form-control::placeholder { color:var(--text-light); }
.form-control-sm { padding:9px 12px; font-size:13px; }
.form-hint { font-size:11px; color:var(--text-light); margin-top:5px; }
.checkbox-group { display:flex; flex-wrap:wrap; gap:8px; }
.checkbox-item { display:flex; align-items:center; gap:7px; cursor:pointer; }
.checkbox-item input { width:16px; height:16px; cursor:pointer; accent-color:var(--teal); }
.checkbox-item span { font-size:13px; color:var(--text-mid); }
.form-divider { height:1px; background:var(--border); margin:20px 0; }
.form-section-title { font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; color:var(--text-light); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:14px; }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }

/* Booking form official */
.booking-form-wrap { background:var(--white); border:1px solid var(--border); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-md); }
.booking-form-header { background:var(--teal); padding:22px 28px; }
.booking-form-header h3 { font-family:'Playfair Display',serif; font-size:20px; color:var(--white); font-weight:700; margin-bottom:4px; }
.booking-form-header p { font-size:12px; color:rgba(255,255,255,0.55); }
.booking-form-body { padding:24px 28px; }
.booking-price-preview { background:var(--stone); border:1px solid var(--stone-d); border-radius:var(--r-md); padding:14px 16px; margin-bottom:20px; display:flex; align-items:center; justify-content:space-between; }
.booking-price-preview .from { font-size:11px; color:var(--text-light); text-transform:uppercase; letter-spacing:1px; }
.booking-price-preview .amount { font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color:var(--teal); }
.booking-price-preview .per { font-size:11px; color:var(--text-light); }
.booking-form-footer { padding:16px 28px; background:var(--bg); border-top:1px solid var(--border); }
.booking-trust { display:flex; gap:14px; flex-wrap:wrap; }
.booking-trust-item { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--text-light); }
.booking-trust-item i { color:var(--teal); font-size:11px; }

/* ── BOOKING SIDEBAR (sticky) ── */
.booking-sidebar { position:sticky; top:84px; }

/* ── TABLE ── */
.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th { background:var(--teal); color:var(--white); padding:11px 14px; text-align:left; font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:0.5px; }
.data-table td { padding:10px 14px; border-bottom:1px solid var(--border); color:var(--text); }
.data-table tbody tr:nth-child(even) td { background:var(--bg); }
.data-table tbody tr:hover td { background:var(--teal-light); }
.data-table .highlight { font-weight:600; color:var(--teal); }

/* ── ITINERARY ── */
.itinerary-wrap { border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; }
.itinerary-item { border-bottom:1px solid var(--border); }
.itinerary-item:last-child { border-bottom:none; }
.itinerary-toggle { width:100%; background:none; border:none; display:flex; align-items:center; gap:12px; padding:16px 20px; cursor:pointer; text-align:left; transition:background 0.15s; }
.itinerary-toggle:hover { background:var(--bg); }
.itinerary-toggle.open { background:var(--teal-light); }
.day-badge { background:var(--teal); color:var(--orange); font-size:10px; font-weight:700; padding:3px 10px; border-radius:var(--r-xs); white-space:nowrap; flex-shrink:0; text-transform:uppercase; letter-spacing:0.5px; }
.itin-title { font-size:14px; font-weight:600; color:var(--text); flex:1; }
.itin-meta { font-size:11px; color:var(--text-light); display:flex; align-items:center; gap:12px; flex-shrink:0; }
.itin-meta span { display:flex; align-items:center; gap:4px; }
.itin-chevron { margin-left:auto; color:var(--text-light); font-size:12px; transition:transform 0.25s; flex-shrink:0; }
.itinerary-toggle.open .itin-chevron { transform:rotate(180deg); color:var(--teal); }
.itin-body { display:none; }
.itin-body.open { display:block; }
.itin-body-inner { padding:0 20px 20px; }
.itin-day-desc { font-size:13px; color:var(--text-mid); line-height:1.8; margin-bottom:14px; }
.itin-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.itin-detail-item { background:var(--bg); border-radius:var(--r-sm); padding:10px 12px; }
.itin-detail-item .label { font-size:10px; font-weight:700; color:var(--text-light); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:3px; }
.itin-detail-item .value { font-size:13px; font-weight:600; color:var(--text); }
.itin-hotel { display:flex; align-items:center; gap:12px; background:var(--stone); border:1px solid var(--stone-d); border-radius:var(--r-sm); padding:10px 14px; }
.itin-hotel i { color:var(--teal); font-size:14px; flex-shrink:0; }
.itin-hotel .hotel-name { font-size:13px; font-weight:600; color:var(--teal); }
.itin-hotel .hotel-type { font-size:11px; color:var(--text-light); margin-top:1px; }
.itin-meals { display:flex; gap:8px; margin-top:10px; }
.meal-chip { display:inline-flex; align-items:center; gap:5px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-xs); padding:3px 8px; font-size:11px; font-weight:600; color:var(--text-mid); }
.meal-chip i { font-size:9px; color:var(--orange); }

/* ── WEATHER ── */
.weather-strip { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.month-chip { text-align:center; padding:10px 6px; border-radius:var(--r-md); font-size:11px; border:1px solid var(--border); cursor:default; transition:transform 0.2s; }
.month-chip:hover { transform:translateY(-2px); }
.month-chip .mn { font-weight:700; display:block; font-size:12px; margin-bottom:3px; }
.month-chip .stars { color:var(--orange); font-size:9px; display:block; letter-spacing:1px; }
.month-chip .temp { font-size:10px; display:block; margin-top:2px; color:var(--text-light); }
.month-chip.best { background:var(--teal); color:var(--white); border-color:var(--teal); }
.month-chip.best .stars { color:var(--orange); }
.month-chip.best .temp { color:rgba(255,255,255,0.6); }
.month-chip.good { background:#f0f9f0; border-color:#a8d5a8; color:#1a5e1a; }
.month-chip.avg  { background:var(--orange-light); border-color:#f5d590; color:#7a5000; }
.month-chip.bad  { background:#fff3f3; border-color:#f5b8b8; color:#8b2020; }

/* ── INCL/EXCL ── */
.incl-list,.excl-list { list-style:none; padding:0; }
.incl-list li,.excl-list li { padding:7px 0; display:flex; gap:9px; align-items:flex-start; font-size:13px; border-bottom:1px solid var(--border); line-height:1.55; }
.incl-list li:last-child,.excl-list li:last-child { border-bottom:none; }
.incl-list li::before { content:'✓'; color:#1a7f37; font-weight:700; flex-shrink:0; margin-top:1px; font-size:12px; }
.excl-list li::before { content:'✗'; color:#c0392b; font-weight:700; flex-shrink:0; margin-top:1px; font-size:12px; }

/* ── FAQ ── */
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:none; }
.faq-btn { width:100%; background:none; border:none; padding:17px 0; cursor:pointer; text-align:left; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; color:var(--text); display:flex; justify-content:space-between; align-items:center; gap:16px; transition:color 0.15s; }
.faq-btn:hover,.faq-btn.open { color:var(--teal); }
.faq-icon { color:var(--text-light); font-size:12px; flex-shrink:0; transition:transform 0.25s; }
.faq-btn.open .faq-icon { transform:rotate(180deg); color:var(--teal); }
.faq-answer { display:none; padding-bottom:16px; font-size:13px; color:var(--text-mid); line-height:1.8; }
.faq-answer.open { display:block; }

/* ── PAGE HERO ── */
.page-hero { background:var(--teal); padding:106px 0 56px; position:relative; overflow:hidden; }
.page-hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.18; }
.page-hero-content { position:relative; z-index:2; }
.breadcrumb { display:flex; align-items:center; gap:6px; font-size:12px; color:rgba(255,255,255,0.45); margin-bottom:16px; flex-wrap:wrap; }
.breadcrumb a { color:var(--orange); }
.breadcrumb a:hover { color:var(--white); }
.breadcrumb span.sep { color:rgba(255,255,255,0.3); }
.page-hero h1 { font-size:clamp(26px,4vw,44px); color:var(--white); margin-bottom:12px; }

/* ── INFO BOXES ── */
.info-box { padding:14px 16px; border-radius:var(--r-md); font-size:13px; line-height:1.65; }
.info-teal   { background:var(--teal-light); border-left:3px solid var(--teal); color:var(--teal-dark); }
.info-orange { background:var(--orange-light); border-left:3px solid var(--orange); color:#7a5000; }
.info-green  { background:#f0f9f0; border-left:3px solid #2d8a2d; color:#1a4d1a; }
.info-navy   { background:#f0f2f8; border-left:3px solid var(--navy); color:var(--navy-mid); }
.info-stone  { background:var(--stone); border-left:3px solid var(--stone-d); color:var(--text-mid); }

/* ── BADGES ── */
.badge { display:inline-block; font-size:10px; font-weight:700; padding:3px 8px; border-radius:var(--r-xs); text-transform:uppercase; letter-spacing:0.5px; }
.badge-teal   { background:var(--teal); color:var(--white); }
.badge-orange { background:var(--orange); color:var(--navy); }
.badge-navy   { background:var(--navy); color:var(--white); }
.badge-light  { background:var(--teal-light); color:var(--teal); }
.badge-stone  { background:var(--stone); color:var(--text-mid); border:1px solid var(--stone-d); }

/* ── REVIEW CARD ── */
.review-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:24px; transition:all 0.3s; }
.review-card:hover { box-shadow:var(--sh-md); border-color:rgba(10,75,76,0.15); }
.review-stars { color:var(--orange); font-size:13px; letter-spacing:1px; margin-bottom:12px; }
.review-google-icon { display:inline-flex; align-items:center; gap:5px; font-size:10px; font-weight:600; color:var(--text-light); background:var(--bg); padding:2px 8px; border-radius:10px; margin-left:8px; }
.review-text { font-size:13px; color:var(--text-mid); line-height:1.8; margin-bottom:18px; }
.review-pkg-tag { font-size:10px; font-weight:700; background:var(--teal-light); color:var(--teal); padding:3px 8px; border-radius:var(--r-xs); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:14px; display:inline-block; }
.review-person { display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--border); }
.review-avatar { width:40px; height:40px; border-radius:50%; flex-shrink:0; object-fit:cover; }
.review-avatar-fallback { width:40px; height:40px; background:var(--teal); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:var(--orange); flex-shrink:0; }
.review-name { font-size:13px; font-weight:700; color:var(--text); }
.review-loc { font-size:11px; color:var(--text-light); margin-top:2px; }
.review-date { font-size:10px; color:var(--text-light); margin-top:1px; }

/* ── FLEET CARD ── */
.fleet-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; transition:all 0.3s; }
.fleet-card:hover { box-shadow:var(--sh-md); }
.fleet-img { height:180px; overflow:hidden; }
.fleet-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.fleet-card:hover .fleet-img img { transform:scale(1.05); }
.fleet-body { padding:16px 18px; }
.fleet-name { font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; color:var(--teal); margin-bottom:4px; }
.fleet-sub { font-size:12px; color:var(--text-light); margin-bottom:10px; }
.fleet-specs { display:flex; gap:12px; flex-wrap:wrap; }
.fleet-spec { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--text-mid); font-weight:500; }
.fleet-spec i { color:var(--orange); font-size:11px; }

/* ── HOTEL CARD ── */
.hotel-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; }
.hotel-img { height:140px; overflow:hidden; }
.hotel-img img { width:100%; height:100%; object-fit:cover; }
.hotel-body { padding:12px 14px; }
.hotel-name { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; color:var(--teal); margin-bottom:3px; }
.hotel-location { font-size:11px; color:var(--text-light); margin-bottom:6px; }
.hotel-stars { color:var(--orange); font-size:11px; }
.hotel-amenities { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.hotel-amenity { font-size:10px; color:var(--text-mid); background:var(--bg); padding:2px 6px; border-radius:var(--r-xs); }

/* ── NEARBY CARD ── */
.nearby-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; transition:all 0.3s; display:block; text-decoration:none; }
.nearby-card:hover { box-shadow:var(--sh-md); transform:translateY(-4px); }
.nearby-img { height:200px; overflow:hidden; position:relative; }
.nearby-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.nearby-card:hover .nearby-img img { transform:scale(1.06); }
.nearby-body { padding:16px 18px; }
.nearby-title { font-family:'Playfair Display',serif; font-size:17px; color:var(--teal); font-weight:700; margin-bottom:5px; }
.nearby-meta { font-size:12px; color:var(--text-light); }

/* ── NEWS CARD ── */
.news-card { display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--border); }
.news-card:last-child { border-bottom:none; }
.news-date { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--orange); margin-bottom:4px; }
.news-title { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; color:var(--text); line-height:1.4; margin-bottom:4px; }
.news-title a:hover { color:var(--teal); }
.news-excerpt { font-size:12px; color:var(--text-light); line-height:1.6; }
.news-category { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:2px 7px; border-radius:var(--r-xs); }
.news-cat-red    { background:#ffe8e8; color:#c0392b; }
.news-cat-green  { background:#e8f5e9; color:#2d7d32; }
.news-cat-blue   { background:var(--teal-light); color:var(--teal); }
.news-cat-orange { background:var(--orange-light); color:#7a5000; }

/* ── TRUST / PARTNER ── */
.trust-badge { display:inline-flex; align-items:center; gap:8px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-sm); padding:8px 14px; font-size:12px; font-weight:600; color:var(--text-mid); }
.trust-badge i { color:var(--teal); font-size:14px; }
.payment-badge { display:inline-flex; align-items:center; gap:6px; background:var(--bg); border:1px solid var(--border); border-radius:var(--r-sm); padding:8px 14px; font-size:12px; font-weight:700; color:var(--text-mid); }

/* ── WHATSAPP FLOAT ── */
.wa-float { position:fixed; bottom:24px; right:24px; z-index:9999; width:56px; height:56px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); transition:all 0.25s; text-decoration:none; }
.wa-float:hover { transform:scale(1.1); box-shadow:0 8px 28px rgba(37,211,102,0.5); }
.wa-float i { color:var(--white); font-size:26px; }
.wa-pulse { position:absolute; inset:-4px; border-radius:50%; border:2px solid rgba(37,211,102,0.35); animation:wapulse 2.5s infinite; }
@keyframes wapulse { 0%{transform:scale(1);opacity:1} 100%{transform:scale(1.6);opacity:0} }

/* ── FOOTER ── */
.footer { background:var(--navy); }
.footer-main { padding:64px 0 48px; }
.footer-h { font-family:'DM Sans',sans-serif; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--orange); margin-bottom:18px; }
.footer-link { display:block; font-size:13px; color:rgba(255,255,255,0.50); padding:4px 0; transition:color 0.2s; }
.footer-link:hover { color:var(--white); }
.footer-bottom { padding:18px 0; border-top:1px solid rgba(255,255,255,0.08); }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:rgba(255,255,255,0.3); flex-wrap:wrap; gap:10px; }
.footer-bottom-inner a { color:rgba(255,255,255,0.3); transition:color 0.2s; }
.footer-bottom-inner a:hover { color:rgba(255,255,255,0.6); }
.footer-partner-btn { display:inline-flex; align-items:center; gap:8px; background:rgba(251,176,59,0.12); border:1px solid rgba(251,176,59,0.3); color:var(--orange); font-size:13px; font-weight:600; padding:10px 18px; border-radius:var(--r-sm); transition:all 0.25s; text-decoration:none; }
.footer-partner-btn:hover { background:rgba(251,176,59,0.2); color:var(--orange); }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(18px); transition:opacity 0.6s ease,transform 0.6s ease; }
.reveal.visible { opacity:1; transform:none; }

/* ── UTILITY ── */
.divider { height:1px; background:var(--border); margin:24px 0; }
.text-teal  { color:var(--teal)!important; }
.text-orange{ color:var(--orange)!important; }
.text-light { color:var(--text-light)!important; }
.bg-stone   { background:var(--stone); }
.bg-teal    { background:var(--teal); }
.bg-navy    { background:var(--navy); }
.bg-bg      { background:var(--bg); }
.fw-7 { font-weight:700; }

/* ── RESPONSIVE ── */
@media(max-width:1024px){
    .main-nav { display:none; }
    .mobile-toggle { display:block; }
    .btn-call { display:none; }
    .weather-strip { grid-template-columns:repeat(4,1fr); }
}
@media(max-width:768px){
    .bkd-container { padding:0 16px; }
    .section-pad { padding:60px 0; }
    .section-pad-sm { padding:44px 0; }
    .weather-strip { grid-template-columns:repeat(3,1fr); }
    .booking-sidebar { position:static; }
    .form-grid-2,.form-grid-3 { grid-template-columns:1fr; }
    .footer-bottom-inner { flex-direction:column; gap:8px; text-align:center; }
    .itin-detail-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:480px){
    .weather-strip { grid-template-columns:repeat(3,1fr); }
    .itin-meta { display:none; }
}
