/* The catalogue entrance: painted station enamel, brass and paper tickets. */
body{--station:#173d32;--station-deep:#102c25;--brass:#e3c489;--ticket:#eee2c8}
body[data-line="usa"]{--station:#243e50;--station-deep:#152b39}
body[data-line="party"]{--station:#37334c;--station-deep:#242337}
.designLines.section,body[data-line="party"] .designLines.section{
 background:radial-gradient(ellipse at 95% 0%,#b9a27530,transparent 55%),linear-gradient(115deg,#e2d4b8,#f0e6d0 55%,#d6c4a4);
 padding-block:42px 32px;border-top:1px solid #c9b995;position:relative;
}
.designLines .eyebrow{color:#865b2e;letter-spacing:2.5px}
.designLines h2{color:#203e32}.designLines .intro{color:#54604e;max-width:680px}
.lineCards{gap:20px;position:relative;padding-bottom:22px}
.lineCards:after{content:'';position:absolute;inset:auto 0 0;height:8px;border-block:2px solid #7b725d;background:repeating-linear-gradient(90deg,transparent 0 16px,#7b725d 16px 20px,transparent 20px 36px);pointer-events:none}
.lineCard{border:1px solid #b9ab8a;border-radius:12px;background:var(--ticket);box-shadow:0 5px 0 #ad9b7535;transition:transform .2s,box-shadow .2s}
.lineCard .lineArtwork{background:#ded0b3;border-bottom:1px dashed #a2906a}
.lineCard .lineText{position:relative;background:linear-gradient(120deg,#f3e9d3,#e5d7b9);padding:23px}
.lineCard .lineText:before,.lineCard .lineText:after{content:'';position:absolute;top:-8px;width:16px;height:16px;border-radius:50%;background:#e4d7bd;border:1px solid #b9ab8a}
.lineCard .lineText:before{left:-9px}.lineCard .lineText:after{right:-9px}
.lineText>small{font:700 9px/1.5 Arial,sans-serif;letter-spacing:1.8px;color:#78623e}
.lineText>b{color:#243e32}.lineText>span{color:#555b4b}.lineText>strong{color:#805a32;border-top:1px dashed #bca983;padding-top:14px}
.lineCard.festive .lineText>strong{color:#805a32}
.lineCard.active{border-color:#a73738;box-shadow:0 0 0 2px #a73738,0 8px 0 #a7373820}
.lineCard.active .lineText>strong:after{background:#a73738;color:#fff2d9;border-radius:3px;padding:2px 7px;font-size:10px}
.lineCard:hover{transform:translateY(-3px);box-shadow:0 9px 20px #493b2520}
.lineStatus{color:#43503a;font-size:12px}
.catalog.section{
 background:radial-gradient(ellipse at 100% 0,#ffffff08,transparent 60%),linear-gradient(130deg,var(--station),var(--station-deep));
 color:#f4ebd5;padding-top:36px;padding-bottom:30px;position:relative;border-top:7px solid #b44843;
}
.catalog .sectionHead{margin-bottom:12px;align-items:center;gap:24px}
.catalog .sectionHead .eyebrow{color:var(--brass);margin-bottom:12px;letter-spacing:2px}
.catalog h2{color:#fff0d3;font-size:clamp(30px,3vw,44px);letter-spacing:-1px}
.catalog .intro{color:#d7ddce;max-width:720px;margin-bottom:22px;font-size:13px}
.catalog .countLabel{border:1px solid #bdab7b;background:#10292365;box-shadow:inset 0 0 0 4px #ffffff05;border-radius:7px;padding:13px 19px;color:var(--brass);font:700 12px/1.8 Arial,sans-serif;text-align:center}
.catalog .countLabel small{color:#dedbcb;font-weight:400;font-size:10px}
.catalog .filters{gap:16px;align-items:center;margin-bottom:16px;padding-block:16px;border-block:1px solid #d9cba52b}
.catalog .tabs{display:flex;flex-wrap:wrap;gap:8px}
.catalog .tabs button{background:#ffffff08;border:1px solid #e2d4b54a;border-radius:5px;color:#eee4cb;padding:10px 15px;min-height:42px;font-size:12px}
.catalog .tabs button.active{color:#263e31;background:var(--brass);border-color:var(--brass);box-shadow:0 3px 0 #0002}
.catalog .tabs button:hover{border-color:var(--brass)}
.catalog .search{background:#10292370;border:1px solid #d9c89d60;border-radius:7px;padding:4px 12px;min-width:220px}
.catalog .search>span{color:var(--brass);font-size:24px}
.catalog .search input{background:transparent;border:0;color:#fff3dc;padding:10px 4px;min-height:42px;font-size:13px}
.catalog .search input::placeholder{color:#cbd3c4;opacity:1}
.catalog .themeFilter{gap:15px;padding-top:0;padding-bottom:12px;color:var(--brass);font-size:12px;align-items:center}
.catalog .themeFilter select,.catalog .catalogMeta select{background:#10292370;color:#f6ead0;border:1px solid #d9c89d60;border-radius:5px;padding:10px 12px;margin-top:0;min-height:42px;font-size:12px}
.catalog .themeFilter select{max-width:600px;flex:1;width:auto}
.catalog select option{background:#203d32;color:#fff0d3}
.catalog .catalogMeta{color:#d5ddcb;margin-block:8px 16px;gap:16px;font-size:12px;align-items:center}
.catalog .catalogMeta label{color:var(--brass);display:flex;gap:12px;align-items:center}
.catalog .catalogMeta select{width:auto;max-width:220px}
.catalog .catalogView{border-top:1px dashed #d9cba53d;padding-block:16px;margin-bottom:20px;gap:15px}
.catalog .catalogView p{color:#d8ddca;font-size:12px;max-width:560px}
.catalog .viewSwitch{background:#10292370;border:1px solid #d9c89d60;border-radius:7px;padding:4px}
.catalog .viewSwitch button{color:#e3dbc6;min-height:42px;border-radius:4px}
.catalog .viewSwitch button.active{background:#b44440;color:#fff4de}
.catalog :is(button,input,select):focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.catalog .products{padding-block:25px}.catalog .product{background:#eee2c8;color:#243c31;border-radius:9px;overflow:hidden;box-shadow:0 7px 20px #0002;padding-bottom:16px}
.catalog .product :is(h3,p,.productBottom,.collectionLabel){margin-inline:15px}
.catalog .more{padding-top:22px}.catalog .more p{color:#ccd4c3;font-size:11px}.catalog .more .outline{color:#f3e5c7;border-color:#b9aa80;background:#ffffff06}
@media(max-width:700px){
 .designLines.section{padding-block:30px 25px}.lineCards{gap:14px}.lineCard .lineText{padding:18px}.lineCard .lineArtwork{border-bottom:0;border-right:1px dashed #a2906a}
 .lineCard .lineText:before,.lineCard .lineText:after{display:none}
 .catalog .sectionHead{align-items:flex-start;flex-direction:column;gap:14px}.catalog .countLabel{text-align:left;padding:8px 12px;font-size:11px}.catalog .countLabel small{display:inline}
 .catalog .filters{gap:14px}.catalog .tabs button{font-size:11px;padding:9px 11px}
 .catalog .search{width:100%;min-width:0}.catalog .search input{width:100%;min-width:0}
 .catalog .themeFilter{align-items:stretch;gap:7px}.catalog .themeFilter select{width:100%;max-width:100%}
 .catalog .catalogMeta{align-items:flex-start;flex-wrap:wrap}.catalog .catalogMeta label{margin-left:auto}
 .catalog .catalogView{align-items:stretch}.catalog .viewSwitch{align-self:flex-start}.catalog .product :is(h3,p,.productBottom,.collectionLabel){margin-inline:10px}
}
@media(prefers-reduced-motion:reduce){.lineCard{transition:none}.lineCard:hover{transform:none}}

/* Historical yellow departure sheet, framed by the station's dark enamel. */
.catalog .departurePanel{--paper:#edd17f;--print:#26261e;background:linear-gradient(110deg,#f0d68c,var(--paper));color:var(--print);border:1px solid #baa164;padding:26px 30px 0;box-shadow:0 10px 30px #0003;margin-bottom:26px;border-radius:2px}
.departureMasthead{display:flex;align-items:center;gap:25px;padding-bottom:18px;border-bottom:5px solid var(--print);margin-bottom:20px}
.departureMasthead>strong{font:800 clamp(38px,4vw,64px)/1 'Arial Narrow',Arial,sans-serif;letter-spacing:-2px;color:var(--print)}
.departureMasthead>div{border-left:1px solid #26261e;padding-left:22px}.departureMasthead b{display:block;font:700 18px/1.3 Arial,sans-serif}.departureMasthead div span{display:block;font-size:11px;margin-top:5px}
.departureEdition{margin-left:auto;font:700 9px/1.5 Arial,sans-serif;letter-spacing:1.2px;text-align:right;max-width:140px}
.catalog .departurePanel .sectionHead{padding-bottom:14px;border-bottom:1px solid #26261e;margin-bottom:12px}
.catalog .departurePanel h2{font:700 clamp(25px,2.5vw,36px)/1.1 'Arial Narrow',Arial,sans-serif;color:var(--print);letter-spacing:-.7px}
.catalog .departurePanel .sectionHead .eyebrow{color:#665530;font-size:9px;letter-spacing:1.5px;margin-bottom:9px}
.catalog .departurePanel .intro{color:#414130;font-size:12px;margin-bottom:15px;max-width:780px}
.catalog .departurePanel .countLabel{background:transparent;border:1px solid #26261e;border-radius:0;box-shadow:none;color:var(--print);padding:8px 13px;font-variant-numeric:tabular-nums}
.catalog .departurePanel .countLabel small{color:#414130}
.catalog .departurePanel .filters{border-top:2px solid #26261e;border-bottom:1px solid #26261e;padding-block:14px;margin-bottom:14px;gap:18px}
.catalog .departurePanel .tabs{gap:6px}
.catalog .departurePanel .tabs button{border:1px solid #77663a;border-radius:0;background:transparent;color:var(--print);box-shadow:none;font-weight:600;font-size:11px;padding:10px 12px}
.catalog .departurePanel .tabs button.active{background:var(--print);color:#f4dc95;border-color:var(--print)}
.catalog .departurePanel .tabs button:hover{border-color:#a32e2b;background:#26261e12}
.catalog .departurePanel .tabs button.active:hover{background:var(--print)}
.catalog .departurePanel .search{border:1px solid #77663a;border-radius:0;background:#fff2;color:var(--print);padding:2px 10px}
.catalog .departurePanel .search>span{color:var(--print)}
.catalog .departurePanel .search input{background:transparent;color:var(--print);font-size:12px;border-radius:0}
.catalog .departurePanel .search input::placeholder{color:#554c32}
.catalog .departurePanel .themeFilter{color:var(--print);font-weight:700;padding-bottom:14px;font-size:11px;gap:16px}
.catalog .departurePanel .themeFilter select,.catalog .departurePanel .catalogMeta select{border:1px solid #77663a;border-radius:0;background:#fff2;color:var(--print);font-weight:400;font-size:12px}
.catalog .departurePanel select option{background:#f0d68c;color:var(--print)}
.catalog .departurePanel .catalogMeta{border-top:1px solid #887442;padding-top:13px;color:#373627;font-size:11px;margin-bottom:14px}
.catalog .departurePanel .catalogMeta label{color:var(--print);font-weight:700;font-size:11px}
.catalog .departurePanel .catalogView{border-top:2px solid var(--print);padding-block:14px;margin-bottom:0}
.catalog .departurePanel .catalogView p{color:#414130;font-size:11px}
.catalog .departurePanel .viewSwitch{background:transparent;border:1px solid #26261e;border-radius:0;padding:3px}
.catalog .departurePanel .viewSwitch button{color:var(--print);border-radius:0;font-size:11px}
.catalog .departurePanel .viewSwitch button.active{background:#a63630;color:#fff2ce}
.catalog .departurePanel :is(button,input,select):focus-visible{outline:3px solid #a63630;outline-offset:3px}
@media(max-width:700px){
 .catalog .departurePanel{padding:20px 16px 0;margin-bottom:20px}
 .departureMasthead{flex-wrap:wrap;gap:12px;padding-bottom:14px;border-bottom-width:4px;margin-bottom:15px}
 .departureMasthead>strong{font-size:40px;letter-spacing:-1px}.departureMasthead>div{padding-left:13px}.departureMasthead b{font-size:14px}.departureMasthead div span{font-size:9px;max-width:160px}
 .departureEdition{display:none}.catalog .departurePanel .sectionHead{gap:10px}
 .catalog .departurePanel .filters{gap:12px}.catalog .departurePanel .tabs button{font-size:10px;padding:9px 10px}
 .catalog .departurePanel .catalogMeta{gap:12px}.catalog .departurePanel .catalogMeta label{margin-left:0}
 .catalog .departurePanel .catalogView{gap:10px}
}

/* One shared inset for the card copy and its ticket-style action. */
.catalog .product{--card-inset:18px;display:flex;flex-direction:column}
.catalog .product .productImage{flex-shrink:0}
.catalog .product .productBottom{margin:16px var(--card-inset) 0;gap:14px;flex-wrap:wrap}
.catalog .product .productBottom>div{min-width:0;flex:1 1 140px}
.catalog .product .productBottom :is(h3,p,.collectionLabel){margin-inline:0}
.catalog .product .detailLink{
 display:block;width:calc(100% - var(--card-inset)*2);margin:18px var(--card-inset) 0;
 padding:11px 13px;min-height:44px;border:1px solid #87332e;border-radius:2px;
 background:#a63630;color:#fff0cc;text-align:left;font-size:12px;font-weight:700;
 letter-spacing:.2px;box-shadow:inset 0 0 0 2px #efd08b24;
}
.catalog .product .detailLink:hover{background:#852b27;border-color:#6d2421}
.catalog .product .detailLink:focus-visible{outline:3px solid #e3c489;outline-offset:3px}
@media(max-width:700px){.catalog .product{--card-inset:12px}.catalog .product .detailLink{padding:10px;font-size:11px}.catalog .product .productBottom>div{flex-basis:auto}}
