/* Page-only palettes. The established figure journey has no rules here. */
body{--page-dark:#19392e;--page-main:#285340;--page-accent:#a63630;--page-light:#edf2ef;--page-ink:#19392e;--page-muted:#4c6257;--page-on-dark:#f6faf8;--page-subtle:#d2dfd7;--page-border:#8da395}
body[data-line="alpenland"]{--page-dark:#173b35;--page-main:#246353;--page-accent:#a63630;--page-light:#edf4f3;--page-ink:#153e36;--page-muted:#46635b;--page-on-dark:#f6faf9;--page-subtle:#d3e5df;--page-border:#86a99c}
body[data-line="usa"]{--page-dark:#263c4d;--page-main:#345d76;--page-accent:#703d2e;--page-light:#edf2f6;--page-ink:#233b4a;--page-muted:#4d606d;--page-on-dark:#f8fafc;--page-subtle:#dbe4ec;--page-border:#91a4b3}
body[data-line="party"]{--page-dark:#362840;--page-main:#653a75;--page-accent:#9b3264;--page-light:#f3eff7;--page-ink:#382441;--page-muted:#65536e;--page-on-dark:#fcf8ff;--page-subtle:#e7dbea;--page-border:#b099ba}
.topline{background:var(--page-dark);color:var(--page-on-dark);border-color:var(--page-border)}
header{background:var(--page-light);border-color:var(--page-main)}
header .brand,header nav a,header .bag{color:var(--page-ink)}
header .brand small{color:var(--page-muted)}
header .brand:before{background:var(--page-accent)}
header nav a:hover{color:var(--page-accent)}
.hero{background:var(--page-light)}
.heroCopy{background:linear-gradient(145deg,var(--page-main),var(--page-dark));color:var(--page-on-dark)}
.heroCopy h1,.heroCopy h1 em,.heroCopy .textlink{color:var(--page-on-dark)}
.heroCopy>p{color:var(--page-subtle);font-size:15px;line-height:1.8}
.heroCopy .eyebrow{background:var(--page-accent);color:#fff;font-size:10px;line-height:1.6}
.heroCopy .heroFoot{color:var(--page-subtle);border-color:var(--page-border);font-size:10px;line-height:1.7}
.heroPhoto .roundLabel{background:var(--page-accent);color:#fff}
.heroPhoto .photoLabel{color:#fff;text-shadow:0 2px 5px #000;line-height:1.6}
.benefits{background:#fff;color:var(--page-ink);border-color:var(--page-border);font-size:13px;line-height:1.6}
.benefits b{background:var(--page-accent);border-color:var(--page-accent);color:#fff}
.pricingNotice{background:var(--page-light);border-color:var(--page-border)}
.pricingNotice h2,.pricingNotice .eyebrow{color:var(--page-ink)}
.pricingNotice>div>p{color:var(--page-muted);font-size:14px;line-height:1.8}
.pricingOptions p,.pricingOptions p:nth-child(2){background:#fff;color:var(--page-ink);border-color:var(--page-border);border-top-color:var(--page-main)}
.pricingOptions p:nth-child(2){border-top-color:var(--page-accent)}
.pricingOptions b,.pricingOptions strong{color:var(--page-ink)}
.pricingOptions span{color:var(--page-muted);font-size:12px;line-height:1.7}
.pricingOptions p:before,.pricingOptions p:after{background:var(--page-light);border-color:var(--page-border)}
.designLines.section,body[data-line="party"] .designLines.section{background:var(--page-light);border-color:var(--page-border)}
.designLines h2,.designLines .eyebrow,.designLines .lineStatus{color:var(--page-ink)}
.designLines .intro{color:var(--page-muted);font-size:14px;line-height:1.8}
.designLines.section:before,body[data-line="alpenland"] .designLines.section:after{background:var(--page-main)}
.lineCard{background:#fff;border-color:var(--page-border)}
.lineCard .lineText{background:#fff;border-color:var(--page-border)}
.lineCard .lineText>small,.lineCard .lineText>span{color:var(--page-muted);font-size:12px;line-height:1.7}
.lineCard .lineText>small{font-size:10px;letter-spacing:1px}
.lineCard .lineText>b{background:var(--page-main);color:var(--page-on-dark);border-color:#ffffff80;font-size:27px}
.lineCard .lineText>strong,.lineCard.festive .lineText>strong{color:var(--page-ink);border-color:var(--page-border);font-size:12px}
.lineCard.active .lineText>b,.lineCard.active .lineText>strong:after{background:var(--page-accent);color:#fff}
.lineCard.active{border-color:var(--page-accent);box-shadow:0 0 0 2px var(--page-accent),0 5px 0 #0001}
.lineCard .lineText:before,.lineCard .lineText:after{background:var(--page-light);border-color:var(--page-border)}
.lineCard .lineArtwork:before{background:var(--page-dark)}
.lineCards:after{border-color:var(--page-main);background:repeating-linear-gradient(90deg,transparent 0 16px,var(--page-border) 16px 21px,transparent 21px 36px)}
.catalog.section{background:var(--page-dark);border-color:var(--page-border)}
.catalog .departurePanel{--print:var(--page-ink);background:var(--page-light);color:var(--page-ink);border-color:var(--page-border);border-top-color:var(--page-accent)}
.departureMasthead{border-color:var(--page-main)}
.departureMasthead>strong{background:var(--page-main);color:var(--page-on-dark)}
.departureMasthead>div,.departureEdition{color:var(--page-ink);border-color:var(--page-border)}
.catalog .departurePanel h2,.catalog .departurePanel .themeFilter,.catalog .departurePanel .catalogMeta label{color:var(--page-ink)}
.catalog .departurePanel .eyebrow,.catalog .departurePanel .intro,.catalog .departurePanel .catalogView p,.catalog .departurePanel .catalogMeta{color:var(--page-muted);font-size:12px;line-height:1.8}
.catalog .departurePanel .countLabel{color:var(--page-ink);border-color:var(--page-border);background:#fff}
.catalog .departurePanel .countLabel small{color:var(--page-muted);font-size:11px}
.catalog .departurePanel .search,.catalog .departurePanel .themeFilter select,.catalog .departurePanel .catalogMeta select{background:#fff;border-color:var(--page-border);color:var(--page-ink)}
.catalog .departurePanel .search input,.catalog .departurePanel .search>span{color:var(--page-ink);font-size:14px}
.catalog .departurePanel .search input::placeholder{color:var(--page-muted);opacity:1}
.catalog .departurePanel select option{background:#fff;color:var(--page-ink)}
.catalog .departurePanel .viewSwitch{background:#fff;border-color:var(--page-border)}
.catalog .departurePanel .filters,.catalog .departurePanel .catalogMeta,.catalog .departurePanel .catalogView{border-color:var(--page-border)}
.catalog .departurePanel .tabs button{font-size:12px;line-height:1.5}
.catalog .products .product{background:#fff;color:var(--page-ink);border-color:var(--page-border)}
.catalog .products .product :is(h3,.price){color:var(--page-ink)}
.catalog .products .product :is(p,.collectionLabel,.stlPrice){color:var(--page-muted);font-size:12px;line-height:1.7}
.catalog .products .productTag{background:var(--page-dark);color:var(--page-on-dark);font-size:10px}
.catalog .more>p{color:var(--page-subtle);font-size:12px;line-height:1.8}
#individual{background:var(--page-light);color:var(--page-ink);border-color:var(--page-border)}
#individual h2,#individual .eyebrow{color:var(--page-ink)}
#individual .individualCopy>p,#individual .individualCopy>.demoNote{color:var(--page-muted)!important;line-height:1.8;font-size:14px}
#individual .individualCopy>.demoNote{font-size:12px!important}
#individual .steps li,#individual .steps{color:var(--page-ink);border-color:var(--page-border)}
#individual .steps small{color:var(--page-muted);font-size:12px}
#individual .steps b{background:var(--page-accent);color:#fff}
#individual #requestForm{background:#fff;border-color:var(--page-border)}
#requestForm .requestTicketHeader{background:var(--page-main)}
#requestForm .requestTicketHeader :is(span,h3,small){color:var(--page-on-dark)}
#requestForm .requestTicketBody{background:#fff}
#requestForm label{color:var(--page-ink);font-size:13px}
#requestForm input:not([type=checkbox]):not([type=file]),#requestForm textarea,#requestForm select{background:var(--page-light);color:var(--page-ink);border-color:var(--page-border);font-size:15px}
#requestForm input::placeholder,#requestForm textarea::placeholder{color:var(--page-muted);opacity:1}
#requestForm .requestFieldHelp,#requestForm .privacyNote,#requestForm .upload small{color:var(--page-muted);font-size:12px;line-height:1.8}
#requestForm .upload{background:var(--page-light);border-color:var(--page-border);box-shadow:inset 0 0 0 4px #fff}
#requestForm .upload b{color:var(--page-ink);font-size:13px}
#requestForm .upload span{color:var(--page-accent)}
#requestForm .check{font-size:13px;line-height:1.7}
#requestForm .requestTicketFooter{background:var(--page-main);color:var(--page-on-dark)}
#individualResult{color:var(--page-ink);font-size:13px}
#detail,#cart,#info{background:#fff;color:var(--page-ink);border-color:var(--page-border)}
#detailContent{background:#fff}
#detail .figureTicketHeader,#detail .figureTicketFooter{background:var(--page-main)}
#detail .figureTicketHeader :is(span,b),#detail .figureTicketFooter{color:var(--page-on-dark)}
#detail .figureTicketBody,#detail .detailControls{border-color:var(--page-border)}
#detail h2,#cart h2,#info h2,#detail label,#cart label,#info label,#detailPrice{color:var(--page-ink)}
#detail p,#cart p,#info p{color:var(--page-ink);font-size:14px;line-height:1.8}
#detail .eyebrow,#detail .demoNote,#cart .privacyNote{color:var(--page-muted);font-size:12px}
#detail :is(input,textarea,select),#cart :is(input,textarea,select){background:var(--page-light);color:var(--page-ink);border-color:var(--page-border);font-size:15px}
#detail :is(input,textarea)::placeholder,#cart :is(input,textarea)::placeholder{color:var(--page-muted);opacity:1}
#detail .detailImage.generatedImage{background:var(--page-light);border-color:var(--page-border)}
#checkoutResult{color:var(--page-ink);font-size:13px}
.closing{background:linear-gradient(135deg,var(--page-main),var(--page-dark));color:var(--page-on-dark);border-color:var(--page-border)}
.closing h2,.closing>span{color:var(--page-on-dark)}
footer{background:var(--page-dark);border-color:var(--page-border);color:var(--page-on-dark)}
footer .brand{color:var(--page-on-dark)}
footer p,footer>small{color:var(--page-subtle);font-size:12px;line-height:1.8}
body[data-line="usa"] header,body[data-line="usa"] .departureMasthead>strong{border-style:double}
body[data-line="party"] .designLines.section:before{transform:rotate(-12deg);opacity:.09}
@media(max-width:700px){.lineCard .lineText>b{font-size:24px}.catalog .departurePanel .tabs button{font-size:11px}#requestForm input:not([type=checkbox]):not([type=file]),#requestForm textarea,#requestForm select,#detail :is(input,textarea,select),#cart :is(input,textarea,select){font-size:16px}.heroCopy>p{font-size:14px}.benefits{font-size:12px}.pricingOptions span{font-size:12px}.departureMasthead div span{font-size:11px}}

/* Slightly deeper red improves labels without touching the journey buttons. */
:is(header,.heroCopy,.pricingNotice,.departurePanel,.products,#individual,#detail,#cart,#info,.closing,footer) :is(button.red,button.detailLink,button.active,button[aria-pressed="true"],a.btn.red,button:hover:not(:disabled),a.btn:hover){background:linear-gradient(150deg,#a34137,#8d302b)!important;color:#fff0cd!important}
