/* Himachal catalogue and its shared package detail view. */
body:is(.himachal-page,.hp-detail) { margin:0; padding:0 0 88px; color:#242b22; background:#fbfaf7; font-family:"Plus Jakarta Sans",sans-serif; -webkit-font-smoothing:antialiased; }
:is(.himachal-page,.hp-detail) * { box-sizing:border-box; }
:is(.himachal-page,.hp-detail) :is(h1,h2,h3,p) { margin:0; }
:is(.himachal-page,.hp-detail) a { color:inherit; text-decoration:none; }
:is(.himachal-page,.hp-detail) :is(button,input,select) { font:inherit; }
:is(.himachal-page,.hp-detail) button { cursor:pointer; }
:is(.himachal-page,.hp-detail) [hidden] { display:none !important; }
:is(.himachal-page,.hp-detail) :is(a,button,input,select,summary):focus-visible { outline:3px solid #8daa75; outline-offset:4px; }
:is(.himachal-page,.hp-detail) section[id] { scroll-margin-top:24px; }
.hc-width { width:min(1320px,90%); margin-inline:auto; }
.hc-nav { height:78px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e2e6db; }
.hc-brand { font-size:26px; font-weight:700; letter-spacing:-.06em; }
.hc-nav>div { display:flex; align-items:center; gap:32px; font-size:11px; }
.hc-nav button { border:1px solid #adb8a2; border-radius:4px; padding:11px 20px; color:#30402a; background:transparent; font-size:11px; }
.hc-intro { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:60px; padding-block:26px 34px; }
.hc-breadcrumb { display:flex; gap:12px; font-size:10px; color:#87917e; margin-bottom:22px !important; }
.hc-eyebrow { font-size:8px; font-weight:600; letter-spacing:.17em; color:#7c896f; line-height:1.7; }
.himachal-page h1 { font-size:clamp(35px,3.4vw,49px); line-height:1.12; font-weight:500; letter-spacing:-.055em; margin-top:12px; }
.hc-intro-text { max-width:620px; font-size:12px; line-height:1.9; color:#75806c; margin-top:18px !important; }
.hc-intro-photo { position:relative; height:100px; margin-top:22px; border-radius:4px; overflow:hidden; }
.hc-intro-photo img { width:100%; height:100%; object-fit:cover; object-position:center 48%; display:block; }
.hc-intro-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#15271973,transparent); }
.hc-intro-photo span { position:absolute; bottom:18px; left:22px; z-index:1; color:#fff; font-size:12px; }
.hc-intro .vc-callback { padding:22px; }
.hc-intro .vc-callback .vc-eyebrow { margin-bottom:12px !important; }
.hc-intro .vc-callback>p:not(.vc-eyebrow) { margin-bottom:10px; }
.hc-intro .vc-callback input { min-height:39px; }
.hc-intro .vc-callback label { margin-top:10px; }
.hc-catalog { border-top:1px solid #e1e6da; padding-top:30px; }
.hc-catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.hc-catalog h2 { font-size:30px; font-weight:500; line-height:1.2; letter-spacing:-.045em; margin-top:10px; }
.hc-text-link { font-size:11px; border-bottom:1px solid #bec9b2; padding-bottom:7px; }
.hc-preview-note { font-size:10px; line-height:1.9; color:#8a937f; margin-top:16px !important; }
.hc-toolbar { display:flex; gap:20px; align-items:center; padding-block:22px; }
.hc-search { flex:1; display:flex; align-items:center; gap:12px; border:1px solid #dce2d3; padding:0 14px; border-radius:4px; background:white; }
.hc-search>span:not(.hc-sr-only) { font-size:22px; color:#7a896e; }
.hc-search input { border:0; background:transparent; color:#293824; width:100%; min-width:0; height:44px; font-size:12px !important; outline-offset:0; }
.hc-sort { font-size:10px; color:#7d8970; display:flex; align-items:center; gap:12px; }
.hc-sort select { color:#43533a; background:transparent; border:1px solid #dce2d3; padding:12px; border-radius:4px; font-size:11px; }
#hp-filter-toggle { display:none; }
.hc-catalog-layout { display:grid; grid-template-columns:195px minmax(0,1fr); gap:28px; align-items:start; }
.hc-filters { padding:20px; border:1px solid #e0e6d7; border-radius:4px; background:#f4f6ef; position:sticky; top:20px; }
.hc-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hc-filter-heading h3 { font-size:12px; font-weight:600; }
.hc-filter-heading button { border:0; background:none; padding:4px 0; font-size:10px; color:#788c68; }
.hc-filters>label { display:block; font-size:10px; font-weight:500; margin:23px 0 9px; }
.hc-filters>select { width:100%; min-width:0; border:1px solid #d8e0cd; background:white; border-radius:3px; padding:10px 7px; color:#536447; font-size:10px; }
.hc-filter-help { border-top:1px solid #dce3d3; padding-top:24px; margin-top:28px; }
.hc-filter-help p { font-size:10px; line-height:1.9; color:#839075; margin-top:10px; }
.hc-filter-help a { display:block; margin-top:16px; font-size:10px; color:#4f6b3f; }
.hc-results-line { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; font-size:10px; color:#8b957f; min-height:20px; }
.hc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.hc-card { border:1px solid #dfe5d6; border-radius:5px; overflow:hidden; min-width:0; background:#fff; display:flex; flex-direction:column; }
.hc-card-photo { display:block; position:relative; height:180px; overflow:hidden; }
.hc-card-photo img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block; }
.hc-card-photo:hover img { transform:scale(1.035); }
.hc-card-photo>span { position:absolute; bottom:12px; left:14px; color:#fff; background:#1b332bbd; padding:6px 8px; border-radius:2px; font-size:8px; letter-spacing:.08em; }
.hc-card-content { padding:18px; flex:1; display:flex; flex-direction:column; }
.hc-card-type { display:flex; justify-content:space-between; align-items:center; gap:6px; color:#69765d; font-size:9px; }
.hc-card h3 { font-size:19px; font-weight:500; letter-spacing:-.04em; line-height:1.3; margin-top:14px; }
.hc-card-route { font-size:11px; line-height:1.9; color:#637254; margin-top:12px !important; }
.hc-card-description { font-size:12px; line-height:1.9; color:#68735e; margin:12px 0 18px !important; }
.hc-card-includes { font-size:10px; line-height:1.8; color:#586e47; margin-top:auto !important; padding:8px 0 16px; }
.hc-card-price { display:flex; justify-content:space-between; align-items:end; gap:8px; padding-top:15px; border-top:1px solid #e7ecdf; }
.hc-card-price>div>span { display:block; color:#6f7a61; font-size:10px; margin-bottom:6px; }
.hc-card-price strong { font-size:21px; font-weight:500; letter-spacing:-.05em; }
.hc-card-price small { font-size:9px; font-weight:400; letter-spacing:0; color:#6f7a61; }
.hc-compare-label { display:flex; align-items:center; gap:5px; font-size:10px; color:#637253; cursor:pointer; }
.hc-compare-label input { accent-color:#3a5833; }
.hc-card-actions { display:flex; gap:8px; margin-top:20px; }
.hc-card-actions a { flex:1; text-align:center; padding:12px 5px; border:1px solid #d6e1cd; border-radius:3px; font-size:11px; font-weight:500; }
.hc-card-actions .hc-card-details { background:#2e432b; border-color:#2e432b; color:white; }
.hc-load-more { display:block; margin:32px auto 0; border:1px solid #bbc9ae; background:transparent; color:#4f6941; padding:14px 30px; border-radius:3px; font-size:11px; }
.hc-inline-status { font-size:11px; line-height:1.8; color:#825b39; margin-top:12px !important; }
.hc-empty { grid-column:1/-1; padding:60px 24px; border:1px dashed #c3d0b6; text-align:center; }
.hc-empty h3 { font-weight:500; font-size:22px; }
.hc-empty p { font-size:12px; margin:16px 0 !important; color:#8a987b; }
.hc-empty button { border:0; background:#2e432b; color:white; padding:12px 20px; border-radius:3px; font-size:11px; }
.hc-how { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:40px; padding-block:85px; margin-top:70px; border-top:1px solid #e0e6d7; }
.hc-how h2 { font-size:32px; font-weight:500; letter-spacing:-.045em; line-height:1.2; margin-top:18px; }
.hc-how article { border-top:1px solid #d9e2cf; padding-top:20px; }
.hc-how article>span { font-size:10px; color:#9aa58f; }
.hc-how h3 { font-size:16px; font-weight:500; letter-spacing:-.035em; margin:24px 0 12px; }
.hc-how article p { color:#8c9980; font-size:11px; line-height:1.9; }
.hc-faq { padding-bottom:80px; display:grid; grid-template-columns:1fr 1.4fr; gap:10%; }
.hc-faq h2 { font-size:32px; font-weight:500; letter-spacing:-.045em; }
.hc-faq details { border-top:1px solid #dce5d1; }
.hc-faq summary { padding:22px 0; font-size:12px; cursor:pointer; }
.hc-faq details p { color:#89997b; font-size:11px; line-height:1.9; padding-bottom:22px; }
.hc-footer { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 28px; padding-block:25px; border-top:1px solid #e0e6d7; font-size:10px; color:#8a987b; }
.hc-footer a { padding-block:8px; }
.hc-button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:12px 24px; border:1px solid #b8c9aa; border-radius:3px; color:#38512e !important; font-size:11px; font-weight:500; }
.hc-button-dark { background:#2e432b; border-color:#2e432b; color:white !important; }
.hc-bottom { position:fixed; bottom:0; left:0; width:100%; z-index:20; display:flex; justify-content:center; gap:12px; padding:15px 20px calc(15px + env(safe-area-inset-bottom,0px)); background:#fbfaf7f5; border-top:1px solid #dce5d0; backdrop-filter:blur(16px); }
.hc-bottom .hc-button { min-width:190px; }
.hc-compare-bar { position:fixed; z-index:21; bottom:90px; left:50%; transform:translateX(-50%); width:min(660px,calc(100% - 32px)); padding:14px 20px; background:#e9efdf; border:1px solid #bcccaa; border-radius:5px; box-shadow:0 10px 35px #273c2220; display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:11px; }
.hc-compare-bar>div { display:flex; align-items:center; gap:18px; }
.hc-compare-bar button { background:none; border:0; padding:8px 0; color:#4d683d; font-size:11px; }
.hc-compare-bar button:last-child { background:#2e432b; padding:10px 16px; border-radius:3px; color:white; }
.hc-compare-bar button:disabled { opacity:.4; cursor:default; }
.hc-compare-dialog { width:min(1000px,calc(100% - 28px)); max-height:90svh; overflow:auto; padding:28px; border:1px solid #d9e3cd; border-radius:6px; background:#fbfaf7; color:#34472b; font-family:"Plus Jakarta Sans",sans-serif; }
.hc-compare-dialog::backdrop { background:#18221788; backdrop-filter:blur(5px); }
.hc-compare-header { display:flex; justify-content:space-between; gap:24px; align-items:center; }
.hc-compare-header h2 { font-size:28px; font-weight:500; letter-spacing:-.045em; }
.hc-compare-header button { border:0; background:transparent; font-size:28px; color:#7c916c; cursor:pointer; }
.hc-compare-scroll { overflow:auto; margin-top:24px; }
.hc-compare-dialog table { width:100%; border-collapse:collapse; min-width:600px; }
.hc-compare-dialog :is(td,th) { padding:16px; border:1px solid #dbe4d0; text-align:left; vertical-align:top; font-size:11px; line-height:1.8; }
.hc-compare-dialog th { font-weight:600; background:#f0f4e8; }
.hc-compare-dialog a { color:#52783b; }
.hc-compare-dialog>p { font-size:10px; color:#8b9c7b; margin-top:20px; line-height:1.8; }
.hc-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
/* Full package details use one template for all twenty records. */
.hp-detail .hd-heading { padding-block:24px 30px; }
.hd-heading h1 { font-size:clamp(31px,3.6vw,48px); font-weight:500; letter-spacing:-.05em; line-height:1.15; margin:14px 0 18px; }
.hd-facts { display:flex; flex-wrap:wrap; gap:10px 22px; font-size:11px; color:#80916e; }
.hd-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:34px; align-items:start; }
.hd-photo { height:350px; width:100%; object-fit:cover; display:block; border-radius:5px; }
.hd-gallery-thumbs { display:flex; gap:10px; margin-top:12px; }
.hd-gallery-thumbs button { width:90px; height:58px; padding:0; border:2px solid transparent; border-radius:3px; background:none; overflow:hidden; }
.hd-gallery-thumbs button[aria-pressed=true] { border-color:#748e5e; }
.hd-gallery-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
.hd-photo-note { font-size:9px; color:#95a285; line-height:1.8; margin-top:10px !important; }
.hd-summary { font-size:14px; line-height:1.95; color:#778a66; margin-top:28px !important; }
.hd-section-nav { display:flex; flex-wrap:wrap; gap:24px; padding:24px 0; margin-top:22px; border-block:1px solid #dee7d5; font-size:11px; color:#637c50; }
.hd-section { padding-block:34px; border-bottom:1px solid #e1e8d8; }
.hd-section h2 { font-size:28px; font-weight:500; letter-spacing:-.04em; margin-bottom:22px; }
.hd-highlights { display:flex; flex-wrap:wrap; gap:10px; }
.hd-highlights span { border:1px solid #dbe5d0; border-radius:3px; padding:10px 14px; font-size:11px; color:#6c8656; }
.hd-route { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.hd-route>span { display:flex; gap:8px; background:#edf2e5; padding:10px 13px; border-radius:3px; font-size:11px; }
.hd-route small { color:#8a9f76; }
.hd-itin-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:14px; }
.hd-itin-head h2 { margin-bottom:0; }
.hd-itin-head button { border:0; border-bottom:1px solid #b5c8a2; background:transparent; color:#728e5c; padding:8px 0; font-size:10px; }
.hd-day { border-top:1px solid #dee7d3; }
.hd-day summary { display:grid; grid-template-columns:50px 1fr 15px; gap:18px; align-items:center; padding:23px 0; cursor:pointer; list-style:none; font-size:14px; }
.hd-day summary::-webkit-details-marker { display:none; }
.hd-day summary::after { content:"+"; font-size:20px; color:#8ca474; }
.hd-day[open] summary::after { content:"−"; }
.hd-day summary>span { font-size:9px; color:#879d70; }
.hd-day-body { padding:0 24px 24px 68px; }
.hd-day-body>p { font-size:13px; line-height:1.95; color:#657852; }
.hd-day-meta { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:10px; margin-top:16px; color:#698553; }
.hd-note { padding:18px; background:#edf2e5; border-left:2px solid #9eb68a; font-size:11px; line-height:1.9; color:#70895c; margin-top:24px !important; }
.hd-stays { width:100%; border-collapse:collapse; }
.hd-stays :is(th,td) { text-align:left; font-size:11px; padding:14px 12px; border:1px solid #dce6d0; line-height:1.8; }
.hd-stays th { background:#f0f4e9; font-weight:500; }
.hd-stays td { color:#7c9169; }
.hd-stay-note { margin-top:18px !important; font-size:11px; line-height:1.9; color:#8a9c7b; }
.hd-inclusions { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.hd-inclusions h3 { font-size:15px; font-weight:500; margin-bottom:18px; }
.hd-inclusions ul { padding-left:18px; color:#7a9066; font-size:11px; line-height:1.9; }
.hd-inclusions li { padding-bottom:10px; }
.hd-side>section { padding:24px; border:1px solid #d9e4cc; border-radius:5px; background:#f3f6ec; }
.hd-side>.vc-callback { margin-top:20px; }
.hd-price-label { font-size:9px; color:#8b9e79; }
.hd-price { font-size:34px; font-weight:500; letter-spacing:-.06em; margin-top:8px !important; }
.hd-price small { font-size:11px; letter-spacing:0; font-weight:400; color:#8a9c79; }
.hd-price.hd-price-quote { font:400 30px/1.2 Georgia,serif; letter-spacing:-.025em; }
.hd-family-notes { margin-top:24px; padding:22px; background:#f0f3eb; border:1px solid #dce4d3; border-radius:4px; }
.hd-family-notes h3 { font:400 24px/1.2 Georgia,serif; }
.hd-family-notes ul { padding-left:18px; margin:16px 0 0; color:#748569; font-size:12px; line-height:1.9; }
.hd-family-notes li+li { margin-top:7px; }
.hd-price-note { font-size:11px; color:#687d55; line-height:1.8; margin-top:12px !important; }
.hd-plan-controls { margin-top:24px; }
.hd-plan-controls label { display:block; font-size:10px; color:#6f8c57; margin:16px 0 8px; }
.hd-plan-controls :is(input,select) { box-sizing:border-box; width:100%; border:1px solid #d4e0c6; background:white; color:#536e3f; padding:12px; border-radius:3px; min-height:43px; font-size:11px; }
.hd-side .hc-button { display:flex; width:100%; margin-top:18px; }
.hd-side .hd-secondary { display:block; text-align:center; margin-top:16px; font-size:10px; color:#839d6d; }
.hd-transfer { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:20px; border:1px solid #dde7d2; border-radius:4px; }
.hd-transfer span { display:block; font-size:9px; color:#94a77f; margin-bottom:10px; }
.hd-transfer strong { font-size:14px; font-weight:500; }
.hd-faq details { border-top:1px solid #dfe8d4; }
.hd-faq summary { padding:20px 0; font-size:12px; cursor:pointer; }
.hd-faq details p { font-size:11px; line-height:1.9; color:#809970; padding-bottom:20px; }
.hd-related { padding-block:70px; }
.hd-related h2 { font-size:29px; font-weight:500; letter-spacing:-.04em; margin-bottom:24px; }
.hd-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hd-related a { display:block; border:1px solid #dfe8d5; padding:22px; border-radius:4px; background:white; }
.hd-related a>span { font-size:9px; color:#93a77d; }
.hd-related h3 { font-size:18px; font-weight:500; margin:12px 0; line-height:1.3; letter-spacing:-.035em; }
.hd-related p { font-size:11px; color:#7c966a; line-height:1.8; }
.hd-print { background:transparent; color:#6c8b55; border:1px solid #bfceaF; padding:10px 14px; border-radius:3px; font-size:10px; margin-top:20px; }
@media(max-width:1150px) { .hc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hc-how { gap:26px; } }
@media(max-width:850px) { .hc-intro { gap:28px; grid-template-columns:1fr 280px; } .hc-catalog-layout { grid-template-columns:170px minmax(0,1fr); gap:18px; } .hc-filters { padding:15px; } .hd-layout { grid-template-columns:minmax(0,1fr) 280px; gap:22px; } .hc-how { grid-template-columns:1fr 1fr; } }
@media(max-width:650px) {
 body:is(.himachal-page,.hp-detail) { padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)); }
 .hc-width { width:90%; } .hc-nav { height:68px; } .hc-brand { font-size:23px; } .hc-nav>div { gap:15px; } .hc-nav>div>a { font-size:10px; } .hp-detail .hc-nav>div>a { display:none; } .hc-nav button { padding:9px 13px; }
 .hc-intro { grid-template-columns:1fr; gap:26px; padding-block:22px 30px; } .hc-breadcrumb { margin-bottom:20px !important; } .himachal-page h1 { font-size:36px; } .hc-intro-photo { height:125px; } .hc-intro .vc-callback { padding:24px; }
 .hc-catalog { padding-top:26px; } .hc-catalog-heading { align-items:start; gap:16px; } .hc-catalog h2 { font-size:26px; } .hc-text-link { font-size:9px; white-space:nowrap; margin-top:20px; }
 .hc-toolbar { display:grid; grid-template-columns:1fr auto; gap:12px; } .hc-search { grid-column:1/-1; } .hc-sort { gap:10px; font-size:9px; } .hc-sort select { font-size:10px; min-width:0; max-width:180px; padding:10px; }
 #hp-filter-toggle { display:flex; justify-content:space-between; gap:15px; border:1px solid #c5d5b8; border-radius:3px; background:transparent; color:#6b8855; padding:11px 13px; font-size:10px; }
 .hc-catalog-layout { grid-template-columns:1fr; gap:16px; } .hc-filters { display:none; position:static; } .hc-filters.is-open { display:block; } .hc-filters>select { padding:12px; font-size:12px; } .hc-results-line { font-size:11px; } .hc-grid { grid-template-columns:1fr; gap:24px; }
 .hc-card-photo { height:230px; } .hc-card-content { padding:23px; } .hc-card h3 { font-size:23px; } .hc-card-type { font-size:8px; } .hc-card-route { font-size:10px; } .hc-card-description { font-size:12px; } .hc-card-includes { font-size:9px; } .hc-card-actions a { font-size:11px; min-height:44px; }
 .hc-card-price strong { font-size:24px; } .hc-compare-label { font-size:10px; } .hc-compare-label input { width:16px; height:16px; } .hc-how { grid-template-columns:1fr; padding-block:55px; margin-top:50px; } .hc-faq { grid-template-columns:1fr; gap:26px; padding-bottom:55px; }
 .hc-bottom { padding:13px 5% calc(13px + env(safe-area-inset-bottom,0px)); gap:10px; } .hc-bottom .hc-button { min-width:0; flex:1; padding:12px 9px; font-size:10px; } .hc-compare-bar { bottom:85px; padding:10px 13px; font-size:9px; } .hc-compare-bar>div { gap:10px; } .hc-compare-bar button { font-size:9px; } .hc-compare-bar button:last-child { padding:10px; }
 .hd-heading h1 { font-size:34px; } .hd-layout { display:flex; flex-direction:column; gap:28px; } .hd-main { display:contents; } .hd-gallery { order:0; width:100%; } .hd-side { order:1; width:100%; } .hd-main-content { order:2; width:100%; } .hd-photo { height:270px; } .hd-side>section { padding:22px; } .hd-side>.vc-callback { display:block; } .hd-price { font-size:30px; }
 .hd-facts { font-size:10px; gap:10px 16px; } .hd-section h2 { font-size:26px; } .hd-section-nav { gap:18px; font-size:10px; } .hd-day summary { grid-template-columns:42px 1fr 12px; gap:12px; font-size:13px; } .hd-day-body { padding-left:54px; padding-right:0; } .hd-inclusions { grid-template-columns:1fr; gap:20px; } .hd-stays :is(th,td) { padding:10px 7px; font-size:10px; } .hd-related-grid { grid-template-columns:1fr; } .hd-related { padding-block:50px; }
 .vc-callback input,.hd-plan-controls :is(input,select),.hc-search input,.hc-sort select,.hc-filters>select { font-size:16px !important; }
 .hc-sort select { max-width:195px; }
 .hc-intro-text { font-size:13px; } .hc-preview-note { font-size:11px; color:#6d785f; } .hc-card-type { font-size:10px; } .hc-card-route { font-size:12px; } .hc-card-includes { font-size:11px; } #hp-filter-toggle { min-height:44px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.himachal-page,.hp-detail) { scroll-behavior:auto; } .hc-card-photo img { transition:none; } }
@media print { body.hp-detail { padding:0; background:white; color:black; } .hp-detail :is(.hc-nav,.hd-side,.hc-bottom,.hc-footer,.hd-related,.hd-print,.hd-section-nav,.hd-gallery-thumbs) { display:none !important; } .hp-detail .hc-width { width:100%; } .hd-layout { display:block; } .hd-photo { height:200px; } .hd-day { break-inside:avoid; } }

/* Classic Shimla–Manali: the first preview of a brighter, more readable detail page. */
body.hd-classic { background:#fff; color:#202b25; }
.hd-classic .hc-nav { border-color:#e4eae5; }
.hd-classic .hc-breadcrumb { font-size:12px; color:#63736a; }
.hd-classic .hc-eyebrow { color:#5c7766; font-size:10px; letter-spacing:.17em; }
.hd-classic .hd-heading { padding-block:32px; }
.hd-classic .hd-heading h1 { font-size:clamp(36px,4.4vw,58px); font-weight:600; letter-spacing:-.055em; }
.hd-classic .hd-facts { font-size:13px; line-height:1.65; gap:12px 22px; color:#56685c; align-items:center; }
.hd-classic .hd-meal-fact { background:none; color:inherit; padding:0; border-radius:0; font-weight:400; }
.hd-classic .hd-photo { height:390px; border-radius:9px; }
.hd-classic .hd-photo-note { font-size:11px; color:#68766e; }
.hd-classic .hd-summary { font-size:17px; color:#4c6053; line-height:1.85; }
.hd-classic .hd-section-nav { font-size:13px; gap:20px; color:#31523d; border-color:#dfe7e0; padding-block:22px; }
.hd-classic .hd-section { padding-block:42px; border-color:#e5ebe6; }
.hd-classic .hd-section h2 { font-size:clamp(28px,2.8vw,36px); font-weight:600; line-height:1.2; letter-spacing:-.045em; }
.hd-classic .hd-highlights span { font-size:13px; color:#385641; border-color:#dbe6dd; background:#fbfdf9; padding:11px 15px; border-radius:5px; }
.hd-classic .hd-route { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; max-width:340px; }
.hd-classic .hd-route>span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:82px; line-height:1.4; text-align:center; font-size:15px; background:#f1f6ed; color:#294d35; padding:16px; border:1px solid #dce7d8; border-radius:6px; }
.hd-classic .hd-route strong { display:block; font:600 15px/1.4 "Plus Jakarta Sans",sans-serif; }
.hd-classic .hd-route small { display:block; margin:0; padding:0; font-size:13px; font-weight:400; line-height:1.4; color:#57705b; }
.hd-classic .hd-note { font-size:13px; background:#f5f8f1; color:#586a5a; border-color:#a4bea4; line-height:1.9; }
.hd-classic .hd-family-notes { background:#f8faf5; border-color:#e0e9dc; }
.hd-classic .hd-family-notes h3 { font:600 20px/1.4 "Plus Jakarta Sans",sans-serif; letter-spacing:-.5px; }
.hd-classic .hd-family-notes ul { font-size:14px; color:#536858; }
.hd-classic .hd-itin-head { align-items:flex-end; margin-bottom:26px; gap:18px; }
.hd-classic .hd-itin-head .hc-eyebrow { margin-bottom:12px; }
.hd-classic .hd-itin-head button { flex-shrink:0; font-size:12px; color:#31563c; border-color:#94ad96; padding-bottom:7px; }
.hd-classic .hd-day { border:1px solid #e0e8e1; background:#fff; border-radius:10px; margin-top:14px; overflow:hidden; box-shadow:0 4px 18px #1b382705; }
.hd-classic .hd-day[open] { border-color:#abc6af; box-shadow:0 7px 24px #264e3410; }
.hd-classic .hd-day summary { grid-template-columns:64px minmax(0,1fr) 30px; gap:19px; padding:22px; }
.hd-classic .hd-day summary>span.hd-day-number { min-height:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-radius:7px; background:#edf4e9; color:#355c3d; }
.hd-classic .hd-day-number small { font-size:9px; font-weight:700; letter-spacing:1.5px; }
.hd-classic .hd-day-number strong { font-size:32px; font-weight:600; line-height:1.1; letter-spacing:-1px; }
.hd-classic .hd-day[open] .hd-day-number { background:#28533b; color:#fff; }
.hd-classic .hd-day summary>span.hd-day-title { font-size:21px; font-weight:600; line-height:1.35; letter-spacing:-.55px; color:#253a2d; }
.hd-classic .hd-day-title small { display:block; font-size:12px; font-weight:400; letter-spacing:0; color:#6b7d70; margin-top:8px; line-height:1.5; }
.hd-classic .hd-day summary::after { display:grid; place-items:center; width:30px; height:30px; border-radius:0; background:none; color:#375e41; font-size:24px; }
.hd-classic .hd-day-body { padding:0 26px 27px 105px; }
.hd-classic .hd-day-body>p { color:#506357; font-size:16px; line-height:1.9; }
.hd-classic .hd-day-meta { gap:9px; margin-top:21px; font-size:12px; line-height:1.6; }
.hd-classic .hd-day-meta span { padding:8px 11px; background:#f3f7f0; border-radius:4px; color:#35593e; }
.hd-classic .hd-day-meta span:last-child { background:#faf5e8; color:#786239; }
.hd-classic .hd-print { font-size:12px; padding:12px 16px; color:#36583f; border-color:#bccdbe; }
.hd-classic .hd-stays :is(th,td) { font-size:13px; padding:16px 12px; border-color:#dfe8df; }
.hd-classic .hd-stays th { background:#f3f7ef; color:#294633; font-weight:600; }
.hd-classic .hd-stays td { color:#546a59; }
.hd-classic :is(.hd-stay-note,.hd-inclusions ul,.hd-faq details p) { font-size:14px; line-height:1.9; color:#5b6f60; }
.hd-classic .hd-inclusions h3 { font-size:18px; font-weight:600; }
.hd-classic .hd-side>section { background:#f6f9f2; border-color:#dce7d9; padding:26px; border-radius:9px; }
.hd-classic .hd-price-label { font-size:10px; color:#62775b; }
.hd-classic .hd-price { font-size:39px; color:#263f2d; font-weight:600; }
.hd-classic .hd-price small { font-size:12px; color:#5d735e; }
.hd-classic .hd-meal-plan { font-size:12px; font-weight:600; color:#36573d; margin-top:15px; padding:11px 0; border-block:1px solid #dbe7d8; line-height:1.6; }
.hd-classic .hd-price-note { font-size:12px; color:#5b6d56; }
.hd-classic .hd-plan-controls label { font-size:12px; color:#425f44; }
.hd-classic .hd-plan-controls :is(input,select) { font-size:14px; padding:13px 11px; color:#2e4935; border-color:#ceddcd; }
.hd-classic .hd-side .hd-secondary { font-size:12px; color:#45684c; }
.hd-classic .hd-transfer span { font-size:11px; color:#627b65; }
.hd-classic .hd-transfer strong { font-size:17px; color:#2b4733; }
.hd-classic .hd-faq summary { font-size:15px; color:#304d39; }
.hd-classic .hd-related p { font-size:13px; color:#5a735f; }
.hd-classic .hd-related a { transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.hd-classic .hd-related a:is(:hover,:focus-visible) { background:#f1f7ed; border-color:#94b299; box-shadow:0 10px 25px #294b3512; transform:translateY(-3px); }
.hd-classic .hd-related a:active { background:#e8f0e3; border-color:#71967a; }
@media(prefers-reduced-motion:reduce) { .hd-classic .hd-related a { transition:none; } .hd-classic .hd-related a:is(:hover,:focus-visible) { transform:none; } }
@media(max-width:1050px) { .hd-classic .hd-day summary { padding:18px; gap:14px; } .hd-classic .hd-day summary>span.hd-day-title { font-size:19px; } .hd-classic .hd-day-body { padding-left:96px; } }
@media(max-width:650px) {
 .hd-classic .hd-heading { padding-block:25px; } .hd-classic .hd-heading h1 { font-size:38px; } .hd-classic .hd-facts { font-size:12px; gap:10px 15px; }
 .hd-classic .hd-photo { height:280px; } .hd-classic .hd-summary { font-size:16px; } .hd-classic .hd-section-nav { gap:16px; font-size:12px; }
 .hd-classic .hd-section { padding-block:32px; } .hd-classic .hd-itin-head { align-items:flex-start; flex-direction:column; gap:17px; }
 .hd-classic .hd-day summary { grid-template-columns:50px minmax(0,1fr) 25px; gap:12px; padding:17px 14px; }
 .hd-classic .hd-day summary>span.hd-day-number { min-height:62px; } .hd-classic .hd-day-number strong { font-size:28px; }
 .hd-classic .hd-day summary>span.hd-day-title { font-size:18px; letter-spacing:-.4px; } .hd-classic .hd-day-title small { font-size:11px; margin-top:6px; }
 .hd-classic .hd-day summary::after { width:25px; height:25px; font-size:23px; } .hd-classic .hd-day-body { padding:0 18px 23px; }
 .hd-classic .hd-day-body>p { font-size:15px; line-height:1.9; } .hd-classic .hd-day-meta { font-size:11px; gap:8px; }
 .hd-classic .hd-stays :is(th,td) { font-size:12px; padding:12px 8px; } .hd-classic .hd-family-notes ul { font-size:13px; }
}
@media print { .hd-classic .hd-day { box-shadow:none; border-color:#aaa; } .hd-classic .hd-day summary { padding:12px; } .hd-classic .hd-day-body { padding:0 16px 16px 95px; } }
/* Allow the two-word brand to fit compact headers. */
.hp-volvo .hd-party-price { margin-top:12px; font-size:14px; font-weight:600; color:#36573d; }
.hp-volvo .hd-route { grid-template-columns:1fr; max-width:220px; }
.hd-transit { margin-block:22px; padding:23px; border-left:2px solid #9aafa2; background:#f3f7f1; border-radius:4px; }
.hd-transit h3 { font-size:19px; font-weight:600; line-height:1.4; margin:10px 0 14px; letter-spacing:-.035em; }
.hd-transit>p:not(.hc-eyebrow),.hd-travel-note { font-size:14px; line-height:1.9; color:#536858; }
.hd-travel-note { margin-bottom:22px !important; }
@media (max-width:650px) { .hc-brand { max-width:128px; font-size:20px; line-height:1.1; letter-spacing:-.045em; } .hc-nav>div { gap:12px; } }

/* Kashmir colour preview: Classic Kashmir Family Journey only. */
body.kashmir-palette { background:#faf9f5; color:#233e50; }
.kashmir-palette :is(.hc-nav,.hc-footer,.hd-section,.hd-section-nav,.hd-day,.hd-faq details,.hd-transfer,.hd-related a) { border-color:#d2e2eb; }
.kashmir-palette :is(.hc-breadcrumb,.hd-facts,.hd-photo-note,.hd-summary,.hd-day-body>p,.hd-stay-note,.hd-inclusions ul,.hd-price-note,.hd-faq details p,.hd-related p,.hc-footer) { color:#607889; }
.kashmir-palette .hc-eyebrow { color:#a45853; }
.kashmir-palette .hc-nav button { color:#315f7b; border-color:#a8c5d8; }
.kashmir-palette .hd-gallery-thumbs button[aria-pressed=true] { border-color:#508caf; }
.kashmir-palette :is(.hd-section-nav,.hd-itin-head button,.hd-print,.hd-side .hd-secondary) { color:#386d8c; }
.kashmir-palette :is(.hd-itin-head button,.hd-print) { border-color:#a8c5d8; }
.kashmir-palette .hd-highlights span { color:#38657f; background:#f0f7fb; border-color:#cbdfe9; }
.kashmir-palette .hd-route>span { color:#315c77; background:#e7f2f9; }
.kashmir-palette .hd-route small { color:#5a7d95; }
.kashmir-palette .hd-day summary>span { color:#437b9e; }
.kashmir-palette .hd-day summary::after { color:#508caf; }
.kashmir-palette .hd-day-meta { color:#437593; }
.kashmir-palette .hd-note { color:#825854; background:#fbefed; border-color:#ce8e86; }
.kashmir-palette .hd-stays :is(th,td) { border-color:#d2e2eb; }
.kashmir-palette .hd-stays th { background:#eaf3f9; color:#315c77; }
.kashmir-palette .hd-stays td { color:#607889; }
.kashmir-palette .hd-family-notes { background:#f0f6fa; border-color:#d2e2eb; }
.kashmir-palette .hd-family-notes ul { color:#607889; }
.kashmir-palette .hd-side>section { background:#edf5fa; border-color:#cbdfe9; }
.kashmir-palette .hd-price { color:#264f6a; }
.kashmir-palette :is(.hd-price-label,.hd-price small,.hd-plan-controls label,.hd-transfer span,.hd-related a>span) { color:#587c94; }
.kashmir-palette .hd-plan-controls :is(input,select) { color:#315c77; background:#fffefa; border-color:#bad1df; }
.kashmir-palette .hc-button { color:#386d8c !important; border-color:#a8c5d8; }
.kashmir-palette .hc-button-dark { color:#fff !important; background:#386d8c; border-color:#386d8c; }
.kashmir-palette .hc-button-dark:hover { background:#2d5873; border-color:#2d5873; }
.kashmir-palette .hc-bottom { background:#faf9f5f5; border-color:#d2e2eb; }
.kashmir-palette .hd-related a { background:#fffefa; }
.kashmir-palette .hd-related a:is(:hover,:focus-visible) { background:#edf5fa; border-color:#8fb4cc; }
.kashmir-palette .photo-credits { background:#f0f6fa; border-color:#d2e2eb; color:#607889; }
.kashmir-palette .photo-credits summary { color:#386d8c; }
.kashmir-palette .vc-callback { color:#233e50; }
.kashmir-palette .vc-callback>p:not(.vc-eyebrow),.kashmir-palette .vc-callback small { color:#607889; }
.kashmir-palette .vc-callback .vc-eyebrow { color:#a45853; }
.kashmir-palette .vc-callback input { color:#315c77; background:#fffefa; border-color:#bad1df; }
.kashmir-palette .vc-callback button { background:#386d8c; border-color:#386d8c; }
.kashmir-palette .vc-callback button:hover { background:#2d5873; border-color:#2d5873; }
.kashmir-palette .vc-dialog { color:#233e50; background:#faf9f5; border-color:#cbdfe9; }
.kashmir-palette .vc-dialog::backdrop { background:#142e4280; }
.kashmir-palette .vc-close { color:#607889; }
.kashmir-palette .vc-dialog #vc-description { color:#607889; }
.kashmir-palette .vc-dialog .vc-eyebrow { color:#a45853; }
.kashmir-palette .vc-option { color:#315c77 !important; border-color:#cbdfe9; }
.kashmir-palette .vc-option:hover { background:#eaf3f9; }
.kashmir-palette .vc-whatsapp { color:#fff !important; background:#386d8c; border-color:#386d8c; }
.kashmir-palette .vc-whatsapp:hover { background:#2d5873; }
.kashmir-palette :is(a,button,input,select,summary):focus-visible { outline-color:#6a9fbe; }

/* Keep the ad-page callback easy to reach, with direct contact alternatives. */
.himachal-page #hp-enquiry{scroll-margin-top:20px}
.himachal-page .hc-nav-enquiry{border:1px solid #adb8a2;border-radius:4px;padding:11px 15px;color:#30402a;font-size:11px}
.himachal-page .hc-contact-alternatives{display:grid;gap:9px;margin:14px 0 0;font-size:12px;line-height:1.8;color:#47633e;text-align:center}
.himachal-page .hc-contact-alternatives a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.himachal-page .hc-nav>div>a:first-child{display:none}.himachal-page .hc-nav-enquiry{min-height:42px;display:inline-flex;align-items:center;font-size:11px!important;padding:9px 12px}}

/* Restrained focus feedback and a readable phone scale for the ad landing. */
.himachal-page :is(input,select):is(:focus,:focus-visible){outline:0;border-color:#888e84;box-shadow:none;background-color:#fff}
.himachal-page .hc-search:focus-within{border-color:#888e84;box-shadow:none}
.himachal-page .hc-search input:is(:focus,:focus-visible){box-shadow:none}
.himachal-page :is(a,button,summary):focus-visible{outline:2px solid #7c8178;outline-offset:3px}
@media(max-width:650px){
 .himachal-page .hc-intro{padding-block:24px 30px;gap:26px}
 .himachal-page .hc-intro-text{font-size:16px;line-height:1.8;color:#586451}
 .himachal-page .hc-intro-photo{height:150px}
 .himachal-page :is(.hc-breadcrumb,.hc-preview-note,.hc-results-line,.hc-contact-alternatives,.hc-footer){font-size:13px;line-height:1.7}
 .himachal-page :is(.hc-eyebrow,.hc-card-type,.vc-callback .vc-eyebrow){font-size:11px;line-height:1.6}
 .himachal-page .hc-nav-enquiry{font-size:12px!important}
 .himachal-page .hc-catalog-heading{align-items:start;gap:16px;flex-direction:column}
 .himachal-page .hc-text-link{font-size:14px}
 .himachal-page .hc-toolbar{gap:14px 8px}
 .himachal-page .hc-search input{font-size:16px!important;height:48px}
 .himachal-page .hc-sort{font-size:13px;gap:8px;min-width:0}
 .himachal-page .hc-sort select{font-size:14px;min-height:46px;padding:10px 8px;max-width:160px}
 .himachal-page #hp-filter-toggle{font-size:14px;min-height:46px}
 .himachal-page .hc-filters :is(label,h3,button){font-size:14px}
 .himachal-page .hc-filters select{font-size:16px;min-height:46px}
 .himachal-page .hc-filter-help :is(p,a){font-size:14px}
 .himachal-page .hc-results-line{align-items:start;flex-direction:column;gap:3px}
 .himachal-page .hc-card-content{padding:20px}
 .himachal-page .hc-card-type{align-items:start;gap:12px}
 .himachal-page .hc-card-type>span:last-child{flex-shrink:0}
 .himachal-page .hc-card h3{font-size:24px;font-weight:600;line-height:1.3}
 .himachal-page :is(.hc-card-description,.hc-how p,.hc-faq details p){font-size:15px;line-height:1.8}
 .himachal-page :is(.hc-card-route,.hc-card-includes){font-size:14px;line-height:1.7}
 .himachal-page .hc-card-photo>span{font-size:11px}
 .himachal-page .hc-card-price{align-items:start;gap:12px}
 .himachal-page .hc-card-price>div>span,.himachal-page .hc-card-price small{font-size:12px}
 .himachal-page .hc-card-price strong{font-size:26px}
 .himachal-page .hc-compare-label{font-size:12px;min-height:44px;display:flex;align-items:center;gap:6px}
 .himachal-page .hc-card-actions a{font-size:14px;min-height:48px}
 .himachal-page .hc-load-more{font-size:14px;min-height:48px}
 .himachal-page .hc-bottom .hc-button{font-size:13px;min-height:46px}
 .himachal-page .vc-callback{padding:22px 20px;background:#f8f9f5}
 .himachal-page .vc-callback label,.himachal-page .vc-callback>p:not(.vc-eyebrow){font-size:14px}
 .himachal-page .vc-callback input{font-size:16px;min-height:48px}
 .himachal-page .vc-callback button{font-size:14px;min-height:48px}
 .himachal-page .vc-callback small{font-size:12px;line-height:1.7}
 .himachal-page:has(:is(input,select):focus) .hc-bottom{display:none}
}
