/* Shared responsive rhythm: keep full information available with less empty space. */
.content{padding-block:36px}
.section-head{gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-head{padding-block:24px 18px}
.page-head h1{font-size:clamp(27px,3.1vw,38px);line-height:1.15}
.hero-inner{padding-top:32px}
.hero-copy{min-height:220px;margin-bottom:24px}
.hero-copy h1{font-size:clamp(38px,4.3vw,58px)}
.hero-photo{height:265px;top:24px}
.hero-location{top:235px}
.hero-copy p{margin-top:14px}
.search-form>.primary{align-self:start;margin-top:20px;min-height:50px}
.duration-shortcuts button{min-height:44px;white-space:nowrap}
.hero-bottom{margin-top:16px}
.planner-promo{padding:28px;gap:30px}
.travel-banner{padding:26px;margin-block:26px}
.journal-teaser{padding-block:30px}
.journal-teaser .journal-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.journal-teaser .journal-single{grid-template-columns:1fr}
.journal-teaser .journal-card-copy{padding:18px}
.journal-teaser .journal-card-copy h3{font-size:1.35rem;line-height:1.25;margin-block:10px}
.journal-teaser .journal-card-copy p{font-size:.9rem;line-height:1.6;min-height:0}
.journal-teaser .journal-read{min-height:44px;margin-top:8px;font-size:.9rem}
.readiness{padding:28px;gap:30px}
.quick-picks>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:650}
.quick-picks>summary:after{content:'+';font-size:22px}
.quick-picks[open]>summary:after{content:'−'}
.quick-picks .choice-card{gap:6px;padding:14px}
.quick-picks .choice-card p{margin-block:4px}
.quick-picks .choice-card small{font-size:12px}
.currency-toolbar{padding:14px 16px;gap:18px;margin-block:16px}
.currency-toolbar p{font-size:13px}
.currency-toolbar small{font-size:12px}
.catalog-strip{padding-block:12px;gap:8px}
.result-group{scroll-margin-top:90px}
.result-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0 24px}
.result-pagination p{margin:0;font-size:13px;color:#526575}
.result-pagination button{min-height:44px}
.complete-offer{scroll-margin-top:130px;gap:12px 18px}
.complete-offer .offer-bottom{margin-top:-12px}
.complete-offer .coupon-compact{padding:12px 14px;gap:8px}
.complete-offer .coupon-compact .coupon-overview{min-width:0;width:100%}
.complete-offer .coupon-compact .coupon-overview>p{font-size:12px;margin-block:4px}
.complete-offer .coupon-compact b{font-size:14px}
.complete-offer .coupon-code-row{gap:12px;margin-block:8px}
.complete-offer .coupon-terms{width:100%;margin-top:4px;padding-top:0}
.complete-offer .coupon-terms summary{font-size:13px}
.complete-offer .coupon-code-row>code{font-size:16px;padding:8px 12px}
.complete-offer .coupon-code-row button{min-height:44px}
.directory-destination{scroll-margin-top:90px}
.offer-buy{flex-wrap:wrap}
.offer-buy>div{min-width:0}
.offer-buy>.primary{white-space:normal;line-height:1.4}
.results-top{flex-wrap:wrap;scroll-margin-top:135px}
.results-top label{display:flex;align-items:center;gap:8px}
.results-top select{min-height:44px}
.filter-panel{max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain}
.filter-panel{scroll-margin-top:130px}
.filter-panel .field{margin-top:14px}
.deal-brand{padding:16px 20px}
.deal-body{padding:20px;gap:20px}
.deal-body .coupon-card{padding:18px}
.deal-plan h3{font-size:1.2rem;margin-block:8px 12px}
.deal-plan p{margin-block:12px}
.deal-facts{padding-block:12px}
.footer-top{gap:24px}
@media(max-width:1000px){
 .search-form>.primary{margin-top:0}
 .hero-copy{min-height:200px}
 .hero-photo{height:240px}
 .hero-location{top:218px}
}
@media(max-width:800px){
 #main-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:12px 18px}
 #main-nav a{padding:10px 8px;white-space:normal}
 .filter-panel{max-height:none;overflow:visible}
 .filter-toggle{top:72px}
 .journal-teaser .journal-cards{grid-template-columns:1fr}
 .journal-teaser .journal-card,.journal-teaser .journal-single .journal-card{display:grid;grid-template-columns:112px minmax(0,1fr)}
 .journal-teaser .journal-card-art>.journal-art{height:100%;min-height:150px;object-fit:cover}
 .journal-teaser .journal-country{inset-inline-start:8px;bottom:8px;padding:6px;gap:4px;font-size:0}
 .journal-teaser .journal-card-copy{padding:14px}
 .journal-teaser .journal-card-copy .eyebrow{font-size:9px;letter-spacing:1px}
 .journal-teaser .journal-card-copy h3{font-size:1.15rem;margin-block:6px}
 .journal-teaser .journal-card-copy p{font-size:13px;line-height:1.5;margin-block:6px}
 .journal-teaser .journal-card-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .journal-teaser .journal-read{font-size:12px;margin-top:0}
}
@media(max-width:600px){
 .hero-inner{padding-block:22px 14px}
 .hero-copy{min-height:0;margin-bottom:14px;max-width:100%}
 .hero-copy h1{font-size:36px;line-height:1.08;margin-block:12px}
 .hero-copy p{font-size:14px;line-height:1.6;max-width:none;margin-top:10px}
 .hero-help{margin-top:8px;gap:16px}
 .hero-help a{min-height:36px;display:inline-flex;align-items:center}
 .search-shell{padding:14px}
 .search-shell .tabs{margin-bottom:12px;padding-bottom:8px}
 .search-form{gap:10px}
 .search-form>.primary{margin-top:0;min-height:48px}
 .search-note{gap:4px;margin-top:12px;line-height:1.5}
 .duration-shortcuts{gap:4px}
 .duration-shortcuts button{font-size:11px;padding-inline:3px}
 .hero-bottom{margin-top:12px;gap:4px}
 .content{padding-block:26px}
 .section-head{gap:10px;margin-bottom:16px;align-items:flex-start}
 .section-head h2{font-size:25px;line-height:1.2}
 .section-head .text-link{min-height:36px;display:inline-flex;align-items:center}
 .destination-grid{gap:10px}
 .destination{padding:12px;gap:10px}
 .planner-promo{padding:20px;gap:18px}
 .planner-promo h2{font-size:25px}
 .planner-promo p{font-size:14px;margin-block:10px 16px}
 .route-preview{padding:16px}
 .route-preview-stop{padding-block:10px}
 .travel-banner{padding:20px;margin-block:20px;gap:14px}
 .travel-banner h2{font-size:25px}
 .journal-teaser{padding-block:24px}
 .journal-teaser .journal-cards{gap:12px}
 .readiness{padding:20px;gap:16px}
 .readiness h2{font-size:26px}
 .readiness>div p{margin-top:8px}
 .readiness form{gap:12px}
 .readiness select{font-size:16px;min-height:44px}
 .currency-toolbar{gap:10px;padding:12px}
 .currency-toolbar .field{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .currency-toolbar .field select{width:auto;min-width:100px}
 .currency-toolbar p{line-height:1.5}
 .page-head{padding-block:20px 16px}
 .page-head p{font-size:14px}
 .complete-offer{padding:14px 14px 0;gap:10px}
 .complete-offer .offer-title{font-size:12px;line-height:1.5}
 .complete-offer .offer-buy{gap:10px}
 .complete-offer .offer-buy>.primary{min-height:48px;max-width:150px}
 .complete-offer .offer-buy strong{font-size:25px}
 .complete-offer .offer-bottom{margin:0 -14px;padding:8px 14px}
 .complete-offer .offer-details summary{min-height:44px}
 .results-top{gap:12px}
 .results-top label{font-size:12px;width:100%;justify-content:space-between}
 .results-top select{max-width:72%;font-size:14px}
 .result-pagination{align-items:stretch}
 .result-pagination button{width:100%}
 .deal-body{padding:14px;gap:12px}
 .deal-brand{padding:14px 16px}
 .deal-body .coupon-card{padding:14px}
 .deal-brand h2{font-size:1.3rem}
 .footer-top{gap:18px}
 .footer-links{gap:4px 16px}
}
@media(max-width:359px){
 .hero-copy h1{font-size:32px}
 .journal-teaser .journal-card,.journal-teaser .journal-single .journal-card{grid-template-columns:86px minmax(0,1fr)}
 .journal-teaser .journal-card-copy{padding:12px}
 .journal-teaser .journal-card-copy h3{font-size:1.05rem}
 .complete-offer .offer-buy>.primary{max-width:140px}
}
/* Keep plan names readable when unknown conditions widen the data column. */
@media(max-width:600px){
 .complete-offer>.offer-identity,.complete-offer>.offer-identity+div{grid-column:1 / -1}
 .complete-offer>.offer-identity>div{flex:1;min-width:0}
 .complete-offer .offer-title{max-width:none}
}
@media print{
 .filter-panel{max-height:none;overflow:visible}
 .result-pagination button{display:none}
}

/* Deals: compare providers at a glance; instructions stay above the fold. */
.deals-page .deals-hero{padding-block:32px 24px}
.deals-page .deals-hero h1{font-size:clamp(2.2rem,4vw,3.5rem)}
.deals-kinds,.deals-destinations{display:flex;gap:8px;flex-wrap:wrap}
.deals-kinds{margin-bottom:16px}
.deals-kinds button,.deals-destinations button{min-height:44px;padding:10px 18px;border:1px solid #bfd2df;border-radius:999px;background:white;color:#082657;font:inherit;font-size:.9rem;font-weight:650;cursor:pointer}
.deals-kinds [aria-pressed=true]{background:#082657;color:white;border-color:#082657}
.deals-destinations{margin-top:14px}
.deals-destinations [aria-pressed=true]{background:#e8f5fc;border-color:#1688b8}
.deals-trust{font-size:.82rem;line-height:1.6;color:#52647a;margin:16px 0}
.deals-page .deals-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}
.deals-page .deal-brand{padding:16px 20px}
.deals-page .deal-brand h2{font-size:1.25rem}
.deals-page .deal-body{grid-template-columns:minmax(0,1fr);padding:18px;gap:14px}
.deals-page .deal-body .coupon-card{padding:16px}
.deals-page .coupon-overview>b{font-size:1.4rem}
.deals-page .coupon-code-row{margin-block:14px 6px}
.deals-page .coupon-code-row button{min-height:48px}
.deals-page .coupon-terms{margin-top:10px}
.deals-page .coupon-disclosure{margin-bottom:6px}
.coupon-use-hint{border-left:3px solid #f2952a;padding:8px 10px;background:#fff5e6;color:#6e3905;font-size:.84rem;line-height:1.5}
.deals-page .deal-plan{padding:0}
.deal-example{margin-bottom:14px}
.deal-example summary{min-height:44px;align-content:center;cursor:pointer;font-weight:650;font-size:.9rem;color:#086c9b}
.deal-example .eyebrow{display:none}
.deal-example h3{font-size:1.1rem;margin:10px 0}
.deals-page [data-deal-kind=link]{background:#f8fafc}
.deals-page [data-deal-kind=link] .coupon-card{background:white}
.deals-page [data-deal-kind=link] .deal-plan h3,.deals-page [data-deal-kind=link] .deal-plan>p{display:none}
@media(max-width:760px){
 .deals-page .deals-grid{grid-template-columns:minmax(0,1fr)}
 .deals-page .deals-hero{padding-top:22px}
 .deals-page .deals-hero h1{font-size:2.2rem}
 .deals-page .deal-body{padding:14px}
 .deals-kinds button,.deals-destinations button{padding:9px 13px;font-size:.82rem}
 .deals-page .deals-filters{gap:12px}
 .deals-page .deals-filters label{flex-basis:calc(50% - 6px)}
 .deals-page .deals-filters>button{width:100%}
}
@media(max-width:359px){.deals-page .deals-filters label{flex-basis:100%}}
