.sct-booking,.sct-shell{--sc-ink:#233e35;--sc-bg:#f5f2eb;--sc-border:#d5d9d1;color:var(--sc-ink);font-family:Arial,sans-serif;font-size:15px;line-height:1.6}.sct-booking *,.sct-shell *{box-sizing:border-box}.sct-booking{padding:36px;background:var(--sc-bg);border:1px solid var(--sc-border);border-radius:16px;margin:40px auto;max-width:1160px}.sct-eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold}.sct-booking h2{font-size:30px;margin:10px 0 12px;color:var(--sc-ink)}.sct-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;margin:24px 0}.sct-muted{color:#858d88}.sct-map{background:#fff;border-radius:12px;padding:24px;overflow:auto;border:1px solid var(--sc-border)}.sct-stage{background:#e7ebe6;max-width:650px;padding:12px;text-align:center;margin:0 auto 30px;letter-spacing:4px;border-radius:5px 5px 40% 40%}.sct-row{display:flex;gap:8px;margin:9px 0;align-items:center;min-width:max-content;justify-content:center}.sct-row-label{width:58px;flex-shrink:0;font-size:13px}.sct-booking button.sct-seat{width:auto;min-width:48px;height:44px;flex-shrink:0;border:1px solid #8eaa9b;background:#fff;color:#233e35;border-radius:7px;padding:4px 8px;font:600 12px Arial;cursor:pointer;box-shadow:none}.sct-booking button.sct-seat:hover,.sct-booking button.sct-seat.is-selected{background:#233e35;color:#fff}.sct-booking button.sct-seat:disabled{background:#e5e5e5;color:#999;border-color:#ddd;cursor:not-allowed}.sct-booking button.sct-seat.has-aisle{margin-right:32px}.sct-selection{margin-top:26px;font-weight:bold}.sct-total{font-size:21px;margin:8px 0 20px}.sct-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sct-fields label{display:block;font-size:14px}.sct-fields input{display:block;width:100%;height:48px;border:1px solid #b8c4b8;background:#fff;border-radius:6px;padding:10px;margin-top:6px;color:#172e28;font:16px Arial}.sct-booking .sct-button,.sct-shell .sct-button{display:inline-block;background:#233e35;color:white;border:1px solid #233e35;border-radius:6px;padding:14px 24px;font:bold 14px Arial;text-decoration:none;cursor:pointer}.sct-button:disabled{opacity:.5;cursor:wait}.sct-feedback{color:#973824}.sct-hp{position:absolute;left:-9999px;opacity:0;width:1px;height:1px;overflow:hidden}.sct-standalone{background:#f5f2eb;margin:0;padding:32px 20px}.sct-shell{max-width:960px;margin:auto}.sct-brand{display:block;color:#233e35;text-decoration:none;letter-spacing:3px;font-weight:bold;font-size:14px;margin:12px 0 28px}.sct-card{padding:38px;background:#fff;border:1px solid #dadbd6;border-radius:14px}.sct-card h1{font-size:30px;line-height:1.25;margin-top:16px}.sct-card h2{font-size:21px}.sct-status{display:inline-block;background:#e9efe9;padding:5px 14px;border-radius:30px;font-weight:bold}.sct-seat-list{display:flex;gap:8px;flex-wrap:wrap}.sct-seat-list span{padding:6px 12px;border:1px solid #a9b8ac;border-radius:5px}.sct-pay-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;border-top:1px solid #ddd;margin-top:26px;padding-top:24px}.sct-payment-qr,.sct-ticket-qr{display:block;width:100%;max-width:325px;height:auto;image-rendering:pixelated}.sct-notice{padding:18px;background:#f7f0db;border-left:3px solid #ac8c3e}.sct-ticket{text-align:center;max-width:620px;margin:auto}.sct-ticket-qr{margin:auto}.sct-card .sct-seat-title{font-size:36px;letter-spacing:3px}.sct-shell a{color:#233e35}.sct-shell a.sct-button{color:#fff}@media(max-width:650px){.sct-booking{padding:20px 14px}.sct-booking h2{font-size:24px}.sct-fields,.sct-pay-layout{grid-template-columns:1fr}.sct-card{padding:24px 18px}.sct-map{padding:16px 8px}.sct-row{justify-content:flex-start}.sct-legend{gap:12px}.sct-card h1{font-size:25px}.sct-payment-qr{margin:auto}}@media print{.sct-standalone{padding:0;background:white}.sct-no-print,.sct-brand{display:none!important}.sct-card{border:0}.sct-ticket{break-inside:avoid}.sct-ticket-qr{width:300px}}
.sct-tier-list{display:grid;gap:14px;margin:26px 0}.sct-tier-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:white;border:1px solid var(--sc-border);border-radius:10px}.sct-tier-card h3{font-size:20px;margin:0 0 8px;color:#233e35}.sct-tier-card p{margin:0 0 10px;font-size:14px}.sct-tier-card strong{font-size:21px}.sct-tier-card label{min-width:86px;font-size:13px}.sct-tier-card input{display:block;width:86px;height:48px;margin-top:6px;padding:10px;border:1px solid #8eaa9b;border-radius:6px;background:white;color:#233e35;font-size:18px}.sct-ticket .sct-seat-title{font-size:27px;letter-spacing:0}@media(max-width:600px){.sct-tier-card{padding:18px 14px;gap:12px}.sct-tier-card h3{font-size:17px}.sct-tier-card strong{font-size:18px}.sct-tier-card label{min-width:70px}.sct-tier-card input{width:70px}}
.sct-gate{box-sizing:border-box;max-width:620px;margin:24px auto;padding:24px;background:#f5f2eb;border:1px solid #d5d9d1;border-radius:14px;color:#233e35;font:15px/1.6 Arial,sans-serif}.sct-gate *{box-sizing:border-box}.sct-gate h2{font-size:25px;line-height:1.3;margin:14px 0}.sct-gate button{min-height:48px;width:100%;padding:12px 18px;margin:8px 0;background:#233e35;color:white;border:1px solid #233e35;border-radius:7px;font-size:16px;font-weight:600;cursor:pointer}.sct-gate button:disabled{opacity:.55;cursor:wait}.sct-gate .sct-gate-next{background:white;color:#233e35}.sct-gate input{width:100%;height:48px;padding:10px;border:1px solid #8eaa9b;border-radius:5px;color:#233e35;background:white;font-size:16px}.sct-gate-reader{margin:16px 0;overflow:hidden}.sct-gate-reader video{max-width:100%}.sct-gate-manual{margin:18px 0}.sct-gate-manual summary{cursor:pointer;padding:10px 0}.sct-gate-manual label{display:block;margin-top:10px}.sct-gate-message:not(:empty){background:#fff0d8;border-radius:7px;padding:16px;font-size:17px;font-weight:bold;overflow-wrap:anywhere}.sct-gate-message.is-good{background:#dceee1;color:#155529}.sct-gate-preview{margin-top:20px;background:#fff;padding:20px;border-radius:9px}.sct-gate-preview dl{display:grid;grid-template-columns:105px 1fr;gap:10px 14px;margin:0}.sct-gate-preview dt{color:#65736c}.sct-gate-preview dd{margin:0;font-weight:600;overflow-wrap:anywhere}.sct-gate-preview h3{font-size:20px;margin:0 0 20px}.sct-gate-group{font-size:14px}.sct-gate [hidden]{display:none!important}@media(max-width:480px){.sct-gate{padding:18px 14px;margin:16px auto}.sct-gate-preview{padding:16px 12px}.sct-gate-preview dl{grid-template-columns:88px 1fr;gap:10px}.sct-gate h2{font-size:22px}}

.sct-gate-file-label{display:block;padding:10px 0;font-size:14px}.sct-gate input.sct-gate-file{height:auto;padding:10px;margin-top:5px}.sct-gate-reader img{max-width:100%}

/* Booking layout — Symphonic Collection */
.sct-booking{--sc-ink:#111513;--sc-bg:#f2efe7;--sc-border:#cccac2;font-family:inherit;color:var(--sc-ink);font-size:14px;line-height:1.75;max-width:1160px;margin:64px auto;padding:0;background:transparent;border:0;border-radius:0}
.sct-booking .sct-eyebrow{font-size:11px;font-weight:500;letter-spacing:.18em;color:#666d67;margin-bottom:18px}
.sct-booking h2{font-family:inherit;font-size:clamp(28px,3.2vw,44px);line-height:1.2;font-weight:400;letter-spacing:-.035em;margin:0 0 18px;color:var(--sc-ink)}
.sct-booking > p{max-width:760px;font-size:17px;line-height:1.4;color:#626860;margin:0 0 32px}
.sct-booking .sct-tier-list{gap:0;margin:32px 0 0;border-top:1px solid var(--sc-border)}
.sct-booking .sct-tier-card{padding:28px 0;gap:32px;background:transparent;border:0;border-bottom:1px solid var(--sc-border);border-radius:0}
.sct-booking .sct-tier-card > div{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
.sct-booking .sct-tier-card h3{font-family:inherit;font-size:20px;font-weight:400;line-height:1.45;letter-spacing:-.025em;color:var(--sc-ink);margin:0 0 6px;overflow-wrap:anywhere}
.sct-booking .sct-tier-card p{grid-column:1;font-size:15px;color:#686e68;margin:0}
.sct-booking .sct-tier-card strong{grid-column:2;grid-row:1/3;font-size:17px;font-weight:500;color:var(--sc-ink);white-space:nowrap}
.sct-booking .sct-tier-card label{font-family:inherit;font-size:15px;color:#646a64;letter-spacing:.05em;min-width:76px}
.sct-booking .sct-tier-card input{font-family:inherit;width:76px;height:48px;padding:8px 10px;border:1px solid var(--sc-border);border-radius:0;background:transparent;font-size:16px;color:var(--sc-ink);box-shadow:none}
.sct-booking .sct-tier-card input:disabled{opacity:.45;cursor:not-allowed}
.sct-booking .sct-book-form{margin-top:36px}
.sct-booking .sct-order-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:22px 24px;background:#e9e6de}
.sct-booking .sct-selection{font-size:17px;font-weight:400;line-height:1.7;margin:0;overflow-wrap:anywhere}
.sct-booking .sct-total{margin:0;font-size:17px;white-space:nowrap}
.sct-booking .sct-total strong{font-size:24px;font-weight:500;margin-left:12px;letter-spacing:-.03em}
.sct-booking .sct-contact-title{font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:38px 0 24px;color:var(--sc-ink)}
.sct-booking .sct-fields{gap:28px}
.sct-booking .sct-fields label{font-family:inherit;font-size:15px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#666d67;min-width:0}
.sct-booking .sct-fields input{font-family:inherit;background:transparent;border:0;border-bottom:1px solid var(--sc-border);border-radius:0;box-shadow:none;padding:10px 0;height:52px;margin-top:8px;font-size:16px;font-weight:400;letter-spacing:normal;color:var(--sc-ink)}
.sct-booking input:focus-visible,.sct-booking button:focus-visible{outline:2px solid #343e38;outline-offset:4px}
.sct-booking .sct-fields input:focus{border-bottom-color:#111513}
.sct-booking .sct-book-form > p{font-size:17px;color:#686e68;line-height:1.8;margin:22px 0}
.sct-booking .sct-book-form > .sct-feedback{color:#973824}
.sct-booking .sct-feedback:empty{display:none}
.sct-booking .sct-button{font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:#111513;color:#fff;border:1px solid #111513;border-radius:0;padding:18px 30px;min-height:54px;box-shadow:none;transition:background .2s,color .2s}
.sct-booking .sct-button:hover{background:#343e38;border-color:#343e38;color:#fff}
.sct-booking .sct-map{border-radius:0;background:transparent;border-color:var(--sc-border)}
.sct-booking .sct-stage{background:#e9e6de;border-radius:0;font-size:11px}
.sct-booking button.sct-seat{font-family:inherit;border-radius:0;border-color:var(--sc-border);color:var(--sc-ink);background:transparent}
.sct-booking button.sct-seat:hover,.sct-booking button.sct-seat.is-selected{background:#111513;color:#fff}
@media(max-width:900px){.sct-booking .sct-tier-card > div{grid-template-columns:1fr}.sct-booking .sct-tier-card strong{grid-column:1;grid-row:auto;margin-top:10px}.sct-booking .sct-fields{gap:20px}}
@media(max-width:650px){.sct-booking{margin:36px auto;padding:0 20px;font-size:14px}.sct-booking .sct-eyebrow{font-size:10px;letter-spacing:.13em}.sct-booking h2{font-size:28px}.sct-booking > p{font-size:13px;margin-bottom:24px}.sct-booking .sct-tier-card{padding:22px 0;gap:18px}.sct-booking .sct-tier-card h3{font-size:17px}.sct-booking .sct-tier-card strong{font-size:16px}.sct-booking .sct-order-summary{grid-template-columns:1fr;gap:12px;padding:20px}.sct-booking .sct-total{display:flex;justify-content:space-between;align-items:center;white-space:normal}.sct-booking .sct-total strong{font-size:23px}.sct-booking .sct-fields{grid-template-columns:1fr;gap:24px}.sct-booking .sct-contact-title{margin-top:30px}.sct-booking .sct-button{display:block;width:100%;padding:17px 16px;font-size:11px}.sct-booking .sct-tier-card label{min-width:64px}.sct-booking .sct-tier-card input{width:64px}.sct-booking .sct-book-form{margin-top:26px}}

.sct-gate-message,.sct-gate-preview{scroll-margin-top:150px}.sct-gate-reader video{display:block;width:100%!important;max-height:65vh;object-fit:contain}.sct-gate-reader[hidden]{display:none!important}

.sct-booking .sct-invoice{margin:28px 0}.sct-booking .sct-invoice-toggle{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;color:#111513}.sct-booking .sct-invoice-toggle input{appearance:auto;width:18px;height:18px;min-width:18px;margin:0;accent-color:#111513}.sct-booking .sct-invoice-details[hidden]{display:none!important}.sct-booking .sct-invoice-details{border-top:1px solid var(--sc-border);margin-top:22px;padding:0 0 12px}.sct-booking .sct-invoice-details .sct-fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.sct-booking .sct-invoice-details .sct-fields{grid-template-columns:1fr}}

/* Offset the ticket anchor below the fixed site header. */
.sct-booking#dang-ky{scroll-margin-top:130px}

/* Coupon form: match the ticket booking typography, borders and spacing. */
.sct-booking .sct-coupon{margin:28px 0 36px;padding:0;max-width:680px;color:var(--sc-ink,#111513);font-family:inherit}
.sct-booking .sct-coupon-label{display:block!important;margin:0 0 12px;padding:0;font:inherit;font-size:13px;font-weight:500;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--sc-ink,#111513)}
.sct-booking .sct-coupon-label span{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:#66706c}
.sct-booking .sct-coupon-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;width:100%}
.sct-booking .sct-coupon-controls input[name="coupon_code"]{display:block;box-sizing:border-box;flex:1 1 220px;min-width:0;width:auto;max-width:100%;height:52px;min-height:52px;margin:0;padding:0 16px;border:1px solid var(--sc-border,#ccc9c0);border-radius:0;background:transparent;box-shadow:none;color:#111513;font-family:inherit;font-size:15px;font-weight:400;line-height:normal;letter-spacing:0;outline-offset:3px}
.sct-booking .sct-coupon-controls input::placeholder{color:#777e79;opacity:1}
.sct-booking .sct-coupon-controls input:focus{border-color:#111513;outline:1px solid #111513}
.sct-booking .sct-coupon-controls button.sct-apply-coupon{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:146px;height:52px;min-height:52px;margin:0;padding:0 26px;border:1px solid #111513;border-radius:0;background:#111513;color:#fff;font-family:inherit;font-size:12px;font-weight:500;line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;box-shadow:none;cursor:pointer}
.sct-booking .sct-coupon-controls button.sct-apply-coupon:hover{background:#303a35;border-color:#303a35;color:#fff}
.sct-booking .sct-coupon-controls button.sct-apply-coupon:disabled{opacity:.6;cursor:wait}
.sct-booking .sct-coupon-controls button.sct-remove-coupon{flex:0 0 auto;width:auto;margin:0;padding:8px 0;border:0;border-radius:0;background:transparent;color:#56615b;font:inherit;font-size:13px;text-decoration:underline;box-shadow:none;cursor:pointer}
.sct-booking .sct-coupon [hidden]{display:none!important}
.sct-booking .sct-coupon-message{margin:10px 0 0;padding:0;font-size:13px;line-height:1.7;color:#56615b;letter-spacing:0}
.sct-booking .sct-coupon-message:empty{display:none}
.sct-booking > p.sct-nonprofit-note{max-width:1100px;margin:16px 0 18px;font-size:16px;line-height:1.7;color:#626b66}
.sct-booking > p.sct-nonprofit-note em{font-style:italic}
.sct-discount-detail{font-size:14px;line-height:1.7}
@media(max-width:650px){
.sct-booking .sct-coupon{max-width:100%;margin:24px 0 30px}
.sct-booking .sct-coupon-controls{gap:10px}
.sct-booking .sct-coupon-controls input[name="coupon_code"]{flex:1 1 130px;font-size:16px;padding:0 12px}
.sct-booking .sct-coupon-controls button.sct-apply-coupon{min-width:112px;padding:0 16px;font-size:11px}
.sct-booking > p.sct-nonprofit-note{margin:12px 0 16px;font-size:13px;line-height:1.7}
}
