.budget-styles,.budget-estimate{margin-block:1.5rem;padding:clamp(18px,3vw,30px);border:1px solid #dbe5de;border-radius:18px;background:#f7faf5;color:#072720}
.budget-heading>span,.budget-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#3d5e12}.budget-heading h3,.budget-estimate h3{font-size:clamp(1.2rem,2.4vw,1.65rem);margin:.4rem 0 .6rem}.budget-heading p,.budget-estimate p{line-height:1.7;margin-block:.6rem 1rem}
.budget-style-grid{margin-top:20px}.budget-style-card{display:none;background:#fff;border:1px solid #a4bf77;border-inline-start:4px solid #9edd05;border-radius:13px;overflow:hidden;min-width:0}.budget-style-card.is-selected{display:block}.budget-selected-intro{padding:20px}.budget-selected-intro h4{font-size:1.2rem;margin:0 0 10px}.budget-selected-intro p{line-height:1.7;margin:0;color:#465d55}.budget-style-card details{border-top:1px solid #e0e9df;padding:16px 20px}.budget-styles summary{cursor:pointer;font-size:.9rem;font-weight:700;line-height:1.6}.budget-styles summary:focus-visible{outline:3px solid #527b00;outline-offset:3px}.budget-style-card dl{display:grid;grid-template-columns:minmax(130px,.4fr) 1fr;gap:14px 22px;margin:20px 0 0}.budget-style-card dt{font-size:.88rem;font-weight:800}.budget-style-card dd{margin:0;font-size:.9rem;line-height:1.7;color:#465d55}
.budget-selection-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.budget-principle{font-size:.87rem;line-height:1.7;border-inline-start:3px solid #9edd05;padding-inline-start:14px;margin-block:22px}.budget-factors{background:#fff;border-radius:10px;padding:16px}.budget-factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-top:14px}.budget-factor-grid p{font-size:.9rem;line-height:1.7}.budget-factor-grid strong{display:block;margin-bottom:4px}.budget-small{font-size:.85rem;color:#52675f}.budget-styles>.budget-estimate{background:#fff;padding:20px}.budget-estimate [data-estimate-status]{margin-top:16px;line-height:1.7}.budget-estimate-option{background:white;border:1px solid #d7e2d8;border-radius:12px;padding:18px;margin-top:12px;overflow-wrap:anywhere}.budget-estimate-option summary{cursor:pointer;line-height:1.7;font-weight:700}.budget-estimate-option dl{display:grid;grid-template-columns:minmax(110px,.5fr) 1fr;gap:8px}.budget-estimate-option dd{margin:0;white-space:pre-line}.budget-estimate [data-estimate-options]:empty{display:none}.budget-range-basis{font-weight:700}.budget-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.budget-range>div{padding:16px;border-radius:10px;background:#f3f8e9;border:1px solid #d3dfbd}.budget-range dt{font-size:.85rem;color:#465d55}.budget-range dd{font-size:1.4rem;font-weight:800;margin:6px 0 0;unicode-bidi:isolate}
/* Native select state keeps exactly one description visible even without JS. */
@supports selector(:has(*)){
 [data-trip-builder]:has([name="trip-budget_tier"]) .budget-style-card{display:none}
 [data-trip-builder]:has([name="trip-budget_tier"] option[value="economy"]:checked) [data-tier-card="economy"],
 [data-trip-builder]:has([name="trip-budget_tier"] option[value="comfort"]:checked) [data-tier-card="comfort"],
 [data-trip-builder]:has([name="trip-budget_tier"] option[value="premium"]:checked) [data-tier-card="premium"],
 [data-trip-builder]:has([name="trip-budget_tier"] option[value="luxury"]:checked) [data-tier-card="luxury"],
 [data-trip-builder]:has([name="trip-budget_tier"] option[value="flexible"]:checked) [data-tier-card="flexible"]{display:block}
}
@media(max-width:540px){.budget-factor-grid,.budget-style-card dl,.budget-estimate-option dl{grid-template-columns:1fr}.budget-styles,.budget-estimate,.budget-styles>.budget-estimate{padding:16px}.budget-style-card dl{gap:5px}.budget-style-card dd,.budget-estimate-option dd{margin-bottom:12px}.budget-range dd{font-size:1.1rem}.budget-range>div{padding:12px}}

.budget-criterion-input{margin:1rem 0}.budget-criterion-input[hidden]{display:none}.budget-criterion-input label,.budget-criterion-input small,.budget-style-card dd small,.budget-factor-grid small{display:block}.budget-criterion-input small{margin-top:.35rem;color:#526967}
body:has([name="trip-budget_tier"] option[value="economy"]:checked) [data-budget-input]:not([data-tiers*="economy"]) {display:none}
body:has([name="trip-budget_tier"] option[value="comfort"]:checked) [data-budget-input]:not([data-tiers*="comfort"]) {display:none}
body:has([name="trip-budget_tier"] option[value="premium"]:checked) [data-budget-input]:not([data-tiers*="premium"]) {display:none}
body:has([name="trip-budget_tier"] option[value="luxury"]:checked) [data-budget-input]:not([data-tiers*="luxury"]) {display:none}
body:has([name="trip-budget_tier"] option[value="flexible"]:checked) [data-budget-input]:not([data-tiers*="flexible"]) {display:none}
