/* Approved Held pass rows. Scoped to the full cart, after checkout-path.css. */
body.tss-held-cart { --held-paper:#fdfdfd; --held-cream:#f7f6ed; --held-ink:#263020; --held-muted:#59634f; background:var(--held-paper); }
.tss-held-cart .site-content,.tss-held-cart .tss-info-page,.tss-held-cart .tss-info-section { background:var(--held-paper); }
.tss-held-cart .tss-checkout-shortcode { padding:36px 24px 60px; }
.tss-held-cart .tss-info-section__inner,.tss-held-cart .tss-checkout-shortcode .woocommerce { max-width:1180px; padding:0; }
.tss-held-cart .tss-held-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; align-items:start; }
.tss-held-cart .tss-held-layout .woocommerce-cart-form { background:none; border:0; border-radius:0; padding:0; box-shadow:none; overflow:visible; min-width:0; }
.tss-held-cart .woocommerce-cart-form:before { display:none; }
.tss-held-cart .tss-held-heading { margin:0 0 28px; }
.tss-held-cart .tss-held-heading h1,.tss-held-cart .tss-held-empty h1 { margin:0; font-size:clamp(32px,3.8vw,48px); line-height:1.08; letter-spacing:-1.5px; font-weight:700; color:var(--held-ink); }
.tss-held-cart .tss-held-heading h1 span { color:#717e54; }
.tss-held-cart .tss-held-heading p { margin:10px 0; color:var(--held-muted); font-size:16px; }
.tss-held-cart .tss-held-heading small { font-size:13px; color:var(--held-muted); }
.tss-held-cart .tss-held-table,.tss-held-cart .tss-held-table tbody { display:block; width:100%; margin:0; border:0; background:none; }
.tss-held-cart .tss-held-table tr.tss-held-row { display:grid; grid-template-columns:210px minmax(0,1fr) auto; gap:10px 24px; align-items:center; position:relative; padding:26px 0; margin:0; border:0; border-top:1px solid #d8dccf; background:none; box-shadow:none; }
.tss-held-cart .tss-held-table tr.tss-held-row:first-child { border-top:0; padding-top:0; }
.tss-held-cart .tss-held-table tr.tss-held-row:only-of-type { grid-template-columns:280px minmax(0,1fr) auto; }
.tss-held-cart .tss-held-table tr.tss-held-row td { display:block!important; width:auto; max-width:none; padding:0!important; margin:0; border:0; position:static; background:none; float:none; text-align:left; min-width:0; }
.tss-held-cart .tss-held-table td:before { display:none; }
.tss-held-cart .tss-held-table tr.tss-held-row .tss-held-art { grid-column:1; grid-row:1/3; align-self:center; }
.tss-held-cart .tss-held-table tr.tss-held-row .tss-held-info { grid-column:2/-1; align-self:end; }
.tss-held-cart .tss-held-info .tss-held-kind { margin:0 0 5px; color:var(--held-muted); font-size:13px; }
.tss-held-cart .tss-held-info h2,.tss-held-cart .tss-held-info h2 a,.tss-held-cart .woocommerce-cart-form__cart-item .tss-cart-product-name__title { margin:0; font-size:24px; line-height:1.2; font-weight:650; letter-spacing:-.4px; color:var(--held-ink); text-decoration:none; }
.tss-held-cart .tss-cart-product-name__facts { display:flex; flex-wrap:wrap; gap:5px 14px; margin:10px 0 12px; }
.tss-held-cart .tss-cart-product-name__fact { font-size:17px; line-height:1.5; font-weight:450; letter-spacing:0; background:none; padding:0; border:0; }
.tss-held-cart .tss-held-rate { font-size:14px; color:var(--held-muted); margin:10px 0 0; font-weight:400; }
.tss-held-cart .tss-held-info dl.variation { margin:10px 0; font-size:13px; }
.tss-held-cart .tss-held-actions { display:flex; gap:24px; align-items:center; margin:5px 0 0; }
.tss-held-cart .tss-held-actions a,.tss-held-cart .tss-held-actions a.remove { display:inline-flex; align-items:center; width:auto; height:auto; min-height:44px; padding:0; margin:0; font-size:13px; font-weight:450; text-decoration:underline; text-underline-offset:4px; background:none!important; color:var(--held-ink)!important; border:0; border-radius:0; }
.tss-held-cart .tss-held-table tr.tss-held-row .tss-held-qty { grid-column:2; align-self:start; }
.tss-held-cart .tss-held-label { display:block; color:var(--held-muted); font-size:12px; line-height:1.4; font-weight:400; margin:0 0 5px; }
.tss-held-cart .tss-held-qty .quantity { margin:0; height:44px; max-width:132px; border:1px solid #939b85; border-radius:5px; background:#fff; }
.tss-held-cart .tss-held-qty .qty { font-size:16px; font-weight:500; }
.tss-held-cart .tss-held-table tr.tss-held-row .tss-held-subtotal { grid-column:3; text-align:right!important; align-self:end; font-size:23px; font-weight:600; white-space:nowrap; padding-bottom:4px; }
.tss-held-cart .tss-held-subtotal .tss-price-code { font-size:11px; }
.tss-held-cart .tss-held-stage { position:relative; width:100%; aspect-ratio:1/1.22; isolation:isolate; }
.tss-held-cart .tss-held-stage .tss-held-crew { position:absolute; bottom:0; left:0; width:100%; height:auto; max-width:none; z-index:2; }
.tss-held-cart .tss-held-pass-holder { position:absolute; bottom:33%; left:10%; width:80%; z-index:3; }
.tss-held-cart .tss-held-pass-holder img { width:100%; height:auto; max-width:none; border:0; border-radius:0; box-shadow:none; transform:translateY(10%); display:block; }
.tss-held-cart .tss-held-count { position:absolute; right:0; bottom:8px; padding:3px 6px; border:1px solid #323c25; border-radius:3px; background:#fff9df; font-size:12px; font-weight:600; white-space:nowrap; }
.tss-held-cart .tss-held-fallback { aspect-ratio:.72; display:flex; flex-direction:column; justify-content:space-between; gap:8px; background:var(--held-cream); padding:16px 12px; border:1px solid var(--held-ink); border-radius:10px; }
.tss-held-cart .tss-held-fallback strong { font-size:20px; line-height:1.15; overflow-wrap:anywhere; }
.tss-held-cart .tss-held-fallback span { font-size:12px; }
.tss-held-cart .tss-held-fallback small { font-size:10px; }
.tss-held-cart .tss-held-topup { display:flex; flex-direction:column; gap:14px; width:130px; max-width:100%; padding:20px 15px; margin:auto; background:#eef1e6; border:1px solid #8c967c; border-radius:5px; }
.tss-held-cart .tss-held-topup>span { font-size:36px; }
.tss-held-cart .tss-held-table .tss-held-form-actions,.tss-held-cart .tss-held-table .tss-held-form-actions>td { display:block; padding:0; width:100%; border:0; background:none; }
.tss-held-cart .tss-held-form-actions>td.actions { display:flex; justify-content:space-between; align-items:start; flex-wrap:wrap; gap:16px; border-top:1px solid #d8dccf; padding-top:18px; }
.tss-held-cart .tss-held-coupon summary { cursor:pointer; font-size:14px; min-height:44px; padding:10px 0; }
.tss-held-cart .tss-held-coupon .coupon { display:flex; gap:8px; max-width:100%; margin-top:8px; }
.tss-held-cart .tss-held-coupon input { min-width:0; width:180px; max-width:100%; font-size:16px; }
.tss-held-cart .tss-held-form-actions button { min-height:44px; padding:8px 16px; font-size:13px; border-radius:5px; }
.tss-held-cart .tss-held-footer { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #d8dccf; padding-top:18px; margin-top:28px; color:var(--held-muted); font-size:13px; }
.tss-held-cart .tss-held-footer a { text-decoration:underline; text-underline-offset:4px; }
.tss-held-cart .tss-held-layout .cart-collaterals { margin-top:115px; top:110px!important; }
.tss-held-cart .tss-held-layout .cart_totals { background:var(--held-cream); border:1px solid #b3b9a7; border-radius:3px 3px 16px 3px; box-shadow:none; padding:26px!important; position:relative; }
.tss-held-cart .cart_totals:before { content:''; position:absolute; left:26px; top:0; width:50px; height:4px; background:#ffd633; }
.tss-held-cart .cart_totals h2 { font-size:22px; font-weight:650; margin:0 0 20px; letter-spacing:-.5px; }
.tss-held-cart .cart_totals table { border:0; background:none; }
.tss-held-cart .cart_totals table th,.tss-held-cart .cart_totals table td { background:none; padding:12px 0; font-size:14px; border-color:#d2d7c7; }
.tss-held-cart .cart_totals table th { font-weight:450; }
.tss-held-cart .cart_totals .order-total td { font-size:25px; }
.tss-held-cart .cart_totals .checkout-button { background:#ffd633!important; color:#263020!important; border:2px solid #263020; box-shadow:3px 3px 0 #263020; border-radius:6px; font-size:15px; font-weight:650; min-height:52px; }
.tss-held-cart .tss-held-empty { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; padding:30px 0; }
.tss-held-cart .tss-held-empty h1 { font-size:38px; }
.tss-held-cart .tss-held-empty p { color:var(--held-muted); margin:16px 0; }
.tss-held-cart .tss-held-empty>img { width:100%; height:auto; }
.tss-held-cart .tss-held-mobile { display:none; }
.tss-held-cart :is(a,button,input,summary):focus-visible { outline:3px solid #176a55; outline-offset:4px; }
@media (max-width:1100px) {
 .tss-held-cart .tss-held-layout { grid-template-columns:minmax(0,1fr) 300px; gap:26px; }
 .tss-held-cart .tss-held-table tr.tss-held-row { grid-template-columns:160px minmax(0,1fr) auto; gap:10px 16px; }
}
@media (max-width:850px) {
 .tss-held-cart .tss-held-layout { grid-template-columns:1fr; }
 .tss-held-cart .tss-held-layout .cart-collaterals { grid-column:1; margin-top:0; position:relative!important; top:auto!important; }
 .tss-held-cart .tss-held-table tr.tss-held-row { grid-template-columns:210px minmax(0,1fr) auto; }
}
@media (max-width:540px) {
 .tss-held-cart .tss-checkout-shortcode { padding:24px 20px 95px; }
 .tss-held-cart .tss-held-heading { margin-bottom:24px; }
 .tss-held-cart .tss-held-heading h1 { font-size:34px; }
 .tss-held-cart .tss-held-heading p { font-size:14px; }
 .tss-held-cart .tss-held-table tr.tss-held-row { grid-template-columns:112px minmax(0,1fr); gap:16px 14px; padding:24px 0; }
 .tss-held-cart .tss-held-table tr.tss-held-row .tss-held-art { grid-row:1; align-self:center; }
 .tss-held-cart .tss-held-table tr.tss-held-row .tss-held-info { grid-column:2; align-self:center; }
 .tss-held-cart .tss-held-info h2,.tss-held-cart .tss-held-info h2 a,.tss-held-cart .woocommerce-cart-form__cart-item .tss-cart-product-name__title { font-size:22px; }
 .tss-held-cart .tss-cart-product-name__facts { display:block; margin:8px 0; }
 .tss-held-cart .tss-cart-product-name__fact { display:block; font-size:15px; }
 .tss-held-cart .tss-held-kind { font-size:12px; }
 .tss-held-cart .tss-held-rate { font-size:13px; }
 .tss-held-cart .tss-held-actions { gap:18px; flex-wrap:wrap; }
 .tss-held-cart .tss-held-table tr.tss-held-row .tss-held-qty { grid-column:1; }
 .tss-held-cart .tss-held-table tr.tss-held-row .tss-held-subtotal { grid-column:2; }
 .tss-held-cart .tss-held-stage { aspect-ratio:1/1.45; }
 .tss-held-cart .tss-held-pass-holder { width:90%; left:5%; bottom:27.8%; }
 .tss-held-cart .tss-held-stage .tss-held-crew { width:114%; left:-7%; bottom:-4.5%; }
 .tss-held-cart .tss-held-count { font-size:10px; padding:2px 4px; }
 .tss-held-cart .tss-held-fallback { padding:10px 8px; }
 .tss-held-cart .tss-held-fallback strong { font-size:16px; }
 .tss-held-cart .tss-held-footer { display:block; }
 .tss-held-cart .tss-held-footer span { display:block; margin-top:14px; }
 .tss-held-cart .tss-held-empty { display:flex; flex-direction:column; gap:18px; padding:10px 0; }
 .tss-held-cart .tss-held-empty h1 { font-size:30px; }
 .tss-held-cart .tss-held-empty>img { max-width:280px; }
 .tss-held-cart .tss-held-mobile.is-visible { display:flex; position:fixed; inset:auto 0 0; z-index:90; align-items:center; justify-content:space-between; gap:12px; background:var(--held-cream); padding:12px 20px max(14px,env(safe-area-inset-bottom)); border-top:1px solid #a6af97; }
 .tss-held-cart .tss-held-mobile small { display:block; font-size:11px; }
 .tss-held-cart .tss-held-mobile strong { font-size:22px; }
 .tss-held-cart .tss-held-mobile a { background:#ffd633; color:var(--held-ink); border:2px solid var(--held-ink); box-shadow:2px 2px 0 var(--held-ink); border-radius:5px; padding:10px 15px; font-size:14px; font-weight:650; }
 .tss-held-cart .tss-held-mobile .tss-price-code { font-size:10px; }
}
@media (max-width:360px) {
 .tss-held-cart .tss-checkout-shortcode { padding-inline:16px; }
 .tss-held-cart .tss-held-table tr.tss-held-row { grid-template-columns:96px minmax(0,1fr); gap:12px; }
 .tss-held-cart .tss-held-info h2,.tss-held-cart .tss-held-info h2 a { font-size:20px; }
 .tss-held-cart .tss-held-stage { aspect-ratio:1/1.6; }
 .tss-held-cart .tss-held-pass-holder { bottom:25.2%; }
 .tss-held-cart .tss-held-stage .tss-held-crew { bottom:-4%; }
 .tss-held-cart .tss-held-actions { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .tss-held-cart .tss-held-stage * { animation:none!important; transition:none!important; } }

@media(min-width:1101px) { .tss-held-cart .tss-held-table tbody:not(:has(.tss-held-row ~ .tss-held-row)) .tss-held-row { grid-template-columns:280px minmax(0,1fr) auto; min-height:340px; } }
/* Neutralise legacy cart-only wrappers and labels from the previous scene. */
body.tss-held-cart .tss-checkout-page-shell,
body.tss-held-cart .tss-checkout-page-shell .tss-info-section.tss-checkout-shortcode { background:#fdfdfd!important; }
.tss-held-cart .site-content>.container-xxl { padding-inline:0; }
.tss-held-cart .tss-held-table tr.tss-held-row td::before { content:none!important; display:none!important; }
.tss-held-cart .tss-held-coupon>summary { background:none!important; border:0!important; box-shadow:none!important; border-radius:0!important; font-size:14px!important; font-weight:450!important; padding:10px 0!important; }
.tss-held-cart .tss-held-coupon>summary::after { display:none; }
.tss-held-cart .tss-held-coupon .coupon input { width:180px!important; }
.tss-held-cart .cart_totals .tss-cart-summary-note { background:none; border:0; border-top:1px solid #d2d7c7; box-shadow:none; border-radius:0; padding:16px 0 0; font-size:13px; }
.tss-held-cart .cart_totals .tss-cart-summary-note p { font-size:13px; font-weight:400; }
.tss-held-cart .cart_totals .tss-cart-summary-note strong { font-size:14px; font-weight:600; }
.tss-held-cart .cart_totals .tss-express-checkout-shell { background:none; border:0; border-top:1px solid #d2d7c7; border-radius:0; box-shadow:none; padding:14px 0 0; }
.tss-held-cart .cart_totals .tss-express-checkout-shell::before { display:none; }
.tss-held-cart .cart_totals .tss-express-checkout__copy strong { font-size:14px; font-weight:600; }
.tss-held-cart .cart_totals .tss-express-checkout__copy small { font-weight:400; }
.tss-held-cart .cart_totals .tss-travel-pack { background:none; box-shadow:none; border:0; border-bottom:1px solid #d2d7c7; border-radius:0; padding:0 0 16px; margin-bottom:20px; }
.tss-held-cart .cart_totals .tss-travel-pack__line { font-size:13px; line-height:1.4; font-weight:450; }
body.tss-held-cart .tss-held-table details.tss-held-coupon { border:0!important; border-radius:0!important; box-shadow:none!important; background:none!important; padding:0!important; margin:0!important; }
body.tss-held-cart .tss-held-table details.tss-held-coupon>summary { text-decoration:underline; text-underline-offset:4px; }
.tss-held-cart .tss-held-coupon .coupon-error-notice { flex-basis:100%; color:#9b3625; font-size:13px; line-height:1.45; margin-top:8px; }
