/**
 * BMC Phase 10-6 — Destination Template CSS
 *
 * Source of truth: extracted verbatim 2026-05-01 from live Himachal page
 * inline <style> block (lines 1426–2019 of dest-himachal.html). Mirrors
 * post-Sara framework destinations (Himachal, Uttarakhand). Pre-Sara
 * destinations (Gujarat/MH/Goa/Rajasthan/Karnataka) use the same class
 * names — same CSS renders both — content retrofit is a separate task.
 *
 * Loaded conditionally on pages whose parent is the Destinations hub
 * (prod 20383 / staging 19597). Enqueue logic in functions.php.
 */

/* === SCOPED RESET === */
.bmc-dest-wrap *, .bmc-dest-wrap *::before, .bmc-dest-wrap *::after {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
}

/* === FONTS === */
.bmc-dest-wrap {
 font-family: 'Lato', sans-serif;
 color: #222;
 line-height: 1.7;
}
.bmc-dest-wrap h1,
.bmc-dest-wrap h2,
.bmc-dest-wrap h3,
.bmc-dest-wrap h4 {
 font-family: 'Montserrat', sans-serif;
 line-height: 1.3;
 color: #333333;
}

/* === LAYOUT === */
.bmc-dest-container {
 max-width: 1140px;
 margin: 0 auto;
 padding: 0 24px;
}
.bmc-dest-narrow {
 max-width: 800px;
 margin: 0 auto;
}
.bmc-dest-section {
 padding: 64px 0;
}
.bmc-dest-section-alt {
 background: #f8f6f3;
}

