/* Editorial safari details. Scoped to keep booking and other pages independent. */
html:has(.package-modern), body:has(.package-modern) { overflow-x: clip; }
.package-modern { --journey-ink: #3b2118; --journey-muted: #76584a; --journey-line: #e8ded3; background: #faf7f2; }
.package-modern .package-showcase { padding: clamp(2rem, 5vw, 4.5rem) 1.5rem !important; background: #faf7f2; }
.package-modern .package-showcase-grid { max-width: 1200px !important; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr) !important; align-items: center; gap: clamp(2rem, 5vw, 5rem); padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
.package-modern .package-gallery-main { height: clamp(340px, 36vw, 490px); border-radius: 6px; }
.package-modern .package-gallery-main img { transition: opacity .2s, transform .8s; }
.package-modern .package-gallery-thumbnails { display: flex; gap: .65rem; margin-top: .8rem; }
.package-modern .package-gallery-thumb { flex: 1; max-width: 125px; height: 72px; border-radius: 4px; opacity: 1; }
.package-modern .package-gallery-thumb:focus-visible { outline: 2px solid #40290E; outline-offset: 3px; }
.package-modern .package-quote-card { padding: 0; margin: 0; background: transparent; border-radius: 0; box-shadow: none; gap: 0; align-self: center; }
.package-modern .package-showcase-grid, .package-modern .package-quote-card { border: 0; }
.package-modern .journey-eyebrow { color: #40290E; font-size: .65rem; letter-spacing: .19em; text-transform: uppercase; }
.package-modern .journey-intro-title { margin-top: 1rem; color: var(--journey-ink); font-size: clamp(2.1rem, 3.4vw, 3.35rem); line-height: 1.12; }
.package-modern .journey-intro-copy { margin-top: 1.25rem; color: var(--journey-muted); font-size: .9rem; line-height: 1.85; }
.package-modern .journey-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; margin-block: 1.75rem; padding-block: 1.5rem; border-block: 1px solid var(--journey-line); }
.journey-facts dt { color: #76584a; font-size: .64rem; text-transform: uppercase; letter-spacing: .12em; }
.journey-facts dd { margin-top: .4rem; color: #3b2118; font-size: .84rem; }
.journey-price-block { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.journey-price-block > span { color: #76584a; font-size: .75rem; }
.package-modern .package-quote-price-minimal { font-family: 'Inter', Arial, sans-serif; font-size: 1.7rem !important; color: #3b2118; }
.package-modern .package-quote-price-minimal::before { display: none; }
html body .package-modern .package-quote-button.package-quote-button { min-height: 50px; border-radius: 5px; justify-content: space-between; padding-inline: 1.4rem; background: #40290E; color: #fff !important; }
html body .package-modern .package-quote-button.package-quote-button:hover { background: #87391f; }
html body .package-modern .package-quote-button.package-quote-button * { color: #fff !important; }
.package-modern .journey-price-note { margin-top: .8rem; text-align: center; color: #76584a; font-size: .68rem; }
.package-modern .package-tabs, .package-modern .package-tabs.is-fixed { position: sticky; top: var(--journey-header-height, 104px); z-index: 45; overflow-x: auto; background: rgba(255,253,249,.94); border-block: 1px solid rgba(164,73,36,.12); box-shadow: 0 16px 36px rgba(59,33,24,.08); backdrop-filter: blur(16px); scrollbar-width: none; }
.package-modern .package-tabs::-webkit-scrollbar { display: none; }
.package-modern .package-tabs-sentinel { display: none !important; }
.package-modern .package-tabs-inner { display: flex; width: max-content; min-width: min(100%, 1180px); justify-content: center; gap: .45rem; margin-inline: auto; padding: .7rem 1rem; counter-reset: journey-tabs; }
.package-modern .package-tabs-inner::before { display: none; }
.package-modern .package-tab { counter-increment: journey-tabs; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 42px; border: 1px solid transparent; border-radius: 999px; padding: .55rem .9rem .55rem .6rem; background: transparent; color: #76584a; box-shadow: none; font-size: .72rem; line-height: 1; white-space: nowrap; letter-spacing: 0; transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.package-modern .package-tab::before { content: counter(journey-tabs, decimal-leading-zero); display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 50%; background: #f4ede4; color: #40290E; font-size: .58rem; line-height: 1; }
.package-modern .package-tab::after { display: none; content: none; }
.package-modern .package-tab:hover { border-color: rgba(164,73,36,.18); background: #fff8f1; color: #40290E; }
.package-modern .package-tab.is-active { border-color: #40290E; background: #40290E; color: #fff !important; box-shadow: 0 10px 24px rgba(164,73,36,.2); }
.package-modern .package-tab.is-active::before { background: #fffdf9; color: #40290E; }
.package-modern .package-tab:focus-visible { outline: 2px solid #40290E; outline-offset: 3px; }
.package-modern .package-content-shell { background: #faf7f2; padding: 0 1.5rem 3rem; }
.journey-detail-toolbar { max-width: 1200px; margin-inline: auto; padding: 3.5rem 0 2rem; display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.journey-detail-toolbar h2 { margin-top: .7rem; font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1.15; color: #3b2118; }
.journey-detail-toolbar > div > p:last-child { margin-top: .7rem; color: #76584a; font-size: .85rem; }
.journey-expand-all { flex-shrink: 0; display: inline-flex; align-items: center; gap: 1.5rem; min-height: 46px; padding: .75rem 1rem; border-radius: 4px; background: #efe5da; color: #87391f; font-size: .75rem; transition: background .2s; }
.journey-expand-all:hover { background: #f4d7b8; }
.package-modern .journey-section { max-width: 1200px; padding: 0; margin: 0 auto 1rem; scroll-margin-top: calc(var(--journey-header-height, 104px) + var(--journey-tabs-height, 64px) + 16px); border: 0 !important; }
.journey-disclosure { border: 1px solid var(--journey-line); border-radius: 8px; background: #fffdf9; transition: box-shadow .25s; }
.journey-disclosure:hover { box-shadow: 0 8px 25px #3b211805; }
.journey-disclosure > summary { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto 2rem; align-items: center; gap: 1.4rem; padding: 1.8rem 2rem; cursor: pointer; list-style: none; }
.journey-disclosure > summary::-webkit-details-marker { display: none; }
.journey-section-number { color: #40290E; font-size: .72rem; }
.journey-section-label h2 { color: #3b2118; font-size: 1.55rem; line-height: 1.25; }
.package-modern .journey-section-brief { display: block; max-width: 740px; margin-top: .55rem; font-size: .82rem; line-height: 1.75; color: #76584a; }
.journey-expand-label { color: #40290E; font-size: .68rem; }
.journey-expand-icon { position: relative; width: 2rem; height: 2rem; border-radius: 50%; background: #f4ede4; }
.journey-expand-icon::before, .journey-expand-icon::after { position: absolute; content: ''; width: 10px; height: 1px; background: #40290E; top: 50%; left: calc(50% - 5px); transition: transform .25s; }
.journey-expand-icon::after { transform: rotate(90deg); }
.journey-disclosure[open] > summary .journey-expand-icon::after { transform: rotate(0); }
.journey-when-open, .journey-disclosure[open] > summary .journey-when-closed { display: none; }
.journey-disclosure[open] > summary .journey-when-open { display: inline; }
.journey-disclosure[open] > summary { border-bottom: 1px solid var(--journey-line); }
.journey-disclosure-body { padding: 0 2rem 2rem; }
.journey-disclosure[open] > .journey-disclosure-body { animation: journey-unfold .3s ease-out; }
.package-modern .package-overview-layout { grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr) !important; margin-top: 2rem; gap: 2.5rem; }
.package-modern .package-overview-copy { font-size: .92rem; line-height: 1.9; color: #76584a; }
.package-modern .package-fact-panel { padding: 1.5rem; border-radius: 5px; background: #f3ece3; box-shadow: none; }
.package-modern .package-fact-panel h3, .package-modern .package-fact-panel strong { color: #3b2118 !important; }
.package-modern .package-fact-panel h3 { font-size: 1.35rem !important; }
.package-modern .package-fact p, .package-modern .package-fact li { color: #76584a !important; font-style: normal; font-size: .8rem; }
.package-modern .package-packing-card, .package-modern .package-visa-card { margin-top: 2rem; border: none !important; background: transparent; border-radius: 0; box-shadow: none; padding: 0; gap: 2rem; }
.package-modern .package-packing-card h3, .package-modern .package-visa-card h3 { font-size: 1.6rem; }
.package-modern .package-visa-card > div:first-child { padding: 1rem 0; }
.package-modern .package-visa-card > div:first-child h3 { color: #3b2118 !important; font-size: 1.6rem !important; }
.package-modern .package-visa-card > div:first-child p { color: #76584a !important; }
.package-modern .package-visa-card > div:first-child label, .package-modern .package-visa-card > div:first-child::before { color: #40290E !important; }
.package-modern .package-visa-visual { border-radius: 5px; min-height: 300px; }
.package-modern .package-price-card { box-shadow: none; background: #f5efe7; border-radius: 5px; padding: 1.5rem; }
.package-modern .package-price-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.package-modern .package-price-grid > div { padding: .75rem; border: 0; background: #fffdf9; border-radius: 4px; }
.package-modern .package-price-grid strong { font-size: 1.15rem; }
.package-modern .package-itinerary-item { background: #faf7f2; border-radius: 5px; border: 1px solid #e8ded3 !important; box-shadow: none; }
.package-modern .package-itinerary-item[open] { box-shadow: none; }
.package-modern .package-itinerary-item h3 { font-family: 'Inter', Arial, sans-serif; font-size: .88rem !important; line-height: 1.5; }
.package-modern .package-itinerary-day { display: block; margin-bottom: .3rem; font-size: .62rem; color: #40290E; text-transform: uppercase; letter-spacing: .1em; }
.package-modern .package-itinerary-item h3 { margin-left: 0; }
.package-modern .package-itinerary-item[open] summary::after { content: '\2212'; }
.package-modern .package-itinerary-body { font-size: .9rem; }
.package-modern .package-itinerary-day-image img { width: 100%; max-height: 430px; object-fit: cover; }
.package-modern .package-inclusion-item { background: #faf7f2; border: 1px solid #e8ded3 !important; border-radius: 5px; }
.package-modern .package-inclusion-item[open] { box-shadow: none; transform: none; }
.package-modern .package-inclusion-item summary { font-size: .9rem; }
.package-modern .package-packing-list li::before { content: '\2713'; }
.package-modern .package-detail-section:not(.journey-section) { padding: 3.5rem 0 1rem; max-width: 1200px; border: 0 !important; }
.package-modern [data-package-reveal] { opacity: 1; transform: none; }
.package-modern [data-package-reveal].is-visible { animation: journey-unfold .55s ease-out; }
.package-modern .journey-disclosure > summary:focus-visible, .package-modern .journey-expand-all:focus-visible, .package-modern .package-content-shell button:focus-visible { outline: 2px solid #40290E; outline-offset: 4px; }
@keyframes journey-unfold { from { opacity: .4; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 900px) {
    .package-modern .package-showcase-grid { grid-template-columns: 1fr !important; gap: 2rem; }
    .package-modern .package-quote-card { display: block; }
    .package-modern .package-overview-layout { grid-template-columns: 1fr !important; }
    .package-modern .package-tabs-inner { justify-content: flex-start; min-width: max-content; gap: .45rem; padding-inline: 1.25rem; }
    .journey-detail-toolbar { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
}
@media (max-width: 600px) {
    .package-modern .package-showcase { padding-inline: 1.25rem !important; }
    .package-modern .package-content-shell { padding-inline: 1.25rem; }
    .package-modern .package-gallery-main { height: 300px; }
    .package-modern .package-gallery-thumb { height: 58px; }
    .journey-disclosure > summary { grid-template-columns: 1.25rem minmax(0, 1fr) 1.75rem; padding: 1.3rem 1rem; gap: .75rem; }
    .journey-expand-label { display: none; }
    .journey-section-label h2 { font-size: 1.25rem; }
    .package-modern .journey-section-brief { font-size: .76rem; }
    .journey-disclosure-body { padding: 0 1rem 1.25rem; }
    .package-modern .package-price-grid { grid-template-columns: repeat(2, 1fr); }
    .package-modern .package-packing-card, .package-modern .package-visa-card { grid-template-columns: 1fr; }
    .package-modern .package-itinerary-item summary { padding: 1rem; }
    .package-modern .package-itinerary-toggle { font-size: .7rem; }
    .package-modern .package-tabs, .package-modern .package-tabs.is-fixed { box-shadow: 0 12px 24px rgba(59,33,24,.1); }
    .package-modern .package-tab { min-height: 40px; padding: .5rem .8rem .5rem .55rem; font-size: .68rem; }
    .package-modern .package-tab::before { width: 1.45rem; height: 1.45rem; font-size: .54rem; }
}
@media (prefers-reduced-motion: reduce) {
    .package-modern *, .package-modern *::before, .package-modern *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
    .package-modern .package-tabs, .journey-detail-toolbar button, .journey-expand-label, .journey-expand-icon { display: none; }
    .journey-disclosure { break-inside: auto; }
}

/* Cheza signature journey: a darker editorial treatment for package details. */
.package-modern { --journey-ink: #40290E; --journey-muted: #645936; --journey-line: #EED1A9; background: #FFF8F0; }
.package-modern .package-hero { min-height: clamp(34rem, 68vh, 48rem) !important; padding: 0 !important; }
.package-modern .package-hero::before { display: none; }
.package-modern .package-hero::after { background: linear-gradient(90deg, rgba(30,22,11,.94) 0%, rgba(48,34,16,.68) 46%, rgba(48,34,16,.12) 100%); }
.package-modern .package-hero-copy { width: min(100%, 1380px); margin: auto; padding: clamp(7.5rem, 13vw, 11rem) clamp(1.25rem, 7vw, 7rem) 4rem; text-align: left; }
.package-modern .package-hero-kicker { display: inline-flex; width: fit-content; border: 1px solid rgba(238,209,169,.45); border-radius: 999px; background: rgba(255,255,255,.1); padding: .46rem .76rem; color: #fff !important; font-size: .65rem !important; letter-spacing: .15em; text-transform: uppercase; }
.package-modern .package-hero-title { max-width: 850px; margin: 1.15rem 0 0 !important; font-size: clamp(3rem, 6.2vw, 6.25rem) !important; font-weight: 400 !important; line-height: .96 !important; letter-spacing: -.055em !important; }
.package-modern .package-hero-summary { max-width: 600px; margin-top: 1.35rem; color: rgba(255,255,255,.82) !important; font-size: 1.05rem; line-height: 1.75; }
.package-modern .package-hero-facts { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.package-modern .package-hero-facts span { border: 1px solid rgba(255,255,255,.3); padding: .58rem .72rem; color: #fff; font-size: .7rem; letter-spacing: .05em; }

.package-modern .package-showcase { background: #27301D; padding: clamp(1.5rem, 5vw, 5rem) clamp(1rem, 5vw, 4rem) !important; }
.package-modern .package-showcase-grid { max-width: 1380px !important; grid-template-columns: minmax(0, 1.1fr) minmax(19rem, .9fr) !important; gap: 0; background: #27301D; }
.package-modern .package-gallery-main { height: clamp(360px, 42vw, 560px); border-radius: 0; }
.package-modern .package-gallery-thumbnails { gap: .55rem; margin-top: .55rem; }
.package-modern .package-gallery-thumb { height: 64px; border-radius: 0; opacity: .78; }
.package-modern .package-quote-card { min-height: 100%; padding: clamp(2rem, 4.5vw, 4.5rem); background: #645936; color: #fff; }
.package-modern .journey-eyebrow { display: inline-flex; width: fit-content; border-radius: 999px; background: rgba(255,255,255,.12); padding: .42rem .65rem; color: #fff !important; }
.package-modern .journey-intro-title { color: #fff; font-size: clamp(2.2rem, 3.7vw, 4.15rem); line-height: 1.02; letter-spacing: -.045em; }
.package-modern .journey-intro-copy { color: rgba(255,255,255,.78) !important; }
.package-modern .journey-facts { border-color: rgba(238,209,169,.32); }
.package-modern .journey-facts dt { color: #FC8F1A; }
.package-modern .journey-facts dd { color: #fff; }
.package-modern .journey-price-block > span { color: rgba(255,255,255,.7); }
.package-modern .package-quote-price-minimal { color: #fff; font-size: 2rem !important; }
html body .package-modern .package-quote-button.package-quote-button { border-radius: 0; background: #FC8F1A; color: #40290E !important; }
html body .package-modern .package-quote-button.package-quote-button * { color: #40290E !important; }
html body .package-modern .package-quote-button.package-quote-button:hover { background: #fff; }
.package-modern .journey-price-note { color: rgba(255,255,255,.66); }

.package-modern .package-tabs, .package-modern .package-tabs.is-fixed { background: #FFF8F0; border-block-color: #EED1A9; box-shadow: none; }
.package-modern .package-tab { border-radius: 0; color: #645936; }
.package-modern .package-tab::before { border-radius: 0; background: #EED1A9; }
.package-modern .package-tab.is-active { background: #40290E; box-shadow: none; }
.package-modern .package-content-shell { background: #FFF8F0; padding-bottom: 5rem; }
.journey-detail-toolbar { max-width: 1380px; padding: 5rem 0 2.25rem; }
.journey-detail-toolbar > div { max-width: 720px; }
.journey-detail-toolbar h2 { font-size: clamp(2.25rem, 4vw, 4.5rem); line-height: 1; letter-spacing: -.05em; }
.journey-expand-all { border-radius: 0; background: #40290E; color: #fff; }
.journey-expand-all:hover { background: #645936; }
.package-modern .journey-section { max-width: 1380px; margin-bottom: .8rem; }
.journey-disclosure { border: 1px solid #EED1A9; border-radius: 0; background: #fff; }
.journey-disclosure:hover { box-shadow: none; }
.journey-disclosure > summary { grid-template-columns: 3.3rem minmax(0, 1fr) auto 2.35rem; gap: 1.2rem; padding: 2rem; }
.journey-section-number { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; background: #EED1A9; color: #40290E; font-size: .68rem; }
.journey-section-label h2 { font-size: clamp(1.45rem, 2.3vw, 2rem); }
.journey-expand-icon { border-radius: 0; background: #40290E; }
.journey-expand-icon::before, .journey-expand-icon::after { background: #fff; }
.journey-disclosure[open] > summary { background: #FFF8F0; border-bottom-color: #EED1A9; }
.journey-disclosure-body { padding: 0 2rem 2.25rem; }
.package-modern .package-overview-layout { gap: 3.5rem; }
.package-modern .package-fact-panel { border-radius: 0; background: #EED1A9; padding: 2rem; }
.package-modern .package-itinerary-item { border-radius: 0; background: #FFF8F0; }
.package-modern .package-itinerary-item summary { padding: 1.35rem 1.5rem; }
.package-modern .package-itinerary-item[open] { background: #fff; border-color: #645936 !important; }
.package-modern .package-price-card { border-radius: 0; background: #EED1A9; }
.package-modern .package-price-grid > div { border-radius: 0; background: #FFF8F0; }
.package-modern .package-inclusion-item { border-radius: 0; background: #FFF8F0; }
.package-modern .package-packing-card, .package-modern .package-visa-card { background: #fff; padding: 2rem; }

@media (max-width: 900px) {
  .package-modern .package-showcase-grid { grid-template-columns: 1fr !important; }
  .package-modern .package-quote-card { min-height: auto; }
  .package-modern .package-hero-copy { padding-top: 8rem; }
}
@media (max-width: 600px) {
  .package-modern .package-hero { min-height: 38rem !important; }
  .package-modern .package-hero-copy { padding: 7rem 1.25rem 2.5rem; }
  .package-modern .package-hero-title { font-size: clamp(2.55rem, 12vw, 4rem) !important; }
  .journey-detail-toolbar { padding: 3.5rem 0 1.5rem; }
  .journey-disclosure > summary { grid-template-columns: 2.7rem minmax(0,1fr) 2.2rem; padding: 1.25rem; gap: .75rem; }
  .journey-disclosure-body { padding: 0 1.25rem 1.5rem; }
  .journey-section-number { width: 2.25rem; height: 2.25rem; }
  .package-modern .package-packing-card, .package-modern .package-visa-card { padding: 1.25rem; }
}

/* Two-view package details: brief essentials first, then the full journey. */
[x-cloak] { display: none !important; }
.package-modern .package-view-tabs { position: sticky; top: var(--journey-header-height, 82px); z-index: 45; border-bottom: 1px solid #EED1A9; background: #FFF8F0; }
.package-modern .package-view-tabs > div { display: flex; width: min(100% - 2rem, 1380px); margin: 0 auto; gap: .4rem; padding: .8rem 0; }
.package-modern .package-view-tabs button { min-width: 9rem; border: 1px solid #EED1A9; border-radius: 0; background: #fff; padding: .72rem 1rem; color: #645936; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.package-modern .package-view-tabs button.is-active,
.package-modern .package-view-tabs button.is-active * { border-color: #40290E; background: #40290E; color: #fff !important; }
.package-modern .package-normal-view { background: #FFF8F0; }
.package-modern .package-normal-view .journey-eyebrow { color: #40290E; }
.package-modern .package-normal-highlights { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; max-width: 700px; }
.package-modern .package-normal-highlights span { border: 1px solid #EED1A9; background: #fff; padding: .85rem 1rem; color: #40290E; font-size: .86rem; line-height: 1.5; }
.package-modern .package-normal-facts { padding: clamp(1.75rem,4vw,3rem); background: #EED1A9; }
.package-modern .package-normal-facts > p { color: #40290E; font-size: .66rem; letter-spacing: .15em; text-transform: uppercase; }
.package-modern .package-normal-facts dl { margin-top: 1.5rem; }
.package-modern .package-normal-facts dl > div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(64,41,14,.18); padding: 1rem 0; }
.package-modern .package-normal-facts dt { color: #645936; font-size: .72rem; }
.package-modern .package-normal-facts dd { max-width: 60%; color: #40290E; font-size: .82rem; text-align: right; }
html body .package-modern button.package-normal-cta, html body .package-modern button.package-normal-cta * { display: inline-flex; align-items: center; gap: .7rem; border: 0; border-radius: 0; background: #40290E; padding: .95rem 1.35rem; color: #fff !important; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
html body .package-modern button.package-normal-cta:hover, html body .package-modern button.package-normal-cta:hover * { background: #645936; color: #fff !important; }
.package-modern .package-more-view .journey-detail-toolbar { padding-top: 4.5rem; }
.package-modern .package-more-view .journey-disclosure { margin-bottom: 2rem; border: 0; background: transparent; }
.package-modern .package-more-view .journey-disclosure > summary { pointer-events: none; grid-template-columns: 3.3rem minmax(0,1fr); padding: 0 0 1.3rem; border-bottom: 1px solid #EED1A9 !important; background: transparent; }
.package-modern .package-more-view .journey-section-number { background: #40290E; color: #fff; }
.package-modern .package-more-view .journey-expand-label, .package-modern .package-more-view .journey-expand-icon { display: none; }
.package-modern .package-more-view .journey-disclosure-body { padding: 2rem 0 0; }
html body .package-modern .package-quote-button.package-quote-button:hover, html body .package-modern .package-quote-button.package-quote-button:hover * { background: #fff; color: #40290E !important; }
@media (max-width: 600px) {
  .package-modern .package-view-tabs > div { width: calc(100% - 2.5rem); }
  .package-modern .package-view-tabs button { flex: 1; min-width: 0; }
  .package-modern .package-normal-highlights { grid-template-columns: 1fr; }
  .package-modern .package-more-view .journey-disclosure > summary { grid-template-columns: 2.7rem minmax(0,1fr); }
}

/* Compact package booking card: the selected safari is part of the dialogue. */
.package-modern .package-booking-modal-shell { padding: clamp(.75rem, 2.5vw, 1.5rem); }
.package-modern .package-booking-modal-shell > .absolute { background: rgba(31, 22, 10, .76); backdrop-filter: blur(13px); }
.package-modern .package-booking-modal-card { max-width: 850px !important; border: 1px solid #EED1A9; border-radius: 0 !important; background: #FFF8F0; box-shadow: 0 30px 85px rgba(35, 20, 7, .42); }
.package-modern .package-booking-modal-header { display: grid; grid-template-columns: 10.5rem minmax(0, 1fr) auto auto; gap: 0; min-height: 9.25rem; padding: 0 !important; background: #27301D; }
.package-modern .booking-modal-package-image { display: block !important; min-height: 9.25rem; overflow: hidden; background: #40290E; }
.package-modern .booking-modal-package-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.package-modern .booking-modal-title { align-self: center; padding: 1rem 1.25rem; }
.package-modern .package-booking-modal-header .booking-modal-title > p:first-child { color: #FC8F1A !important; font-size: .58rem !important; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.package-modern .package-booking-modal-header h2 { margin: .45rem 0 0 !important; color: #fff !important; font-size: clamp(1rem, 2vw, 1.35rem) !important; line-height: 1.18 !important; }
.package-modern .booking-header-route { margin-top: .35rem; color: rgba(255,255,255,.67) !important; font-size: .68rem !important; line-height: 1.45; }
.package-modern .booking-header-price { display: grid !important; align-self: center; min-width: 7.8rem; margin-right: .75rem; gap: .15rem; border: 1px solid rgba(238,209,169,.3); border-radius: 0; background: rgba(255,255,255,.06); padding: .6rem .7rem; text-align: left; }
.package-modern .booking-header-price span { color: rgba(255,255,255,.62) !important; font-size: .55rem !important; letter-spacing: .1em; }
.package-modern .booking-header-price strong { color: #F6D98E !important; font-size: .78rem !important; line-height: 1.25; }
.package-modern .package-booking-modal-close { align-self: start; width: 2rem !important; height: 2rem !important; margin: .7rem; border-radius: 0; color: #fff !important; }
.package-modern .package-booking-modal-close svg, .package-modern .package-booking-modal-close path { stroke: #fff !important; }
.package-modern .booking-progress { justify-content: flex-start; gap: .85rem; padding: .6rem 1.25rem; background: #fff; color: #8B786A; font-size: .6rem !important; }
.package-modern .booking-progress span { min-width: auto; font-size: .6rem !important; }
.package-modern .booking-progress span + span::before { display: none; }
.package-modern .booking-progress b { width: 1.15rem; height: 1.15rem; font-size: .55rem; }
.package-modern .package-booking-modal-body { max-height: min(59vh, 510px); padding: 1.1rem 1.25rem 1.25rem !important; background: #FFF8F0; }
.package-modern .package-booking-modal-body h3 { font-size: 1.05rem !important; line-height: 1.3; }
.package-modern .package-booking-modal-body p, .package-modern .package-booking-modal-body label, .package-modern .package-booking-modal-body input, .package-modern .package-booking-modal-body textarea { font-size: .75rem !important; }
.package-modern .booking-summary-card, .package-modern .booking-option-card { border-radius: 0; padding: .95rem 1rem !important; }
.package-modern .booking-summary-card { background: #EED1A9; }
.package-modern .booking-primary-action, .package-modern .booking-secondary-action, .package-modern .booking-whatsapp-action { min-height: 2.55rem; border-radius: 0; font-size: .7rem !important; letter-spacing: .04em; }
.package-modern .booking-primary-action, .package-modern .booking-primary-action:hover { background: #40290E; color: #fff !important; }
.package-modern .booking-primary-action *, .package-modern .booking-primary-action:hover * { color: #fff !important; }
@media (max-width: 650px) {
  .package-modern .package-booking-modal-shell { align-items: flex-start; padding: .55rem; }
  .package-modern .package-booking-modal-header { grid-template-columns: 5.6rem minmax(0, 1fr) auto; min-height: 6.75rem; }
  .package-modern .booking-modal-package-image { min-height: 6.75rem; }
  .package-modern .booking-modal-title { padding: .75rem .7rem; }
  .package-modern .package-booking-modal-header h2 { font-size: .93rem !important; }
  .package-modern .booking-header-price { display: none !important; }
  .package-modern .package-booking-modal-close { margin: .45rem; }
  .package-modern .booking-progress { gap: .65rem; padding: .55rem .75rem; }
  .package-modern .booking-progress span { font-size: .55rem !important; }
  .package-modern .package-booking-modal-body { max-height: calc(100dvh - 10.5rem); padding: .9rem !important; }
}
