.sj-gala-hero{padding:5rem 0}.sj-gala-hero h1{font-size:clamp(3.6rem,6.5vw,6.6rem)}.sj-gala-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.7rem}.sj-gala-meta span{padding:.4rem .8rem;border:1px solid #dfc695;border-radius:100px;background:#ffffff90;font-size:.8rem;color:#77532d}.sj-gala-section{padding:3rem 0 6rem}.sj-gala-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:2rem 0}.sj-gala-heading h2,.sj-gala-faq h2{font:420 clamp(2rem,4vw,3.4rem)/1.12 var(--serif);letter-spacing:-.025em;margin-bottom:1rem}.sj-gala-heading .eyebrow{margin-bottom:.7rem}.sj-gala-heading .button{flex-shrink:0}.sj-ticket-options{display:flex;gap:.6rem;flex-wrap:wrap;margin:2rem 0}.sj-ticket-options button{cursor:pointer;border:1px solid #ddc7a8;background:#fffdf9;border-radius:999px;padding:.8rem 1.05rem;color:#654a32;font:500 .9rem/1.4 var(--body)}.sj-ticket-options b{margin-left:.4rem}.sj-ticket-options [aria-pressed=true]{background:#fff0d0;border-color:#c57825;box-shadow:0 0 0 2px #edb45733}.sj-gala-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:1.5rem;align-items:start}.sj-ballroom{padding:1.5rem;border:1px solid #e5c9a0;border-radius:1.6rem;background:#fffdf9}.sj-ballroom>h2{text-align:center;font:450 2rem/1.2 var(--serif);color:#a45017}.sj-ballroom>p{text-align:center;font-size:.95rem;margin:.6rem 0 1.5rem}.sj-floor-scroll{overflow:auto;border:1px solid #ebd5b8;border-radius:1rem;background:#fffdfa}.sj-floor{height:580px;min-width:550px;position:relative;background:radial-gradient(ellipse at 50% 50%,#fff0d947,transparent 65%)}.sj-floor-entrance{position:absolute;top:1rem;width:100%;text-align:center;color:#7e6b55;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em}.sj-reserved{position:absolute;left:30%;width:40%;top:9%;height:9%;border:1px solid #d4b97d;background:#fff2d4;color:#83662d;border-radius:.5rem;display:flex;justify-content:space-evenly;align-items:center;gap:.3rem;font-size:.65rem}.sj-reserved b{font-size:.58rem;font-weight:600;background:#f2d3cc;padding:.25rem;border-radius:1rem}.sj-dance{position:absolute;left:42%;width:16%;top:31%;height:40%;border:1px solid #d9b979;border-radius:.6rem;background:#fff2d9;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;font-weight:700;color:#896020;padding:.5rem}.sj-dance span{font-size:.65rem;text-transform:none;font-weight:400;letter-spacing:0;margin-top:1rem}.sj-stage{position:absolute;left:34%;width:32%;top:87%;height:8%;display:grid;place-items:center;background:linear-gradient(100deg,#f6bb65,#f5a9ae);color:#563422;border-radius:.6rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.sj-map-table{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border-radius:50%;width:44px;height:44px;background:#fff5f0;border:2px solid #cc776b;color:#723e2f;font:700 .66rem/1 var(--body);cursor:pointer;box-shadow:0 0 0 6px #fffdf9,0 0 0 7px #efd3bd}.sj-map-vip{border-radius:.4rem;width:44px;height:62px;border-color:#bd8d3f;background:#fff0cf;color:#79501b}.sj-map-table.is-selected{background:#b35d21;color:#fff;box-shadow:0 0 0 4px #ffe0a1}.sj-map-table.is-unavailable{background:#e9e4dc;border-color:#b6aea3;color:#615c56}.sj-map-tip{display:none;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);padding:.5rem;background:#473b2f;color:#fff;border-radius:.4rem;white-space:nowrap;font-size:.6rem;z-index:4;pointer-events:none}.sj-map-table:hover .sj-map-tip,.sj-map-table:focus-visible .sj-map-tip{display:block}.sj-map-key{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;color:#785938}.sj-gala-fine{font-size:.8rem!important;color:#776752;line-height:1.6}.sj-selection{position:sticky;top:100px;border:1px solid #deba7f;border-radius:1.5rem;padding:1.8rem;background:linear-gradient(145deg,#fffdf8,#fff1e9);box-shadow:0 20px 50px #c8872720;scroll-margin-top:110px}.sj-selection h2{font:460 2rem/1.13 var(--serif);color:#a45017;margin-bottom:1rem}.sj-selection-price{font-size:1.3rem}.sj-selection #selection-details p{font-size:.95rem;margin:1rem 0;color:#665345}.sj-selection label{display:block;font-size:.86rem;font-weight:700;margin:1rem 0 .4rem}.sj-selection select,.sj-selection input[type=number]{width:100%;padding:.75rem;border:1px solid #bfac94;border-radius:.5rem;background:#fff;color:#46372b;font:inherit}.sj-selection #gala-add{width:100%;margin:1.3rem 0 .8rem}.sj-selection #gala-add:disabled{background:#e4dcd0;color:#786e61;cursor:not-allowed;box-shadow:none}.sj-checkout-link{display:block;margin-top:1.5rem;color:#9e4817;font-weight:700;text-align:center}.sj-palm{margin:4rem 0;display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;align-items:center;padding:3rem;border-radius:2rem;background:radial-gradient(ellipse at 95% 20%,#ffe2a0,transparent 65%),#fff0e9}.sj-palm h2{font:400 clamp(2.5rem,4vw,4rem)/1.05 var(--serif);margin:0 0 1.5rem}.sj-palm h2 em{color:#b25023}.sj-palm p{max-width:670px}.sj-palm-card{text-align:center;padding:2rem;border:1px solid #e0bc84;background:#ffffffb0;border-radius:1.5rem}.sj-palm-card>span{color:#8a622b;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.sj-palm-card>strong{display:block;font:450 5rem/1.1 var(--serif);color:#a45017;margin-top:.8rem}.sj-palm-card .button{margin-top:1.5rem}.sj-gala-faq{max-width:940px;margin:5rem auto 0}[hidden]{display:none!important}
@media(max-width:980px){.sj-gala-layout{grid-template-columns:1fr}.sj-selection{position:static}.sj-gala-heading{align-items:flex-start}.sj-palm{grid-template-columns:1fr;gap:2rem}}@media(max-width:650px){.sj-gala-heading{display:block}.sj-gala-heading .button{margin-top:1rem}.sj-ticket-options{display:grid;grid-template-columns:1fr 1fr}.sj-ticket-options button{border-radius:1rem;font-size:.8rem;padding:.7rem}.sj-ticket-options button:last-child{grid-column:1/-1}.sj-ballroom{padding:1rem .7rem}.sj-palm{padding:1.7rem}.sj-gala-hero{padding:3.5rem 0}.sj-gala-hero h1{font-size:3.4rem}.sj-selection{padding:1.5rem}.sj-selection h2{font-size:1.9rem}.sj-gala-fine{font-size:.78rem!important}}
.sj-ballroom,.sj-selection{min-width:0}.sj-floor-scroll{max-width:100%;width:100%}
@media(max-width:980px){.sj-gala-layout{grid-template-columns:minmax(0,1fr)}}

/* Match the watercolor / Love Like Ari theme while retaining the original booking component. */
.sj-gala-section{padding-top:0}.sj-stage-notice{padding:20px 25px;border:1px solid var(--line);border-left:3px solid var(--pink);background:var(--blush);font-size:14px;margin-bottom:30px}.sj-ticket-options button{color:var(--ink);border-color:var(--line)}.sj-ticket-options [aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:white;box-shadow:none}.sj-ballroom{border-color:var(--line);border-radius:12px}.sj-ballroom>h2,.sj-selection h2,.sj-palm-card>strong{color:var(--pink);font-weight:400}.sj-selection{top:155px;scroll-margin-top:155px;background:var(--paper);border-color:var(--gold);border-radius:12px;box-shadow:0 12px 36px #b45e7610}.sj-map-table.is-selected{background:var(--pink);box-shadow:0 0 0 4px #f6c9d7}.sj-map-table{color:var(--pink);border-color:#d36b8d}.sj-map-vip{color:#79501b;border-color:var(--gold)}.sj-dance{background:#fae8ec;border-color:#dab5bd}.sj-stage{background:linear-gradient(100deg,#edb4c4,#ffe1c7)}.sj-checkout-link{color:var(--pink)}.sj-palm{background:var(--blush) url('assets/watercolor.webp') center/cover;border-radius:12px;gap:30px}.sj-palm h2 em{color:var(--pink)}.sj-palm-card{border-radius:12px}.sj-table-name-section{max-width:850px;margin:65px auto;text-align:center}.sj-table-name-section .script{font-size:52px}.sj-table-name-section h2{margin-bottom:22px}.sj-table-names{text-align:left;border-block:1px solid var(--line);padding:18px;margin-top:25px}.sj-table-names summary{font-weight:600}.sj-table-names ol{columns:3;margin-top:20px;font-size:14px}.sj-gala-faq details{border-bottom:1px solid var(--line);padding:20px 0}.sj-gala-faq summary{font-family:var(--serif);font-size:23px;line-height:1.3}.sj-gala-faq details p{font-size:15px;margin-top:15px}.sj-selection .button{font-family:var(--body)}.sj-selection input,.sj-selection select{min-height:46px}.sj-gala-heading .button{white-space:nowrap}.sj-gala-heading>div{min-width:0}
.woocommerce-cart #main,.woocommerce-checkout #main{padding:45px max(24px,calc((100% - 1180px)/2)) 70px}.woocommerce table.shop_table{background:var(--paper);border:1px solid var(--line);border-radius:10px}.woocommerce table.shop_table th{font-weight:500}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--pink);color:white;border-radius:30px;font-weight:500;padding:14px 23px}.woocommerce .quantity .qty{width:70px;padding:8px;border:1px solid var(--line)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:12px;border:1px solid var(--line);border-radius:6px}.woocommerce-info,.woocommerce-message{border-top-color:var(--pink);background:var(--blush)}.woocommerce-info::before,.woocommerce-message::before{color:var(--pink)}.woocommerce #payment{background:var(--blush)}.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout h3{margin-bottom:22px}.woocommerce .product-name small{display:block}.woocommerce a.remove{color:var(--pink)!important}.woocommerce ul.order_details{margin-top:25px}.woocommerce-order h2{margin-block:25px}.swj-cart-return{margin:20px 0}
@media(max-width:760px){.sj-table-names ol{columns:2}.sj-table-name-section .script{font-size:40px}.sj-ticket-options{gap:10px}.sj-ticket-options button{min-height:64px}.sj-selection{scroll-margin-top:130px}.sj-gala-faq summary{font-size:21px}.sj-palm h2{font-size:38px}.sj-gala-heading h2{font-size:36px}}

.swj-cart-title{font-size:clamp(38px,5vw,64px);margin-bottom:30px}.sj-gala-section a.button{flex-shrink:0}
/* Confirmed Main Ballroom B layout: 20 x 12, 6 x 10, reserved x 26. */
.sj-gala-section>.wrap{width:min(1400px,calc(100% - 64px))}.sj-gala-layout{grid-template-columns:minmax(0,1fr) 330px}.sj-floor{min-width:720px;height:auto;aspect-ratio:2.03;background:radial-gradient(ellipse at center,#fff3ed,#fffdf9 75%);border:2px solid #d5b7a1;margin:16px 12px;border-radius:5px}.sj-floor-entrance{top:2%;font-size:9px}.sj-map-table{width:34px;height:34px;box-shadow:none;font-size:11px;border-width:1px;background:#fff1f4;isolation:isolate;z-index:2}.sj-map-table:hover,.sj-map-table:focus-visible{z-index:5;outline:2px solid var(--pink);outline-offset:10px}.sj-table-label{position:relative;z-index:2}.sj-map-vip{width:28px;height:52px;font-size:9px;background:#fff1cd}.sj-chair{position:absolute;display:block;width:7px;height:7px;border:1px solid #d4a8b4;border-radius:2px;background:#fff9fb;pointer-events:none;z-index:-1}.round-chair{left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-23px)}.vip-chair{border-color:#b89c65;background:#fff8df}.vip-chair-0,.vip-chair-1,.vip-chair-2,.vip-chair-3{left:-10px}.vip-chair-4,.vip-chair-5,.vip-chair-6,.vip-chair-7{right:-10px}.vip-chair-0,.vip-chair-4{top:3px}.vip-chair-1,.vip-chair-5{top:15px}.vip-chair-2,.vip-chair-6{top:27px}.vip-chair-3,.vip-chair-7{top:39px}.vip-chair-8{top:-10px;left:9px}.vip-chair-9{bottom:-10px;left:9px}.sj-map-table.is-unavailable .sj-chair{background:#eee;border-color:#aaa}.sj-map-table.is-selected{color:white;outline:2px solid var(--pink);outline-offset:9px;box-shadow:none}.sj-reserved{left:36.5%;width:22%;top:11%;height:8%;border-radius:2px;z-index:1;isolation:isolate;background:repeating-linear-gradient(90deg,#f1e7de 0,#f1e7de 32.8%,#bcaa98 33%,#f1e7de 33.3%);font-size:10px}.sj-reserved-label{text-align:center;line-height:1.3}.sj-reserved-label small{display:block;font-size:8px}.sj-reserved .sj-chair{border-color:#bba995;background:#f6efea}.reserved-top{top:-10px;left:var(--chair-pos);transform:translateX(-50%)}.reserved-bottom{bottom:-10px;left:var(--chair-pos);transform:translateX(-50%)}.reserved-left{left:-10px;top:50%;transform:translateY(-50%)}.reserved-right{right:-10px;top:50%;transform:translateY(-50%)}.sj-dance{left:36.5%;width:22%;top:30%;height:43%;border-radius:3px;font-size:10px}.sj-dance span{font-size:10px;line-height:1.5}.sj-stage{left:38.5%;width:18%;top:76%;height:18%;border-radius:3px;font-size:9px;letter-spacing:.07em}.sj-floor-scroll{background:#fcf8f4}.sj-map-key{margin-bottom:10px!important;font-size:12px!important}.sj-hover-detail{min-height:105px;padding:18px;border-radius:8px;background:var(--blush);font-size:14px;line-height:1.65}.sj-seat-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:14px 0}.sj-seat-buttons button{border:1px solid #d3aab8;border-radius:50%;aspect-ratio:1;min-height:34px;background:#fff3f6;color:var(--pink);padding:0;font-size:13px}.sj-seat-buttons button[aria-pressed=true]{background:var(--pink);color:white}.sj-seat-buttons button:disabled{background:#eee;border-color:#ccc;color:#777;cursor:not-allowed}.sj-selection{padding:24px}.sj-selection h2{font-size:29px}.sj-gala-section .sj-ticket-options button{font-size:13px}.sj-guest-fields{clear:both;padding:28px 0}.sj-guest-fields fieldset{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:18px}.sj-guest-fields legend{font:22px/1.3 var(--serif);padding:0 8px}.sj-guest-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}.sj-guest-row label{font-size:13px;display:block}.sj-guest-row input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px}.sj-guest-fields .sj-defer{display:block;font-size:14px;margin:15px 0}.sj-guest-fields input[type=checkbox]{width:auto}#gala-live-status{font-size:12px}
@media(max-width:1179px){.sj-gala-layout{grid-template-columns:minmax(0,1fr)}.sj-selection{position:static;max-width:760px;width:100%;margin:auto}.sj-floor{min-width:720px}.sj-ballroom{padding:18px}.sj-hover-detail{min-height:80px}}@media(max-width:760px){.sj-gala-section>.wrap{width:calc(100% - 32px)}.sj-ballroom{padding:16px 8px}.sj-guest-row{grid-template-columns:1fr}.sj-ticket-options button{font-size:12px!important}.sj-gala-heading h2{font-size:34px}.sj-floor-scroll{border-radius:8px}.sj-hover-detail{font-size:13px}}
/* Refinements, 2026-09: one-line description under each ticket option (seats included at the point of purchase) */
.sj-ticket-options button small{display:block;margin-top:3px;font-size:12px;font-weight:400;line-height:1.35;color:var(--muted)}
.sj-ticket-options [aria-pressed=true] small{color:#ffe9f0}
.sj-ticket-options button{text-align:left}
@media(max-width:760px){.sj-ticket-options button{text-align:center}.sj-ticket-options button small{font-size:11px}}
/* Purchase area: centred heading, the five options as one even row (3 + 2 centred on tablets). */
.sj-gala-heading{display:block;text-align:center;max-width:860px;margin-inline:auto}
.sj-gala-heading .button{margin-top:18px}
.sj-ticket-options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.sj-ticket-options button{flex:1 1 0;min-width:0;text-align:center;border-radius:18px;padding:14px 16px}
@media(max-width:1179px){.sj-ticket-options button{flex:0 1 calc(33.333% - 8px)}}
@media(max-width:650px){.sj-ticket-options{display:grid}.sj-ticket-options button{border-radius:16px}}
/* Empty cart: centred message and button */
.woocommerce-cart .woocommerce:has(.swj-empty-cart){text-align:center}
.swj-empty-cart{max-width:520px;margin:10px auto 26px}
.swj-empty-cart svg{width:40px;height:40px;margin:0 auto 18px;color:var(--pink)}
.swj-empty-cart h2{font-size:34px;margin-bottom:12px}
.swj-empty-cart p{color:var(--muted);font-size:16px}
.woocommerce-cart .return-to-shop{text-align:center}
/* Palm Terrace: a calm, lightly framed panel instead of a second watercolor on top of the page watercolor */
.sj-palm{background:rgba(255,251,248,.88);border:1px solid #e7c6c0;border-radius:12px;box-shadow:inset 0 0 0 8px rgba(255,251,248,.88),inset 0 0 0 9px #d9b98a55}
.sj-palm-card{background:#fff;border-color:#e3c9a3;box-shadow:0 10px 26px #b75e7814}
/* Palm Terrace, pass 2: its own sunset colour (pink to peach, like a terrace at golden hour) with a fine paper
   grain, the two approved stars twinkling and a butterfly, inside the gold hairline frame. */
.sj-palm{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse 60% 70% at 88% 12%,rgba(255,206,160,.75),transparent 70%),radial-gradient(ellipse 55% 65% at 8% 95%,rgba(242,160,186,.55),transparent 70%),linear-gradient(135deg,#fde4e9 0%,#fdeee6 55%,#fde7dc 100%)}
.sj-palm::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .6 0 0 0 0 .38 0 0 0 0 .33 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sj-palm::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('assets/star-north.svg') no-repeat 93% 10%/22px 31px,url('assets/star-four.svg') no-repeat 4% 14%/18px 18px,url('assets/star-four.svg') no-repeat 55% 92%/13px 13px,url('assets/star-north.svg') no-repeat 60% 8%/14px 20px;
  animation:sj-palm-twinkle 4.8s ease-in-out infinite}
@keyframes sj-palm-twinkle{0%,100%{opacity:.55}50%{opacity:1}}
.sj-palm-card{background:rgba(255,255,255,.82)}
.sj-palm-butterfly{position:absolute;top:22px;right:31%;width:64px;transform:rotate(18deg);z-index:1}
@media(max-width:980px){.sj-palm-butterfly{right:22px;top:18px;width:52px}}
@media(prefers-reduced-motion:reduce){.sj-palm::after{animation:none}}
/* Palm Terrace, pass 3: brand colours only, no gradient, no white ring. A deeper blush than the page, a single
   gold hairline, the paper grain, the two approved stars and a butterfly. */
.sj-palm{background:#fbe1e5;border:1px solid #d9b98a;box-shadow:none;border-radius:12px}
.sj-palm::before{opacity:.45}
.sj-palm-card{background:#fffdfb;border-color:#e3c9a3;box-shadow:0 10px 26px #b75e7814}
/* Palm Terrace, final: no banner. The text sits on the page like the other sections; the price is a separate
   framed window (same frame as the home event posters), with the stars and the butterfly. */
.sj-palm{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;padding:3rem 10px}
.sj-palm::before{display:none}
.sj-palm-card{background:#fff;border:1px solid #e3c9a3;border-radius:6px;box-shadow:0 0 0 7px #fffdfb,0 0 0 8px #e7c6c0,0 16px 36px #b75e7822}
@media(max-width:760px){.sj-palm{padding:2rem 10px}}
/* Cart actions: compact buttons on one line and a coupon field wide enough for its placeholder. */
.woocommerce-cart table.cart td.actions{padding:14px 16px}
.woocommerce-cart table.cart td.actions .coupon{display:flex;align-items:center;gap:10px}
.woocommerce-cart table.cart td.actions .coupon .input-text{float:none;width:200px;min-height:42px;margin:0;padding:8px 16px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:14px}
.woocommerce-cart table.cart td.actions .button{min-height:42px;padding:9px 20px;font-size:14px;line-height:1.3;white-space:nowrap}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{font-size:16px;padding:15px 24px}
/* The theme's .button min-height (54px) left the text at the top of this block-level link; centre it, slimmer. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 32px;font-size:15px;line-height:1.2;width:fit-content;min-width:260px;margin:0 0 0 auto}
@media(max-width:768px){.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;min-width:0}}
/* Phones: the cart was wider than the screen. The coupon field kept its natural ~200px width inside the flex row,
   and #main plus .woocommerce padded the sides twice (272px left on a 360px phone). */
@media(max-width:768px){
 .woocommerce-cart table.cart td.actions .coupon .input-text{flex:1 1 0;width:0!important;min-width:0;padding-inline:14px}
 .woocommerce-cart #main .woocommerce,.woocommerce-checkout #main .woocommerce{padding-inline:0}
}
/* Phones: the product name gets its own line under "Product:", with "Package: …" below it, all left-aligned
   (WooCommerce right-aligns every cell with !important). A little more room for "Coupon code". */
@media(max-width:768px){
 .woocommerce-cart table.cart td.product-name{text-align:left!important}
 .woocommerce-cart table.cart td.product-name::before{float:none;display:block;margin-bottom:2px}
 .woocommerce-cart table.cart td.product-name dl.variation{margin:6px 0 0;text-align:left}
 .woocommerce-cart table.cart td.product-name dl.variation dt,.woocommerce-cart table.cart td.product-name dl.variation dd{display:inline;float:none;margin:0;padding:0}
 .woocommerce-cart table.cart td.product-name dl.variation dd p{display:inline;margin:0}
 .woocommerce-cart table.cart td.actions .coupon .input-text{padding-inline:12px}
 .woocommerce-cart table.cart td.actions .coupon .button{padding-inline:16px}
}
@media(max-width:768px){
 .woocommerce-cart table.cart td.actions .coupon{width:100%;padding-bottom:10px}
 .woocommerce-cart table.cart td.actions .coupon .input-text{flex:1 1 0;width:0!important;min-width:0;padding-inline:14px}
 .woocommerce-cart table.cart td.actions .coupon .button{flex:none;width:auto!important}
 .woocommerce-cart table.cart td.actions>.button{width:100%}
}
/* Gala picker, 2026-09-30: "How many guests" row (label + stepper) replaces the seat select and the 1-12 seat buttons */
.sj-qty-row:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin-top:1.1rem}
.sj-selection .sj-qty-row label{margin:0}
.sj-qty{display:inline-flex;flex:none;border:1px solid #bfac94;border-radius:.5rem;background:#fff;overflow:hidden}
.sj-qty:focus-within{border-color:var(--pink)}
.sj-qty button{width:44px;min-height:46px;border:0;background:#fff3f6;color:var(--pink);padding:0;font:inherit;font-size:20px;line-height:1;cursor:pointer}
.sj-qty button:disabled{background:#f3efe9;color:#a99f93;cursor:not-allowed}
.sj-selection .sj-qty input[type=number]{width:52px;padding:0;border:0;border-radius:0;text-align:center;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.sj-qty input::-webkit-outer-spin-button,.sj-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* Gala picker, 2026-09-30: seats-available line above the price, details as a bulleted list */
.sj-selection #selection-details .sj-selection-avail{display:inline-block;margin:0 0 .75rem;padding:.3rem .8rem;border:1px solid #d3aab8;border-radius:99px;background:#fff3f6;color:var(--pink);font-size:.82rem;font-weight:700;line-height:1.3}
.sj-selection #selection-details .sj-selection-price{display:block}
.sj-selection #selection-details .sj-selection-points{list-style:disc;margin:.9rem 0 1rem;padding:0 0 0 1.15rem;font-size:.95rem;line-height:1.5;color:#665345}
.sj-selection #selection-details .sj-selection-points li{margin:0 0 .55rem;padding:0}
.sj-selection #selection-details .sj-selection-points li::marker{color:var(--pink)}
/* Checkout: optional gift to cover processing fees (pre-selected), for sponsorships and full tables. */
.woocommerce-checkout-review-order-table .sj-cover-fees td,.cart_totals .sj-cover-fees td{padding:14px 12px;background:#fff8f6}
.sj-cover-fees label{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;font-weight:400;cursor:pointer}
.sj-cover-fees input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--pink)}
.sj-cover-fees-amount{display:block;margin-top:4px;font-size:13px;font-weight:600;color:var(--pink)}
.woocommerce .cart_totals table.shop_table_responsive tr.sj-cover-fees td,.cart_totals .sj-cover-fees td{text-align:left!important}.cart_totals .sj-cover-fees td::before{content:none!important;display:none!important}
/* Cart and checkout match the rest of the site (Anna, 2026-09-30): WooCommerce's own grey hover, blue focus,
   lilac payment box and blue radios gave way to the site's buttons and form fields. */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #place_order,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--pink);color:#fff;border:1px solid var(--pink);border-radius:99px;font:500 14px/1.3 var(--body);letter-spacing:0;text-shadow:none;box-shadow:none;transition:background .2s,transform .2s,opacity .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:#a60846;border-color:#a60846;color:#fff;transform:translateY(-2px)}
.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible,.woocommerce #place_order:focus-visible{outline:3px solid #ce0a5955;outline-offset:3px}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce button.button.disabled{background:var(--pink);border-color:var(--pink);color:#fff;opacity:.45;transform:none;cursor:not-allowed}
.woocommerce #place_order{min-height:50px;padding:13px 32px;font-size:15px}
.woocommerce a.remove{width:28px;height:28px;line-height:26px;font-size:20px;border-radius:50%;color:var(--pink)!important}
.woocommerce a.remove:hover{background:var(--blush);color:#a60846!important}
/* Form fields: paper background, the site's hairline border and radius, pink focus instead of blue. */
.woocommerce form .form-row label,.sj-guest-row label{font-size:13px;font-weight:500;color:var(--ink)}
.woocommerce form .form-row .required{color:var(--pink);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-cart table.cart td.actions .coupon .input-text,.sj-guest-row input,.select2-container--default .select2-selection--single{min-height:46px;padding:10px 14px;border:1px solid #dcc3bf;border-radius:8px;background:#fffdfb;color:var(--ink);font:15px/1.4 var(--body);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.woocommerce form .form-row textarea{min-height:96px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus,.woocommerce-cart table.cart td.actions .coupon .input-text:focus,.sj-guest-row input:focus,.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px #ce0a591f}
.select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;line-height:24px;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
.select2-dropdown{border-color:#dcc3bf;border-radius:8px;overflow:hidden}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--pink);color:#fff}
.select2-search--dropdown .select2-search__field{border:1px solid #dcc3bf;border-radius:6px;padding:8px}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid .select2-selection{border-color:#b02850}
.woocommerce-cart input[type=checkbox],.woocommerce-checkout input[type=checkbox],.woocommerce-checkout input[type=radio]{accent-color:var(--pink)}
/* Payment box: blush instead of WooCommerce's lilac. */
.woocommerce-checkout #payment{background:#fff8f6;border:1px solid #ecd6cc;border-radius:10px}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid #ecd6cc}
.woocommerce-checkout #payment div.payment_box{background:#fbe7e8;color:var(--ink);border-radius:8px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fbe7e8}
/* Guest names: one block per table, compact rows (name and optional e-mail side by side). */
.sj-guest-fields .sj-guest-block{padding:16px 18px 6px;margin:16px 0}
.sj-guest-fields .sj-guest-block legend{font-size:20px}
.sj-guest-grid{display:grid;gap:10px}
.sj-guest-fields .sj-guest-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:0}
.sj-guest-row label{display:block;font-size:12px;color:var(--muted)}
.sj-guest-row input{width:100%;min-height:40px;padding:8px 12px;margin-top:4px;font-size:14px}
@media(max-width:760px){.sj-guest-fields .sj-guest-row{grid-template-columns:1fr;gap:6px;padding-bottom:10px;border-bottom:1px solid #f1dfda}.sj-guest-fields .sj-guest-row:last-child{border-bottom:0}}
/* WooCommerce styles text fields through .form-row .input-text (more specific than the rules above) and its own
   form variables: both set to the site's look. */
.woocommerce{--wc-form-border-color:#dcc3bf;--wc-form-border-radius:8px;--wc-form-border-width:1px;--wc-form-color-background:#fffdfb;--wc-form-color-text:var(--ink)}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select{border:1px solid #dcc3bf;border-radius:8px;background:#fffdfb;color:var(--ink)}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px #ce0a591f}
/* Field descriptions: WooCommerce turns them into a blue pop-up on focus that broke the text ("Name as it should
   appear"); here they are a quiet line under the field, always visible. */
.woocommerce form .form-row .woocommerce-input-wrapper .description,.woocommerce form .form-row .description,.woocommerce-checkout .form-row .description{display:block!important;position:static;margin:6px 0 0;padding:0;background:none;color:var(--muted);font-size:12px;line-height:1.5;border-radius:0;box-shadow:none}
.woocommerce form .form-row .woocommerce-input-wrapper .description::before,.woocommerce form .form-row .description::before,.woocommerce-checkout .form-row .description::before{display:none;content:none}
/* Checkout guests, compact (Anna, 2026-09-30): full width under the billing details, one short row per guest
   (number, name, email with placeholders; the labels stay for screen readers), two guests per row on wide screens. */
.sj-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.woocommerce-checkout .sj-guest-fields{clear:both;padding:36px 0 24px}
.woocommerce-checkout .sj-guest-fields>h3{margin-bottom:8px}
.woocommerce-checkout .sj-guest-fields>p,.woocommerce-checkout .sj-guest-fields>.sj-defer{max-width:760px}
.sj-guest-fields .sj-guest-grid{grid-template-columns:1fr;gap:8px}
.sj-guest-fields .sj-guest-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;padding:0;border:0}
.sj-guest-n{font-size:12px;font-weight:600;color:var(--muted);text-align:right}
.sj-guest-fields .sj-guest-row input{margin:0;min-height:40px}
.sj-guest-row input::placeholder{color:#a08c86}
@media(min-width:900px){.sj-guest-fields .sj-guest-grid{grid-template-columns:1fr 1fr;column-gap:28px}}
@media(max-width:760px){.sj-guest-fields .sj-guest-row{grid-template-columns:22px minmax(0,1fr);gap:6px 8px;padding-bottom:8px;border-bottom:1px solid #f1dfda}.sj-guest-fields .sj-guest-row input[type=email]{grid-column:2}}
/* Cart: quantity arrows for seats at one table. */
.woocommerce-cart table.cart .product-quantity .quantity .qty{width:72px;min-height:40px;padding:6px 8px;border:1px solid #dcc3bf;border-radius:8px;background:#fffdfb;text-align:center;font:15px/1.4 var(--body)}
.woocommerce-cart table.cart .product-quantity .quantity .qty:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px #ce0a591f}
/* Map guide (Anna, 2026-10-01): a key drawn like the map, then a card for the table under the pointer:
   name and place, one dot per seat (pink = free), prices, what is included. */
.sj-map-guide{margin-top:14px}
.sj-gala-section .sj-map-key{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:0 0 14px!important;padding:0;list-style:none;font-size:13px!important;color:var(--muted)}
.sj-map-key li{display:flex;align-items:center;gap:8px}
.sj-key{display:inline-block;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--pink);background:#fff1f4}
.sj-key-vip{width:11px;height:18px;border-radius:3px;border-color:#c9a45c;background:#fff1cd}
.sj-key-off{border-color:#b9b2ad;background:#ebe7e4}
.sj-key-reserved{width:22px;height:11px;border-radius:2px;border-color:#bcaa98;background:#f1e7de}
.sj-gala-section .sj-hover-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px 28px;min-height:0;padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:10px;background:var(--paper,#fffdfb);font-size:14px;line-height:1.5}
.sj-gala-section .sj-hover-detail.is-vip{border-left-color:#c9a45c}
.sj-gala-section .sj-hover-detail.is-off{border-left-color:#b9b2ad}
.sj-hd-empty{grid-column:1/-1;margin:0;color:var(--muted);text-align:center}
.sj-hd-head{display:flex;flex-direction:column;gap:2px}
.sj-hd-name{font:26px/1.15 var(--serif);font-weight:400;color:var(--ink)}
.sj-hd-place{font-size:13px;color:var(--muted)}
.sj-hd-seats{display:flex;flex-direction:column;gap:7px}
.sj-hd-dots{display:flex;flex-wrap:wrap;gap:4px}
.sj-hd-dots i{width:12px;height:12px;border-radius:3px;border:1px solid #c9bdb8;background:#ebe7e4}
.sj-hd-dots i.is-free{border-color:#d4a8b4;background:#fde6ee}
.is-vip .sj-hd-dots i.is-free{border-color:#c9a45c;background:#fff1cd}
.sj-hd-count{font-size:13px;font-weight:600;color:var(--ink)}
.sj-hd-prices{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-weight:600;color:var(--pink);white-space:nowrap}
.is-vip .sj-hd-prices{color:#94702c}
.sj-hd-note{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.sj-map-guide .sj-gala-fine{margin:10px 0 0;text-align:center}
@media(max-width:760px){.sj-gala-section .sj-hover-detail{grid-template-columns:1fr auto;padding:16px 18px}.sj-hd-seats{grid-column:1/-1;grid-row:2}.sj-hd-prices{grid-row:1;grid-column:2}.sj-hd-name{font-size:22px}.sj-gala-section .sj-map-key{gap:8px 16px;font-size:12px!important}}
/* Table names: the script line sits right on its heading (it introduces it), then the names as text separated by
   dots (a name never breaks). */
.sj-gala-section .sj-table-name-section{margin:84px auto 124px}
.sj-table-name-section .script{margin:0 0 6px}
.sj-table-name-section h2{margin:0 0 14px}
.sj-table-name-section>p:not(.script){margin:0}
.sj-table-name-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;max-width:760px;margin:26px auto 0;padding:0;list-style:none;font:italic 19px/1.6 var(--serif);color:var(--ink)}
.sj-table-name-list li{white-space:nowrap}
.sj-table-name-list li:not(:last-child)::after{content:"·";margin:0 .6em;color:var(--pink);font-style:normal}
@media(max-width:760px){.sj-table-name-list{font-size:17px}}
/* Checkout without the order-notes box (Anna, 2026-10-01): one column. Billing details use the full width in a
   6-part grid (name | country, address | city, state, ZIP | phone, e-mail), in the same order as the fields, so
   there is no empty half next to them; the sponsor recognition block follows, then the guests. */
.woocommerce-checkout #customer_details.col2-set .col-1,.woocommerce-checkout #customer_details.col2-set .col-2{float:none;width:100%;max-width:none}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 18px;align-items:start}
/* The apartment field has no visible label; keep its (hidden) label in the flow so its box lines up with its neighbours. */
.woocommerce-checkout #billing_address_2_field label.screen-reader-text{position:static!important;display:block;width:auto;height:auto;margin:0;clip:auto;clip-path:none;overflow:hidden;white-space:nowrap;visibility:hidden}
.woocommerce-checkout #billing_address_2_field label.screen-reader-text *{visibility:hidden}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{float:none;width:auto;grid-column:span 2;margin-right:0}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name_field,.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name_field,.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_phone_field,.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field{grid-column:span 3}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_company_field{grid-column:1/-1}
.woocommerce-checkout .woocommerce-additional-fields .form-row{max-width:560px}
@media(max-width:760px){.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr 1fr;gap:0 12px}.woocommerce-checkout #billing_address_2_field label.screen-reader-text{display:none}.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_phone_field,.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field{grid-column:1/-1}.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name_field,.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name_field{grid-column:span 1}}
/* Cart: quantities update by themselves, so the "Update cart" button is hidden when the script is running. */
body.sj-auto-cart.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name=update_cart]{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important}
/* Cart without coupons: the row that held the coupon field and "Update cart" has nothing left to show. */
body.sj-auto-cart.woocommerce-cart .woocommerce-cart-form table.cart td.actions{padding:0!important;border:0!important;height:0;line-height:0}
/* Checkout: the "confirm names later" choice is a visible box, and lights up when names are missing (Anna, 2026-10-01). */
.woocommerce-checkout .sj-guest-fields .sj-defer{display:flex;align-items:center;gap:10px;max-width:760px;margin:14px 0;padding:12px 16px;border:1px solid #ecd3d9;border-radius:10px;background:#fff7f9;font-size:14.5px;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.woocommerce-checkout .sj-guest-fields .sj-defer input{flex:none;width:18px;height:18px;margin:0}
.woocommerce-checkout .sj-guest-fields .sj-defer.is-needed{border-color:var(--pink);box-shadow:0 0 0 3px #ce0a591f}
.woocommerce-error a[href="#sj-defer"]{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* Order received (order-received.php): thanks, summary, one block per table with its guests, date and place, next
   steps, a way back. In the order of the confirmation e-mails Toni sketched. */
.woocommerce-order-received .swj-cart-title{display:none}
.sj-thanks{max-width:880px;margin:0 auto;padding-top:10px}
.sj-thanks-head{text-align:center;margin-bottom:34px}
.sj-thanks-head .script{font-size:46px;margin:0 0 6px}
.sj-thanks-head h1{font-size:clamp(34px,4.6vw,54px);line-height:1.1;margin:0 0 18px}
.sj-thanks-head h1 em{color:var(--pink)}
.sj-thanks-head .lead{max-width:660px;margin:0 auto;font-size:17px;line-height:1.65}
.sj-thanks .sj-stage-notice{margin:0 0 26px}
/* Summary: on the page background, each fact under a thin rule, like the "Why we exist" columns on the home. */
.sj-thanks-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px 36px;margin:0 0 48px;padding:0;border:0;background:none}
.sj-thanks-summary div{min-width:0;padding-top:16px;border-top:1px solid #d4afa3;text-align:center}
.sj-thanks-summary dt{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sj-thanks-summary dd{margin:6px 0 0;font:24px/1.25 var(--serif);color:var(--ink);overflow-wrap:anywhere}
.sj-thanks h2{font-size:30px;margin:38px 0 6px}
.sj-thanks-item{padding:18px 0;border-bottom:1px solid var(--line)}
.sj-thanks-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.sj-thanks-item h3{margin:0;font:22px/1.25 var(--serif);font-weight:400;color:var(--ink)}
.sj-thanks-item-head strong{font-weight:600;color:var(--pink);white-space:nowrap}
.sj-thanks-note{margin:2px 0 0;font-size:13.5px;color:var(--muted)}
.sj-thanks-recognition{margin:8px 0 0;font-size:14.5px}
.sj-thanks-guests{columns:3;column-gap:28px;margin:12px 0 0;padding:0;list-style:none;font-size:14.5px;line-height:1.5}
.sj-thanks-guests li{break-inside:avoid;padding:2px 0}
.sj-thanks-guests li span{display:block;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.sj-thanks-open{margin:8px 0 0;font-size:13.5px;font-style:italic;color:#8f7d77}
.woocommerce /* WooCommerce turns links with .button into blocks on its pages, which left the words high and off centre. */
.sj-thanks-actions a.button{display:inline-flex;line-height:1.4}
.sj-thanks-sign .script-heart{font-size:.5em;vertical-align:.2em;margin-left:.1em}
.sj-thanks-actions a.button.button-outline{background:transparent;color:var(--pink);border:1.5px solid var(--pink)}
.woocommerce .sj-thanks-actions a.button.button-outline:hover{background:var(--pink);color:#fff}
.sj-thanks-totals{width:100%;margin:6px 0 0;border-collapse:collapse;font-size:15px}
.sj-thanks-totals th{padding:10px 0;text-align:left;font-weight:500;color:var(--muted)}
.sj-thanks-totals td{padding:10px 0;text-align:right}
.sj-thanks-totals tr+tr th,.sj-thanks-totals tr+tr td{border-top:1px solid var(--line)}
.sj-thanks-totals .is-total th,.sj-thanks-totals .is-total td{font:22px/1.3 var(--serif);color:var(--ink)}
.sj-thanks-when{margin:52px 0 0;padding:30px 20px;text-align:center;border-block:1px solid #d4afa3}
.sj-thanks-when .eyebrow{margin:0 0 10px}
.sj-thanks-summary:has(+.sj-thanks-billing){margin-bottom:26px}
.sj-thanks-summary.sj-thanks-billing{grid-template-columns:1fr 1.25fr 1.6fr}
.sj-thanks-summary.sj-thanks-billing dd{font-size:18px;line-height:1.45}
@media(max-width:760px){.sj-thanks-summary.sj-thanks-billing{grid-template-columns:1fr}}
.btn-arrow.btn-arrow-back{transform:scaleX(-1)}
.button:hover .btn-arrow.btn-arrow-back{transform:scaleX(-1) translateX(3px)}
.sj-thanks-when strong{display:block;font:clamp(26px,3.4vw,36px)/1.2 var(--serif);font-weight:400;color:var(--ink)}
.sj-thanks-when span{display:block;margin-top:6px;font-size:15px;letter-spacing:.04em;color:var(--muted)}
.sj-thanks-next ul{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}
.sj-thanks-next li{padding:16px 20px;border-left:3px solid var(--pink);border-radius:0 10px 10px 0;background:var(--blush)}
.sj-thanks-next h3{margin:0 0 4px;font:600 16px/1.4 var(--body);color:var(--pink)}
.sj-thanks-next p{margin:0;font-size:14.5px;line-height:1.6}
.sj-thanks-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:40px 0 0}
.sj-thanks-sign{margin:40px 0 0;text-align:center;font-size:15px;line-height:1.6;color:var(--muted)}
.sj-thanks-sign .script{display:block;margin-top:10px;font-size:40px;transform:none}
@media(max-width:900px){.sj-thanks-guests{columns:2}}
@media(max-width:560px){.sj-thanks-summary{grid-template-columns:1fr 1fr;gap:18px 20px}.sj-thanks-summary dd{font-size:20px}.sj-thanks-guests{columns:1}.sj-thanks-head .script{font-size:38px}.sj-thanks-summary{padding:18px 20px}.sj-thanks h2{font-size:26px}.sj-thanks-item h3{font-size:20px}.sj-thanks-actions .button{width:100%;justify-content:center}}
/* Empty cart: the "Reserve your table" label sits in the middle of its button. */
.woocommerce-cart .return-to-shop a.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 30px;line-height:1.2}
/* Ticket options: name, price and note each on their own line, starting at the same height in every button, so the
   five read as one row whatever the length of the note (Anna, 2026-10-01). */
.sj-gala-section .sj-ticket-options button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;min-height:0;padding:11px 12px 11px;font-size:13px!important;font-weight:600;line-height:1.3}
.sj-gala-section .sj-ticket-options button b{margin:0;font-size:15px;font-weight:700;color:var(--pink)}
.sj-gala-section .sj-ticket-options [aria-pressed=true] b{color:#fff}
.sj-gala-section .sj-ticket-options button small{margin-top:3px;font-size:11.5px;line-height:1.35}
/* "Want the whole table?" under a table's seats, when all 12 are still free. */
.sj-upgrade{display:block;width:100%;margin:0 0 1rem;padding:11px 14px;border:1px solid #ecd3d9;border-radius:10px;background:#fff7f9;color:var(--ink);font:13px/1.4 var(--body);text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.sj-upgrade span{display:block;color:var(--muted)}
.sj-upgrade strong{display:block;font-weight:600;color:var(--pink)}
.sj-upgrade:hover,.sj-upgrade:focus-visible{border-color:var(--pink);box-shadow:0 0 0 3px #ce0a591f;outline:none}
/* Order received: a clean sheet when someone prints it or saves it as PDF from the browser (the e-mail links to this
   page as the buyer's record): no site header, footer, buttons or watercolor; the logo on top; blocks kept whole across pages. */
.sj-print-logo{display:none}
@media print{
 @page{margin:14mm 15mm}
 .woocommerce-order-received .site-header,.woocommerce-order-received .top-note,.woocommerce-order-received .site-footer,.woocommerce-order-received .skip-link,.woocommerce-order-received .mobile-nav,.woocommerce-order-received #wpadminbar,.woocommerce-order-received .sj-thanks-actions,.woocommerce-order-received .butterfly,.woocommerce-order-received .sparkle{display:none!important}
 html,body.woocommerce-order-received,.woocommerce-order-received main,.woocommerce-order-received #main{background:#fff!important;background-image:none!important;margin:0!important;padding:0!important}
 .woocommerce-order-received #main,.woocommerce-order-received .woocommerce{padding:0!important;width:auto!important;max-width:none!important}
 .woocommerce-order-received .sj-thanks{max-width:none;padding:0;font-size:12pt}
 .sj-print-logo{display:block;width:150px;height:auto;margin:0 auto 10px}
 .sj-thanks-head{margin-bottom:18px}
 .sj-thanks-head .script{font-size:30px}
 .sj-thanks-head h1{font-size:26pt;margin-bottom:8px}
 .sj-thanks-summary{margin-bottom:22px;gap:14px 24px}
 .sj-thanks h2{font-size:18pt;margin-top:20px}
 .sj-thanks-item,.sj-thanks-next li,.sj-thanks-when,.sj-thanks-totals,.sj-thanks-sign{break-inside:avoid;page-break-inside:avoid}
 .sj-thanks-item{padding:10px 0}
 .sj-thanks-when{margin-top:24px;padding:18px 0}
 .sj-thanks-next li{background:none;border:1px solid #e6d5d0;border-left:3px solid #ce0a59}
 .sj-thanks-sign{margin-top:22px}
 .sj-thanks a{color:inherit;text-decoration:none}
 .sj-thanks,.sj-thanks *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 /* no watercolor anywhere on the sheet, also not in the page's own padding */
 body.woocommerce-order-received,body.woocommerce-order-received *,body.woocommerce-order-received *::before,body.woocommerce-order-received *::after{background-image:none!important}
 body.woocommerce-order-received main,body.woocommerce-order-received #main,body.woocommerce-order-received .wrap{background:#fff!important}
 body.woocommerce-order-received::before,body.woocommerce-order-received::after{display:none!important}
 /* paper is narrower than the phone breakpoint: keep the summary in columns */
 .sj-thanks-summary{grid-template-columns:repeat(4,1fr)!important}
 .sj-thanks-summary.sj-thanks-billing{grid-template-columns:1fr 1.25fr 1.6fr!important}
 .sj-thanks-summary dd{font-size:14pt!important}
 .sj-thanks-summary.sj-thanks-billing dd{font-size:12pt!important}
 .sj-thanks h2{break-after:avoid;page-break-after:avoid}
 .sj-thanks-guests{columns:3!important}
 .sj-print-logo{mix-blend-mode:multiply}
}
/* The Basket Donation Bingo band (BINGO-01): between Palm Terrace and the table names; a small card of 25 squares
   in the bingo's own paper and blush, the centre (the wine, open to many) in pink. */
.sj-bingo-band{display:grid;grid-template-columns:180px minmax(0,1fr);gap:48px;align-items:center;max-width:980px;margin:0 auto 4rem;padding:40px 48px;border:1px solid #d9b168;border-radius:12px;background:#fffdf9cc}
.sj-bingo-band-card{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.sj-bingo-band-card i{aspect-ratio:1;border:1px solid #e6c9b0;border-radius:4px;background:#fffdf9}
.sj-bingo-band-card i:nth-child(even){border-color:#e6bfc6;background:#fbe6ea}
.sj-bingo-band-card i.mid{border-color:#be2f69;background:#be2f69}
.sj-bingo-band .eyebrow{margin:0 0 10px}
.sj-bingo-band h2{margin:0 0 12px}
.sj-bingo-band p:not(.eyebrow){margin:0 0 22px;max-width:520px;color:var(--muted)}
@media(max-width:760px){.sj-bingo-band{grid-template-columns:1fr;gap:24px;padding:28px 22px;text-align:center}.sj-bingo-band-card{width:140px;margin:0 auto}.sj-bingo-band p:not(.eyebrow){margin-inline:auto}}
.sj-bingo-band .sj-bingo-donate{margin-left:22px}
@media(max-width:760px){.sj-bingo-band .sj-bingo-donate{display:inline-block;margin:16px 0 0}}