/* === BREADCRUMB === */
.bmc-dest-breadcrumb {
 background: #f8f6f3;
 padding: 12px 0;
 font-size: 13px;
 color: #777;
}
.bmc-dest-breadcrumb a {
 color: #555;
 text-decoration: none;
}
.bmc-dest-breadcrumb a:hover { color: #c46a4a; }
.bmc-dest-breadcrumb span { margin: 0 6px; }

/* === HERO === */
.bmc-dest-hero {
 padding: 44px 0 40px;
 position: relative;
 overflow: hidden;
 width: 100vw;
 margin-left: calc(-50vw + 50%);
}
/* per-state hero background applied inline via style attr or page-id rule */
.bmc-dest-hero-inner {
 max-width: 1140px;
 margin: 0 auto;
 padding: 0 24px;
}
.bmc-dest-eyebrow {
 display: inline-block;
 background: rgba(196,106,74,0.20);
 border: 1px solid rgba(196,106,74,0.50);
 color: #e8a07a;
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 1.5px;
 text-transform: uppercase;
 padding: 7px 16px;
 border-radius: 4px;
 margin-bottom: 22px;
}
.bmc-dest-hero h1 {
 font-family: 'Montserrat', sans-serif;
 font-size: clamp(28px, 4vw, 46px);
 font-weight: 800;
 color: #fff;
 line-height: 1.18;
 margin-bottom: 20px;
 max-width: 780px;
}
.bmc-dest-hero-sub {
 font-size: 19px;
 color: rgba(255,255,255,0.88);
 line-height: 1.6;
 max-width: 680px;
 margin-bottom: 16px;
}
.bmc-dest-hero-intro {
 font-size: 16px;
 color: rgba(255,255,255,0.78);
 line-height: 1.75;
 max-width: 700px;
 margin-bottom: 34px;
}
.bmc-dest-hero-cta {
 display: inline-block;
 background: #c46a4a;
 color: #fff !important;
 font-family: 'Montserrat', sans-serif;
 font-size: 15px;
 font-weight: 700;
 padding: 16px 36px;
 border-radius: 6px;
 text-decoration: none !important;
 letter-spacing: 0.3px;
 transition: background 0.2s ease;
 margin-top: 28px;
 margin-bottom: 36px;
}
.bmc-dest-hero-cta:hover { background: #a8553a; color: #fff; }
.bmc-dest-trust-strip {
 display: flex;
 flex-wrap: wrap;
 gap: 8px 24px;
 margin-top: 4px;
}
.bmc-dest-trust-item {
 font-size: 13px;
 color: rgba(255,255,255,0.70);
 display: flex;
 align-items: center;
 gap: 7px;
}
.bmc-dest-trust-item::before {
 content: '\2713';
 color: #c46a4a;
 font-weight: 700;
 font-size: 14px;
}

/* === SECTION HEADINGS === */
.bmc-dest-section-label {
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 2px;
 text-transform: uppercase;
 color: #c46a4a;
 margin-bottom: 10px;
}
.bmc-dest-section h2 {
 font-size: clamp(22px, 3vw, 32px);
 font-weight: 700;
 color: #333333;
 margin-bottom: 16px;
}
.bmc-dest-section h3 {
 font-size: 20px;
 font-weight: 700;
 color: #333333;
 margin-bottom: 10px;
}
.bmc-dest-lead {
 font-size: 17px;
 color: #444;
 line-height: 1.8;
 margin-bottom: 28px;
}
.bmc-dest-body {
 font-size: 16px;
 color: #555;
 line-height: 1.85;
 margin-bottom: 20px;
}

/* === ROUTE / REGION CARDS === */
.bmc-dest-routes-grid {
 display: grid;
 gap: 28px;
 margin-top: 32px;
}
.bmc-dest-route-card {
 background: #fff;
 border-radius: 14px;
 border: 1px solid #e8e0d8;
 padding: 30px 32px;
 box-shadow: 0 2px 16px rgba(51,51,51,0.05);
}
.bmc-dest-route-number {
 display: inline-block;
 background: #c46a4a;
 color: #fff;
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 1px;
 padding: 4px 12px;
 border-radius: 20px;
 margin-bottom: 14px;
 text-transform: uppercase;
}
.bmc-dest-route-card h3 {
 font-size: 19px;
 color: #333333;
 margin-bottom: 12px;
}
.bmc-dest-route-meta {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin-bottom: 16px;
}
.bmc-dest-route-tag {
 background: #f8f6f3;
 border: 1px solid #e5e0da;
 border-radius: 20px;
 font-size: 13px;
 color: #555;
 padding: 4px 14px;
}
.bmc-dest-route-tag strong { color: #333333; }

/* === SEASON === */
.bmc-dest-season-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
 gap: 20px;
 margin-top: 32px;
}
.bmc-dest-season-card {
 background: #fff;
 border-radius: 12px;
 border: 1px solid #e8e0d8;
 padding: 24px;
 text-align: center;
}
.bmc-dest-season-badge {
 display: inline-block;
 padding: 5px 16px;
 border-radius: 20px;
 font-family: 'Montserrat', sans-serif;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 0.5px;
 margin-bottom: 12px;
}
.bmc-dest-season-best { background: #e8f5e9; color: #2e7d32; }
.bmc-dest-season-good { background: #fff8e1; color: #f57c00; }
.bmc-dest-season-avoid { background: #fce4ec; color: #c62828; }
.bmc-dest-season-special { background: #e3f2fd; color: #1565c0; }
.bmc-dest-season-card h4 {
 font-size: 16px;
 color: #333333;
 margin-bottom: 8px;
}
.bmc-dest-season-card p {
 font-size: 14px;
 color: #666;
 line-height: 1.6;
}

/* === PRICING === */
.bmc-dest-price-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
 gap: 20px;
 margin-top: 32px;
}
.bmc-dest-price-card {
 background: #fff;
 border-radius: 14px;
 border: 2px solid #e8e0d8;
 padding: 28px 24px;
 text-align: center;
 transition: border-color 0.2s ease;
}
.bmc-dest-price-card.bmc-dest-featured {
 border-color: #c46a4a;
}
.bmc-dest-price-type {
 font-family: 'Montserrat', sans-serif;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 1px;
 text-transform: uppercase;
 color: #888;
 margin-bottom: 12px;
}
.bmc-dest-price-amount {
 font-family: 'Montserrat', sans-serif;
 font-size: 26px;
 font-weight: 800;
 color: #333333;
 line-height: 1.2;
}
.bmc-dest-price-unit {
 font-size: 13px;
 color: #888;
 margin-bottom: 16px;
}
.bmc-dest-price-features {
 list-style: none;
 text-align: left;
 font-size: 13px;
 color: #555;
 line-height: 2;
}
.bmc-dest-price-features li::before {
 content: ', ';
 color: #c46a4a;
}

/* === INFO BOXES === */
.bmc-dest-info-box {
 background: #fff8f5;
 border-left: 4px solid #c46a4a;
 border-radius: 0 10px 10px 0;
 padding: 20px 24px;
 margin: 24px 0;
}
.bmc-dest-info-box strong {
 font-family: 'Montserrat', sans-serif;
 font-size: 14px;
 color: #333333;
 display: block;
 margin-bottom: 6px;
}
.bmc-dest-info-box p {
 font-size: 15px;
 color: #555;
 line-height: 1.7;
 margin: 0;
}

/* === PRACTICAL INFO === */
.bmc-dest-practical-grid {
 display: grid;
 gap: 20px;
 margin-top: 32px;
}
.bmc-dest-practical-item {
 background: #fff;
 border-radius: 12px;
 border: 1px solid #e8e0d8;
 padding: 24px 28px;
}
.bmc-dest-practical-item h4 {
 font-size: 16px;
 font-weight: 700;
 color: #333333;
 margin-bottom: 10px;
 display: flex;
 align-items: center;
 gap: 10px;
}
.bmc-dest-practical-icon {
 width: 32px;
 height: 32px;
 background: #f8f6f3;
 border-radius: 8px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 font-size: 16px;
 flex-shrink: 0;
}
.bmc-dest-practical-item p {
 font-size: 15px;
 color: #555;
 line-height: 1.75;
 margin: 0;
}

/* === FLEET CARDS === */
.bmc-dest-fleet-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
 gap: 24px;
 margin-top: 32px;
}
.bmc-dest-fleet-card {
 background: #fff;
 border-radius: 14px;
 border: 1px solid #e8e0d8;
 overflow: hidden;
 box-shadow: 0 2px 16px rgba(51,51,51,0.06);
}
.bmc-dest-fleet-img {
 width: 100%;
 height: 200px;
 object-fit: cover;
 display: block;
}
.bmc-dest-fleet-body {
 padding: 22px 24px;
}
.bmc-dest-fleet-body h4 {
 font-size: 17px;
 font-weight: 700;
 color: #333333;
 margin-bottom: 6px;
}
.bmc-dest-fleet-price {
 font-size: 15px;
 color: #555;
 margin-bottom: 14px;
}
.bmc-dest-fleet-price strong {
 color: #c46a4a;
 font-size: 17px;
}
.bmc-dest-fleet-amenities {
 list-style: none;
 font-size: 13px;
 color: #666;
 margin-bottom: 18px;
 display: flex;
 flex-wrap: wrap;
 gap: 6px;
}
.bmc-dest-fleet-amenities li {
 background: #f8f6f3;
 border-radius: 4px;
 padding: 3px 10px;
}
.bmc-dest-btn-primary {
 display: block;
 background: #c46a4a;
 color: #fff;
 font-family: 'Montserrat', sans-serif;
 font-size: 14px;
 font-weight: 700;
 padding: 12px 20px;
 border-radius: 6px;
 text-decoration: none;
 text-align: center;
 transition: background 0.2s ease;
}
.bmc-dest-btn-primary:hover { background: #a8553a; color: #fff; }

/* === FAQ === */
.bmc-dest-faq { margin-top: 32px; }
.bmc-dest-faq-item {
 background: #fff;
 border-radius: 12px;
 border: 1px solid #e8e0d8;
 margin-bottom: 12px;
 overflow: hidden;
 box-shadow: 0 2px 8px rgba(51,51,51,0.04);
}
.bmc-dest-faq-q {
 padding: 22px 28px;
 font-family: 'Montserrat', sans-serif;
 font-size: 16px;
 font-weight: 600;
 color: #333333;
 cursor: pointer;
 list-style: none;
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 16px;
}
.bmc-dest-faq-q::-webkit-details-marker { display: none; }
.bmc-dest-faq-q::after {
 content: '+';
 width: 32px;
 height: 32px;
 background: #f8f6f3;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 20px;
 color: #c46a4a;
 flex-shrink: 0;
 line-height: 32px;
 text-align: center;
}
details[open] .bmc-dest-faq-q::after {
 content: '\2212';
 background: #c46a4a;
 color: #fff;
}
.bmc-dest-faq-a {
 padding: 0 28px 24px;
 font-size: 15px;
 color: #555;
 line-height: 1.8;
}

/* === INTERNAL LINKS === */
.bmc-dest-links-section {
 background: #333333;
 padding: 48px 0;
 max-width: 1140px;
 margin-left: auto;
 margin-right: auto;
}
.bmc-dest-links-section h3 {
 color: #fff;
 font-size: 18px;
 margin-bottom: 24px;
}
.bmc-dest-links-grid {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
}
.bmc-dest-link-pill {
 display: inline-block;
 background: rgba(255,255,255,0.14);
 border: 1px solid rgba(255,255,255,0.30);
 color: #fff !important;
 font-size: 14px;
 font-weight: 600;
 padding: 9px 18px;
 border-radius: 6px;
 text-decoration: none !important;
 transition: background 0.2s ease;
}
.bmc-dest-link-pill:hover {
 background: #c46a4a;
 border-color: #c46a4a;
 color: #fff;
}

/* === CTA SECTION === */
.bmc-dest-cta-section {
 background: linear-gradient(135deg, #c46a4a 0%, #a8553a 100%);
 padding: 64px 0;
 text-align: center;
 max-width: 1140px;
 margin-left: auto;
 margin-right: auto;
}
.bmc-dest-cta-section h2 {
 color: #fff;
 font-size: clamp(22px, 3vw, 32px);
 margin-bottom: 14px;
}
.bmc-dest-cta-section p {
 color: rgba(255,255,255,0.88);
 font-size: 17px;
 max-width: 620px;
 margin: 0 auto 30px;
 line-height: 1.7;
}
.bmc-dest-btn-cta {
 display: inline-block;
 background: #fff;
 color: #c46a4a;
 font-family: 'Montserrat', sans-serif;
 font-size: 16px;
 font-weight: 700;
 padding: 17px 42px;
 border-radius: 6px;
 text-decoration: none;
 transition: background 0.2s ease;
}
.bmc-dest-btn-cta:hover { background: #f8f6f3; color: #a8553a; }
.bmc-dest-cta-trust {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 8px 24px;
 margin-top: 24px;
}
.bmc-dest-cta-trust span {
 font-size: 13px;
 color: rgba(255,255,255,0.75);
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
 .bmc-dest-section { padding: 44px 0; }
 .bmc-dest-hero { padding: 60px 0 52px; }
 .bmc-dest-route-card { padding: 22px 20px; }
 .bmc-dest-price-grid { grid-template-columns: 1fr 1fr; }
 .bmc-dest-faq-q { font-size: 15px; padding: 18px 20px; }
 .bmc-dest-faq-a { padding: 0 20px 20px; }
}
@media (max-width: 480px) {
 .bmc-dest-price-grid { grid-template-columns: 1fr; }
 .bmc-dest-fleet-grid { grid-template-columns: 1fr; }
 .bmc-dest-hero-cta { display: block; text-align: center; }
}
