/* Peer destination sections share one heading and panel system. */
.home-catalog-section{padding:18px 0;background:#f4f8f7;scroll-margin-top:110px}
.home-catalog-section>.home-catalog-panel{width:min(1200px,calc(100% - 40px));padding:28px;border:1px solid #cbdedb;border-top:4px solid #6d9c98;border-radius:20px;background:#fff;box-shadow:0 5px 18px #183c4908}
.home-catalog-panel>.catalog-heading{display:block;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #dce8e5;background:transparent;text-align:left;max-width:none}
.home-catalog-section .catalog-kicker{font-size:15px;line-height:1.5;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#127788;margin:0}
.home-catalog-section .catalog-title{font-size:32px;font-weight:850;line-height:1.3;letter-spacing:0;color:#183c49;text-align:left;margin:10px 0 12px}
.home-catalog-section .catalog-description{font-size:17px;line-height:1.7;font-weight:650;color:#50676e;text-align:left;margin:0;max-width:850px}
.home-catalog-section .catalog-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 0;padding:0}
.home-catalog-section .catalog-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 15px;border:1px solid #c4dbd6;border-radius:100px;background:#f2f8f6;color:#17616a;font-size:15px;font-weight:850;line-height:1.4;text-align:left;text-decoration:none}
.home-catalog-section .catalog-actions a:hover,.home-catalog-section .catalog-actions a:focus-visible{background:#e3f1ed;outline:2px solid #387f7c;outline-offset:2px}
.home-catalog-section .canada-home-group,.home-catalog-section .europe-group{padding:18px 0 0;margin:20px 0 0;border-top:1px solid #dce8e5}
.home-catalog-section .canada-home-group:first-of-type{border-top:0;padding-top:0;margin-top:0}
.home-catalog-section .canada-home-heading h3,.home-catalog-section .europe-group-heading h3{font-size:25px;font-weight:850;line-height:1.35;color:#183c49;margin:5px 0 8px;text-align:left}
.home-catalog-section .europe-group-heading,.home-catalog-section .canada-home-heading{margin:0 0 16px;text-align:left}
.home-catalog-section .europe-group-heading p,.home-catalog-section .canada-home-heading p{font-size:16px;line-height:1.65;font-weight:650;color:#50676e;margin:0}
.home-catalog-section .europe-group-heading .eyebrow,.home-catalog-section .canada-home-heading small{font-size:15px;line-height:1.5;font-weight:850;color:#3c7b80}
.home-catalog-section .loop-showcase{margin:18px 0 22px}
.home-catalog-section .group-showcase:last-child{margin-bottom:0}
.home-catalog-section .mena-credit{margin:16px 0 0;line-height:1.6}
@media(max-width:700px){
 .home-catalog-section{padding:12px 0;scroll-margin-top:20px}
 .home-catalog-section>.home-catalog-panel{width:calc(100% - 24px);padding:18px 14px;border-radius:16px;border-top-width:3px}
 .home-catalog-panel>.catalog-heading{margin-bottom:20px;padding-bottom:18px}
 .home-catalog-section .catalog-title{font-size:26px;margin:9px 0 12px}
 .home-catalog-section .catalog-description{font-size:16px;line-height:1.65}
 .home-catalog-section .catalog-kicker{font-size:15px;letter-spacing:.08em}
 .home-catalog-section .catalog-actions{margin-top:16px;gap:8px}
 .home-catalog-section .catalog-actions a{min-height:42px;padding:8px 12px;font-size:15px}
 .home-catalog-section .canada-home-heading h3,.home-catalog-section .europe-group-heading h3{font-size:22px}
 .home-catalog-section .canada-home-heading{flex-wrap:wrap;align-items:flex-start;gap:10px}
 .home-catalog-section .canada-home-heading>a{font-size:15px}
}
/* Quiet category accents; body copy and main headings keep one dark colour. */
#all-inclusive{--catalog-edge:#79a59a;--catalog-accent:#346b5f;--catalog-tint:#f3f9f6}
#canada-journeys{--catalog-edge:#79a59a;--catalog-accent:#346b5f;--catalog-tint:#f3f9f6}
#europe-loop{--catalog-edge:#baa06b;--catalog-accent:#7b6537;--catalog-tint:#fbf8f0}
#middle-east-journeys{--catalog-edge:#bc9984;--catalog-accent:#805d48;--catalog-tint:#fbf5f0}
#islands{--catalog-edge:#78aeb0;--catalog-accent:#356f73;--catalog-tint:#f1f9f8}
#home-cruises{--catalog-edge:#8ba5b8;--catalog-accent:#42647c;--catalog-tint:#f2f7fb}
.home-catalog-section>.home-catalog-panel{border-top-color:var(--catalog-edge)}
.home-catalog-section .catalog-kicker{color:var(--catalog-accent)}
.home-catalog-section .catalog-actions a{background:var(--catalog-tint)}
/* Heading cues express hierarchy without adding circles around every label. */
.home-catalog-panel>.catalog-heading{padding:18px 20px;border:0;border-left:4px solid var(--catalog-edge);border-radius:12px;background:var(--catalog-tint)}
.home-catalog-section .canada-home-heading h3,.home-catalog-section .europe-group-heading h3{border-left:4px solid var(--catalog-edge);padding-left:10px}
.home-catalog-section .europe-group-heading .eyebrow,.home-catalog-section .canada-home-heading small{color:var(--catalog-accent)}
@media(max-width:700px){.home-catalog-panel>.catalog-heading{padding:16px 12px;border-radius:10px;border-left-width:3px}}
/* One reusable product card. Content has no fixed height or empty spacer rows. */
#promo-six{--catalog-edge:#79a59a;--catalog-accent:#346b5f;--catalog-tint:#f3f9f6}
.home-catalog-section .home-catalog-panel :is(.canada-mini-grid,.loop-showcase,.directory-grid,.promo-six-grid){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;padding:0;margin:18px 0 0}
.home-catalog-section .home-catalog-panel a.home-product-card{display:flex;flex-direction:column;min-width:0;height:auto;min-height:0;padding:0;gap:0;border:1px solid #d4e2df;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #183c490a;color:#183c49;text-decoration:none;scroll-snap-align:start}
.home-catalog-section .home-catalog-panel a.home-product-card:hover{border-color:#7baba3;box-shadow:0 6px 16px #183c4918;transform:translateY(-2px)}
.home-catalog-section .home-catalog-panel a.home-product-card:focus-visible{outline:3px solid #237578;outline-offset:3px}
.home-catalog-section .home-catalog-panel .home-product-photo{display:block;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/9;flex:0 0 auto;overflow:hidden;background-color:#edf4f1}
.home-catalog-section .home-catalog-panel .home-product-photo>img{width:100%;height:100%;object-fit:cover}
.home-catalog-section .home-catalog-panel .home-product-copy{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;flex:1;padding:12px;min-height:0;min-width:0}
.home-catalog-section .home-catalog-panel .home-product-copy>*{display:block;min-width:0;max-width:100%;min-height:0;margin:0;letter-spacing:0;white-space:normal}
.home-catalog-section .home-catalog-panel .home-product-meta{font-size:15px!important;line-height:1.45;font-weight:700;color:#536e72}
.home-catalog-section .home-catalog-panel .home-product-title{font-size:20px;line-height:1.35;font-weight:850;color:#183c49}
.home-catalog-section .home-catalog-panel .home-product-description{font-size:16px!important;line-height:1.5;font-weight:600;color:#536e72}
.home-catalog-section .home-catalog-panel .home-product-footer{margin-top:auto;padding-top:8px;border-top:1px solid #e2ebe8;font-size:15px!important;line-height:1.45;font-weight:800;color:#216770;overflow-wrap:anywhere}
.home-catalog-section .home-catalog-panel .home-product-description{margin-bottom:4px}
/* Route colours are a small cue, rather than a second frame around the card. */
.home-catalog-section .home-catalog-panel .loop-tile .home-product-title:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line);margin-right:6px;vertical-align:middle}
.home-catalog-section .home-product-photo .promo-overlay{display:none}
.home-catalog-section .promo-poster{background-size:cover}
.home-catalog-section .promo-iberia-art .promo-poster{background-size:cover;background-position:left center}
.home-catalog-section .promo-badge{top:7px;right:7px;max-width:calc(100% - 14px);font-size:12px!important;padding:4px 6px;box-shadow:none;background:#397b77}
.home-catalog-section .iceland-promo-badge{font-size:12px!important;right:5px;bottom:5px;padding:4px 6px}
.home-catalog-section .iceland-promo-badge small{font-size:10px!important}
.home-catalog-section .europe-terms{margin:12px 0;padding:12px 14px;background:#f3f7f5;border:1px solid #d4e2df;border-radius:10px}
.home-catalog-section .europe-terms summary{font-size:16px;font-weight:800;color:#216770;cursor:pointer}
.home-catalog-section .europe-terms p{font-size:15px;line-height:1.65}
.home-catalog-section .europe-route-promo{margin:0;padding:12px 14px;max-width:none}
.home-catalog-section .europe-route-promo strong{font-size:16px!important}
.home-catalog-section .europe-route-promo span{font-size:15px!important}
.home-catalog-section .home-product-group-title{font-size:25px;line-height:1.35;margin:22px 0 0;padding-left:10px;border-left:4px solid var(--catalog-edge);color:#183c49}
.home-catalog-section .europe-rest{margin:16px 0 0}
.home-catalog-section .home-catalog-panel .europe-rest .loop-showcase{margin:0;padding:0 12px 14px}
@media(max-width:900px){.home-catalog-section .home-catalog-panel :is(.canada-mini-grid,.loop-showcase,.directory-grid,.promo-six-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .home-catalog-section .home-catalog-panel :is(.canada-mini-grid,.loop-showcase,.directory-grid,.promo-six-grid){gap:10px;margin-top:14px}
 .home-catalog-section .home-catalog-panel .home-product-copy{padding:10px;gap:6px}
 .home-catalog-section .home-catalog-panel .home-product-title{font-size:18px}
 .home-catalog-section .home-catalog-panel .home-product-description{font-size:15px!important}
 .home-catalog-section .home-product-group-title{font-size:22px}
 .home-catalog-section .home-catalog-panel .promo-six-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 1px 12px}
 .home-catalog-section .promo-six-grid .home-product-card{flex:0 0 calc((100% - 10px)/2)}
 .home-catalog-section .home-catalog-panel .home-product-photo .promo-tag{display:block}
}

/* Chinese first, with a quieter English translation on the same baseline. */
.home-catalog-section .catalog-title-bilingual{display:flex;align-items:baseline;flex-wrap:nowrap;gap:10px;margin:0 0 12px;letter-spacing:0}
.home-catalog-section .catalog-title-zh{flex:0 0 auto;white-space:nowrap}
.home-catalog-section .catalog-title-en{font-family:Arial,sans-serif;font-size:15px;line-height:1.3;font-weight:700;letter-spacing:0;text-transform:none;color:var(--catalog-accent,#346b5f);white-space:nowrap}
@media(max-width:700px){
 .home-catalog-section .catalog-title-bilingual{font-size:24px;gap:8px;margin:0 0 12px}
 .home-catalog-section .catalog-title-en{font-size:12px}
}
@media(max-width:360px){
 .home-catalog-section .catalog-title-bilingual{font-size:20px;gap:6px}
 .home-catalog-section .catalog-title-en{font-size:11.5px}
}

/* Match bilingual subsection headings to the compact category titles. */
.home-catalog-section .subsection-title-bilingual{display:flex;align-items:baseline;flex-wrap:nowrap;gap:9px;line-height:1.35;margin:0 0 8px}
.home-catalog-section .subsection-title-bilingual>span{white-space:nowrap}
.home-catalog-section .subsection-title-en{font-family:Arial,sans-serif;font-size:15px;font-weight:700;line-height:1.35;letter-spacing:0;color:var(--catalog-accent,#346b5f)}
@media(max-width:700px){
 .home-catalog-section .canada-home-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 .home-catalog-section .canada-home-heading>div{width:100%;min-width:0}
 .home-catalog-section .subsection-title-bilingual{font-size:22px;gap:8px}
 .home-catalog-section .subsection-title-en{font-size:13px}
 .home-catalog-section .canada-home-heading>a{align-self:flex-start;line-height:1.5;margin:0}
}

/* Same-level homepage headings share size and weight; sale colour remains distinct. */
body[data-template-level="1"]{--home-heading-size:32px}
body[data-template-level="1"] .home-catalog-section .catalog-title,
body[data-template-level="1"] .spring-home-title{font-size:var(--home-heading-size)!important;font-weight:650!important;line-height:1.3;letter-spacing:0}
body[data-template-level="1"] .spring-home-title{margin:0 0 10px;color:#246b86!important;overflow-wrap:normal}
@media(max-width:700px){body[data-template-level="1"]{--home-heading-size:24px}}
@media(max-width:380px){body[data-template-level="1"]{--home-heading-size:20px}}
