.package-detail-hero { min-height: 440px; display: grid; align-items: end; position: relative; isolation: isolate; color: #fff; background: #3a2416; overflow: hidden; }
.package-detail-hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.package-detail-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(46, 26, 13, .92), rgba(46, 26, 13, .64) 55%, rgba(46, 26, 13, .34)); }
.package-detail-hero .wrap { padding: 76px 0 68px; }
.package-breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; color: #f7dba8; font-size: .8rem; font-weight: 700; }
.package-breadcrumb a { color: inherit; }
.package-detail-hero h1 { max-width: 820px; font-size: clamp(2.75rem, 6vw, 5rem); }
.package-detail-hero p { max-width: 690px; margin: 16px 0 0; color: #fff1dc; font-size: 1.05rem; }
.package-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.package-hero-actions .btn-outline { border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.08); color: #fff; }
.package-detail { padding: 80px 0; background: #fbf7ef; }
.package-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: 48px; align-items: start; }
.package-detail h2 { font-size: clamp(2rem, 3vw, 2.8rem); color: #342116; }
.package-detail h3 { font-size: 1.24rem; color: #432819; }
.package-detail .prose { max-width: none; }
.package-detail .prose p { margin: 13px 0; }
.package-snapshot { padding: 27px; border: 1px solid #e4d3b9; border-radius: 18px; background: #fffdf9; box-shadow: 0 10px 26px rgba(71,43,18,.07); }
.package-snapshot p { color: #5b4738; margin: 14px 0; }
.package-note { margin: 18px 0 0; padding: 13px 14px; border-left: 3px solid #c98b42; background: #fff5e3; border-radius: 0 10px 10px 0; color: #614429; font-size: .88rem; }
.package-section { padding: 78px 0; }
.package-section--cream { background: #f5ecdf; }
.package-section--paper { background: #fffdf9; }
.package-section-head { max-width: 720px; margin-bottom: 28px; }
.package-section-head h2 { margin-top: 9px; color: #342116; }
.package-section-head p { color: #66584b; margin: 12px 0 0; }
.place-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.place-chips span { padding: 9px 13px; border: 1px solid #e1cdaa; border-radius: 999px; background: #fffaf2; color: #67411f; font-size: .86rem; font-weight: 700; }
.itinerary-list { display: grid; gap: 14px; max-width: 850px; }
.itinerary-item { display: grid; grid-template-columns: 78px 1fr; gap: 17px; padding: 22px; border: 1px solid #e8dccb; border-radius: 15px; background: #fffdf9; }
.itinerary-day { color: #a45c21; font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.itinerary-item h3 { margin: 0 0 7px; }
.itinerary-item p { margin: 0; color: #635547; }
.included-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.included-card { padding: 22px; border: 1px solid #e6d8c4; border-radius: 15px; background: #fffdf9; }
.included-card p { margin: 9px 0 0; color: #66584b; font-size: .9rem; }
.fleet-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fleet-list span { padding: 17px; border: 1px solid #e6d7c3; border-radius: 14px; background: #fffdf9; color: #473023; font-family: Georgia, serif; font-weight: 700; }
.package-related .cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
.package-related .tour-card { min-height: 0; }
.package-related .card-body { min-height: 180px; display: flex; flex-direction: column; }
.package-related .btn { margin-top: auto; align-self: flex-start; }
.package-custom-cta { padding: 82px 20px; background: linear-gradient(105deg, rgba(55,30,13,.94), rgba(117,66,24,.76)), url('../images/hero-prem-mandir.jpeg') center/cover; color: #fff; text-align: center; }
.package-custom-cta h2 { color: #fff; font-size: clamp(2.1rem, 4vw, 3.35rem); }
.package-custom-cta p { max-width: 670px; margin: 15px auto 24px; color: #fff0dc; }
.package-custom-cta .btn { margin: 4px; }
.package-custom-cta .btn-outline { border-color: rgba(255,255,255,.65); color: #fff; background: transparent; }
@media (max-width: 850px) { .package-detail { padding: 66px 0; } .package-detail-grid { grid-template-columns: 1fr; gap: 28px; } .included-grid, .fleet-list { grid-template-columns: repeat(2, 1fr); } .package-related .cards { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 540px) { .package-detail-hero { min-height: 400px; } .package-detail-hero .wrap { padding: 62px 0 54px; } .package-section { padding: 62px 0; } .itinerary-item { grid-template-columns: 1fr; gap: 8px; padding: 19px; } .included-grid, .fleet-list, .package-related .cards { grid-template-columns: 1fr; } .package-snapshot { padding: 22px; } }
