#ticketflow-app,#ticketflow-bookings{--ink:#17171a;--muted:#6f7280;--line:#e8e9ee;--soft:#f6f7f9;--accent:#f84464;--accent2:#d92b4a;--nav:#1f2533;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff}.tfw-shell{max-width:1240px;margin:0 auto;padding:0 22px 72px}.tfw-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:26px}.tfw-brand{display:flex;align-items:center;gap:10px;font-size:20px}.tfw-logo-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900}.tfw-top-actions{display:flex;gap:10px;align-items:center}.tfw-top-actions a{color:var(--ink);text-decoration:none;font-weight:700;padding:9px 12px;border-radius:10px}.tfw-top-actions .tfw-signin{background:var(--nav);color:#fff}.tfw-premium-hero{min-height:390px;border-radius:28px;background:linear-gradient(120deg,#17191f,#303647) center/cover no-repeat;position:relative;overflow:hidden;display:flex;align-items:flex-end;box-shadow:0 20px 60px rgba(24,29,39,.16)}.tfw-premium-hero:before,.tfw-detail-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,18,.85),rgba(9,12,18,.3) 58%,rgba(9,12,18,.08)),linear-gradient(0deg,rgba(8,10,15,.55),transparent 55%)}.tfw-hero-overlay{position:relative;z-index:1;max-width:680px;padding:46px;color:#fff}.tfw-hero-overlay h1{font-size:clamp(40px,5vw,66px);line-height:1.02;margin:14px 0 10px;color:#fff;letter-spacing:-.04em}.tfw-hero-overlay p{font-size:17px;opacity:.86}.tfw-hero-overlay button,.tfw-card button,#tfw-hold,#tfw-checkout-btn,#tfw-demo-pay,.tfw-button{border:0;background:var(--accent);color:#fff!important;border-radius:12px;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:none}.tfw-hero-overlay button:hover,.tfw-card button:hover,#tfw-hold:hover,#tfw-checkout-btn:hover,.tfw-button:hover{background:var(--accent2)}.tfw-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.tfw-discovery{margin:28px 0 8px;display:grid;gap:16px}.tfw-search-wrap{height:54px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:0 16px;background:#fff;box-shadow:0 7px 30px rgba(31,37,51,.06)}.tfw-search-wrap span{font-size:26px;color:var(--muted)}.tfw-search-wrap input{border:0!important;box-shadow:none!important;outline:0;width:100%;font-size:16px;background:transparent!important;padding:0!important}.tfw-chips{display:flex;gap:9px;overflow:auto;padding-bottom:4px}.tfw-chips button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:750;cursor:pointer}.tfw-chips button.active{background:var(--nav);color:#fff;border-color:var(--nav)}.tfw-section-head{display:flex;align-items:end;justify-content:space-between;margin:34px 0 18px}.tfw-section-head h1,.tfw-section-head h2{margin:3px 0 0;font-size:30px;letter-spacing:-.025em}.tfw-section-head>span{color:var(--muted)}.tfw-eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--accent)}.tfw-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.tfw-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(31,37,51,.06);cursor:pointer;transition:.22s ease}.tfw-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(31,37,51,.12)}.tfw-poster{height:340px;background:#252936 center/cover no-repeat;position:relative}.tfw-card-badge,.tfw-trending{position:absolute;top:12px;left:12px;background:rgba(16,18,24,.78);color:#fff;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:850;backdrop-filter:blur(8px)}.tfw-trending{left:auto;right:12px;background:var(--accent)}.tfw-card-body{padding:16px}.tfw-meta-row{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.tfw-card-body h3{font-size:19px;margin:8px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tfw-next{color:var(--muted);font-size:13px;margin:0 0 16px}.tfw-card-foot{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.tfw-card-foot div{display:grid}.tfw-card-foot small{color:var(--muted)}.tfw-card-foot strong{font-size:17px}.tfw-back{border:0;background:transparent;color:var(--ink);font-weight:800;cursor:pointer;padding:8px 0;margin-bottom:14px}.tfw-detail-hero{min-height:410px;border-radius:28px;background:#252936 center/cover no-repeat;position:relative;overflow:hidden;display:flex;align-items:flex-end}.tfw-detail-info{position:relative;z-index:1;color:#fff;padding:44px;max-width:730px}.tfw-detail-info h1{color:#fff;font-size:clamp(42px,5vw,64px);letter-spacing:-.04em;line-height:1.02;margin:12px 0}.tfw-detail-info p{font-size:16px;line-height:1.7;opacity:.88}.tfw-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.tfw-detail-tags span{background:rgba(255,255,255,.13);padding:6px 9px;border-radius:8px;font-size:12px}.tfw-content-grid{display:grid;grid-template-columns:1fr 300px;gap:34px;margin-top:28px}.tfw-date-group{margin-bottom:24px}.tfw-date-group>h3{font-size:15px;margin-bottom:10px}.tfw-shows{display:grid;gap:10px}.tfw-shows button{display:grid;grid-template-columns:120px 1fr auto;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;transition:.18s}.tfw-shows button:hover{border-color:#c9ccd4;box-shadow:0 8px 24px rgba(31,37,51,.08)}.tfw-shows button>div:first-child{display:grid;gap:4px}.tfw-shows button>div:first-child strong{font-size:16px}.tfw-shows button span{font-size:12px;color:var(--muted)}.tfw-show-venue{display:grid;gap:4px}.tfw-show-price{font-weight:850;color:var(--accent)}.tfw-show-price em{font-size:24px;font-style:normal;margin-left:8px}.tfw-detail-side{display:grid;gap:12px;height:max-content;position:sticky;top:20px}.tfw-info-card{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:12px}.tfw-info-card>span{width:32px;height:32px;border-radius:10px;background:#fff0f3;color:var(--accent);display:grid;place-items:center;font-weight:900}.tfw-info-card b{font-size:14px}.tfw-info-card p{font-size:12px;color:var(--muted);margin:3px 0 0;line-height:1.5}.tfw-seat-shell{max-width:1380px}.tfw-seat-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.tfw-seat-header h1{font-size:32px;margin:4px 0}.tfw-seat-header p{color:var(--muted)}.tfw-seat-counter{display:flex;align-items:baseline;gap:5px;background:var(--nav);color:#fff;border-radius:14px;padding:12px 16px}.tfw-seat-counter b{font-size:24px}.tfw-seat-counter span{font-size:12px}.tfw-seat-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.tfw-seat-main{background:var(--soft);border-radius:22px;padding:30px 18px;min-height:560px}.tfw-stage{width:72%;height:44px;margin:0 auto 42px;border-top:5px solid #b7bdc8;border-radius:50% 50% 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;color:#8a8f9c;font-size:10px;letter-spacing:.18em;background:linear-gradient(#e9ebef,transparent)}.tfw-rows{overflow:auto;padding-bottom:20px}.tfw-row{display:grid;grid-template-columns:28px minmax(650px,1fr) 28px;align-items:center;margin:8px 0}.tfw-row>span{text-align:center;color:var(--muted);font-size:11px;font-weight:850}.tfw-row>div{display:flex;justify-content:center;gap:7px}.tfw-seat{width:35px;height:31px;border:0;background:transparent;cursor:pointer;padding:0;display:grid;place-items:center;position:relative}.tfw-seat i{position:absolute;width:28px;height:23px;border:1.5px solid #9ca3af;border-radius:7px 7px 4px 4px;background:#fff}.tfw-seat small{z-index:1;font-size:9px;color:#667085}.tfw-seat.selected i{background:var(--accent);border-color:var(--accent)}.tfw-seat.selected small{color:#fff}.tfw-seat.booked i,.tfw-seat.held i{background:#d8dbe2;border-color:#d8dbe2}.tfw-seat.booked small,.tfw-seat.held small{color:#9ca3af}.tfw-seat.mine i{border-color:var(--accent);border-width:2px}.tfw-legend{display:flex;gap:20px;justify-content:center;color:var(--muted);font-size:12px;margin-top:20px}.tfw-legend span{display:flex;align-items:center;gap:6px}.tfw-legend i{width:15px;height:13px;border-radius:4px;border:1px solid #9ca3af;background:#fff}.tfw-legend i.selected{background:var(--accent);border-color:var(--accent)}.tfw-legend i.unavailable{background:#d8dbe2;border-color:#d8dbe2}.tfw-cart,.tfw-paybox{border:1px solid var(--line);border-radius:20px;padding:20px;height:max-content;position:sticky;top:20px;background:#fff;box-shadow:0 10px 34px rgba(31,37,51,.07)}.tfw-cart h3,.tfw-paybox h3{margin:5px 0 16px;font-size:22px}.tfw-cart-empty{padding:24px 12px;color:var(--muted);text-align:center;background:var(--soft);border-radius:12px;font-size:13px}.tfw-cart-items>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.tfw-cart-items span{display:grid}.tfw-cart-items small{color:var(--muted)}.tfw-price-lines{padding-top:16px}.tfw-price-lines>div{display:flex;justify-content:space-between}.tfw-price-lines small{color:var(--muted)}.tfw-cart button,.tfw-paybox button{width:100%;margin-top:18px}.tfw-cart button:disabled{opacity:.45;cursor:not-allowed}.tfw-small{font-size:11px;color:var(--muted);text-align:center;line-height:1.5}.tfw-checkout{display:grid;grid-template-columns:1fr 350px;gap:34px;max-width:980px;margin:20px auto}.tfw-checkout h1{font-size:42px;margin:4px 0 24px}.tfw-order-card{border:1px solid var(--line);border-radius:20px;overflow:hidden}.tfw-order-event{display:flex;gap:16px;padding:18px;background:var(--soft);align-items:center}.tfw-mini-poster{width:74px;height:96px;border-radius:10px;background:#252936 center/cover no-repeat}.tfw-order-event h3{margin:0 0 5px}.tfw-order-event p{margin:0;color:var(--muted)}.tfw-summary{padding:8px 18px}.tfw-summary p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;margin:0}.tfw-hold-note{padding:14px 18px;background:#fff8e5;color:#7a5a00;font-size:12px}.tfw-trust{margin-top:18px;color:var(--muted);font-size:12px;line-height:1.8}.tfw-success{text-align:center;max-width:600px;margin:55px auto;border:1px solid var(--line);border-radius:22px;padding:34px;background:#fff;box-shadow:0 12px 44px rgba(31,37,51,.08)}.tfw-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e8f8ee;color:#14863c;font-size:28px;font-weight:900;margin:0 auto 14px}.tfw-success .tfw-summary{text-align:left;margin:20px 0}.tfw-booking-code{font-size:26px;letter-spacing:.08em;font-weight:900;background:var(--soft);padding:15px;border-radius:12px;margin:10px 0 24px}.tfw-page-title{margin:30px 0}.tfw-page-title h1{font-size:42px;margin:4px 0}.tfw-page-title p{color:var(--muted)}.tfw-booking-list{display:grid;gap:20px}.tfw-booking{border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff;box-shadow:0 8px 30px rgba(31,37,51,.05)}.tfw-booking-head{display:flex;justify-content:space-between;gap:20px}.tfw-booking-head h2{margin:8px 0 5px}.tfw-booking-head p{color:var(--muted);margin:0}.tfw-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1f7;font-size:11px;text-transform:uppercase;font-weight:850}.tfw-status.paid{background:#e8f8ee;color:#14863c}.tfw-booking-ref{text-align:right;display:grid;height:max-content}.tfw-booking-ref small{color:var(--muted)}.tfw-booking-ref b{font-size:17px}.tfw-ticket-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.tfw-pass{display:grid;grid-template-columns:1fr 150px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#fff,#fafbfc)}.tfw-pass-main{padding:18px}.tfw-pass-main h3{margin:5px 0}.tfw-pass-main p{font-size:12px;color:var(--muted)}.tfw-pass-seat{display:grid;margin-top:18px}.tfw-pass-seat span{font-size:9px;color:var(--muted);font-weight:800}.tfw-pass-seat b{font-size:28px}.tfw-pass-seat small{color:var(--muted)}.tfw-pass-stub{border-left:1px dashed #cfd2da;padding:15px;display:grid;place-items:center;text-align:center;gap:7px}.tfw-faux-qr{width:82px;height:82px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:2px;background:#fff;padding:4px;border:1px solid var(--line)}.tfw-faux-qr i{background:#17171a}.tfw-pass-stub code{font-size:8px;overflow-wrap:anywhere}.tfw-ticket-status{font-size:10px;font-weight:850;color:#14863c}.tfw-ticket-status.used{color:#8a8f9c}.tfw-pending,.tfw-empty{border:1px solid var(--line);border-radius:18px;padding:30px;text-align:center;background:#fff}.tfw-wide{grid-column:1/-1}.tfw-loading,.tfw-error{padding:50px;text-align:center}.tfw-error{color:#b42318}.tfw-skeleton{background:linear-gradient(90deg,#f1f2f4,#fafafa,#f1f2f4);background-size:200% 100%;animation:tfwPulse 1.3s infinite}.tfw-skeleton-hero{height:390px;border-radius:28px}.tfw-skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:28px}.tfw-skeleton-card{height:440px;border-radius:18px}@keyframes tfwPulse{to{background-position:-200% 0}}
@media(max-width:1050px){.tfw-grid{grid-template-columns:repeat(3,1fr)}.tfw-ticket-list{grid-template-columns:1fr}.tfw-content-grid{grid-template-columns:1fr}.tfw-detail-side{grid-template-columns:repeat(3,1fr);position:static}}
@media(max-width:780px){.tfw-shell{padding:0 14px 50px}.tfw-topbar{height:64px}.tfw-premium-hero{min-height:330px;border-radius:20px}.tfw-hero-overlay{padding:28px}.tfw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tfw-poster{height:260px}.tfw-card-body{padding:12px}.tfw-card-body h3{font-size:16px}.tfw-card-foot{align-items:center}.tfw-card-foot button{padding:9px 11px}.tfw-detail-hero{min-height:360px;border-radius:20px}.tfw-detail-info{padding:26px}.tfw-detail-side{grid-template-columns:1fr}.tfw-shows button{grid-template-columns:80px 1fr auto;padding:12px}.tfw-seat-layout,.tfw-checkout{grid-template-columns:1fr}.tfw-cart,.tfw-paybox{position:static}.tfw-seat-header{align-items:start}.tfw-seat-counter{display:none}.tfw-seat-main{padding:24px 6px}.tfw-booking-head{display:grid}.tfw-booking-ref{text-align:left}.tfw-pass{grid-template-columns:1fr 125px}.tfw-page-title h1{font-size:36px}.tfw-skeleton-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.tfw-top-actions a:first-child{display:none}.tfw-grid{grid-template-columns:1fr 1fr}.tfw-poster{height:220px}.tfw-card-foot small{display:none}.tfw-card-foot strong{font-size:14px}.tfw-section-head h1,.tfw-section-head h2{font-size:25px}.tfw-pass{grid-template-columns:1fr}.tfw-pass-stub{border-left:0;border-top:1px dashed #cfd2da}.tfw-skeleton-card{height:350px}}
/* TicketFlow 2.0 additions */
.tfw-filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tfw-filter-row select{border:1px solid #e4e7ec;border-radius:999px;padding:10px 34px 10px 14px;background:#fff;font:inherit;color:#344054}.tfw-heart{position:absolute;right:12px;top:48px;z-index:3;width:38px!important;height:38px!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.92)!important;color:#98a2b3!important;padding:0!important;font-size:20px!important;box-shadow:0 4px 14px rgba(16,24,40,.14)}.tfw-heart.active,.tfw-detail-heart.active{color:#f84464!important}.tfw-detail-kicker,.tfw-detail-actions,.tfw-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tfw-detail-heart{border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:8px 13px}.tfw-outline-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}.tfw-big-rating{background:rgba(255,255,255,.14);padding:9px 12px;border-radius:10px}.tfw-big-rating small{opacity:.8}.tfw-card-rating{font-size:13px;font-weight:700;color:#344054;margin:5px 0 10px}.tfw-card-rating small{font-weight:400;color:#667085}.tfw-soldout{position:absolute;left:12px;top:48px;background:#101828;color:#fff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.tfw-red{color:#d92d20}.tfw-show-price small{display:block;color:#667085;font-weight:500;margin-top:2px}.tfw-terms,.tfw-reviews{margin-top:34px;padding-top:26px;border-top:1px solid #eaecf0}.tfw-terms p{white-space:pre-line;color:#667085}.tfw-review-form{padding:18px;background:#f9fafb;border:1px solid #eaecf0;border-radius:14px;margin-bottom:20px}.tfw-stars{display:flex;gap:4px}.tfw-stars button{font-size:28px;border:0;background:none;color:#d0d5dd;padding:2px;cursor:pointer}.tfw-stars button.active{color:#f79009}.tfw-review-form textarea{width:100%;min-height:90px;margin:10px 0;border:1px solid #d0d5dd;border-radius:10px;padding:10px}.tfw-review-form>button{border:0;background:#f84464;color:#fff;padding:10px 14px;border-radius:9px;font-weight:700}.tfw-review-list{display:grid;gap:12px}.tfw-review-list article{padding:15px;border:1px solid #eaecf0;border-radius:12px;background:#fff}.tfw-review-list article>div{display:flex;justify-content:space-between;gap:12px}.tfw-review-list article span{color:#f79009}.tfw-review-list article p{margin:8px 0 0;color:#475467}.tfw-muted{color:#667085}.tfw-checkout-card section{padding:20px 0;border-top:1px solid #eaecf0}.tfw-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tfw-form-grid label{font-size:12px;font-weight:700;color:#475467}.tfw-form-grid input,.tfw-promo input{display:block;width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;font:inherit}.tfw-promo{display:flex;gap:8px}.tfw-promo button{border:0;background:#101828;color:#fff;border-radius:9px;padding:0 16px;font-weight:700}.tfw-success-text{color:#067647!important}.tfw-error-text{color:#b42318!important}.tfw-agree{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#475467;margin:16px 0}.tfw-real-qr{background:#fff;border-radius:9px;padding:6px;line-height:0}.tfw-real-qr svg{max-width:155px;height:auto}.tfw-qr-fallback{font-family:monospace;word-break:break-all}.tfw-error-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#fee4e2;color:#b42318;font-size:28px;font-weight:900}.tfw-pass-stub code{font-size:10px;word-break:break-all;max-width:175px}.tfw-card button[disabled],.tfw-shows button[disabled]{cursor:not-allowed;opacity:.55}.tfw-seat em{position:absolute;font-size:8px;right:-2px;top:-7px}.tfw-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:800px){.tfw-form-grid{grid-template-columns:1fr}.tfw-filter-row{align-items:stretch}.tfw-filter-row select{width:100%}.tfw-admin-grid{grid-template-columns:1fr}.tfw-pass{grid-template-columns:1fr!important}.tfw-pass-stub{border-left:0!important;border-top:1px dashed #d0d5dd!important}}
.tfw-seat.blocked i{background:#e4e7ec;border-color:#d0d5dd}.tfw-seat.blocked small{color:#98a2b3}.tfw-seat.blocked{cursor:not-allowed}

/* TicketFlow customer accounts */
.tfw-auth-overlay{position:fixed;inset:0;z-index:999999;background:rgba(16,24,40,.62);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.tfw-auth-card{position:relative;width:min(460px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 80px rgba(16,24,40,.28)}.tfw-auth-card h2{font-size:30px;margin:7px 0 8px}.tfw-auth-card>p{color:#667085;margin:0 0 22px;line-height:1.55}.tfw-auth-card label{display:block;font-size:12px;font-weight:750;color:#475467;margin:12px 0}.tfw-auth-card label input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d0d5dd;border-radius:11px;padding:12px 13px;font:inherit}.tfw-auth-card label input:focus{outline:2px solid rgba(248,68,100,.16);border-color:#f84464}.tfw-auth-close{position:absolute;right:16px;top:14px;border:0;background:#f2f4f7;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.tfw-auth-submit{width:100%;margin-top:10px}.tfw-auth-switch{text-align:center;margin-top:18px;color:#667085;font-size:13px}.tfw-auth-switch button,.tfw-link-button{border:0;background:none;color:#f84464;font:inherit;font-weight:750;cursor:pointer;padding:0}.tfw-auth-remember{display:flex!important;gap:8px;align-items:center}.tfw-account-name{font-size:13px;color:#667085;font-weight:700}.tfw-create-account{background:#f84464;color:#fff!important;padding:9px 13px;border-radius:9px}.tfw-checkout-card input[readonly]{background:#f2f4f7;color:#667085;cursor:not-allowed}
@media(max-width:780px){.tfw-auth-card{padding:24px}.tfw-top-actions .tfw-account-name{display:none}.tfw-create-account{display:none}}

.tfw-lookup-card{max-width:620px;margin:48px auto;background:#fff;border:1px solid #e4e7ec;border-radius:22px;padding:32px;box-shadow:0 18px 55px rgba(16,24,40,.08)}
.tfw-lookup-card h1{margin:8px 0 8px}.tfw-lookup-card form{display:grid;gap:16px;margin-top:24px}.tfw-lookup-card label{display:grid;gap:7px;font-weight:700}.tfw-lookup-card input{min-height:52px;border:1px solid #d0d5dd;border-radius:12px;padding:0 14px;font:inherit}
.tfw-ticket-wrap{margin-bottom:14px}.tfw-download-ticket{margin-top:10px;border:1px solid #f84464;background:#fff;color:#f84464;border-radius:10px;padding:10px 15px;font-weight:800;cursor:pointer}.tfw-download-ticket:hover{background:#fff3f5}.tfw-ticket-actions-bottom{text-align:center;margin:24px 0 50px}

.tfw-ticket-address{margin-top:-4px!important;color:#667085!important;font-size:13px!important;line-height:1.35!important;max-width:520px}.tfw-pass-main>p strong{color:#101828}

/* v2.7 professional auditorium / balcony seat maps */
.tfw-auditorium{display:block!important;overflow:auto;padding:8px 18px 36px}
.tfw-seat-block{margin:18px auto 34px;min-width:620px;text-align:center}
.tfw-seat-block>h4{margin:0 0 16px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#667085}
.tfw-seat-block .tfw-row{min-height:44px}
.tfw-seat-block+.tfw-seat-block{padding-top:18px;border-top:1px dashed #e2e6ec}
@media(max-width:700px){.tfw-auditorium{padding-left:0;padding-right:0}.tfw-seat-block{min-width:580px}}

/* v2.7.3 customer-friendly auditorium */
.tfw-seat-layout{align-items:flex-start}
.tfw-seat-main{min-width:0}
.tfw-venue-map{background:#f7f9fc;border:1px solid #e7ebf1;border-radius:20px;padding:18px 14px 26px;overflow:hidden}
.tfw-map-help{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:12px;color:#667085;margin:2px 0 16px}
.tfw-auditorium{overflow:auto;padding:0 8px 28px;scrollbar-width:thin}
.tfw-floor-zone{min-width:880px;margin:18px auto 34px}
.tfw-zone-title{text-align:center;font-size:11px;font-weight:800;letter-spacing:2.2px;color:#677386;margin:0 auto 16px}
.tfw-zone-title:before,.tfw-zone-title:after{content:"";display:inline-block;width:70px;height:1px;background:#d9dee7;vertical-align:middle;margin:0 12px}
.tfw-zone-grid{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(390px,1.4fr) minmax(190px,.72fr);gap:18px;align-items:start;justify-content:center}
.tfw-zone-other{grid-column:1/-1;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.tfw-seat-block{text-align:center;margin:0 0 18px}
.tfw-seat-block>h4{margin:0 0 9px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#87909e;font-weight:700}
.tfw-seat-block .tfw-row{display:grid!important;grid-template-columns:22px auto 22px;align-items:center;justify-content:center;gap:6px;min-height:34px;margin:2px 0;transform:translateX(var(--tfw-offset,0))}
.tfw-row-label{font-size:10px!important;color:#667085;font-weight:800;text-align:center}
.tfw-row-seats{display:flex;gap:4px;justify-content:center;align-items:flex-start;white-space:nowrap}
.tfw-row-seats .tfw-seat{transform:translateY(var(--tfw-seat-y,0));flex:0 0 auto}
.tfw-zone-side .tfw-seat{width:26px;height:26px}
.tfw-zone-center .tfw-seat{width:28px;height:28px}
.tfw-seat small{font-size:9px!important;line-height:1!important}
.tfw-stage{margin-bottom:16px!important}
.tfw-stage:before{content:"FRONT";display:block;font-size:9px;letter-spacing:1.7px;color:#9aa3b1;margin-bottom:5px}
.tfw-cart{position:sticky!important;top:24px}
.tfw-legend{flex-wrap:wrap;justify-content:center;gap:16px!important}
.tfw-legend-tip{color:#7b8491;font-size:11px}
@media(max-width:1100px){
 .tfw-floor-zone{min-width:780px}
 .tfw-zone-grid{grid-template-columns:175px 360px 175px;gap:12px}
 .tfw-zone-side .tfw-seat,.tfw-zone-center .tfw-seat{width:25px;height:25px}
}
@media(max-width:760px){
 .tfw-seat-layout{display:block!important}
 .tfw-cart{position:static!important;margin-top:18px}
 .tfw-venue-map{padding:14px 6px 20px;border-radius:14px}
 .tfw-auditorium{padding-left:0;padding-right:0}
 .tfw-floor-zone{min-width:760px}
 .tfw-map-help{justify-content:flex-start;padding:0 10px}
 .tfw-zone-title{text-align:left;padding-left:24px}
 .tfw-zone-title:before,.tfw-zone-title:after{display:none}
}

/* v2.7.4 auditorium collision/layout fix */
.tfw-seat-shell{max-width:1240px!important}
.tfw-seat-shell .tfw-shell-inner{max-width:1240px!important}
.tfw-seat-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 285px!important;gap:22px!important}
.tfw-seat-main{width:100%!important;min-width:0!important}
.tfw-venue-map{width:100%!important;max-width:none!important}
.tfw-auditorium{width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:24px}
.tfw-floor-zone{min-width:0!important;width:100%!important;max-width:100%!important;margin:18px auto 36px}
.tfw-zone-grid{display:grid!important;grid-template-columns:minmax(180px,.8fr) minmax(360px,1.5fr) minmax(180px,.8fr)!important;gap:24px!important;width:100%;align-items:start}
.tfw-zone-left,.tfw-zone-right,.tfw-zone-center{min-width:0!important;overflow:visible}
.tfw-zone-left{padding-right:4px}
.tfw-zone-right{padding-left:4px}
.tfw-seat-block{overflow:visible!important}
.tfw-seat-block .tfw-row{transform:translateX(var(--tfw-offset,0))!important;max-width:100%;overflow:visible}
.tfw-row-seats{gap:3px!important;max-width:100%;justify-content:center}
.tfw-zone-side .tfw-row-seats{justify-content:center}
.tfw-zone-side .tfw-seat{width:24px!important;height:24px!important;min-width:24px!important}
.tfw-zone-center .tfw-seat{width:25px!important;height:25px!important;min-width:25px!important}
.tfw-seat small{font-size:8px!important}
.tfw-cart{width:285px!important;min-width:285px!important}
@media(max-width:1180px){
 .tfw-seat-shell{max-width:1080px!important}
 .tfw-zone-grid{grid-template-columns:minmax(160px,.75fr) minmax(330px,1.45fr) minmax(160px,.75fr)!important;gap:16px!important}
 .tfw-zone-side .tfw-seat,.tfw-zone-center .tfw-seat{width:23px!important;height:23px!important;min-width:23px!important}
}
@media(max-width:900px){
 .tfw-seat-layout{display:block!important}
 .tfw-cart{width:100%!important;min-width:0!important;position:static!important;margin-top:18px}
 .tfw-floor-zone{min-width:760px!important}
 .tfw-zone-grid{grid-template-columns:180px 360px 180px!important;gap:16px!important}
 .tfw-auditorium{overflow-x:auto!important}
}

/* v2.8.0 exact coordinate seat map */
.tfw-exact-map-scroll{overflow:auto;border-radius:14px;background:#f7f9fc;padding:10px;max-height:760px}
.tfw-exact-map{position:relative;width:1800px;height:1200px;margin:0 auto;background:#fff;border:1px solid #e2e7ee;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.02)}
.tfw-exact-stage{position:absolute;left:450px;top:22px;width:900px;height:48px;border-radius:0 0 50% 50%;background:#e8ecf2;border:1px solid #cfd6df;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:2.2px;color:#667085}
.tfw-exact-seat{position:absolute!important;width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;z-index:2}
.tfw-exact-seat:hover{z-index:10}
@media(max-width:760px){
 .tfw-exact-map-scroll{max-height:620px}
 .tfw-exact-map{transform-origin:top left}
}

/* v2.9.0 exact-pattern customer map */
.tfw-exact-zone{position:absolute;top:92px;height:1050px;border:1px dashed #e1e5eb;border-radius:18px;color:#b0b6c0;font-size:10px;font-weight:800;letter-spacing:1.4px;padding:10px;pointer-events:none;z-index:0}
.tfw-exact-left{left:60px;width:510px}
.tfw-exact-center{left:600px;width:600px}
.tfw-exact-right{right:60px;width:510px}
.tfw-exact-seat{z-index:2!important}

/* v3.0 BookMyShow-style master hall renderer */
.tfw-bms-map{overflow:auto;background:#fff;border:1px solid #eceff2;border-radius:16px;padding:18px;-webkit-overflow-scrolling:touch}
.tfw-bms-canvas{min-width:900px;max-width:1500px;margin:auto;padding:10px 12px 36px}
.tfw-bms-screen{width:58%;margin:0 auto 38px;text-align:center;color:#8d949d;font-size:10px;letter-spacing:2px}
.tfw-bms-screen:before{content:"";display:block;height:7px;background:#dfe4e9;border-radius:50%;box-shadow:0 8px 18px rgba(0,0,0,.08);margin-bottom:8px}
.tfw-bms-floor{margin:26px 0 40px}
.tfw-bms-floor-title{text-align:left;border-bottom:1px solid #edf0f2;padding-bottom:8px;margin-bottom:18px;color:#8b9199;font-size:11px;font-weight:700;letter-spacing:1.2px}
.tfw-bms-zones{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,1.5fr) minmax(0,1fr);gap:34px;align-items:start}
.tfw-bms-block{min-width:max-content;margin-bottom:22px}
.tfw-bms-block h4{text-align:center;margin:0 0 9px;color:#9aa1aa;font-size:10px;text-transform:uppercase;letter-spacing:1px}
.tfw-bms-row{display:grid;grid-template-columns:22px auto 22px;gap:5px;align-items:center;margin:7px 0}
.tfw-bms-row>b{font-size:10px;color:#7d848d;text-align:center}
.tfw-bms-row>div{display:grid;grid-auto-flow:column;grid-auto-columns:28px;gap:7px;justify-content:center}
.tfw-bms-seat{width:28px!important;height:25px!important;min-width:28px!important;padding:0!important;margin:0!important;border:1px solid #46a34a!important;border-radius:4px!important;background:#fff!important;color:#2e7d32!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:9px!important;font-weight:700!important}
.tfw-bms-seat:hover:not(:disabled),.tfw-bms-seat.selected{background:#46a34a!important;color:#fff!important}
.tfw-bms-seat.unavailable,.tfw-bms-seat.sold,.tfw-bms-seat.held,.tfw-bms-seat:disabled{background:#e8eaed!important;color:#a5abb2!important;border-color:#e8eaed!important}
.tfw-bms-seat i,.tfw-bms-seat small{display:none!important}
.tfw-bms-seat em{position:absolute;margin:-20px 0 0 20px;font-size:8px;font-style:normal}
.tfw-bms-gap{width:28px;height:25px;display:block;visibility:hidden}
@media(max-width:900px){.tfw-bms-canvas{min-width:780px}.tfw-bms-zones{gap:24px;grid-template-columns:minmax(0,1fr) minmax(280px,1.4fr) minmax(0,1fr)}}

/* v3.0.1 legacy hall compatibility */
.tfw-bms-canvas{min-width:1080px!important}
.tfw-bms-zones{grid-template-columns:minmax(260px,1fr) minmax(420px,1.6fr) minmax(260px,1fr)!important;gap:26px!important}
.tfw-bms-row>div{grid-auto-columns:24px!important;gap:5px!important}
.tfw-bms-seat{width:24px!important;min-width:24px!important;height:23px!important;font-size:8px!important}
.tfw-bms-gap{width:24px!important;height:23px!important}
@media(max-width:900px){.tfw-bms-canvas{min-width:980px!important}}

/* v3.0.5 Public auditorium spacing/readability fix */
.tfw-bms-map{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:22px 18px 28px!important;
  scroll-behavior:smooth;
}
.tfw-bms-canvas{
  width:max-content!important;
  min-width:1320px!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:12px 28px 48px!important;
}
.tfw-bms-screen{
  width:760px!important;
  min-width:760px!important;
  margin:0 auto 46px!important;
}
.tfw-bms-floor{
  margin:34px 0 54px!important;
}
.tfw-bms-floor-title{
  margin-bottom:24px!important;
  padding-bottom:10px!important;
}
.tfw-bms-zones{
  display:grid!important;
  grid-template-columns:380px 560px 380px!important;
  gap:54px!important;
  align-items:start!important;
  justify-content:center!important;
}
.tfw-bms-block{
  width:100%!important;
  min-width:0!important;
  margin-bottom:28px!important;
  overflow:visible!important;
}
.tfw-bms-block h4{
  text-align:center!important;
  margin-bottom:16px!important;
  white-space:nowrap!important;
}
.tfw-bms-row{
  display:grid!important;
  grid-template-columns:26px minmax(max-content,1fr) 26px!important;
  align-items:center!important;
  gap:10px!important;
  margin:9px 0!important;
  overflow:visible!important;
}
.tfw-bms-row>b{
  width:26px!important;
  min-width:26px!important;
  text-align:center!important;
  line-height:24px!important;
  position:relative!important;
  z-index:4!important;
  background:#fff!important;
}
.tfw-bms-row>div{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:27px!important;
  gap:7px!important;
  justify-content:center!important;
  align-items:center!important;
  min-width:max-content!important;
  overflow:visible!important;
}
.tfw-bms-seat{
  width:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  height:25px!important;
  min-height:25px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  position:relative!important;
  transform:none!important;
  z-index:2!important;
  flex:0 0 27px!important;
}
.tfw-bms-gap{
  width:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  height:25px!important;
  display:block!important;
  visibility:hidden!important;
}
.tfw-bms-left{
  justify-self:end!important;
}
.tfw-bms-right{
  justify-self:start!important;
}
.tfw-bms-legend{
  min-width:900px!important;
}
@media(max-width:1200px){
  .tfw-bms-canvas{min-width:1240px!important;padding-left:18px!important;padding-right:18px!important}
  .tfw-bms-zones{grid-template-columns:350px 520px 350px!important;gap:42px!important}
}
@media(max-width:900px){
  .tfw-bms-map{padding-left:8px!important;padding-right:8px!important}
  .tfw-bms-canvas{min-width:1180px!important}
  .tfw-bms-zones{grid-template-columns:330px 500px 330px!important;gap:36px!important}
}

.tfw-bms-zone{min-width:0!important;overflow:visible!important}
.tfw-bms-zone-left{padding-right:18px!important;border-right:1px dashed #eef0f2!important}
.tfw-bms-zone-center{padding:0 18px!important}
.tfw-bms-zone-right{padding-left:18px!important;border-left:1px dashed #eef0f2!important}

/* v3.0.6 Public auditorium polish */
.tfw-bms-canvas{
  min-width:1480px!important;
  padding-left:42px!important;
  padding-right:42px!important;
}
.tfw-bms-zones{
  grid-template-columns:410px 610px 410px!important;
  column-gap:68px!important;
}
.tfw-bms-zone-left{
  padding-right:28px!important;
  border-right:1px dashed #dfe4e9!important;
}
.tfw-bms-zone-center{
  padding-left:22px!important;
  padding-right:22px!important;
}
.tfw-bms-zone-right{
  padding-left:28px!important;
  border-left:1px dashed #dfe4e9!important;
}
.tfw-bms-row{
  grid-template-columns:34px minmax(max-content,1fr) 34px!important;
  gap:12px!important;
  margin:10px 0!important;
}
.tfw-bms-row>b{
  width:34px!important;
  min-width:34px!important;
  height:27px!important;
  line-height:27px!important;
  font-size:10px!important;
  font-weight:700!important;
  color:#727b86!important;
  background:#fff!important;
  border-radius:4px!important;
}
.tfw-bms-row>div{
  grid-auto-columns:29px!important;
  gap:7px!important;
}
.tfw-bms-seat{
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:26px!important;
  min-height:26px!important;
  border-radius:5px!important;
  font-size:9px!important;
}
.tfw-bms-gap{
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:26px!important;
}
.tfw-bms-block h4{
  margin:0 0 18px!important;
  font-size:10px!important;
  letter-spacing:1.15px!important;
  color:#929aa4!important;
}
.tfw-bms-floor-title{
  font-size:11px!important;
  letter-spacing:1.25px!important;
  color:#858e99!important;
}
.tfw-bms-screen{
  width:820px!important;
  min-width:820px!important;
  margin-bottom:52px!important;
}
.tfw-bms-screen:before{
  height:8px!important;
}
.tfw-bms-seat:hover:not(:disabled){
  transform:translateY(-1px)!important;
  box-shadow:0 2px 6px rgba(46,125,50,.16)!important;
}
.tfw-bms-seat.selected{
  transform:translateY(-1px)!important;
  box-shadow:0 2px 7px rgba(46,125,50,.2)!important;
}
@media(max-width:1300px){
  .tfw-bms-canvas{min-width:1380px!important}
  .tfw-bms-zones{grid-template-columns:390px 570px 390px!important;column-gap:56px!important}
}
@media(max-width:900px){
  .tfw-bms-canvas{min-width:1300px!important}
  .tfw-bms-zones{grid-template-columns:370px 540px 370px!important;column-gap:48px!important}
}

/* v3.0.7 STRUCTURAL seat-map fix
   Do not squeeze independent auditorium sections into fixed grid columns.
   Each Left/Center/Right section expands to its longest physical row. */
.tfw-bms-map{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-gutter:stable!important;
}
.tfw-bms-canvas{
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:18px 42px 52px!important;
  box-sizing:border-box!important;
}
.tfw-bms-floor{
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
}
.tfw-bms-zones{
  display:flex!important;
  grid-template-columns:none!important;
  width:max-content!important;
  min-width:100%!important;
  gap:0!important;
  column-gap:0!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:visible!important;
}
.tfw-bms-zone{
  display:block!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
}
.tfw-bms-aisle{
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  align-self:stretch!important;
  position:relative!important;
}
.tfw-bms-aisle:after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  border-left:1px dashed #e2e6ea!important;
}
.tfw-bms-block{
  display:block!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
}
.tfw-bms-row{
  display:flex!important;
  grid-template-columns:none!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin:9px 0!important;
  overflow:visible!important;
}
.tfw-bms-row-label{
  display:flex!important;
  flex:0 0 26px!important;
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  color:#747d88!important;
  position:relative!important;
  z-index:10!important;
}
.tfw-bms-seat-strip{
  display:flex!important;
  grid-auto-flow:unset!important;
  grid-auto-columns:unset!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.tfw-bms-seat{
  display:inline-flex!important;
  flex:0 0 29px!important;
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:26px!important;
  min-height:26px!important;
  box-sizing:border-box!important;
  margin:0!important;
  position:relative!important;
}
.tfw-bms-gap{
  display:block!important;
  flex:0 0 29px!important;
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:26px!important;
  margin:0!important;
  visibility:hidden!important;
}
.tfw-bms-screen{
  width:760px!important;
  min-width:760px!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.tfw-bms-floor-title{
  width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  .tfw-bms-canvas{padding-left:20px!important;padding-right:20px!important}
  .tfw-bms-aisle{flex-basis:64px!important;width:64px!important;min-width:64px!important}
}

/* v3.0.8 centered auditorium rows */
.tfw-bms-block{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.tfw-bms-block h4{
  width:100%!important;
  text-align:center!important;
}
.tfw-bms-row{
  width:100%!important;
  justify-content:center!important;
}
.tfw-bms-seat-strip{
  justify-content:center!important;
}
.tfw-bms-center-pad{
  pointer-events:none!important;
}

/* =========================================================
   TicketFlow v3.1.0 — Premium Public Seat Experience
   Public design only. Booking logic/data unchanged.
   ========================================================= */
.tfw-public-seat-card{
  background:#fff!important;
  border:1px solid #e9edf1!important;
  border-radius:18px!important;
  box-shadow:0 10px 34px rgba(16,24,40,.06)!important;
  overflow:hidden!important;
}
.tfw-seat-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:16px 18px!important;
  border-bottom:1px solid #eef1f4!important;
  background:#fff!important;
}
.tfw-seat-toolbar-title{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.tfw-seat-toolbar-title strong{
  font-size:15px!important;
  color:#182230!important;
}
.tfw-seat-toolbar-title span{
  font-size:11px!important;
  color:#8a94a0!important;
}
.tfw-seat-toolbar-actions{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
.tfw-map-nav{
  border:1px solid #dfe4ea!important;
  background:#fff!important;
  color:#344054!important;
  border-radius:8px!important;
  min-height:32px!important;
  padding:0 11px!important;
  font-size:11px!important;
  font-weight:600!important;
  cursor:pointer!important;
}
.tfw-map-nav:hover{
  border-color:#bdc5ce!important;
  background:#f8fafb!important;
}
.tfw-bms-map{
  background:#fbfcfd!important;
  border:0!important;
  border-radius:0!important;
  padding:28px 20px 32px!important;
  max-height:none!important;
  overscroll-behavior-x:contain!important;
}
.tfw-bms-canvas{
  background:#fff!important;
  border:1px solid #edf0f3!important;
  border-radius:16px!important;
  padding-top:34px!important;
  padding-bottom:56px!important;
  box-shadow:0 2px 10px rgba(16,24,40,.025)!important;
}
.tfw-bms-screen{
  color:#7b8490!important;
  font-size:10px!important;
  letter-spacing:2.2px!important;
  margin-bottom:60px!important;
}
.tfw-bms-screen:before{
  height:6px!important;
  background:linear-gradient(90deg,#eef1f4,#cfd6dd,#eef1f4)!important;
  border-radius:50%!important;
  box-shadow:0 8px 24px rgba(71,84,103,.12)!important;
}
.tfw-bms-floor{
  padding:0 24px!important;
  margin:26px 0 48px!important;
}
.tfw-bms-floor-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border-bottom:0!important;
  margin:0 0 24px!important;
  padding:0!important;
  color:#8d96a1!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:1.6px!important;
}
.tfw-bms-floor-title:before,.tfw-bms-floor-title:after{
  content:""!important;
  height:1px!important;
  background:#edf0f3!important;
  flex:1!important;
}
.tfw-bms-block h4{
  font-size:9px!important;
  font-weight:800!important;
  color:#a0a7b0!important;
  letter-spacing:1.35px!important;
  margin-bottom:20px!important;
}
.tfw-bms-row{
  margin:9px 0!important;
}
.tfw-bms-row-label{
  color:#69727e!important;
  font-size:10px!important;
  font-weight:800!important;
}
.tfw-bms-seat-strip{
  gap:7px!important;
}
.tfw-bms-seat{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:27px!important;
  min-height:27px!important;
  border:1.3px solid #32a852!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#23813d!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease!important;
}
.tfw-bms-seat:hover:not(:disabled){
  background:#eaf7ee!important;
  color:#1e7036!important;
  transform:translateY(-1px)!important;
  box-shadow:0 3px 8px rgba(46,125,50,.12)!important;
}
.tfw-bms-seat.selected,
.tfw-bms-seat.mine{
  background:#e63b62!important;
  color:#fff!important;
  border-color:#e63b62!important;
  box-shadow:0 3px 10px rgba(230,59,98,.2)!important;
}
.tfw-bms-seat.unavailable,
.tfw-bms-seat.sold,
.tfw-bms-seat.held,
.tfw-bms-seat:disabled{
  background:#e9ecef!important;
  border-color:#e9ecef!important;
  color:#a7adb5!important;
  box-shadow:none!important;
}
.tfw-bms-gap{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:27px!important;
}
.tfw-bms-aisle{
  flex-basis:76px!important;
  width:76px!important;
  min-width:76px!important;
}
.tfw-bms-aisle:after{
  border-left:1px dashed #eceff2!important;
}
.tfw-bms-legend{
  background:#fff!important;
  border-top:1px solid #eef1f4!important;
  margin:0!important;
  padding:14px 18px!important;
  justify-content:center!important;
  gap:22px!important;
  font-size:10px!important;
  color:#7c8590!important;
}
.tfw-bms-legend i{
  width:12px!important;
  height:12px!important;
  border-radius:4px!important;
}
.tfw-bms-legend i.available{
  background:#fff!important;
  border:1.3px solid #32a852!important;
}
.tfw-bms-legend i.selected{
  background:#e63b62!important;
  border-color:#e63b62!important;
}
.tfw-bms-legend i.unavailable{
  background:#e9ecef!important;
  border-color:#e9ecef!important;
}
.tfw-seat-layout{
  gap:20px!important;
}
.tfw-cart{
  border:1px solid #e8ebef!important;
  border-radius:16px!important;
  box-shadow:0 10px 30px rgba(16,24,40,.06)!important;
}
@media(max-width:900px){
  .tfw-seat-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .tfw-seat-toolbar-actions{
    width:100%!important;
  }
  .tfw-map-nav{
    flex:1!important;
  }
  .tfw-bms-map{
    padding:14px 8px 22px!important;
  }
  .tfw-bms-canvas{
    border-radius:12px!important;
  }
}

/* v3.2.0 True coordinate venue map */
.tfw-true-public-canvas{position:relative;width:1600px;height:1100px;margin:0 auto;background:#fff;border:1px solid #edf0f3;border-radius:16px}
.tfw-true-public-stage{position:absolute;left:650px;top:32px;width:300px;height:38px;border-bottom:5px solid #cfd6dd;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#7b8490;font-size:10px;letter-spacing:2px}
.tfw-true-public-seat{position:absolute!important;width:26px!important;min-width:26px!important;max-width:26px!important;height:24px!important;min-height:24px!important;margin:0!important;padding:0!important;border-radius:5px!important;font-size:8px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.tfw-true-public-seat span{pointer-events:none}
.tfw-true-public-seat.available{background:#fff!important;border:1px solid #32a852!important;color:#23813d!important}
.tfw-true-public-seat.selected,.tfw-true-public-seat.mine{background:#e63b62!important;border-color:#e63b62!important;color:#fff!important}
.tfw-true-public-seat.unavailable,.tfw-true-public-seat.sold,.tfw-true-public-seat.held,.tfw-true-public-seat:disabled{background:#e9ecef!important;border-color:#e9ecef!important;color:#a7adb5!important}
@media(max-width:900px){.tfw-true-public-canvas{margin:0}}

/* =========================================================
   v3.3.0 — Floor Plan Overview + Zoom/Pan
   ========================================================= */
.tfw-seat-toolbar{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
}
.tfw-seat-toolbar-actions{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.tfw-map-zoom-btn,
.tfw-map-fit-btn{
  border:1px solid #d9dfe6!important;
  background:#fff!important;
  color:#344054!important;
  border-radius:9px!important;
  min-height:38px!important;
  height:38px!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.tfw-map-zoom-btn{
  width:42px!important;
  min-width:42px!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1!important;
}
.tfw-map-fit-btn{
  padding:0 13px!important;
}
.tfw-map-zoom-value{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:48px!important;
  height:38px!important;
  color:#667085!important;
  font-size:11px!important;
  font-weight:700!important;
}
.tfw-bms-map{
  position:relative!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:none!important;
  cursor:grab!important;
  max-height:72vh!important;
  min-height:360px!important;
}
.tfw-bms-map:active{
  cursor:grabbing!important;
}
.tfw-map-zoom-shell{
  position:relative!important;
  display:block!important;
  margin:0 auto!important;
  min-width:1px!important;
  min-height:1px!important;
}
.tfw-map-zoom-target{
  transform-origin:top left!important;
  will-change:transform!important;
}
.tfw-bms-seat,
.tfw-true-public-seat{
  touch-action:manipulation!important;
  cursor:pointer!important;
}
@media(max-width:900px){
  .tfw-public-seat-card{
    border-radius:12px!important;
  }
  .tfw-seat-toolbar{
    position:sticky!important;
    top:0!important;
    flex-direction:row!important;
    align-items:center!important;
    padding:10px!important;
    gap:8px!important;
  }
  .tfw-seat-toolbar-title strong{
    font-size:13px!important;
  }
  .tfw-seat-toolbar-title span{
    font-size:10px!important;
  }
  .tfw-seat-toolbar-actions{
    margin-left:auto!important;
    width:auto!important;
    flex-wrap:nowrap!important;
  }
  .tfw-map-fit-btn{
    padding:0 9px!important;
    min-width:64px!important;
  }
  .tfw-map-zoom-value{
    min-width:40px!important;
  }
  .tfw-bms-map{
    max-height:68vh!important;
    min-height:430px!important;
    padding:8px!important;
  }
}
@media(max-width:520px){
  .tfw-seat-toolbar-title span{
    display:none!important;
  }
  .tfw-map-zoom-value{
    display:none!important;
  }
  .tfw-map-zoom-btn{
    width:40px!important;
    min-width:40px!important;
  }
}

/* =========================================================
   v3.4.0 Smart Seat Explorer
   ========================================================= */
.tfw-map-helpbar{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:9px 12px!important;
  background:#f8fafb!important;
  border-bottom:1px solid #edf0f3!important;
  color:#667085!important;
  text-align:center!important;
}
.tfw-map-help-main{
  font-size:11px!important;
  font-weight:800!important;
  color:#344054!important;
}
.tfw-map-help-sub{
  font-size:10px!important;
  color:#8b95a2!important;
}
.tfw-map-overview-btn,
.tfw-map-zoom-btn{
  border:1px solid #d9dfe6!important;
  background:#fff!important;
  color:#344054!important;
  border-radius:9px!important;
  height:38px!important;
  min-height:38px!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.tfw-map-overview-btn{
  padding:0 12px!important;
  min-width:92px!important;
  font-size:11px!important;
}
.tfw-map-overview-btn:hover,
.tfw-map-zoom-btn:hover{
  background:#f8fafb!important;
  border-color:#c7ced7!important;
}
.tfw-bms-map{
  user-select:none!important;
  overscroll-behavior:contain!important;
}
.tfw-map-zoom-shell{
  transition:width .08s linear,height .08s linear!important;
}
.tfw-map-zoom-target{
  transition:transform .08s linear!important;
}
@media(max-width:700px){
  .tfw-seat-toolbar{
    padding:9px 10px!important;
  }
  .tfw-seat-toolbar-title{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .tfw-seat-toolbar-title strong{
    white-space:nowrap!important;
  }
  .tfw-map-overview-btn{
    min-width:78px!important;
    padding:0 8px!important;
  }
  .tfw-map-helpbar{
    padding:8px 10px!important;
  }
}
@media(max-width:460px){
  .tfw-seat-toolbar-title span{
    display:none!important;
  }
  .tfw-map-help-sub{
    display:none!important;
  }
  .tfw-map-overview-btn{
    min-width:72px!important;
    font-size:10px!important;
  }
}

/* =========================================================
   v3.4.1 — Simple Customer Seat Selection
   ========================================================= */
.tfw-simple-steps{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  flex-wrap:wrap!important;
  padding:10px 12px!important;
  background:#f8fafb!important;
  border-bottom:1px solid #edf0f3!important;
  color:#667085!important;
  font-size:11px!important;
  font-weight:600!important;
}
.tfw-simple-steps span{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.tfw-simple-steps b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  background:#eef1f4!important;
  color:#344054!important;
  font-size:10px!important;
}
.tfw-map-overview-btn{
  min-width:82px!important;
}
.tfw-bms-map{
  cursor:grab!important;
}
.tfw-bms-map:active{
  cursor:grabbing!important;
}
@media(max-width:600px){
  .tfw-simple-steps{
    gap:10px!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  .tfw-seat-toolbar-title span{
    display:none!important;
  }
  .tfw-map-zoom-value{
    display:none!important;
  }
}

/* =========================================================
   v3.5.0 — Reliable Customer Zoom
   Native scroll/pan + Fit / Minus / Plus only
   ========================================================= */
.tfw-bms-map{
  overflow:auto!important;
  touch-action:pan-x pan-y!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  cursor:default!important;
}
.tfw-bms-map:active{
  cursor:default!important;
}
.tfw-map-zoom-shell{
  position:relative!important;
  display:block!important;
  margin:0 auto!important;
  transition:none!important;
}
.tfw-map-zoom-target{
  transform-origin:top left!important;
  transition:none!important;
  will-change:transform!important;
}
.tfw-seat-toolbar{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
}
.tfw-seat-toolbar-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.tfw-map-overview-btn,
.tfw-map-zoom-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  height:42px!important;
  border:1px solid #d7dde4!important;
  background:#fff!important;
  color:#273444!important;
  border-radius:9px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.tfw-map-overview-btn{
  min-width:62px!important;
  padding:0 14px!important;
  font-size:12px!important;
}
.tfw-map-zoom-btn{
  width:44px!important;
  min-width:44px!important;
  padding:0!important;
  font-size:22px!important;
}
.tfw-map-zoom-value{
  min-width:46px!important;
  font-size:11px!important;
  color:#667085!important;
}
.tfw-simple-steps{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:600px){
  .tfw-seat-toolbar{
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px!important;
  }
  .tfw-seat-toolbar-title{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .tfw-seat-toolbar-title strong{
    font-size:13px!important;
    white-space:nowrap!important;
  }
  .tfw-seat-toolbar-title span{
    display:none!important;
  }
  .tfw-seat-toolbar-actions{
    flex:0 0 auto!important;
  }
  .tfw-map-overview-btn{
    min-width:56px!important;
    padding:0 10px!important;
  }
  .tfw-map-zoom-value{
    display:none!important;
  }
  .tfw-bms-map{
    min-height:440px!important;
    max-height:68vh!important;
  }
}

/* v3.5.1 — clean overview + one-tap section focus */
.tfw-section-jump{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  background:#fff!important;
  border-bottom:1px solid #edf0f3!important;
}
.tfw-section-jump button{
  appearance:none!important;
  border:1px solid #dce2e8!important;
  background:#fff!important;
  color:#344054!important;
  border-radius:18px!important;
  min-height:34px!important;
  padding:0 14px!important;
  font-size:11px!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.tfw-section-jump button:hover{
  background:#f6f8fa!important;
  border-color:#c9d0d8!important;
}
.tfw-bms-map{
  scrollbar-width:none!important;
}
.tfw-bms-map::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.tfw-public-seat-card{
  overflow:hidden!important;
}
@media(max-width:600px){
  .tfw-section-jump{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    padding:8px 10px!important;
  }
  .tfw-section-jump::-webkit-scrollbar{display:none!important}
  .tfw-section-jump button{
    flex:0 0 auto!important;
    min-height:36px!important;
  }
}

/* =========================================================
   v3.6.0 — Simple Section View
   No zoom engine. Full plan or one readable section.
   ========================================================= */
.tfw-map-zoom-shell,
.tfw-map-zoom-target{
  transform:none!important;
  width:auto!important;
  height:auto!important;
}
.tfw-seat-toolbar{
  position:relative!important;
  top:auto!important;
}
.tfw-seat-toolbar-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:7px!important;
}
.tfw-area-btn{
  appearance:none!important;
  border:1px solid #d8dee6!important;
  background:#fff!important;
  color:#344054!important;
  border-radius:18px!important;
  min-height:36px!important;
  padding:0 14px!important;
  font-size:11px!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.tfw-area-btn.active{
  background:#182230!important;
  color:#fff!important;
  border-color:#182230!important;
}
.tfw-bms-map{
  overflow:auto!important;
  touch-action:auto!important;
  cursor:default!important;
  max-height:none!important;
  min-height:0!important;
  scrollbar-width:thin!important;
}
.tfw-bms-map::-webkit-scrollbar{
  display:block!important;
  height:8px!important;
}
.tfw-bms-map::-webkit-scrollbar-thumb{
  background:#c7cdd4!important;
  border-radius:10px!important;
}
.tfw-bms-canvas{
  transform:none!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
}
.tfw-bms-floor[style*="display: none"]{
  display:none!important;
}
.tfw-bms-zone[style*="display: none"]{
  display:none!important;
}
@media(max-width:700px){
  .tfw-seat-toolbar{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .tfw-seat-toolbar-actions{
    width:100%!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none!important;
  }
  .tfw-seat-toolbar-actions::-webkit-scrollbar{display:none!important}
  .tfw-area-btn{
    flex:0 0 auto!important;
    min-height:40px!important;
  }
  .tfw-bms-map{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

/* =========================================================
   TicketFlow v4.0 — Clean BookMyShow-style public seat map
   No extra zoom/area controls. One clean auditorium.
   ========================================================= */

.tfw-bms-clean-card{
  background:#fff!important;
  border:1px solid #e6e8eb!important;
  border-radius:10px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.tfw-bms-clean-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:14px 16px!important;
  background:#fff!important;
  border-bottom:1px solid #eceef1!important;
}
.tfw-bms-clean-header>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.tfw-bms-clean-header strong{
  font-size:14px!important;
  font-weight:700!important;
  color:#24272c!important;
}
.tfw-bms-clean-header>div:first-child span{
  font-size:10px!important;
  color:#8a9098!important;
}
.tfw-bms-clean-mini-legend{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  color:#70767f!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
.tfw-bms-clean-mini-legend span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
.tfw-bms-clean-mini-legend i{
  display:inline-block!important;
  width:11px!important;
  height:11px!important;
  border-radius:3px!important;
  box-sizing:border-box!important;
}
.tfw-bms-clean-mini-legend i.available{
  background:#fff!important;
  border:1px solid #43a047!important;
}
.tfw-bms-clean-mini-legend i.selected{
  background:#43a047!important;
  border:1px solid #43a047!important;
}
.tfw-bms-clean-mini-legend i.unavailable{
  background:#d8dce1!important;
  border:1px solid #d8dce1!important;
}

/* Hide all previous experimental public controls. */
.tfw-seat-toolbar,
.tfw-simple-steps,
.tfw-section-jump,
.tfw-map-helpbar,
.tfw-map-overview-btn,
.tfw-map-zoom-btn,
.tfw-map-fit-btn,
.tfw-map-zoom-value,
.tfw-area-btn{
  display:none!important;
}

/* Main map */
.tfw-bms-map{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  touch-action:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  padding:22px 18px 28px!important;
  min-height:0!important;
  max-height:none!important;
  cursor:default!important;
  scrollbar-width:thin!important;
}
.tfw-bms-map::-webkit-scrollbar{
  display:block!important;
  height:6px!important;
}
.tfw-bms-map::-webkit-scrollbar-thumb{
  background:#c8cdd3!important;
  border-radius:999px!important;
}

/* Keep one natural auditorium canvas; do not zoom or transform it. */
.tfw-map-zoom-shell,
.tfw-map-zoom-target,
.tfw-bms-canvas{
  transform:none!important;
}
.tfw-bms-canvas{
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:16px 24px 38px!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Screen */
.tfw-bms-screen{
  width:620px!important;
  min-width:620px!important;
  max-width:620px!important;
  margin:0 auto 42px!important;
  text-align:center!important;
  font-size:9px!important;
  font-weight:600!important;
  letter-spacing:1.6px!important;
  color:#a0a5ad!important;
}
.tfw-bms-screen:before{
  content:""!important;
  display:block!important;
  width:100%!important;
  height:5px!important;
  margin-bottom:8px!important;
  border-radius:50%!important;
  background:linear-gradient(90deg,#f1f2f4,#cfd4d9,#f1f2f4)!important;
  box-shadow:none!important;
}

/* Floor headings */
.tfw-bms-floor{
  width:max-content!important;
  min-width:100%!important;
  margin:22px 0 36px!important;
  padding:0 10px!important;
}
.tfw-bms-floor-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  color:#9298a0!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:1px!important;
  text-transform:uppercase!important;
}
.tfw-bms-floor-title:before,
.tfw-bms-floor-title:after{
  content:""!important;
  height:1px!important;
  background:#eceef0!important;
  flex:1!important;
}

/* Sections laid naturally with generous aisle gaps. */
.tfw-bms-zones{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:max-content!important;
  min-width:100%!important;
  gap:0!important;
  column-gap:0!important;
}
.tfw-bms-zone{
  display:block!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
}
.tfw-bms-aisle{
  display:block!important;
  flex:0 0 70px!important;
  width:70px!important;
  min-width:70px!important;
}
.tfw-bms-aisle:after{
  display:none!important;
}

/* Section labels */
.tfw-bms-block{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0!important;
}
.tfw-bms-block h4{
  width:100%!important;
  text-align:center!important;
  margin:0 0 14px!important;
  color:#9aa0a8!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.9px!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

/* Rows */
.tfw-bms-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:max-content!important;
  max-width:none!important;
  gap:8px!important;
  margin:7px 0!important;
}
.tfw-bms-row-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 22px!important;
  width:22px!important;
  min-width:22px!important;
  height:24px!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  color:#7c838c!important;
  font-size:9px!important;
  font-weight:700!important;
  position:relative!important;
  z-index:2!important;
}
.tfw-bms-seat-strip{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  gap:6px!important;
  white-space:nowrap!important;
}

/* Seats — compact BookMyShow-style */
.tfw-bms-seat{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 27px!important;
  width:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #43a047!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#2e7d32!important;
  box-shadow:none!important;
  font-size:8px!important;
  font-weight:600!important;
  line-height:1!important;
  transform:none!important;
  transition:background .12s ease,color .12s ease,border-color .12s ease!important;
}
.tfw-bms-seat:hover:not(:disabled){
  background:#43a047!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}
.tfw-bms-seat.selected,
.tfw-bms-seat.mine{
  background:#43a047!important;
  color:#fff!important;
  border-color:#43a047!important;
  transform:none!important;
  box-shadow:none!important;
}
.tfw-bms-seat.unavailable,
.tfw-bms-seat.sold,
.tfw-bms-seat.held,
.tfw-bms-seat:disabled{
  background:#e2e5e9!important;
  color:#a7adb4!important;
  border-color:#e2e5e9!important;
  cursor:not-allowed!important;
}
.tfw-bms-gap{
  display:block!important;
  flex:0 0 27px!important;
  width:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  height:24px!important;
  visibility:hidden!important;
}

/* Exact-coordinate layout inherits the same clean visual language. */
.tfw-true-public-canvas{
  margin:0 auto!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
}
.tfw-true-public-stage{
  color:#a0a5ad!important;
  border-color:#d2d7dc!important;
}
.tfw-true-public-seat{
  width:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  height:24px!important;
  min-height:24px!important;
  border-radius:4px!important;
  font-size:8px!important;
}
.tfw-true-public-seat.available{
  background:#fff!important;
  border:1px solid #43a047!important;
  color:#2e7d32!important;
}
.tfw-true-public-seat.selected,
.tfw-true-public-seat.mine{
  background:#43a047!important;
  border-color:#43a047!important;
  color:#fff!important;
}

/* Hide duplicated old legend; the compact legend now sits in the header. */
.tfw-bms-clean-card + .tfw-legend,
.tfw-bms-clean-card .tfw-legend{
  display:none!important;
}

/* Booking summary */
.tfw-cart{
  position:sticky!important;
  top:18px!important;
  border:1px solid #e6e8eb!important;
  border-radius:10px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.tfw-cart button,
.tfw-cart .button,
.tfw-cart .tfw-checkout-button{
  border-radius:6px!important;
}

/* Mobile: preserve readable seat size and let the map scroll horizontally. */
@media(max-width:900px){
  .tfw-bms-clean-header{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:12px!important;
  }
  .tfw-bms-clean-mini-legend{
    width:100%!important;
    justify-content:flex-start!important;
    gap:12px!important;
    overflow-x:auto!important;
  }
  .tfw-bms-map{
    overflow-x:auto!important;
    padding:14px 8px 20px!important;
  }
  .tfw-bms-canvas{
    min-width:max-content!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .tfw-bms-aisle{
    flex-basis:48px!important;
    width:48px!important;
    min-width:48px!important;
  }
  .tfw-cart{
    position:relative!important;
    top:auto!important;
    margin-top:14px!important;
  }
}

/* =========================================================
   TicketFlow v4.1 — eVenue-style section-first seat selection
   ========================================================= */
.tfw-section-first-card{background:#fff!important;border:1px solid #e3e7eb!important;border-radius:10px!important;overflow:hidden!important}
.tfw-section-first-header{display:flex!important;align-items:center!important;gap:12px!important;padding:13px 15px!important;border-bottom:1px solid #eceff2!important;background:#fff!important}
.tfw-section-home{appearance:none!important;border:1px solid #d6dce3!important;background:#fff!important;color:#344054!important;border-radius:6px!important;min-height:36px!important;padding:0 11px!important;font-size:10px!important;font-weight:700!important;cursor:pointer!important}
.tfw-section-title-wrap{display:flex!important;flex:1!important;min-width:0!important;flex-direction:column!important;gap:2px!important}
.tfw-section-title-wrap strong{font-size:14px!important;color:#22262b!important}
.tfw-section-title-wrap span{font-size:10px!important;color:#8a929c!important}
.tfw-section-mini-legend{display:flex!important;gap:12px!important;align-items:center!important;font-size:10px!important;color:#717983!important;white-space:nowrap!important}
.tfw-section-mini-legend span{display:inline-flex!important;align-items:center!important;gap:4px!important}
.tfw-section-mini-legend i{display:inline-block!important;width:10px!important;height:10px!important;border-radius:3px!important}
.tfw-section-mini-legend i.available{background:#fff!important;border:1px solid #43a047!important}
.tfw-section-mini-legend i.selected{background:#43a047!important;border:1px solid #43a047!important}
.tfw-section-mini-legend i.unavailable{background:#d9dde2!important;border:1px solid #d9dde2!important}

.tfw-section-overview{padding:24px 20px 32px!important;background:#fafbfc!important}
.tfw-section-stage{width:min(620px,72%)!important;margin:0 auto 34px!important;text-align:center!important;color:#99a1aa!important;font-size:9px!important;letter-spacing:1.6px!important}
.tfw-section-stage:before{content:""!important;display:block!important;height:5px!important;margin-bottom:8px!important;border-radius:50%!important;background:linear-gradient(90deg,#f0f2f4,#ccd2d8,#f0f2f4)!important}
.tfw-overview-floor{max-width:940px!important;margin:0 auto 26px!important}
.tfw-overview-floor h4{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 14px!important;color:#969da6!important;font-size:9px!important;letter-spacing:1px!important}
.tfw-overview-floor h4:before,.tfw-overview-floor h4:after{content:""!important;height:1px!important;background:#e7eaee!important;flex:1!important}
.tfw-overview-row{display:grid!important;grid-template-columns:1fr 1.25fr 1fr!important;gap:22px!important;align-items:center!important}
.tfw-overview-column{display:flex!important;flex-direction:column!important;gap:9px!important;align-items:stretch!important}
.tfw-section-tile{appearance:none!important;border:1px solid #cdd4db!important;background:#fff!important;border-radius:7px!important;min-height:82px!important;padding:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;color:#2c333a!important;cursor:pointer!important}
.tfw-section-tile:hover{border-color:#43a047!important;background:#f8fcf9!important}
.tfw-section-tile strong{font-size:11px!important;text-align:center!important}
.tfw-section-tile span{font-size:9px!important;color:#747c85!important}

.tfw-section-detail{background:#fff!important;padding:12px!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
.tfw-section-detail .tfw-bms-canvas{min-width:max-content!important;width:max-content!important;margin:0 auto!important}
.tfw-section-detail .tfw-bms-block{margin:0 auto!important}
.tfw-section-detail .tfw-bms-floor{margin:10px 0 22px!important}
.tfw-section-detail .tfw-bms-screen{margin-bottom:30px!important}

/* suppress all older experimental controls */
.tfw-seat-toolbar,.tfw-simple-steps,.tfw-section-jump,.tfw-map-helpbar,.tfw-area-btn,.tfw-map-zoom-btn,.tfw-map-fit-btn,.tfw-map-overview-btn{display:none!important}

@media(max-width:760px){
  .tfw-section-first-header{flex-wrap:wrap!important;align-items:flex-start!important;padding:11px!important}
  .tfw-section-mini-legend{width:100%!important;order:3!important;overflow-x:auto!important}
  .tfw-section-overview{padding:17px 10px 24px!important}
  .tfw-overview-row{grid-template-columns:1fr!important;gap:9px!important}
  .tfw-overview-column:empty{display:none!important}
  .tfw-section-tile{min-height:64px!important}
}

/* v4.1.1 section-opening reliability */
.tfw-section-detail{visibility:visible!important;opacity:1!important}
.tfw-section-detail[style*="display: none"]{display:none!important}
.tfw-section-overview[style*="display: none"]{display:none!important}

/* =========================================================
   v4.1.2 — STRICT selected-section visibility
   This class intentionally beats all older display:...!important rules.
   ========================================================= */
.tfw-section-force-hide{
  display:none!important;
}
.tfw-section-detail:not(.tfw-section-force-hide){
  display:block!important;
}
.tfw-section-detail .tfw-bms-floor:not(.tfw-section-force-hide){
  width:max-content!important;
  min-width:0!important;
  margin:14px auto 24px!important;
}
.tfw-section-detail .tfw-bms-zones{
  width:max-content!important;
  min-width:0!important;
  margin:0 auto!important;
  justify-content:center!important;
}
.tfw-section-detail .tfw-bms-zone:not(.tfw-section-force-hide){
  width:max-content!important;
  min-width:0!important;
  margin:0 auto!important;
}
.tfw-section-detail .tfw-bms-block:not(.tfw-section-force-hide){
  width:max-content!important;
  min-width:0!important;
  margin:0 auto!important;
}
