/* ============================================================
   Himalayan Haven Journeys — Package detail page styles
   ============================================================ */
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',Arial,sans-serif;color:#08235c;background:#f7f9fc;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand b,.brand small,.btn,.kicker-v12,.v13-kicker,.v14-kicker,.v16-title,.v16-price,.v14-price,.v13-price{font-family:'Plus Jakarta Sans','Inter',Arial,sans-serif}

/* ---------- Header ---------- */
.header{height:76px;border-bottom:1px solid #e6edf5;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);display:flex;align-items:center;position:sticky;top:0;z-index:50;box-shadow:0 6px 24px rgba(7,28,61,.05)}
.nav{max-width:1224px;width:100%;margin:auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;text-decoration:none;color:#08235c}
.mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#0057b8,#003d82);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 18px rgba(0,87,184,.25)}
.brand small{display:block;color:#0057b8;font-size:11px}
.nav>a:last-child{font-weight:800;font-size:13px;text-decoration:none;color:#08235c}
.nav>a:last-child:hover{color:#e31837}

/* ---------- V12 hero ---------- */
.package-hero-v12{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:#06245e;color:#fff}
.package-hero-v12 .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}
.package-hero-v12 .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,67,.95) 0%,rgba(3,24,67,.8) 45%,rgba(3,24,67,.45) 75%,rgba(3,24,67,.25) 100%)}
.package-hero-v12 .hero-inner-v12{position:relative;z-index:2;max-width:1224px;width:100%;margin:auto;padding:80px 22px 76px}
.package-hero-v12 .hero-copy{max-width:720px}
.package-hero-v12 .hero-copy h1{font-size:clamp(40px,5vw,64px);line-height:1.04;margin:12px 0 18px;color:#fff;letter-spacing:-1.5px}
.package-hero-v12 .hero-copy p{font-size:17px;line-height:1.65;color:#eef5ff;max-width:680px}
.package-hero-v12 .hero-pills-v12{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}
.package-hero-v12 .hero-pills-v12 span{padding:9px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.18);font-size:12px;font-weight:800;color:#fff}
.package-hero-v12 .duration-v12{position:absolute;top:28px;right:22px;background:#e31837;color:#fff;padding:10px 15px;border-radius:999px;font-size:12px;font-weight:950;z-index:3;box-shadow:0 8px 20px rgba(227,24,55,.4)}
.package-hero-v12 .popular-v12{position:absolute;top:28px;left:22px;background:linear-gradient(135deg,#ffc72c,#ffd34d);color:#5c3d00;padding:10px 15px;border-radius:999px;font-size:11px;font-weight:950;z-index:3;box-shadow:0 8px 20px rgba(255,199,44,.4)}
.package-hero-v12 .crumbs-v12{font-size:12px;color:#d4e1f3;margin-bottom:18px}
.package-hero-v12 .crumbs-v12 a{color:#ffc72c;text-decoration:none}
.package-hero-v12 .kicker-v12{color:#ffc72c;font-size:12px;letter-spacing:1.6px;font-weight:950}

/* ---------- Content grid ---------- */
.content{max-width:1224px;margin:auto;padding:50px 22px}
.grid{display:grid;grid-template-columns:1.4fr .7fr;gap:30px}
.box{border:1px solid #dfe7f1;border-radius:20px;padding:25px;background:#fff;box-shadow:0 8px 25px rgba(8,35,92,.05)}
.box h2{margin:0 0 12px;font-size:27px;letter-spacing:-.4px}
.box p{color:#64748a;line-height:1.65}
.timeline{margin-top:20px}
.day{border-left:3px solid #0057b8;padding:0 0 22px 20px;margin-left:5px;position:relative}
.day:before{content:"";position:absolute;left:-8px;top:2px;width:10px;height:10px;background:#ffc72c;border-radius:50%;border:3px solid #0057b8}
.day h3{margin:0 0 5px;font-size:18px}
.day p{margin:0;font-size:13px;color:#64748a;line-height:1.55}
.day ul{margin:6px 0 0;padding-left:18px}
.day li{font-size:12.5px;color:#64748a;line-height:1.6}
.side{position:sticky;top:95px;height:max-content}
.list{padding:0;margin:15px 0;list-style:none}
.list li{padding:10px 0;border-bottom:1px solid #edf1f6;font-size:13px;color:#42526a}
.cta-box{background:linear-gradient(160deg,#0a2a63,#04122b);color:#fff;border-radius:20px;padding:24px;margin-top:18px}
.cta-box p{color:#d4e0ef}
.btn{display:inline-flex;border:0;border-radius:13px;padding:14px 20px;font-weight:950;cursor:pointer;text-decoration:none;transition:all .2s}
.yellow{background:linear-gradient(135deg,#ffd34d,#ffc72c);color:#071c4d;box-shadow:0 10px 22px rgba(255,199,44,.3)}
.btn:hover{background:#e31837;color:#fff;transform:translateY(-2px)}

/* ---------- Price card ---------- */
.v14-price-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(8,35,92,.06)}
.v14-price-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:900;color:#64748b}
.v14-price{font-size:30px;line-height:1.1;font-weight:950;color:#e31837;margin:7px 0 4px}
.v14-price del{font-size:15px;color:#98a3b4;font-weight:700;margin-left:6px}
.v14-price-note{font-size:10px;color:#64748b;margin-bottom:13px}
.v14-download{width:100%;justify-content:center;background:#0057b8!important;color:#fff!important;border-radius:12px;padding:13px 16px;font-weight:950;display:inline-flex;gap:8px;align-items:center;text-decoration:none!important}
.v14-download:hover{background:#00428c!important}

/* ---------- V14 sections (hotel / related / taxi) ---------- */
.v14-section{max-width:1224px;margin:0 auto;padding:42px 22px 0}
.v14-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.v14-section-head h2{margin:5px 0 0;color:#08235c;font-size:30px;letter-spacing:-.5px}
.v14-section-head p{margin:6px 0 0;color:#64748b;font-size:13px}
.v14-kicker{font-size:11px;letter-spacing:1.4px;font-weight:950;color:#e31837}
.v14-track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 2px 14px}
.v14-track::-webkit-scrollbar{display:none}
.v14-card{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;border:1px solid #dfe7f1;border-radius:18px;padding:15px;background:#fff;min-width:0;transition:.22s}
.v14-card:hover{border-color:#e31837;box-shadow:0 10px 25px rgba(227,24,55,.09);transform:translateY(-2px)}
.v14-card .badge{display:inline-block;background:#e31837;color:#fff;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900}
.v14-card h3{margin:10px 0 5px;color:#08235c;font-size:16px;line-height:1.25}
.v14-card p{margin:0 0 10px;color:#64748b;font-size:11px}
.v14-card a{font-size:11px;font-weight:950;color:#e31837;text-decoration:none}
.v14-gallery{flex:0 0 235px;scroll-snap-align:start;border:1px solid #dfe7f1;border-radius:16px;overflow:hidden;background:#fff}
.v14-gallery img{width:100%;height:135px;object-fit:cover;display:block}
.v14-gallery div{padding:10px 12px 12px}
.v14-gallery strong{display:block;color:#08235c;font-size:13px}
.v14-gallery span{display:block;color:#64748b;font-size:11px;margin-top:4px}
.v14-controls{display:flex;gap:8px}
.v14-arrow{width:38px;height:38px;border-radius:50%;border:1px solid #d7e1ed;background:#fff;color:#08235c;font-size:20px;font-weight:900;cursor:pointer}
.v14-arrow:hover{background:#0057b8;color:#fff;border-color:#0057b8}
.v14-dots{display:flex;justify-content:center;gap:7px;margin-top:7px}
.v14-dot{width:7px;height:7px;border-radius:50%;background:#cbd5e1}
.v14-dot.active{background:#0057b8;width:18px;border-radius:999px}

/* ---------- Itinerary modal ---------- */
.itinerary-modal{display:none;position:fixed;inset:0;z-index:1000}
.itinerary-modal.open{display:block}
.itinerary-backdrop{position:absolute;inset:0;background:rgba(3,18,45,.72);backdrop-filter:blur(4px)}
.itinerary-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(450px,calc(100% - 28px));background:#fff;border-radius:20px;padding:25px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.itinerary-close{position:absolute;right:13px;top:9px;border:0;background:transparent;font-size:28px;color:#64748b;cursor:pointer}
.itinerary-icon{width:42px;height:42px;background:#e31837;color:#fff;border-radius:10px;display:grid;place-items:center;font-size:11px;font-weight:950}
.itinerary-title{font-size:25px;font-weight:950;color:#08235c;margin-top:12px}
.itinerary-subtitle{font-size:12px;color:#64748b;margin:5px 0 18px}
#itineraryForm{display:grid;gap:11px}
#itineraryForm label{font-size:11px;font-weight:850;color:#334155}
#itineraryForm input{width:100%;margin-top:5px;border:1px solid #d8e1ed;border-radius:10px;padding:11px;font:inherit;box-sizing:border-box}
#itineraryForm .wa-check{display:flex;gap:8px;align-items:center;font-size:12px}
#itineraryForm .wa-check input{width:auto;margin:0}
.itinerary-submit{border:0;background:#0057b8;color:#fff;border-radius:11px;padding:13px;font-weight:950;cursor:pointer}
.itinerary-submit:hover{background:#00428c}
#itineraryForm small{font-size:9px;color:#94a3b8;text-align:center}

/* ---------- V16 sticky enquire + modal ---------- */
.v16-sticky-enquire{position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid #dbe4ef;box-shadow:0 -8px 30px rgba(8,35,92,.12);padding:10px 22px}
.v16-sticky-inner{max-width:1224px;margin:auto;display:flex;align-items:center;gap:14px}
.v16-sticky-price{min-width:190px}
.v16-sticky-price small{display:block;color:#64748b;font-size:10px;font-weight:800}
.v16-sticky-price strong{display:block;color:#e31837;font-size:18px;font-weight:950}
.v16-sticky-price a{font-size:10px;color:#0057b8;font-weight:850;text-decoration:none}
.v16-enquire-btn{flex:1;border:0;border-radius:11px;background:linear-gradient(135deg,#ffd34d,#ffc72c);color:#08235c;padding:13px 20px;font-size:14px;font-weight:950;cursor:pointer;box-shadow:0 8px 20px rgba(255,199,44,.3)}
.v16-enquire-btn:hover{background:#e31837;color:#fff}
.v16-call-btn,.v16-wa-btn{border:0;border-radius:11px;padding:13px 18px;font-size:13px;font-weight:950;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.v16-call-btn{background:#0057b8;color:#fff}
.v16-wa-btn{background:#16c964;color:#fff}
.v16-modal{display:none;position:fixed;inset:0;z-index:1200}
.v16-modal.open{display:block}
.v16-backdrop{position:absolute;inset:0;background:rgba(3,18,45,.72);backdrop-filter:blur(4px)}
.v16-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 28px));max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.v16-close{position:absolute;right:13px;top:8px;border:0;background:transparent;font-size:28px;color:#64748b;cursor:pointer}
.v16-title{font-size:24px;font-weight:950;color:#08235c;margin:0 32px 4px 0}
.v16-sub{font-size:12px;color:#64748b;margin-bottom:17px}
.v16-form{display:grid;gap:11px}
.v16-form label{font-size:11px;font-weight:850;color:#334155}
.v16-form input,.v16-form textarea{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #d8e1ed;border-radius:10px;padding:11px;font:inherit}
.v16-form textarea{min-height:70px;resize:vertical}
.v16-fixed{background:#f1f6fc;border:1px solid #dbe7f4;border-radius:10px;padding:11px;color:#08235c;font-weight:900;font-size:12px;margin-top:5px}
.v16-total{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:13px;display:flex;justify-content:space-between;align-items:center}
.v16-total span{font-size:11px;color:#64748b;font-weight:850}
.v16-total strong{font-size:19px;color:#e31837}
.v16-submit{border:0;border-radius:11px;background:linear-gradient(135deg,#ffd34d,#ffc72c);color:#08235c;padding:13px;font-weight:950;cursor:pointer}
.v16-wa-check{display:flex!important;align-items:center;gap:8px;font-size:12px!important}
.v16-wa-check input{width:auto!important;margin:0!important}

/* ---------- Functional feedback ---------- */
.form-status{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:800}
.form-status.success{background:#e9f9ef;color:#12743b;border:1px solid #bfe8cd}
.form-status.error{background:#fff0f2;color:#b51e35;border:1px solid #f3c0ca}
.form-status[hidden]{display:none}
.v16-submit:disabled,.itinerary-submit:disabled,.quote-submit:disabled{opacity:.65;cursor:wait}

/* ---------- Footer ---------- */
.footer{background:linear-gradient(160deg,#0a2a63,#04122b);color:#fff;text-align:center;padding:28px 20px;margin-top:40px}
.footer p{color:#c8d5e6;font-size:12px}

/* ---------- Responsive ---------- */
@media(max-width:900px){.v14-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:800px){
  .nav{padding:0 15px}.nav>a:last-child{display:none}
  .hero-inner{grid-template-columns:1fr;padding:35px 16px}
  .package-hero-v12{min-height:600px}
  .package-hero-v12 .hero-overlay{background:linear-gradient(90deg,rgba(3,24,67,.93),rgba(3,24,67,.68))}
  .package-hero-v12 .hero-inner-v12{padding:80px 16px 60px}
  .package-hero-v12 .hero-copy h1{font-size:40px}
  .package-hero-v12 .hero-copy p{font-size:15px}
  .package-hero-v12 .duration-v12{right:16px;top:18px}
  .package-hero-v12 .popular-v12{left:16px;top:18px}
  .grid{grid-template-columns:1fr}
  .side{position:static}
  .content{padding:35px 16px}
  .v14-section{padding:34px 16px 0}
  .v14-section-head{align-items:center}
  .v14-section-head h2{font-size:25px}
  .v14-card{flex-basis:82%}
  .v14-gallery{flex-basis:210px}
  .v14-gallery img{height:122px}
  .v14-price{font-size:28px}
  .itinerary-dialog{padding:21px}
  .itinerary-title{font-size:22px}
  .v16-sticky-enquire{padding:7px 10px}
  .v16-sticky-inner{gap:7px}
  .v16-sticky-price{min-width:88px}
  .v16-sticky-price small{font-size:8px}
  .v16-sticky-price strong{font-size:13px}
  .v16-sticky-price a{font-size:8px}
  .v16-enquire-btn{padding:12px 8px;font-size:12px}
  .v16-call-btn,.v16-wa-btn{font-size:0;width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:50%}
  .v16-call-btn::before{content:"☎";font-size:17px}
  .v16-wa-btn::before{content:"◉";font-size:17px}
  .v16-dialog{padding:20px;max-height:92vh}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}