:root{--ttb3-navy:#001427;--ttb3-navy2:#526F80;--ttb3-blue:#7895A7;--ttb3-blue-dark:#526F80;--ttb3-blue-light:#A4B6C0;--ttb3-cream:#FFEDD8;--ttb3-cream-bg:#FFF8F0;--ttb3-accent-deep:#001427;--ttb3-accent:#FFEDD8;--ttb3-bg:#FFF8F0;--ttb3-card:#fffdf9;--ttb3-text:#001427;--ttb3-muted:#6b7280;--ttb3-border:#FFEDD8;--ttb3-danger:#b1413c;--ttb3-radius:22px;--ttb3-shadow:0 16px 45px rgba(0,20,39,.08)}
.ttb3-app{font-family:Inter,"Noto Sans Thai",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ttb3-text);background:var(--ttb3-bg);min-height:100vh;line-height:1.55}.ttb3-app *{box-sizing:border-box}.ttb3-app a{text-decoration:none}.ttb3-app svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ttb3-main{max-width:1320px;margin:0 auto;padding:34px 28px 80px}.ttb3-desktop-nav{position:sticky;top:0;z-index:80;height:76px;display:flex;align-items:center;gap:34px;padding:0 32px;background:rgba(0,20,39,.97);backdrop-filter:blur(16px);color:#fff;box-shadow:0 6px 25px rgba(0,20,39,.09)}.ttb3-brand{display:flex;align-items:center;gap:11px;color:#001427;min-width:220px}.ttb3-brand-mark,.ttb3-mini-brand{width:36px;height:36px;border-radius:11px;background:var(--ttb3-accent);color:var(--ttb3-navy);display:grid;place-items:center;font-weight:900}.ttb3-brand b{display:block;line-height:1.05;font-size:15px;letter-spacing:.05em}.ttb3-brand small{display:block;font-size:9px;opacity:.6;letter-spacing:.12em;margin-top:4px}.ttb3-desktop-nav nav{display:flex;align-items:center;gap:4px;flex:1}.ttb3-desktop-nav nav a{color:#FFEDD8;padding:10px 13px;border-radius:12px;font-size:14px;font-weight:700;transition:.2s}.ttb3-desktop-nav nav a:hover,.ttb3-desktop-nav nav a.is-active{color:#fff;background:rgba(255,237,216,.12)}.ttb3-nav-actions{display:flex;align-items:center;gap:8px}.ttb3-lang,.ttb3-portal-link{color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:9px 12px;font-weight:700;font-size:13px}.ttb3-portal-link{background:var(--ttb3-accent);color:var(--ttb3-navy);border-color:var(--ttb3-accent)}.ttb3-mobile-top,.ttb3-mobile-bottom,.ttb3-more-sheet{display:none}
.ttb3-page-head{padding:34px 4px 30px;max-width:900px}.ttb3-page-head-narrow{max-width:650px;margin-inline:auto;text-align:center}.ttb3-page-head h1{font-size:clamp(32px,4vw,56px);line-height:1.08;margin:6px 0 12px;letter-spacing:-.03em}.ttb3-page-head p{margin:0;color:var(--ttb3-muted);font-size:17px}.ttb3-eyebrow{display:inline-block;color:#001427;font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.ttb3-panel{background:var(--ttb3-card);border:1px solid var(--ttb3-border);border-radius:var(--ttb3-radius);box-shadow:var(--ttb3-shadow);padding:24px}.ttb3-btn{appearance:none;border:0;border-radius:14px;padding:12px 17px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.ttb3-btn:hover{transform:translateY(-1px)}.ttb3-btn-primary{background:#001427;color:#FFEDD8}.ttb3-btn-soft{background:#FFEDD8;color:var(--ttb3-text)}.ttb3-btn-glass{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}.ttb3-btn-full{width:100%}.ttb3-text-link,.ttb3-text-btn{color:#7895A7;font-weight:800;background:none;border:0;padding:0;cursor:pointer}.ttb3-empty{padding:34px;text-align:center;background:#fff;border:1px dashed #cfd6e2;border-radius:18px;color:var(--ttb3-muted)}.ttb3-alert{padding:14px 16px;border-radius:14px;margin:0 0 18px}.ttb3-alert.is-success{background:#fff1df;color:#526F80}
.ttb3-hero{min-height:560px;border-radius:32px;position:relative;overflow:hidden;background:linear-gradient(125deg,#0b1730,#1c3769);background-image:var(--ttb3-hero),linear-gradient(125deg,#0b1730,#1c3769);background-size:cover;background-position:center;box-shadow:var(--ttb3-shadow)}.ttb3-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,34,.92) 0%,rgba(7,16,34,.72) 45%,rgba(7,16,34,.2) 100%)}.ttb3-hero-content{position:relative;z-index:2;color:#fff;max-width:700px;padding:95px 70px}.ttb3-hero-content .ttb3-eyebrow{color:var(--ttb3-accent)}.ttb3-hero h1{font-size:clamp(54px,8vw,96px);line-height:.94;margin:10px 0 22px;letter-spacing:-.05em}.ttb3-hero p{font-size:19px;color:#d8dfeb;max-width:650px}.ttb3-hero-actions{display:flex;gap:12px;margin-top:28px}.ttb3-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.ttb3-action-card{background:#fff;border:1px solid var(--ttb3-border);border-radius:20px;padding:22px;color:var(--ttb3-text);display:flex;gap:15px;transition:.2s}.ttb3-action-card:hover{transform:translateY(-3px);box-shadow:var(--ttb3-shadow)}.ttb3-action-card>span{width:45px;height:45px;flex:0 0 45px;border-radius:14px;background:#ffedd8;color:#526F80;display:grid;place-items:center}.ttb3-action-card h3{margin:0 0 4px;font-size:18px}.ttb3-action-card p{margin:0;color:var(--ttb3-muted);font-size:14px}.ttb3-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-radius:20px;background:var(--ttb3-navy);color:#fff}.ttb3-contact-strip strong,.ttb3-contact-strip span{display:block}.ttb3-contact-strip span{color:#A4B6C0;font-size:14px;margin-top:3px}.ttb3-contact-actions{display:flex;gap:8px}.ttb3-contact-actions a{color:#FFEDD8;border:1px solid rgba(255,255,255,.17);border-radius:11px;padding:9px 13px;font-weight:700}
.ttb3-booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:22px;align-items:start}.ttb3-booking-form-panel{position:sticky;top:98px}.ttb3-step-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.ttb3-step-title>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ttb3-navy);color:#fff;font-weight:900}.ttb3-step-title strong,.ttb3-step-title small{display:block}.ttb3-step-title small{color:var(--ttb3-muted);margin-top:2px}.ttb3-date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:0 0 20px}.ttb3-date-btn{border:1px solid var(--ttb3-border);background:#fffdf9;border-radius:14px;padding:10px 7px;cursor:pointer;color:var(--ttb3-text)}.ttb3-date-btn b,.ttb3-date-btn span{display:block}.ttb3-date-btn span{font-size:11px;color:var(--ttb3-muted);text-transform:uppercase}.ttb3-date-btn b{font-size:19px}.ttb3-date-btn.is-active{background:var(--ttb3-navy);color:#fff;border-color:var(--ttb3-navy)}.ttb3-date-btn.is-active span{color:#c9d2e1}.ttb3-field{display:block;margin-bottom:15px}.ttb3-field>span{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.ttb3-field input,.ttb3-field select,.ttb3-field textarea,.ttb3-hours-form input{width:100%;border:1px solid #d8deea;background:#fff;color:var(--ttb3-text);border-radius:12px;padding:11px 12px;font:inherit;outline:none}.ttb3-field input:focus,.ttb3-field select:focus,.ttb3-field textarea:focus{border-color:#7895A7;box-shadow:0 0 0 3px rgba(120,149,167,.18)}.ttb3-field small{display:block;color:var(--ttb3-muted);font-size:12px;margin-top:6px}.ttb3-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ttb3-inline{display:flex;gap:8px}.ttb3-inline input{min-width:0;flex:1}.ttb3-availability{margin-top:22px}.ttb3-court-block{border-top:1px solid var(--ttb3-border);padding:20px 0}.ttb3-court-block:first-child{border-top:0;padding-top:0}.ttb3-court-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ttb3-court-title h3{margin:0}.ttb3-court-title span{color:var(--ttb3-muted);font-size:13px}.ttb3-slot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.ttb3-slot{border:1px solid #dce2ec;background:#fffdf9;border-radius:11px;padding:10px 8px;font-weight:700;cursor:pointer}.ttb3-slot:hover:not(:disabled){border-color:#7895A7;background:#fff5e9}.ttb3-slot.is-selected{background:#001427;border-color:#001427;color:#fff}.ttb3-slot:disabled{background:#f3f5f8;color:#aab1bd;cursor:not-allowed;text-decoration:line-through}.ttb3-skeleton{height:260px;border-radius:16px;background:linear-gradient(90deg,#f0f2f5 25%,#fafafa 37%,#f0f2f5 63%);background-size:400% 100%;animation:ttb3-shimmer 1.4s infinite}@keyframes ttb3-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}.ttb3-selected-slot{border:1px solid #FFF8F0;background:#FFF8F0;border-radius:14px;padding:13px 14px;margin:0 0 16px;font-weight:750}.ttb3-package-use{background:#FFF8F0;border:1px solid var(--ttb3-border);border-radius:14px;padding:12px;margin-bottom:15px}.ttb3-check,.ttb3-radio{display:flex;gap:9px;align-items:flex-start;margin:8px 0;font-size:14px}.ttb3-check input,.ttb3-radio input{margin-top:3px}.ttb3-package-code{margin-top:12px}.ttb3-bank-box{background:#f7f9fc;border-radius:13px;padding:12px;margin:10px 0}.ttb3-bank-box pre{white-space:pre-wrap;margin:0 0 10px;font:inherit;color:var(--ttb3-text)}.ttb3-price-summary{border-top:1px solid var(--ttb3-border);border-bottom:1px solid var(--ttb3-border);padding:10px 0;margin:14px 0}.ttb3-price-summary>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.ttb3-price-summary .is-total{font-size:19px;padding-top:10px;margin-top:6px;border-top:1px dashed #d7dce5}.ttb3-form-message{margin-top:12px;font-weight:700}.ttb3-form-message.is-error{color:var(--ttb3-danger)}.ttb3-form-message.is-success{color:#7895A7}.ttb3-terms{color:var(--ttb3-muted);font-size:12px}
.ttb3-lookup-wrap{max-width:780px;margin:0 auto}.ttb3-lookup-form{background:#fff;border:1px solid var(--ttb3-border);border-radius:20px;padding:22px;box-shadow:var(--ttb3-shadow)}.ttb3-my-results{margin-top:18px}.ttb3-result-section{margin:24px 0}.ttb3-result-section h2{font-size:21px;margin:0 0 10px}.ttb3-booking-card,.ttb3-package-result-card{background:#fff;border:1px solid var(--ttb3-border);border-radius:17px;padding:18px;margin-bottom:10px}.ttb3-booking-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ttb3-booking-card h3{margin:0 0 4px;font-size:18px}.ttb3-booking-card p{margin:4px 0;color:var(--ttb3-muted)}.ttb3-status{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef1f5;font-size:12px;font-weight:800}.ttb3-status.is-confirmed,.ttb3-status.is-paid,.ttb3-status.is-active,.ttb3-status.is-completed{background:#FFEDD8;color:#001427}.ttb3-status.is-pending{background:#fff2c6;color:#806000}.ttb3-status.is-cancelled,.ttb3-status.is-rejected{background:#fde6e6;color:#9f2d2d}.ttb3-card-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ttb3-review-modal,.ttb3-lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.ttb3-review-modal[hidden],.ttb3-lightbox[hidden]{display:none}.ttb3-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(7,16,34,.72)}.ttb3-modal-card{position:relative;z-index:2;width:min(500px,100%);background:#fff;border-radius:22px;padding:24px}.ttb3-modal-x{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#edf0f5;font-size:25px;cursor:pointer}.ttb3-stars{display:flex;gap:6px;margin:12px 0}.ttb3-stars button{border:0;background:none;font-size:31px;color:#d5dae2;cursor:pointer;padding:2px}.ttb3-stars button.is-on{color:#f6b900}
.ttb3-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ttb3-package-card{position:relative;background:#fff;border:1px solid var(--ttb3-border);border-radius:24px;padding:25px;box-shadow:0 12px 35px rgba(23,32,51,.05)}.ttb3-package-card.is-featured{border-color:#A4B6C0;box-shadow:0 18px 50px rgba(82,111,128,.13)}.ttb3-badge{position:absolute;right:16px;top:16px;background:var(--ttb3-accent);color:var(--ttb3-navy);padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.ttb3-package-card h2{font-size:27px;margin:4px 0}.ttb3-package-sub{color:var(--ttb3-muted);min-height:24px}.ttb3-package-price{display:flex;align-items:baseline;gap:7px;margin:20px 0}.ttb3-package-price strong{font-size:43px;line-height:1}.ttb3-package-price span{color:var(--ttb3-muted)}.ttb3-package-meta{display:flex;gap:8px;flex-wrap:wrap}.ttb3-package-meta span{background:#f0f3f7;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.ttb3-package-card ul{padding:0;margin:20px 0;list-style:none;min-height:115px}.ttb3-package-card li{padding:6px 0 6px 24px;position:relative}.ttb3-package-card li:before{content:"✓";position:absolute;left:0;color:#526F80;font-weight:900}.ttb3-package-checkout{max-width:800px;margin:22px auto 0}
.ttb3-coach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.ttb3-coach-card{display:grid;grid-template-columns:210px 1fr;background:#fff;border:1px solid var(--ttb3-border);border-radius:24px;overflow:hidden;min-height:310px}.ttb3-coach-photo{background:linear-gradient(145deg,#e8ecf3,#cdd6e5);height:100%;min-height:310px;display:grid;place-items:center;font-size:70px;font-weight:900;color:#526F80}.ttb3-coach-photo img{width:100%;height:100%;object-fit:cover}.ttb3-coach-body{padding:22px}.ttb3-coach-head{display:flex;justify-content:space-between;gap:12px}.ttb3-coach-head h2{margin:0;font-size:27px}.ttb3-coach-head p{margin:3px 0;color:var(--ttb3-muted);font-size:13px}.ttb3-rating{font-weight:900;color:#805f00;background:#fff4c6;border-radius:999px;padding:5px 9px;height:max-content}.ttb3-coach-stats{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0;color:var(--ttb3-muted);font-size:13px}.ttb3-coach-bio{color:#526F80;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ttb3-coach-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.ttb3-coach-tags span{background:#f0f3f7;border-radius:999px;padding:5px 8px;font-size:11px}.ttb3-card-actions{display:flex;gap:8px;flex-wrap:wrap}.ttb3-coach-detail{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);gap:34px;align-items:start}.ttb3-coach-detail-photo{height:600px;border-radius:28px;overflow:hidden;background:#dfe5ef;display:grid;place-items:center;font-size:120px;font-weight:900;color:#526F80}.ttb3-coach-detail-photo img{width:100%;height:100%;object-fit:cover}.ttb3-coach-detail-main{background:#fff;border:1px solid var(--ttb3-border);border-radius:28px;padding:32px}.ttb3-coach-detail-main h1{font-size:50px;margin:8px 0 0;line-height:1}.ttb3-coach-demographic{color:var(--ttb3-muted)}.ttb3-coach-stats-large{font-size:15px}.ttb3-richtext{color:#526F80}.ttb3-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.ttb3-detail-list>div{background:#f6f8fb;border-radius:14px;padding:13px}.ttb3-detail-list b,.ttb3-detail-list span{display:block}.ttb3-detail-list span{font-size:14px;color:var(--ttb3-muted);margin-top:3px}.ttb3-coach-bookbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--ttb3-border);margin-top:24px;padding-top:20px}.ttb3-coach-bookbar span,.ttb3-coach-bookbar strong{display:block}.ttb3-coach-bookbar strong{font-size:23px}.ttb3-review-section{margin-top:28px}.ttb3-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ttb3-section-head h2{margin:0}.ttb3-section-head>span{background:#eef2f6;border-radius:999px;padding:5px 9px}.ttb3-review-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ttb3-review-list article{background:#fff;border:1px solid var(--ttb3-border);border-radius:17px;padding:17px}.ttb3-review-list article>div{display:flex;justify-content:space-between;gap:10px}.ttb3-review-list article>div span{color:#e9a900}.ttb3-review-list p{color:#526F80}.ttb3-review-list small{color:var(--ttb3-muted)}
.ttb3-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ttb3-gallery button{border:0;padding:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;background:#e7ebf2}.ttb3-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.ttb3-gallery button:hover img{transform:scale(1.03)}.ttb3-lightbox img{position:relative;z-index:2;max-width:min(1200px,92vw);max-height:88vh;border-radius:18px}.ttb3-lightbox .ttb3-modal-x{z-index:3;right:25px;top:20px}
.ttb3-portal-login{max-width:520px;margin:70px auto;background:#fff;border:1px solid var(--ttb3-border);border-radius:25px;padding:28px;box-shadow:var(--ttb3-shadow)}.ttb3-portal-login h1{margin:6px 0}.ttb3-portal-login p{color:var(--ttb3-muted)}.ttb3-portal-login form p{margin:12px 0}.ttb3-portal-login label{display:block;font-weight:700;font-size:13px}.ttb3-portal-login input[type=text],.ttb3-portal-login input[type=password]{width:100%;padding:11px;border:1px solid #d9dfE8;border-radius:11px;margin-top:5px}.ttb3-portal-login input[type=submit]{background:var(--ttb3-accent);border:0;border-radius:12px;padding:11px 18px;font-weight:800;cursor:pointer}.ttb3-portal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.ttb3-portal-head h1{margin:4px 0;font-size:42px}.ttb3-portal-head p{margin:0;color:var(--ttb3-muted)}.ttb3-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ttb3-portal-bookings article{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--ttb3-border);padding:13px 0}.ttb3-portal-bookings article:first-child{border-top:0}.ttb3-portal-bookings strong,.ttb3-portal-bookings span,.ttb3-portal-bookings b,.ttb3-portal-bookings a{display:block}.ttb3-portal-bookings span,.ttb3-portal-bookings a{font-size:13px;color:var(--ttb3-muted)}.ttb3-hours-form>div{display:grid;grid-template-columns:1fr 110px 110px;gap:8px;align-items:center;margin-bottom:7px}.ttb3-block-list{margin-top:15px}.ttb3-block-list>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--ttb3-border);padding:9px 0}.ttb3-block-list button{border:0;background:#fee7e7;color:#9d2525;border-radius:8px;width:28px;height:28px;cursor:pointer}
@media(max-width:1080px){.ttb3-desktop-nav{padding:0 20px;gap:16px}.ttb3-brand{min-width:165px}.ttb3-brand small{display:none}.ttb3-desktop-nav nav a{font-size:13px;padding:9px}.ttb3-portal-link{display:none}.ttb3-home-grid{grid-template-columns:repeat(2,1fr)}.ttb3-booking-layout{grid-template-columns:1fr}.ttb3-booking-form-panel{position:static}.ttb3-package-grid{grid-template-columns:repeat(2,1fr)}.ttb3-coach-grid{grid-template-columns:1fr}.ttb3-coach-detail{grid-template-columns:1fr}.ttb3-coach-detail-photo{height:500px}.ttb3-portal-grid{grid-template-columns:1fr}.ttb3-slot-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:767px){body{padding-bottom:0!important}.ttb3-desktop-nav{display:none}.ttb3-mobile-top{position:sticky;top:0;z-index:90;height:58px;padding:0 14px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:#FFF8F0;color:#001427}.ttb3-mobile-top>strong{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.ttb3-back,.ttb3-mobile-top .ttb3-lang{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.14);background:#fffdf9;color:#001427;display:grid;place-items:center;padding:0}.ttb3-mini-brand{width:36px;height:36px}.ttb3-mobile-top .ttb3-lang{font-size:11px}.ttb3-mobile-bottom{position:fixed;left:0;right:0;bottom:0;z-index:100;height:68px;background:#FFF8F0;border-top:1px solid #e1e6ef;box-shadow:0 -8px 30px rgba(0,20,39,.14);display:grid;grid-template-columns:repeat(5,1fr);padding:5px max(6px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));transition:.25s}.ttb3-mobile-bottom.is-keyboard{transform:translateY(110%)}.ttb3-mobile-bottom a,.ttb3-mobile-bottom button{border:0;background:none;color:#7895A7;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:750;padding:3px;position:relative}.ttb3-mobile-bottom a.is-active,.ttb3-mobile-bottom button.is-active{color:var(--ttb3-navy)}.ttb3-mobile-bottom a.is-active:before,.ttb3-mobile-bottom button.is-active:before{content:"";position:absolute;top:-5px;width:26px;height:3px;border-radius:0 0 3px 3px;background:#001427}.ttb3-mobile-bottom svg{width:22px;height:22px}.ttb3-more-sheet{position:fixed;inset:0;z-index:150;display:block}.ttb3-more-sheet[hidden]{display:none}.ttb3-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(7,16,34,.55)}.ttb3-sheet-panel{position:absolute;left:0;right:0;bottom:0;background:#f8f5ef;border-radius:24px 24px 0 0;padding:8px 16px calc(82px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(10,20,40,.22)}.ttb3-sheet-handle{width:42px;height:4px;border-radius:3px;background:#d8dde5;margin:4px auto 10px}.ttb3-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:5px 2px 12px}.ttb3-sheet-head button{border:0;background:#FFEDD8;border-radius:50%;width:34px;height:34px;font-size:22px}.ttb3-sheet-panel>a{display:flex;align-items:center;gap:13px;padding:13px 8px;color:var(--ttb3-text);border-top:1px solid #eef1f5;font-weight:750}.ttb3-sheet-panel>a svg{width:22px}.ttb3-main{padding:18px 14px 92px}.ttb3-page-head{padding:16px 2px 20px}.ttb3-page-head h1{font-size:34px}.ttb3-page-head p{font-size:15px}.ttb3-panel{padding:16px;border-radius:19px}.ttb3-hero{min-height:520px;border-radius:22px}.ttb3-hero-content{padding:80px 24px 50px}.ttb3-hero h1{font-size:54px}.ttb3-hero p{font-size:16px}.ttb3-hero-actions{flex-direction:column;align-items:stretch}.ttb3-home-grid{grid-template-columns:1fr;gap:10px}.ttb3-contact-strip{align-items:flex-start;flex-direction:column}.ttb3-date-strip{grid-template-columns:repeat(4,1fr);overflow-x:auto}.ttb3-date-btn:nth-child(n+9){display:none}.ttb3-slot-grid{grid-template-columns:repeat(4,1fr)}.ttb3-form-grid{grid-template-columns:1fr}.ttb3-inline{align-items:stretch}.ttb3-inline .ttb3-btn{padding-inline:12px}.ttb3-package-grid{grid-template-columns:1fr}.ttb3-package-card ul{min-height:0}.ttb3-coach-card{grid-template-columns:120px 1fr;min-height:250px}.ttb3-coach-photo{min-height:250px}.ttb3-coach-body{padding:16px}.ttb3-coach-head h2{font-size:23px}.ttb3-coach-bio{-webkit-line-clamp:3;font-size:13px}.ttb3-card-actions .ttb3-btn{padding:9px 11px;font-size:12px}.ttb3-coach-detail{gap:14px}.ttb3-coach-detail-photo{height:420px;border-radius:20px}.ttb3-coach-detail-main{padding:20px;border-radius:20px}.ttb3-coach-detail-main h1{font-size:37px}.ttb3-detail-list{grid-template-columns:1fr}.ttb3-coach-bookbar{align-items:stretch;flex-direction:column}.ttb3-review-list{grid-template-columns:1fr}.ttb3-gallery{grid-template-columns:repeat(2,1fr);gap:7px}.ttb3-portal-head{align-items:flex-start}.ttb3-portal-head h1{font-size:34px}.ttb3-portal-bookings article{grid-template-columns:1fr;gap:6px}.ttb3-hours-form>div{grid-template-columns:1fr 95px 95px}.ttb3-booking-card-head{flex-direction:column}.ttb3-review-modal{padding:12px}.ttb3-modal-card{padding:20px}.ttb3-lightbox img{max-width:96vw;max-height:80vh}}
@media(max-width:390px){.ttb3-slot-grid{grid-template-columns:repeat(3,1fr)}.ttb3-coach-card{grid-template-columns:1fr}.ttb3-coach-photo{height:260px;min-height:0}.ttb3-hours-form>div{grid-template-columns:1fr 88px 88px}.ttb3-main{padding-left:10px;padding-right:10px}}

/* ===== v3.2 Soft Court visual system ===== */
:root{
  --ttb3-navy:#001427;
  --ttb3-navy2:#526F80;
  --ttb3-accent:#FFEDD8;
  --ttb3-accent-deep:#001427;
  --ttb3-cream:#FFEDD8;
  --ttb3-sand:#dccab8;
  --ttb3-clay:#b97a5b;
  --ttb3-bg:#FFF8F0;
  --ttb3-card:#fffdf9;
  --ttb3-text:#001427;
  --ttb3-muted:#6b7280;
  --ttb3-border:#FFEDD8;
  --ttb3-radius:26px;
  --ttb3-shadow:0 22px 70px rgba(0,20,39,.08);
}
.ttb3-app{background:
  radial-gradient(circle at 10% 0%,rgba(196,173,147,.18),transparent 35%),
  radial-gradient(circle at 95% 25%,rgba(120,149,167,.13),transparent 36%),
  var(--ttb3-bg);color:var(--ttb3-text)}
.ttb3-main{max-width:1280px;padding-top:30px}
.ttb3-panel,.ttb3-lookup-form,.ttb3-package-card,.ttb3-coach-detail-main,.ttb3-review-list article,.ttb3-portal-login{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-color:rgba(82,111,128,.10);box-shadow:0 18px 55px rgba(0,20,39,.07)}
.ttb3-btn{border-radius:999px;letter-spacing:.01em}
.ttb3-btn-primary{background:var(--ttb3-accent-deep);color:#FFEDD8;box-shadow:0 10px 25px rgba(82,111,128,.18)}
.ttb3-btn-soft{background:#FFEDD8;color:#001427}
.ttb3-eyebrow{color:var(--ttb3-accent-deep)}
.ttb3-field input:focus,.ttb3-field select:focus,.ttb3-field textarea:focus{border-color:#7895A7;box-shadow:0 0 0 4px rgba(120,149,167,.18)}
.ttb3-date-btn.is-active{background:var(--ttb3-accent-deep);border-color:var(--ttb3-accent-deep)}
.ttb3-slot.is-selected{background:var(--ttb3-accent-deep);border-color:var(--ttb3-accent-deep);color:#fff}

/* desktop/tablet navigation: soft floating rail */
.ttb3-desktop-nav{top:12px;max-width:1280px;width:calc(100% - 32px);height:68px;margin:0 auto;border-radius:22px;padding:0 18px 0 16px;gap:22px;background:rgba(0,20,39,.97);backdrop-filter:blur(22px) saturate(120%);color:#fff;border:1px solid rgba(255,255,255,.75);box-shadow:0 14px 45px rgba(0,20,39,.09)}
.ttb3-brand{color:var(--ttb3-text)}
.ttb3-desktop-nav .ttb3-brand,.ttb3-desktop-nav .ttb3-brand b{color:#fff!important}
.ttb3-desktop-nav .ttb3-brand small{color:rgba(255,237,216,.88)!important}
.ttb3-brand-mark,.ttb3-mini-brand{background:#FFEDD8;color:#001427;border:1px solid rgba(82,111,128,.08)}
.ttb3-brand small{color:#7895A7;opacity:1}
.ttb3-desktop-nav nav a{color:#FFEDD8;padding:9px 12px;border-radius:999px}
.ttb3-desktop-nav nav a:hover{background:rgba(255,237,216,.12);color:#fff}
.ttb3-desktop-nav nav a.is-active{background:var(--ttb3-cream)!important;color:var(--ttb3-navy)!important}
.ttb3-lang{color:#526F80;border-color:rgba(82,111,128,.14);background:rgba(255,255,255,.55)}
.ttb3-portal-link{background:#526F80;color:#fff;border-color:#7895A7;border-radius:999px}

/* home: deliberately different from the reference, while preserving the clear 4-action landing hierarchy */
.ttb3-mode-home{position:relative;width:100vw;left:50%;margin-left:-50vw;overflow-x:clip;background:#a9694f}
.ttb3-mode-home>.ttb3-desktop-nav{position:absolute;left:50%;transform:translateX(-50%);top:18px;background:rgba(250,246,239,.72);z-index:95}
.ttb3-mode-home .ttb3-main{max-width:none;padding:0;min-height:100svh}
.ttb3-home-landing{position:relative;min-height:100svh;display:grid;place-items:center;padding:112px 24px 46px;overflow:hidden;background-color:#a86d52;background-image:var(--ttb3-hero,linear-gradient(135deg,#bd8768 0%,#aa6d52 45%,#8f5e4b 100%));background-size:cover;background-position:center}
.ttb3-home-landing:before{display:none!important;content:none!important}
.ttb3-home-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,39,.16),rgba(0,20,39,.30)),radial-gradient(circle at 50% 36%,rgba(255,244,229,.18),transparent 42%)}
.ttb3-home-glow{position:absolute;border-radius:999px;filter:blur(8px);opacity:.45;pointer-events:none}
.ttb3-home-glow-a{width:420px;height:420px;background:rgba(230,217,199,.28);left:-160px;top:-100px}
.ttb3-home-glow-b{width:380px;height:380px;background:rgba(164,182,192,.20);right:-120px;bottom:-120px}
.ttb3-home-shell{position:relative;z-index:2;width:min(520px,100%);text-align:center}
.ttb3-home-lockup{color:#fff;margin-bottom:24px;text-shadow:0 2px 22px rgba(52,42,35,.16)}
.ttb3-home-monogram{width:56px;height:56px;border-radius:18px;margin:0 auto 14px;display:grid;place-items:center;background:rgba(250,245,237,.90);color:#526F80;border:1px solid rgba(255,255,255,.74);box-shadow:0 14px 35px rgba(57,45,37,.15);font-size:24px;font-weight:900;letter-spacing:-.04em;text-shadow:none}
.ttb3-home-kicker{display:block;margin-bottom:7px;font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,250,243,.82)}
.ttb3-home-lockup h1{margin:0;font-size:clamp(42px,6vw,68px);line-height:.98;letter-spacing:-.045em;font-weight:800}
.ttb3-home-lockup p{max-width:440px;margin:14px auto 0;color:rgba(255,250,244,.83);font-size:15px;line-height:1.65}
.ttb3-home-menu{display:grid;gap:9px;padding:11px;border-radius:30px;background:rgba(255,248,240,.20);border:1px solid rgba(255,237,216,.42);box-shadow:0 30px 90px rgba(55,42,34,.20);backdrop-filter:blur(18px) saturate(115%)}
.ttb3-home-menu-item{min-height:70px;display:grid;grid-template-columns:46px 1fr 30px;align-items:center;gap:12px;padding:10px 13px;border-radius:21px;background:rgba(255,248,240,.96);color:var(--ttb3-navy)!important;text-align:left;border:1px solid rgba(255,237,216,.75);box-shadow:0 6px 20px rgba(62,53,46,.05);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.ttb3-home-menu-item:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(62,53,46,.13);background:#fffdf9}
.ttb3-home-menu-item.is-primary{background:var(--ttb3-navy)!important;color:var(--ttb3-cream)!important;border-color:var(--ttb3-navy)!important;box-shadow:0 16px 40px rgba(0,20,39,.24)}
.ttb3-home-menu-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:var(--ttb3-cream);color:var(--ttb3-navy)}
.ttb3-home-menu-item.is-primary .ttb3-home-menu-icon{background:rgba(255,237,216,.16)!important;color:var(--ttb3-cream)!important}
.ttb3-home-menu-copy{min-width:0}
.ttb3-home-menu-copy strong,.ttb3-home-menu-copy small{display:block}
.ttb3-home-menu-copy strong{font-size:16px;font-weight:850;letter-spacing:-.01em}
.ttb3-home-menu-item:not(.is-primary) .ttb3-home-menu-copy strong{color:var(--ttb3-navy)!important}
.ttb3-home-menu-item:not(.is-primary) .ttb3-home-menu-copy small{color:var(--ttb3-navy)!important;opacity:.78}
.ttb3-home-menu-item.is-primary .ttb3-home-menu-copy strong{color:#fff!important}
.ttb3-home-menu-item.is-primary .ttb3-home-menu-copy small{color:rgba(255,248,240,.88)!important}
.ttb3-home-menu-copy small{margin-top:2px;color:#526F80;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ttb3-home-menu-item.is-primary small{color:rgba(255,237,216,.78)}
.ttb3-home-menu-arrow{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(82,111,128,.10);color:var(--ttb3-blue-dark)!important;font-size:16px}
.ttb3-home-menu-item.is-primary .ttb3-home-menu-arrow{background:rgba(255,237,216,.14)!important;color:var(--ttb3-cream)!important}
.ttb3-home-utilities{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:13px}
.ttb3-home-utilities a{min-height:37px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#001427;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);color:#FFEDD8;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(0,20,39,.18)}
.ttb3-home-utilities svg{width:16px;height:16px}
.ttb3-home-footnote{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;color:rgba(255,250,244,.68);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.ttb3-home-footnote span{width:24px;height:1px;background:rgba(255,250,244,.5)}

/* soften content pages */
.ttb3-page-head{padding-top:42px}
.ttb3-page-head h1{font-weight:780;color:#001427}
.ttb3-action-card{border-color:rgba(82,111,128,.1);box-shadow:none}
.ttb3-action-card>span{background:#FFEDD8;color:#526F80}
.ttb3-contact-strip{background:linear-gradient(135deg,#526F80,#7895A7);border-radius:25px}
.ttb3-selected-slot{border-color:#A4B6C0;background:#FFF8F0}
.ttb3-package-use,.ttb3-bank-box{background:#f3f0ea;border-color:#e4ddd3}
.ttb3-text-link,.ttb3-text-btn{color:#7895A7}

@media(max-width:1080px){
  .ttb3-desktop-nav{width:calc(100% - 24px);gap:12px}
  .ttb3-desktop-nav nav{overflow-x:auto;scrollbar-width:none}
  .ttb3-desktop-nav nav::-webkit-scrollbar{display:none}
  .ttb3-mode-home>.ttb3-desktop-nav{width:calc(100% - 28px)}
}
@media(max-width:767px){
  .ttb3-app{background:#f5f1ea}
  .ttb3-mobile-top{height:58px;background:#FFF8F0;backdrop-filter:blur(20px);color:#001427;border-bottom:1px solid #FFEDD8}
  .ttb3-back,.ttb3-mobile-top .ttb3-lang{border-color:#FFEDD8;background:#fffdf9;color:#001427}
  .ttb3-mobile-bottom{left:10px;right:10px;bottom:10px;height:66px;border:1px solid rgba(82,111,128,.10);border-radius:20px;background:#FFF8F0;backdrop-filter:blur(22px);box-shadow:0 14px 45px rgba(0,20,39,.14);padding:5px 4px calc(5px + env(safe-area-inset-bottom))}
  .ttb3-mobile-bottom a.is-active,.ttb3-mobile-bottom button.is-active{color:#001427}
  .ttb3-mobile-bottom a.is-active:before,.ttb3-mobile-bottom button.is-active:before{top:1px;width:22px;height:3px;border-radius:999px;background:#001427}
  .ttb3-sheet-panel{background:#f8f5ef}
  .ttb3-mode-home{left:50%;margin-left:-50vw}
  .ttb3-mode-home .ttb3-mobile-top{position:absolute;left:0;right:0;background:transparent;border:0;color:#fff}
  .ttb3-mode-home .ttb3-mobile-top .ttb3-mini-brand,.ttb3-mode-home .ttb3-mobile-top .ttb3-lang{background:rgba(255,237,216,.92);color:#001427;border-color:rgba(255,248,240,.55)}
  .ttb3-mode-home .ttb3-mobile-top>strong{opacity:0}
  .ttb3-mode-home .ttb3-main{padding:0 0 86px}
  .ttb3-home-landing{min-height:calc(100svh - 76px);padding:78px 14px 28px;background-position:center}
  .ttb3-home-shell{width:min(460px,100%)}
  .ttb3-home-lockup{margin-bottom:18px}
  .ttb3-home-monogram{width:50px;height:50px;border-radius:16px;margin-bottom:11px}
  .ttb3-home-lockup h1{font-size:42px}
  .ttb3-home-lockup p{font-size:13px;line-height:1.55;margin-top:10px;padding:0 15px}
  .ttb3-home-menu{border-radius:24px;padding:8px;gap:7px}
  .ttb3-home-menu-item{min-height:62px;grid-template-columns:40px 1fr 26px;border-radius:17px;padding:8px 10px;gap:10px}
  .ttb3-home-menu-icon{width:38px;height:38px;border-radius:13px}
  .ttb3-home-menu-icon svg{width:19px;height:19px}
  .ttb3-home-menu-copy strong{font-size:14px}
  .ttb3-home-menu-copy small{font-size:10.5px}
  .ttb3-home-utilities{margin-top:10px;gap:6px}
  .ttb3-home-utilities a{min-height:34px;padding:6px 10px;font-size:11px}
  .ttb3-home-footnote{display:none}
  .ttb3-main{padding-bottom:98px}
  .ttb3-panel{border-radius:22px}
}
@media(max-width:390px){
  .ttb3-home-lockup h1{font-size:36px}
  .ttb3-home-lockup p{display:none}
  .ttb3-home-menu-copy small{display:none}
  .ttb3-home-menu-item{min-height:58px}
}

/* home header is intentionally minimal; the four large landing actions are the primary navigation */
@media(min-width:768px){
  .ttb3-mode-home>.ttb3-desktop-nav{position:absolute;left:0;right:0;transform:none;top:0;max-width:none;width:100%;height:82px;margin:0;border:0;border-radius:0;padding:18px 30px;background:linear-gradient(180deg,rgba(0,20,39,.24),transparent);box-shadow:none;backdrop-filter:none}
  .ttb3-mode-home>.ttb3-desktop-nav nav,.ttb3-mode-home>.ttb3-desktop-nav .ttb3-portal-link{display:none}
  .ttb3-mode-home>.ttb3-desktop-nav .ttb3-brand{color:#fff;min-width:0}
  .ttb3-mode-home>.ttb3-desktop-nav .ttb3-brand-mark{background:rgba(250,246,239,.88);color:#526F80;border-color:rgba(255,255,255,.5)}
  .ttb3-mode-home>.ttb3-desktop-nav .ttb3-brand small{color:rgba(255,255,255,.68)}
  .ttb3-mode-home>.ttb3-desktop-nav .ttb3-nav-actions{margin-left:auto}
  .ttb3-mode-home>.ttb3-desktop-nav .ttb3-lang{color:#526F80;background:rgba(250,246,239,.86);border-color:rgba(255,255,255,.5);box-shadow:0 8px 24px rgba(55,42,34,.08)}
}


/* v3.2.1 bank transfer + slip uploader */
.ttb3-bank-payment-card{padding:16px;border:1px solid #ddd6ca;border-radius:18px;background:linear-gradient(145deg,#f8f5ef,#f1ede5);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.ttb3-bank-card-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}.ttb3-bank-card-head>div{min-width:0}.ttb3-bank-card-head strong,.ttb3-bank-card-head small{display:block}.ttb3-bank-card-head strong{font-size:15px;color:#526F80}.ttb3-bank-card-head small{margin-top:2px;font-size:11px;line-height:1.45;color:#7895A7}.ttb3-bank-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:#001427;color:#FFEDD8;font-weight:900;font-size:19px;box-shadow:0 8px 20px rgba(0,20,39,.14)}
.ttb3-bank-detail-grid{display:grid;gap:8px}.ttb3-bank-detail-grid>div{display:grid;grid-template-columns:minmax(92px,.45fr) 1fr auto;align-items:center;gap:8px;min-height:45px;padding:9px 11px;border-radius:12px;background:#fffdf9;border:1px solid rgba(82,111,128,.08)}.ttb3-bank-detail-grid span{font-size:11px;color:#7895A7}.ttb3-bank-detail-grid strong{font-size:14px;color:#001427;overflow-wrap:anywhere}.ttb3-copy-account{border:0;border-radius:999px;padding:7px 10px;background:#FFEDD8;color:#001427;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.ttb3-copy-account:hover{background:#f5dcc0}
.ttb3-bank-note,.ttb3-bank-legacy{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.5);color:#7895A7;font-size:11px;line-height:1.55}.ttb3-bank-warning{padding:10px 12px;border-radius:12px;background:#fff3d9;color:#775d24;font-size:12px}
.ttb3-slip-field{margin-top:13px!important;padding-top:13px;border-top:1px dashed #d5cec2}.ttb3-slip-field>span{font-weight:800}.ttb3-slip-field>span b{color:#b45d51}.ttb3-slip-field>small{display:block;margin:-2px 0 8px;color:#7895A7;font-size:10.5px}.ttb3-slip-field input[type=file]{width:100%;padding:10px;border:1px dashed #FFEDD8;border-radius:13px;background:rgba(255,255,255,.7);font-size:12px}.ttb3-slip-field input[type=file]::file-selector-button{border:0;border-radius:10px;padding:8px 11px;margin-right:8px;background:#7895A7;color:#fff;font-weight:800;cursor:pointer}
.ttb3-slip-preview{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px;border-radius:13px;background:#fff;border:1px solid rgba(82,111,128,.1)}.ttb3-slip-preview[hidden]{display:none}.ttb3-slip-preview img{width:58px;height:58px;border-radius:9px;object-fit:cover;border:1px solid #FFEDD8}.ttb3-slip-preview>div{min-width:0}.ttb3-slip-preview strong,.ttb3-slip-preview span{display:block}.ttb3-slip-preview strong{font-size:11px;color:#526F80}.ttb3-slip-preview span{margin-top:2px;font-size:11px;color:#7895A7;word-break:break-word}
@media(max-width:520px){.ttb3-bank-detail-grid>div{grid-template-columns:1fr auto}.ttb3-bank-detail-grid>div>span{grid-column:1/-1}.ttb3-bank-detail-grid strong{font-size:13px}.ttb3-copy-account{padding:7px 9px}.ttb3-bank-payment-card{padding:13px}}

/* v3.2.2 optional booking slip + My Bookings payment panel */
.ttb3-slip-field>span em{font-style:normal;font-weight:700;color:#7895A7;font-size:11px;margin-left:4px}
.ttb3-status.is-unpaid{background:#fff0cf;color:#825b11}
.ttb3-my-payment-box{margin:14px 0 2px;padding:14px;border:1px solid #e1dbd1;border-radius:16px;background:linear-gradient(145deg,#faf7f2,#f4f0e9)}
.ttb3-my-payment-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.ttb3-my-payment-head strong,.ttb3-my-payment-head span{display:block}
.ttb3-my-payment-head>div>strong{font-size:14px;color:#526F80}
.ttb3-my-payment-head>div>span{margin-top:3px;font-size:11px;line-height:1.45;color:#7895A7}
.ttb3-my-bank-grid{margin-top:8px}
.ttb3-my-bank-grid .ttb3-bank-note{grid-column:1/-1}
.ttb3-my-slip-actions{display:flex;gap:8px;align-items:center;margin-top:9px}
.ttb3-my-slip-upload{margin-top:12px;padding-top:12px;border-top:1px dashed #d6cfc4}
.ttb3-my-slip-upload label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:#526F80}
.ttb3-my-slip-upload input[type=file]{display:block;width:100%;margin-top:6px;padding:9px;border:1px dashed #FFEDD8;border-radius:12px;background:rgba(255,255,255,.72);font:inherit;font-size:11px}
.ttb3-my-slip-upload input[type=file]::file-selector-button{border:0;border-radius:9px;padding:7px 10px;margin-right:7px;background:#7895A7;color:#fff;font-weight:800;cursor:pointer}
.ttb3-my-slip-upload small{display:block;margin:6px 0 9px;color:#7895A7;font-size:10.5px;overflow-wrap:anywhere}
.ttb3-btn-small{padding:9px 13px!important;font-size:12px!important}
@media(max-width:520px){.ttb3-my-payment-head{align-items:flex-start}.ttb3-my-payment-box{padding:12px}.ttb3-my-bank-grid>div{grid-template-columns:1fr auto}.ttb3-my-bank-grid>div>span{grid-column:1/-1}}

/* v3.3.0 multi-booking cart */
.ttb3-cart-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 10px}.ttb3-cart-head>div{display:flex;flex-direction:column}.ttb3-cart-head strong{font-size:16px}.ttb3-cart-head small{color:var(--ttb3-muted);margin-top:2px}.ttb3-cart-head>span{white-space:nowrap;border-radius:999px;background:#FFF8F0;color:#526F80;padding:6px 10px;font-size:12px;font-weight:800}.ttb3-booking-cart{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.ttb3-cart-empty{border:1px dashed #FFEDD8;background:#FFF8F0;color:var(--ttb3-muted);border-radius:14px;padding:16px;text-align:center;font-size:13px}.ttb3-cart-item{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #FFF8F0;background:#FFF8F0;border-radius:14px;padding:11px 12px}.ttb3-cart-date{display:flex;flex-direction:column}.ttb3-cart-date b{font-size:12px}.ttb3-cart-date span{font-size:13px;color:var(--ttb3-muted);margin-top:2px}.ttb3-cart-main{min-width:0;display:flex;flex-direction:column}.ttb3-cart-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ttb3-cart-main small{color:var(--ttb3-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ttb3-cart-price{display:flex;align-items:center;gap:8px}.ttb3-cart-price strong{white-space:nowrap;font-size:13px}.ttb3-cart-price button{width:30px;height:30px;border:0;border-radius:50%;background:#f4ebdf;color:#526F80;font-size:20px;line-height:1;cursor:pointer}.ttb3-cart-price button:hover{background:#f7dddd;color:#8a3030}.ttb3-cart-tip{font-size:12px;line-height:1.55;color:#526F80;background:#fff3e5;border-radius:10px;padding:9px 11px;margin-bottom:16px}.ttb3-cart-warning{border-radius:11px;background:#fff1cf;color:#765b0c;padding:9px 11px;font-size:12px;font-weight:750}.ttb3-slot.is-in-cart{position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.ttb3-batch-success-list{display:grid;gap:7px;margin:12px 0}.ttb3-batch-success-list>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #FFF8F0;padding-top:7px}.ttb3-batch-success-list span{color:var(--ttb3-muted);font-size:12px;text-align:right}.ttb3-group-label{display:inline-block;color:var(--ttb3-muted);font-size:11px;margin:1px 0 3px}.ttb3-admin-group{color:#64748b}
@media(max-width:767px){.ttb3-cart-item{grid-template-columns:86px minmax(0,1fr);gap:8px}.ttb3-cart-price{grid-column:1/-1;justify-content:flex-end;border-top:1px dashed #FFEDD8;padding-top:7px}.ttb3-cart-head{align-items:flex-start}.ttb3-cart-head small{max-width:210px}.ttb3-batch-success-list>div{flex-direction:column}.ttb3-batch-success-list span{text-align:left}}


/* v3.4.0 time-based pricing */
.ttb3-slot{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;text-align:left;min-height:92px;font-weight:700}
.ttb3-slot-time{font-size:15px;line-height:1.2}
.ttb3-slot-prices{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ttb3-slot-price-old{font-size:12px;color:#7895A7;text-decoration:line-through;font-weight:700}
.ttb3-slot-price-now{font-size:15px;color:#001427;font-weight:800}
.ttb3-slot-state{font-size:12px;color:#8a6448;font-weight:700}
.ttb3-slot:disabled .ttb3-slot-state{color:#9aa2af}
.ttb3-slot.is-selected .ttb3-slot-price-now,.ttb3-slot.is-selected .ttb3-slot-state,.ttb3-slot.is-selected .ttb3-slot-time{color:inherit}


.ttb3-bank-payment-layout{display:grid;gap:14px;align-items:start}.ttb3-bank-payment-layout.has-qr{grid-template-columns:minmax(0,1fr) 180px}.ttb3-bank-qr{display:flex;justify-content:center;align-items:flex-start}.ttb3-bank-qr img{display:block;width:100%;max-width:180px;border-radius:16px;border:1px solid #FFEDD8;background:#fff;padding:8px;box-shadow:0 10px 25px rgba(0,20,39,.06)}
@media(max-width:767px){.ttb3-bank-payment-layout.has-qr{grid-template-columns:1fr}.ttb3-bank-qr{justify-content:flex-start}.ttb3-bank-qr img{max-width:220px}}


/* v3.5.2 ui refinements */
.ttb3-date-btn{min-height:74px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}
.ttb3-date-btn .ttb3-date-dow{font-size:11px;color:var(--ttb3-muted);text-transform:none;line-height:1.1}
.ttb3-date-btn .ttb3-date-month{display:block;font-size:11px;font-style:normal;color:#7a8190;line-height:1.1}
.ttb3-date-btn b{line-height:1.05}
.ttb3-date-btn.is-active .ttb3-date-dow,.ttb3-date-btn.is-active .ttb3-date-month{color:#FFEDD8}
.ttb3-slot{min-height:108px;padding:12px 10px;gap:6px}
.ttb3-slot-time{font-size:14px;font-weight:800;line-height:1.25}
.ttb3-slot-prices{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:20px}
.ttb3-slot-price-old{font-size:12px}
.ttb3-slot-price-now{font-size:16px;line-height:1.1}
.ttb3-slot-state{font-size:12px;line-height:1.1}
.ttb3-slot.is-selected{background:var(--ttb3-accent-deep);border-color:var(--ttb3-accent-deep);color:#fff;box-shadow:0 10px 24px rgba(0,20,39,.18)}
.ttb3-slot.is-selected .ttb3-slot-time,.ttb3-slot.is-selected .ttb3-slot-price-now,.ttb3-slot.is-selected .ttb3-slot-state{color:#fff}
.ttb3-slot.is-selected .ttb3-slot-price-old{color:rgba(255,255,255,.78)}
.ttb3-slot:disabled .ttb3-slot-time,.ttb3-slot:disabled .ttb3-slot-price-now,.ttb3-slot:disabled .ttb3-slot-state{color:#9aa2af}
.ttb3-bank-payment-layout.has-qr{grid-template-columns:minmax(0,1fr) 164px;gap:16px}
.ttb3-bank-detail-grid{gap:10px}
.ttb3-bank-detail-grid>div{background:#fffdf9;grid-template-columns:88px minmax(0,1fr) auto}
.ttb3-bank-detail-grid strong{overflow-wrap:normal;word-break:break-word}
.ttb3-bank-account-row strong{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ttb3-bank-payment-layout .ttb3-bank-note{margin-top:10px}
@media(max-width:767px){
  .ttb3-date-strip{grid-template-columns:repeat(4,minmax(74px,1fr));gap:10px}
  .ttb3-date-btn{min-height:78px;padding:10px 6px}
  .ttb3-slot-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .ttb3-slot{min-height:116px}
  .ttb3-bank-payment-layout.has-qr{grid-template-columns:1fr}
  .ttb3-bank-qr{order:-1;justify-content:center}
  .ttb3-bank-qr img{max-width:200px}
}
@media(max-width:520px){
  .ttb3-bank-detail-grid>div{grid-template-columns:1fr}
  .ttb3-bank-detail-grid>div>span{grid-column:auto}
  .ttb3-bank-detail-grid strong{white-space:normal;overflow-wrap:anywhere}
  .ttb3-bank-account-row strong{font-size:20px;line-height:1.15;letter-spacing:.08em;white-space:normal}
  .ttb3-bank-account-row .ttb3-copy-account{justify-self:start;margin-top:4px}
}

/* v3.5.3 date labels */
.ttb3-date-btn{gap:3px}
.ttb3-date-btn .ttb3-date-dow{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ttb3-date-btn b{font-size:20px}
.ttb3-date-btn .ttb3-date-month{font-size:11px;font-weight:700}
.ttb3-slot{justify-content:flex-start}


/* v3.5.4 slot/date/payment fixes */
.ttb3-date-btn .ttb3-date-dow{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ttb3-slot{justify-content:flex-start;gap:8px}
.ttb3-slot-time{font-size:16px;font-weight:800;line-height:1.2}
.ttb3-slot-prices{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:auto}
.ttb3-slot-price-old{font-size:13px;line-height:1.1}
.ttb3-slot-price-now{font-size:16px;line-height:1.15}
.ttb3-slot.is-selected .ttb3-slot-prices{opacity:1}
.ttb3-slot-state{display:none!important}
.ttb3-bank-detail-grid{gap:12px}
.ttb3-bank-detail-grid>div{background:#fffdf9;grid-template-columns:92px minmax(0,1fr) auto;align-items:center}
.ttb3-bank-detail-grid strong{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.ttb3-bank-account-row{grid-template-columns:72px minmax(0,1fr) auto!important;align-items:center!important}
.ttb3-bank-account-row strong{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:clamp(17px,4.3vw,20px)}
.ttb3-bank-account-row .ttb3-copy-account{justify-self:end}
@media(max-width:767px){
  .ttb3-slot-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .ttb3-slot{min-height:120px;padding:12px 10px}
  .ttb3-slot-time{font-size:15px}
  .ttb3-slot-price-now{font-size:15px}
  .ttb3-bank-payment-layout.has-qr{grid-template-columns:1fr}
  .ttb3-bank-qr{order:-1;justify-content:center}
}
@media(max-width:520px){
  .ttb3-bank-detail-grid>div{grid-template-columns:1fr;gap:6px}
  .ttb3-bank-detail-grid>div>span{grid-column:auto}
  .ttb3-bank-account-row{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'label label' 'number copy'!important;gap:8px!important}
  .ttb3-bank-account-row>span{grid-area:label}
  .ttb3-bank-account-row>strong{grid-area:number;font-size:18px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
  .ttb3-bank-account-row>.ttb3-copy-account{grid-area:copy;align-self:center;justify-self:end;margin-top:0}
}


/* v3.5.5 selected slot + bank qr stack */
.ttb3-bank-payment-layout,.ttb3-bank-payment-layout.has-qr{display:grid;grid-template-columns:1fr!important;gap:12px}
.ttb3-bank-qr,.ttb3-bank-qr.is-below{justify-content:flex-start;order:0;margin-top:-2px}
.ttb3-bank-qr img{max-width:180px}
.ttb3-slot-time{display:block}
.ttb3-slot-prices{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;opacity:1!important}
.ttb3-slot-price-old,.ttb3-slot-price-now{display:block}
.ttb3-slot.is-selected .ttb3-slot-time,.ttb3-slot.is-selected .ttb3-slot-price-now{color:#fff!important}
.ttb3-slot.is-selected .ttb3-slot-price-old{color:rgba(255,255,255,.78)!important}
@media(max-width:767px){.ttb3-bank-qr,.ttb3-bank-qr.is-below{justify-content:flex-start}.ttb3-bank-qr img{max-width:190px}}


/* v3.5.7 compact slot cards */
.ttb3-slot-grid{gap:10px}
.ttb3-slot{min-height:86px!important;padding:10px 10px!important;border-radius:14px;gap:4px!important}
.ttb3-slot-time{font-size:14px!important;font-weight:800;line-height:1.15}
.ttb3-slot-prices{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px!important;line-height:1.05}
.ttb3-slot-price-old{font-size:11px!important;line-height:1.05;margin:0}
.ttb3-slot-price-now{font-size:14px!important;line-height:1.12;margin:0}
.ttb3-slot.is-selected{box-shadow:0 8px 18px rgba(0,20,39,.18)!important}
@media(max-width:767px){
  .ttb3-slot-grid{gap:8px}
  .ttb3-slot{min-height:80px!important;padding:9px 8px!important;border-radius:13px}
  .ttb3-slot-time{font-size:13px!important}
  .ttb3-slot-price-old{font-size:10px!important}
  .ttb3-slot-price-now{font-size:13px!important}
}


/* v3.5.8 home social icons */
.ttb3-home-utilities{margin-top:14px;gap:9px}
.ttb3-home-utilities a{min-width:92px;justify-content:center;padding:8px 14px;border-radius:999px;background:var(--ttb3-navy)!important;backdrop-filter:blur(12px);border:1px solid rgba(255,237,216,.28)!important;color:var(--ttb3-cream)!important;font-size:12px;font-weight:800;box-shadow:0 10px 24px rgba(0,20,39,.18)}
.ttb3-home-utilities a:hover{transform:translateY(-1px);background:#001427}
.ttb3-home-socials{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}
.ttb3-home-socials a{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#FFEDD8;border:1px solid rgba(255,255,255,.48);color:#001427;box-shadow:0 12px 26px rgba(0,20,39,.10);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.ttb3-home-socials a:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(56,46,40,.18);background:#fffdf9}
.ttb3-home-socials svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){
  .ttb3-home-utilities a{min-width:84px;padding:7px 12px;font-size:11px}
  .ttb3-home-socials{gap:10px;margin-top:12px}
  .ttb3-home-socials a{width:46px;height:46px}
}


/* v3.5.9 package gift promo */
.ttb3-package-promo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:-2px 0 24px;padding:16px 18px;border:1px solid #FFEDD8;border-radius:20px;background:linear-gradient(135deg,#FFF8F0,#FFF8F0);box-shadow:0 14px 34px rgba(0,20,39,.07)}
.ttb3-package-promo-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#001427;color:#FFEDD8;font-size:23px;box-shadow:0 10px 24px rgba(0,20,39,.14)}
.ttb3-package-promo-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.ttb3-package-promo-copy strong{font-size:15px;line-height:1.5;color:#001427}
.ttb3-package-promo-copy span{font-size:13px;line-height:1.45;color:#526F80}
.ttb3-package-promo-copy b{color:#526F80}
.ttb3-package-line-btn{white-space:nowrap;background:#001427!important;color:#FFEDD8!important;border:0!important;padding:11px 18px!important;box-shadow:none!important}
.ttb3-package-line-btn:hover{background:#526F80!important;transform:translateY(-1px)}
@media(max-width:767px){.ttb3-package-promo{grid-template-columns:44px 1fr;gap:12px;padding:14px;border-radius:18px;margin-bottom:18px}.ttb3-package-promo-icon{width:44px;height:44px;border-radius:14px}.ttb3-package-promo-copy strong{font-size:14px}.ttb3-package-promo-copy span{font-size:12px}.ttb3-package-line-btn{grid-column:1/-1;width:100%;justify-content:center;text-align:center;margin-top:2px}}


/* v3.5.10 monochrome contact/app icons */
.ttb3-home-socials{gap:11px}
.ttb3-home-socials a{width:48px;height:48px;background:var(--ttb3-cream)!important;color:var(--ttb3-navy)!important;border:1px solid rgba(255,237,216,.55)!important;box-shadow:0 10px 24px rgba(0,20,39,.10)!important}
.ttb3-home-socials a:hover{background:#fffdf9!important;color:var(--ttb3-blue-dark)!important;transform:translateY(-2px)}
.ttb3-home-socials svg.ttb3-brand-svg{width:21px;height:21px;fill:currentColor!important;stroke:none!important}
@media(max-width:767px){.ttb3-home-socials a{width:44px;height:44px}.ttb3-home-socials svg.ttb3-brand-svg{width:20px;height:20px}}


/* v3.5.16 brand logo support */
.ttb3-brand-mark.is-logo,.ttb3-mini-brand.is-logo,.ttb3-home-monogram.is-logo{padding:0;overflow:hidden;background:#f8f4ee}
.ttb3-brand-mark.is-logo img,.ttb3-mini-brand.is-logo img,.ttb3-home-monogram.is-logo img{width:100%;height:100%;object-fit:cover;display:block}
.ttb3-mini-brand-wrap{display:inline-grid;place-items:center}
.ttb3-mini-brand-wrap,.ttb3-mini-brand-wrap:hover,.ttb3-mini-brand-wrap:focus{color:inherit;text-decoration:none}


/* v3.5.17 home background single-layer fix */
.ttb3-home-landing{background-repeat:no-repeat!important;background-size:cover!important;background-position:center center!important}
.ttb3-home-landing:before{display:none!important;content:none!important;background:none!important}


/* v3.5.18 media background + floating decorations */
.ttb3-home-floaters{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ttb3-home-floater{position:absolute;display:block;opacity:.58;filter:drop-shadow(0 8px 16px rgba(50,40,32,.18));will-change:transform}
.ttb3-home-floater img{display:block;width:100%;height:100%;object-fit:contain}
.ttb3-home-floater-1{width:52px;height:52px;left:7%;top:19%;animation:ttb3-float-a 8s ease-in-out infinite}
.ttb3-home-floater-2{width:38px;height:38px;right:10%;top:26%;animation:ttb3-float-b 10s ease-in-out -2s infinite}
.ttb3-home-floater-3{width:60px;height:60px;left:12%;bottom:20%;animation:ttb3-float-c 11s ease-in-out -4s infinite}
.ttb3-home-floater-4{width:44px;height:44px;right:14%;bottom:16%;animation:ttb3-float-a 9s ease-in-out -5s infinite}
.ttb3-home-floater-5{width:32px;height:32px;left:27%;top:10%;animation:ttb3-float-b 12s ease-in-out -3s infinite}
.ttb3-home-floater-6{width:48px;height:48px;right:26%;bottom:8%;animation:ttb3-float-c 10s ease-in-out -6s infinite}
@keyframes ttb3-float-a{0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}50%{transform:translate3d(12px,-20px,0) rotate(8deg)}}
@keyframes ttb3-float-b{0%,100%{transform:translate3d(0,0,0) rotate(9deg)}50%{transform:translate3d(-15px,17px,0) rotate(-10deg)}}
@keyframes ttb3-float-c{0%,100%{transform:translate3d(0,0,0) rotate(0)}33%{transform:translate3d(12px,-15px,0) rotate(8deg)}66%{transform:translate3d(-8px,-5px,0) rotate(-6deg)}}
@media(max-width:767px){.ttb3-home-floater{opacity:.42}.ttb3-home-floater-1{left:4%;top:16%;width:38px;height:38px}.ttb3-home-floater-2{right:5%;top:22%;width:30px;height:30px}.ttb3-home-floater-3{left:6%;bottom:18%;width:42px;height:42px}.ttb3-home-floater-4{right:7%;bottom:14%;width:34px;height:34px}.ttb3-home-floater-5,.ttb3-home-floater-6{display:none}}
@media(prefers-reduced-motion:reduce){.ttb3-home-floater{animation:none!important}}


/* v3.5.19 mobile more contact links */
.ttb3-sheet-subhead{padding:15px 8px 7px;margin-top:2px;border-top:1px solid #eef1f5;color:#7895A7;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ttb3-sheet-panel>a svg.ttb3-brand-svg{width:22px;height:22px;fill:currentColor!important;stroke:none!important}
.ttb3-sheet-panel>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* v3.5.20 package time badge */
.ttb3-package-time-badge{display:inline-flex;align-items:center;min-height:30px;margin:10px 0 2px;padding:6px 10px;border-radius:999px;background:#FFF8F0;color:#526F80;font-size:12px;font-weight:800}


/* v3.5.21 configurable package promo */
.ttb3-package-promo-icon.has-image{padding:0;overflow:hidden;background:#fff}
.ttb3-package-promo-icon.has-image img{width:100%;height:100%;object-fit:cover;display:block}


/* v3.5.24 front-end admin dashboard */
.ttb3-front-admin{background:#FFF8F0;min-height:100vh}.ttb3-front-admin-main{max-width:1380px;margin:0 auto;padding:34px 24px 80px}.ttb3-front-admin-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.ttb3-front-admin-head h1{margin:4px 0 2px;font-size:clamp(30px,4vw,48px);line-height:1.05}.ttb3-front-admin-head p{margin:0;color:var(--ttb3-muted)}.ttb3-front-admin-head-actions{display:flex;gap:9px;flex-wrap:wrap}.ttb3-front-dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.ttb3-front-dashboard-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;background:#fff;border:1px solid #e4e0d9;border-radius:18px;padding:17px;color:var(--ttb3-text);box-shadow:0 8px 28px rgba(48,41,35,.05);transition:.2s}.ttb3-front-dashboard-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(48,41,35,.09)}.ttb3-front-dashboard-card>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#FFF8F0;font-size:20px}.ttb3-front-dashboard-card div>*{display:block}.ttb3-front-dashboard-card b{font-size:28px;line-height:1}.ttb3-front-dashboard-card strong{margin-top:3px;font-size:14px}.ttb3-front-dashboard-card small{margin-top:3px;color:var(--ttb3-muted);line-height:1.35}.ttb3-front-dashboard-card.is-slip>span{background:#fff2d8}.ttb3-front-dashboard-card.is-package>span{background:#eaf0fb}.ttb3-front-dashboard-card.is-cancel>span{background:#fdeaea;color:#9d3636;font-size:26px}.ttb3-front-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.ttb3-front-mini-stats>div{background:rgba(255,255,255,.72);border:1px solid #e6e1da;border-radius:14px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between}.ttb3-front-mini-stats span{color:var(--ttb3-muted)}.ttb3-front-mini-stats b{font-size:21px}.ttb3-front-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.ttb3-front-admin-panel{background:#fff;border:1px solid #e4e0d9;border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(48,41,35,.04);scroll-margin-top:18px}.ttb3-front-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.ttb3-front-panel-head h2{margin:0;font-size:20px}.ttb3-front-panel-head span{color:var(--ttb3-muted);font-size:12px}.ttb3-front-admin-list{display:flex;flex-direction:column}.ttb3-front-admin-list-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-top:1px solid #eeeae4}.ttb3-front-admin-list-row:first-child{border-top:0}.ttb3-front-list-main>*{display:block}.ttb3-front-list-main span{margin-top:2px}.ttb3-front-list-main small{margin-top:3px;color:var(--ttb3-muted)}.ttb3-front-list-icon{width:60px;height:60px;border-radius:15px;display:grid;place-items:center;background:#FFF8F0;font-size:24px}.ttb3-front-slip{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ttb3-text);font-size:10px}.ttb3-front-slip img,.ttb3-front-slip>b{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid #e4e0d9;background:#f7f4ee;display:grid;place-items:center}.ttb3-front-no-slip{color:var(--ttb3-muted);font-size:12px}.ttb3-front-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.ttb3-front-action-form{display:inline-flex;margin:0}.ttb3-front-action{border:1px solid #FFEDD8;background:#FFF8F0;color:#526F80;border-radius:999px;padding:7px 10px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.ttb3-front-action.is-primary{background:#7895A7;color:#fff;border-color:#7895A7}.ttb3-front-action.is-danger{background:#fff4f4;color:#a03c3c;border-color:#efd4d4}.ttb3-front-action.is-soft{background:#FFEDD8;color:#001427}.ttb3-front-empty{padding:30px 10px;text-align:center;color:var(--ttb3-muted)}.ttb3-front-table-wrap{overflow:auto}.ttb3-front-table{width:100%;border-collapse:collapse;min-width:980px}.ttb3-front-table th,.ttb3-front-table td{text-align:left;padding:11px 10px;border-top:1px solid #eeeae4;vertical-align:middle}.ttb3-front-table thead th{border-top:0;color:#7895A7;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.ttb3-front-table td small,.ttb3-front-table td b{display:block}.ttb3-front-table td small{color:var(--ttb3-muted);margin-top:2px}.ttb3-front-actions.is-table{margin-top:0;min-width:210px}.ttb3-front-login-card{max-width:440px;margin:8vh auto;background:#fff;border:1px solid #e3dfd7;border-radius:24px;padding:28px;box-shadow:0 20px 60px rgba(48,41,35,.08)}.ttb3-front-login-card h2{margin:5px 0 4px}.ttb3-front-login-card>p{color:var(--ttb3-muted);margin-top:0}.ttb3-front-login-card #loginform p{margin:12px 0}.ttb3-front-login-card #loginform label{display:block;font-weight:750}.ttb3-front-login-card #loginform input[type=text],.ttb3-front-login-card #loginform input[type=password]{width:100%;padding:11px 12px;border:1px solid #FFEDD8;border-radius:12px}.ttb3-front-login-card #wp-submit{width:100%;border:0;border-radius:999px;background:#7895A7;color:#fff;padding:11px 16px;font-weight:800;cursor:pointer}.ttb3-front-login-card .login-remember label{display:flex!important;align-items:center;gap:8px;font-weight:500!important}
@media(max-width:1100px){.ttb3-front-dashboard-cards{grid-template-columns:repeat(2,1fr)}.ttb3-front-dashboard-grid{grid-template-columns:1fr}}@media(max-width:767px){.ttb3-front-admin-main{padding:20px 12px 90px}.ttb3-front-admin-head{align-items:flex-start;flex-direction:column}.ttb3-front-admin-head-actions{width:100%}.ttb3-front-admin-head-actions .ttb3-btn{flex:1}.ttb3-front-dashboard-cards{grid-template-columns:1fr}.ttb3-front-mini-stats{grid-template-columns:1fr}.ttb3-front-admin-panel{padding:14px}.ttb3-front-admin-list-row{grid-template-columns:64px minmax(0,1fr)}.ttb3-front-slip img,.ttb3-front-slip>b{width:56px;height:56px}.ttb3-front-actions{gap:5px}.ttb3-front-action{padding:7px 9px}}


/* v3.5.25 admin dashboard navigation */
.ttb3-admin-link{color:#FFEDD8;border:1px solid #FFEDD8;border-radius:12px;padding:9px 12px;font-weight:800;font-size:13px;background:#001427}
.ttb3-admin-link:hover,.ttb3-admin-link.is-active{background:#526F80;color:#fff;border-color:#A4B6C0}
.ttb3-mode-home>.ttb3-desktop-nav .ttb3-admin-link{background:#001427;color:#FFEDD8;border-color:#FFEDD8}
.ttb3-mode-home>.ttb3-desktop-nav .ttb3-admin-link:hover,.ttb3-mode-home>.ttb3-desktop-nav .ttb3-admin-link.is-active{background:#526F80;color:#fff}
.ttb3-more-sheet a.is-active{background:#FFF8F0;color:#526F80;border-radius:12px}
.ttb3-front-admin>.ttb3-desktop-nav{position:sticky;top:0}
@media(max-width:1080px){.ttb3-admin-link{padding:8px 10px;font-size:12px}}


/* v3.5.26 improve admin dashboard button visibility */
.ttb3-admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:14px;background:#001427;color:#FFEDD8!important;border:1px solid #FFEDD8;box-shadow:0 8px 22px rgba(82,111,128,.18)}
.ttb3-admin-link:hover,.ttb3-admin-link.is-active{background:#526F80;color:#fff!important;border-color:#A4B6C0;box-shadow:0 10px 26px rgba(0,20,39,.22)}
.ttb3-mode-home>.ttb3-desktop-nav .ttb3-admin-link{background:#001427;color:#FFEDD8!important;border-color:#FFEDD8;box-shadow:0 8px 24px rgba(55,42,34,.12)}
.ttb3-mode-home>.ttb3-desktop-nav .ttb3-admin-link:hover,.ttb3-mode-home>.ttb3-desktop-nav .ttb3-admin-link.is-active{background:#526F80;color:#fff!important;border-color:#A4B6C0}
.ttb3-nav-actions{gap:10px}
.ttb3-front-admin .ttb3-desktop-nav .ttb3-admin-link{background:#001427;color:#FFEDD8!important;border-color:#FFEDD8}
@media(max-width:1080px){.ttb3-admin-link{min-height:40px;padding:9px 12px;font-size:12px}}


/* v3.5.30 package coach badge */
.ttb3-package-coach-badge{display:inline-flex;align-items:center;margin-top:8px;padding:6px 10px;border-radius:999px;background:#e7eef5;color:#001427;font-size:12px;font-weight:800}


/* v3.6.3 mobile coach notice + touch stability */
.ttb3-availability.is-refreshing{opacity:.72;transition:opacity .12s ease;pointer-events:none}
.ttb3-slot-inline-notice{margin:-4px 0 14px;padding:11px 13px;border-radius:12px;font-size:13px;font-weight:750;line-height:1.45}
.ttb3-slot-inline-notice.is-error{background:#fff1e7;border:1px solid #efd4bc;color:#7b4826}
.ttb3-slot-inline-notice.is-info{background:#FFF8F0;border:1px solid #FFEDD8;color:#526F80}
.ttb3-slot.is-coach-restricted{border-style:dashed;border-color:#d7b58e;background:#fffaf4}
.ttb3-slot{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(hover:none){.ttb3-slot:hover:not(:disabled){border-color:#dce2ec;background:#fff}.ttb3-slot.is-coach-restricted:hover:not(:disabled){border-color:#d7b58e;background:#fffaf4}}
@media(max-width:767px){
  .ttb3-slot-inline-notice{position:sticky;top:66px;z-index:75;box-shadow:0 8px 24px rgba(67,50,33,.10)}
  .ttb3-availability.is-refreshing{opacity:.86}
}


/* v3.6.4 mobile navigation cleanup */
@media(max-width:767px){
  .ttb3-main{padding:14px 12px 98px}
  .ttb3-page-head{padding:10px 2px 16px}
  .ttb3-page-head h1{font-size:26px;line-height:1.12;margin:4px 0 10px}
  .ttb3-page-head p{font-size:14px;line-height:1.58}
  .ttb3-panel{padding:14px;border-radius:18px}
  .ttb3-mobile-bottom{left:8px;right:8px;bottom:8px;height:70px;padding:6px 3px calc(6px + env(safe-area-inset-bottom));gap:0}
  .ttb3-mobile-bottom a,.ttb3-mobile-bottom button{min-width:0;gap:3px;padding:4px 2px 6px;font-size:9px;line-height:1.08;text-align:center}
  .ttb3-mobile-bottom a span,.ttb3-mobile-bottom button span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1.08;letter-spacing:0}
  .ttb3-mobile-bottom svg{width:18px;height:18px}
  .ttb3-mobile-top{height:56px;padding:0 12px}
  .ttb3-mobile-top>strong{font-size:15px}
  .ttb3-date-strip{gap:6px;margin-bottom:16px}
  .ttb3-date-btn{padding:8px 6px;border-radius:12px;min-height:74px}
  .ttb3-date-btn span{font-size:10px;line-height:1.05}
  .ttb3-date-btn b{font-size:18px;line-height:1.05}
  .ttb3-step-title{margin-bottom:14px}
  .ttb3-step-title>span{width:30px;height:30px;font-size:14px}
  .ttb3-step-title strong{font-size:17px}
  .ttb3-step-title small{font-size:12px;line-height:1.45}
  .ttb3-court-title{margin-bottom:10px}
  .ttb3-court-title h3{font-size:17px;line-height:1.15}
  .ttb3-court-title span{font-size:12px}
}


/* v3.6.5 booking mobile overflow fix */
@media(max-width:767px){
  .ttb3-app,.ttb3-main,.ttb3-booking-layout,.ttb3-booking-picker,.ttb3-booking-form-panel,.ttb3-availability,.ttb3-court-block,.ttb3-panel{min-width:0;max-width:100%}
  .ttb3-booking-layout{gap:14px;overflow-x:clip}
  .ttb3-panel{overflow:hidden}
  .ttb3-step-title{align-items:flex-start;min-width:0;gap:10px}
  .ttb3-step-title>span{flex:0 0 30px;width:30px;height:30px;min-width:30px;min-height:30px;border-radius:999px;display:inline-grid;place-items:center}
  .ttb3-step-title>div{flex:1 1 auto;min-width:0}
  .ttb3-step-title strong,.ttb3-step-title small{display:block;min-width:0;word-break:break-word}
  .ttb3-date-strip{grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
  .ttb3-date-btn{min-width:0}
  .ttb3-court-title{min-width:0;align-items:flex-start}
  .ttb3-court-title > div,.ttb3-court-title h3{min-width:0}
  .ttb3-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
  .ttb3-slot{min-width:0}
}


/* v3.6.6 mobile slot 2-column fix */
@media(max-width:767px){
  .ttb3-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .ttb3-slot{width:100%;min-width:0;max-width:100%;min-height:94px!important;padding:10px 9px!important;overflow:hidden}
  .ttb3-slot-time{display:block;max-width:100%;font-size:15px!important;line-height:1.15!important;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .ttb3-slot-prices{max-width:100%;display:flex!important;flex-direction:column;align-items:flex-start;gap:2px!important;line-height:1.05}
  .ttb3-slot-price-old,.ttb3-slot-price-now{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .ttb3-slot-price-old{font-size:11px!important}
  .ttb3-slot-price-now{font-size:14px!important;line-height:1.12!important}
}
@media(max-width:390px){
  .ttb3-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .ttb3-slot{min-height:88px!important;padding:9px 8px!important}
  .ttb3-slot-time{font-size:14px!important}
  .ttb3-slot-price-old{font-size:10px!important}
  .ttb3-slot-price-now{font-size:13px!important}
}


/* v3.6.7 selected slot + remove button alignment */
.ttb3-cart-price button[data-cart-remove]{
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  padding:0!important;
  margin:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  font-weight:500;
  appearance:none;
  -webkit-appearance:none;
  vertical-align:middle;
}
.ttb3-slot.is-selected,
.ttb3-slot.is-selected:hover,
.ttb3-slot.is-selected:focus,
.ttb3-slot.is-selected:focus-visible,
.ttb3-slot.is-selected:active,
.ttb3-slot.is-selected:hover:not(:disabled){
  background:var(--ttb3-accent-deep)!important;
  border-color:var(--ttb3-accent-deep)!important;
  color:#fff!important;
  outline:none;
}
.ttb3-slot.is-selected .ttb3-slot-time,
.ttb3-slot.is-selected .ttb3-slot-price-now{
  color:#fff!important;
}
.ttb3-slot.is-selected .ttb3-slot-price-old{
  color:rgba(255,255,255,.78)!important;
}
@media(hover:none){
  .ttb3-slot.is-selected:hover:not(:disabled),
  .ttb3-slot.is-selected:active,
  .ttb3-slot.is-selected:focus,
  .ttb3-slot.is-selected:focus-visible{
    background:var(--ttb3-accent-deep)!important;
    border-color:var(--ttb3-accent-deep)!important;
    color:#fff!important;
  }
}


/* v3.7.0 safe mobile stability */
@media(max-width:767px){
  .ttb3-availability.is-refreshing{opacity:1!important;transition:none!important;pointer-events:auto!important}
  .ttb3-slot,.ttb3-date-btn,.ttb3-btn{transition:none!important;-webkit-tap-highlight-color:transparent}
  .ttb3-mobile-bottom{transition:none!important}
}


/* v3.7.2 mobile stable-render mode: no blur/GPU tricks on phones */
@media(max-width:767px){
  html,body{overflow-x:hidden!important}
  .ttb3-app{overflow-x:hidden!important}

  /* iOS/Android browsers can repaint fixed/sticky blurred layers while scrolling. */
  .ttb3-mobile-top,
  .ttb3-mobile-bottom,
  .ttb3-panel,
  .ttb3-lookup-form,
  .ttb3-package-card,
  .ttb3-coach-detail-main,
  .ttb3-review-list article,
  .ttb3-portal-login,
  .ttb3-sheet-panel,
  .ttb3-home-menu,
  .ttb3-home-utilities a{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .ttb3-mobile-top{background:#FFF8F0!important}
  .ttb3-mobile-bottom{
    background:#FFF8F0!important;
    box-shadow:0 8px 26px rgba(0,20,39,.14)!important;
    transform:none!important;
    -webkit-transform:none!important;
    will-change:auto!important;
  }
  .ttb3-mobile-bottom.is-keyboard{transform:none!important;-webkit-transform:none!important}

  .ttb3-panel,
  .ttb3-lookup-form,
  .ttb3-package-card,
  .ttb3-coach-detail-main,
  .ttb3-review-list article,
  .ttb3-portal-login{background:#fffdfa!important}

  .ttb3-home-menu{background:rgba(248,244,237,.90)!important}
  .ttb3-home-utilities a{background:var(--ttb3-navy)!important}

  /* Keep decorative objects static on phones; animation remains on desktop/tablet. */
  .ttb3-home-floater{
    animation:none!important;
    filter:none!important;
    will-change:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
  .ttb3-home-glow{display:none!important}

  /* Avoid the 100vw + negative-margin full-bleed trick on mobile viewport changes. */
  .ttb3-mode-home{
    width:100%!important;
    left:auto!important;
    margin-left:0!important;
  }
  .ttb3-home-landing{background-attachment:scroll!important}

  .ttb3-availability,
  .ttb3-slot-grid,
  .ttb3-slot,
  .ttb3-date-btn,
  .ttb3-btn{
    transform:none!important;
    -webkit-transform:none!important;
    will-change:auto!important;
  }

  .ttb3-slot,
  .ttb3-date-btn,
  .ttb3-btn,
  .ttb3-mobile-bottom a,
  .ttb3-mobile-bottom button{
    transition:none!important;
    -webkit-tap-highlight-color:transparent;
  }
}


/* v3.7.3 mobile home buttons + soft navigation + floating animation */
.ttb3-app{transition:opacity .14s ease}
.ttb3-app.is-page-leaving{opacity:.82;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ttb3-app{transition:none!important}.ttb3-app.is-page-leaving{opacity:1!important}}

@media(max-width:767px){
  /* Home utility buttons must stay readable on a photographic background. */
  .ttb3-home-utilities a{
    background:var(--ttb3-navy)!important;
    color:var(--ttb3-cream)!important;
    border-color:rgba(255,237,216,.28)!important;
    box-shadow:0 8px 22px rgba(0,20,39,.18)!important;
    text-shadow:none!important;
  }
  .ttb3-home-utilities a svg{color:currentColor!important;stroke:currentColor!important}

  /* Restore floating-decoration movement on phones, without blur/GPU hints. */
  .ttb3-home-floater{will-change:auto!important;filter:none!important}
  .ttb3-home-floater-1{animation:ttb3-float-a 8s ease-in-out infinite!important}
  .ttb3-home-floater-2{animation:ttb3-float-b 10s ease-in-out -2s infinite!important}
  .ttb3-home-floater-3{animation:ttb3-float-c 11s ease-in-out -4s infinite!important}
  .ttb3-home-floater-4{animation:ttb3-float-a 9s ease-in-out -5s infinite!important}
  .ttb3-home-floater-5,.ttb3-home-floater-6{display:none!important}

  /* The page change is intentionally subtle: no scale/translate to avoid black-screen redraw issues. */
  .ttb3-app{transition:opacity .12s ease!important}
  .ttb3-app.is-page-leaving{opacity:.88!important}
}

/* v3.7.4 home mobile top strip fix */
@media(max-width:767px){
  .ttb3-mode-home .ttb3-mobile-top{
    position:absolute!important;
    left:0!important;
    right:0!important;
    background:transparent!important;
    border-bottom:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}


/* v3.7.5 native navigation - remove page fade transition */
.ttb3-app{transition:none!important}
.ttb3-app.is-page-leaving{opacity:1!important;pointer-events:auto!important}
@media(max-width:767px){
  .ttb3-app{transition:none!important}
  .ttb3-app.is-page-leaving{opacity:1!important;pointer-events:auto!important}
}


/* v3.12.0 — court photos, discount box, simplified home promo */
.ttb3-app .ttb3-court-top{display:flex;align-items:center;gap:16px;margin:0 0 14px;min-width:0}.ttb3-app .ttb3-court-photo{flex:0 0 156px;width:156px;height:118px;overflow:hidden;border-radius:16px;background:#efece5;border:1px solid rgba(82,111,128,.13)}.ttb3-app .ttb3-court-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.ttb3-app .ttb3-court-details{min-width:0;flex:1}.ttb3-app .ttb3-court-details .ttb3-court-title{margin-bottom:0;align-items:flex-start}.ttb3-app .ttb3-court-title>div{min-width:0}.ttb3-app .ttb3-court-title>strong{font-size:13px;white-space:nowrap;text-align:right}.ttb3-app .ttb3-court-description{display:block;line-height:1.45;font-size:12px;color:var(--ttb3-muted);margin-top:6px;white-space:pre-line;overflow-wrap:anywhere;max-height:4.35em;overflow:hidden}.ttb3-app .ttb3-discount-box{background:linear-gradient(135deg,#fffaf2,#f7f3ed);border:1px solid rgba(82,111,128,.19);border-radius:16px;padding:13px 14px;margin:0 0 16px}.ttb3-app .ttb3-discount-box .ttb3-field{margin-bottom:6px}.ttb3-app .ttb3-discount-box .ttb3-inline{display:flex;gap:7px;align-items:stretch}.ttb3-app .ttb3-discount-box .ttb3-inline input{flex:1;min-width:0;letter-spacing:.02em}.ttb3-app .ttb3-discount-box .ttb3-inline .ttb3-btn{flex:none;padding:10px 12px;white-space:nowrap}.ttb3-app .ttb3-discount-box>small{display:block;font-size:11.5px;line-height:1.5;color:var(--ttb3-muted)}.ttb3-app .ttb3-discount-box .ttb3-btn-outline{background:transparent;border:1px solid rgba(82,111,128,.28);color:var(--ttb3-navy)}.ttb3-app .ttb3-discount-box .ttb3-btn[hidden],.ttb3-app .ttb3-discount-summary[hidden]{display:none!important}.ttb3-app .ttb3-discount-box .ttb3-btn:disabled,.ttb3-app .ttb3-discount-box input:disabled{opacity:.5;cursor:not-allowed}.ttb3-app .ttb3-discount-feedback{font-size:12px;font-weight:700;line-height:1.55;margin-top:6px}.ttb3-app .ttb3-discount-feedback.is-success{color:#526F80}.ttb3-app .ttb3-discount-feedback.is-error{color:var(--ttb3-danger)}.ttb3-app .ttb3-home-promo{margin:0 0 14px;padding:14px 16px;background:#d7f15d;border:2px solid #001427;border-radius:20px;box-shadow:none;color:#001427;text-shadow:none}.ttb3-app .ttb3-home-promo-heading{display:inline-block;font-size:12px;letter-spacing:.16em;font-weight:900;color:#FFF8F0;text-transform:uppercase;margin:0 0 8px;padding:6px 12px;background:#001427;border-radius:999px}.ttb3-app .ttb3-home-promo p{font-size:14px;line-height:1.55;color:#001427;margin:0;overflow-wrap:anywhere;font-weight:400}.ttb3-app .ttb3-home-promo-code{color:#c73c30;font-weight:400}@media(max-width:767px){.ttb3-app .ttb3-court-top{align-items:flex-start;gap:11px}.ttb3-app .ttb3-court-photo{flex-basis:112px;width:112px;height:92px;border-radius:12px}.ttb3-app .ttb3-court-title{flex-wrap:wrap;gap:3px}.ttb3-app .ttb3-court-title h3{font-size:17px}.ttb3-app .ttb3-court-title>strong{text-align:left;font-size:11px}.ttb3-app .ttb3-court-description{font-size:11px;max-height:2.9em}.ttb3-app .ttb3-discount-box .ttb3-inline{flex-wrap:wrap}.ttb3-app .ttb3-discount-box .ttb3-inline input{flex-basis:100%}.ttb3-app .ttb3-discount-box .ttb3-btn{flex:1}.ttb3-app .ttb3-home-promo{padding:12px 14px;border-radius:18px}.ttb3-app .ttb3-home-promo-heading{margin-bottom:7px}.ttb3-app .ttb3-home-promo p{font-size:12px}}@media(max-width:385px){.ttb3-app .ttb3-court-photo{flex-basis:92px;width:92px;height:82px}}
/* v3.13 dashboard times & package highlights */
.ttb3-schedule-board{border:1px solid #dce4ea;background:#fff;border-radius:16px;padding:20px;margin:20px 0;box-shadow:0 5px 18px rgba(0,0,0,.035)}.ttb3-schedule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ttb3-schedule-head h2{margin:0 0 5px}.ttb3-schedule-head p,.ttb3-schedule-explain{color:#526F80;font-size:12px}.ttb3-schedule-link{font-size:12px;color:#526f80}.ttb3-schedule-select{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:15px 0}.ttb3-schedule-select label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:650}.ttb3-schedule-select input,.ttb3-schedule-select select{min-height:36px;min-width:155px;max-width:100%;border:1px solid #d1dbe4;border-radius:9px;padding:5px 10px}.ttb3-schedule-select button,.ttb3-schedule-actions button{border:1px solid #FFEDD8;border-radius:9px;padding:8px 13px;background:#f1f6fa;cursor:pointer;color:#526F80;font-weight:700}.ttb3-schedule-actions{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 12px}.ttb3-schedule-actions .ttb3-toggle-close{background:#fff6f5;color:#aa372e;border-color:#ead1ce}.ttb3-schedule-actions .ttb3-toggle-open{background:#FFF8F0;color:#526F80;border-color:#FFEDD8}.ttb3-schedule-legend{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;color:#526F80;font-size:11px}.ttb3-schedule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.ttb3-schedule-row{border:1px solid #dce4eb;border-radius:12px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:5px 8px;background:#f8fafc;align-items:center}.ttb3-schedule-row>strong{grid-column:1/-1;font-size:13px}.ttb3-schedule-row .ttb3-schedule-state{font-size:12px;color:#526F80}.ttb3-schedule-row .ttb3-schedule-note{font-size:10px;color:#526F80}.ttb3-schedule-row.is-closed{background:#fff5f2;border-color:#efcfcb}.ttb3-schedule-row.is-closed .ttb3-schedule-state{color:#9c4535}.ttb3-schedule-row.is-booked{background:#f1f0f5;border-color:#d8d4dd}.ttb3-schedule-row.is-booked .ttb3-schedule-state{color:#526F80}.ttb3-schedule-row .ttb3-slot-toggle{margin:0}.ttb3-schedule-row .ttb3-slot-toggle button{border:1px solid #d7dee5;background:#fff;padding:5px 10px;border-radius:8px;cursor:pointer;font-size:12px}.ttb3-schedule-row .ttb3-slot-toggle .ttb3-toggle-close{color:#a74333}.ttb3-schedule-row .ttb3-slot-toggle .ttb3-toggle-open{color:#526F80}.ttb3-slot-toggle{display:inline-flex}.ttb3-app .ttb3-schedule-board{width:100%;max-width:100%}
@media(max-width:600px){.ttb3-schedule-board{padding:12px}.ttb3-schedule-head{display:block}.ttb3-schedule-grid{grid-template-columns:1fr 1fr}.ttb3-schedule-select{align-items:stretch}.ttb3-schedule-select label{flex:1;min-width:140px}}@media(max-width:380px){.ttb3-schedule-grid{grid-template-columns:1fr}}

.ttb3-app .ttb3-package-type{margin:10px 0 4px;font-size:13px;font-weight:800;color:#526f80}.ttb3-app .ttb3-package-benefit-note{display:block;margin:7px 0;color:#526F80;font-weight:750;font-size:12px}.ttb3-app .ttb3-schedule-board{background:#fffaf6;color:#001427;margin:25px 0;box-shadow:none}.ttb3-app .ttb3-schedule-board p{margin:4px 0}.ttb3-app .ttb3-schedule-select select,.ttb3-app .ttb3-schedule-select input{background:#fff;color:#001427}.ttb3-app [data-ttb3-package-benefit-row][hidden]{display:none!important}

.ttb3-app [data-ttb3-discount-row][hidden],.ttb3-app [data-ttb3-package-benefit-row][hidden],.ttb3-app .ttb3-coach-price-row[hidden]{display:none!important}


/* v3.14.0: website dashboard coach switch + original custom-time closure form */
.ttb3-app .ttb3-coach-switch-panel,.ttb3-app .ttb3-block-manager{background:#fff;border:1px solid #dce4ea;border-radius:18px;padding:20px;margin:18px 0;box-shadow:0 5px 18px rgba(22,44,66,.03);color:#001427}
.ttb3-app .ttb3-coach-switch-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ttb3-app .ttb3-coach-switch-panel h2,.ttb3-app .ttb3-block-manager h2{font-size:20px;line-height:1.4;margin:0 0 5px}
.ttb3-app .ttb3-coach-switch-panel p,.ttb3-app .ttb3-block-manager p{font-size:12px;line-height:1.7;color:#526F80;margin:0}
.ttb3-app .ttb3-coach-switch-form{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}
.ttb3-app .ttb3-coach-switch{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#001427;cursor:pointer}
.ttb3-app .ttb3-coach-switch input{width:18px;height:18px;accent-color:#526F80}
.ttb3-app .ttb3-coach-switch-form button,.ttb3-app .ttb3-block-save{border:0;background:#526F80;color:#fff;font-weight:750;font-size:13px;border-radius:9px;padding:11px 16px;cursor:pointer;white-space:nowrap}
.ttb3-app .ttb3-block-manager-head{display:flex;flex-direction:column;gap:2px;margin-bottom:15px}
.ttb3-app .ttb3-block-manager-head h3{font-size:17px;margin:0}
.ttb3-app .ttb3-block-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
.ttb3-app .ttb3-block-form-grid label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#001427;font-size:12px;font-weight:750}
.ttb3-app .ttb3-block-form-grid input,.ttb3-app .ttb3-block-form-grid select{width:100%;max-width:100%;min-height:42px;background:#fff;border:1px solid #c9d5df;border-radius:8px;color:#001427;padding:8px 10px;font:inherit;font-size:13px}
.ttb3-app .ttb3-block-form-grid .ttb3-block-reason{grid-column:1/-1}
.ttb3-app .ttb3-block-add-form>.ttb3-block-save{margin-top:13px}
.ttb3-app .ttb3-block-hint{margin:12px 0 20px!important}
.ttb3-app .ttb3-block-list{border-top:1px solid #e6ebef;margin-top:20px;padding-top:18px;scroll-margin-top:16px}
.ttb3-app .ttb3-block-table-wrap{overflow-x:auto;max-width:100%}
.ttb3-app .ttb3-block-table{width:100%;border-collapse:collapse;min-width:590px;font-size:13px}
.ttb3-app .ttb3-block-table th,.ttb3-app .ttb3-block-table td{text-align:left;padding:10px 9px;border-bottom:1px solid #e8edf2;vertical-align:middle;color:#001427}
.ttb3-app .ttb3-block-table th{color:#526F80;font-size:12px;font-weight:800;background:#f5f8fb}
.ttb3-app .ttb3-block-table .ttb3-block-no-rows{text-align:center;color:#526F80;padding:20px}
.ttb3-app .ttb3-block-row-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
.ttb3-app .ttb3-block-row-actions a{font-size:12px;text-decoration:underline;color:#526F80}
.ttb3-app .ttb3-block-row-actions form{margin:0}
.ttb3-app .ttb3-block-reopen{border:1px solid #FFEDD8;background:#FFF8F0;color:#526F80;border-radius:7px;padding:5px 12px;cursor:pointer;font-size:12px}
.ttb3-app .ttb3-schedule-head,.ttb3-app .ttb3-block-manager-head{scroll-margin-top:80px}
@media(max-width:900px){.ttb3-app .ttb3-block-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ttb3-app .ttb3-coach-switch-panel,.ttb3-app .ttb3-block-manager{padding:14px}.ttb3-app .ttb3-block-form-grid{grid-template-columns:1fr;gap:12px}.ttb3-app .ttb3-block-form-grid .ttb3-block-reason{grid-column:auto}.ttb3-app .ttb3-coach-switch-form{justify-content:flex-start}.ttb3-app .ttb3-block-save{width:100%}}


/* v3.15.0 — Frontend dashboard subpage and mutually exclusive time-manager views */
.ttb3-app .ttb3-front-section-nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0 22px;padding-bottom:14px;border-bottom:1px solid #dde6ee}
.ttb3-app .ttb3-front-section-nav a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7e1e9;border-radius:10px;padding:11px 17px;text-decoration:none;background:#fff;color:#526F80;font-weight:800;font-size:13px;transition:background .15s,color .15s}
.ttb3-app .ttb3-front-section-nav a:hover{background:#f1f5f9}
.ttb3-app .ttb3-front-section-nav a.is-active{background:#526F80;color:#fff;border-color:#7895A7}
.ttb3-app .ttb3-time-mode-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:12px 0 18px;padding:17px 20px;background:#f7fafc;border:1px solid #dbe6ee;border-radius:15px}
.ttb3-app .ttb3-time-mode-nav h2{font-size:17px;margin:0 0 4px;color:#001427}
.ttb3-app .ttb3-time-mode-nav p{margin:0;font-size:12px;line-height:1.5;color:#526F80}
.ttb3-app .ttb3-time-mode-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px;background:#eaf0f5;border-radius:10px}
.ttb3-app .ttb3-time-mode-buttons a{padding:9px 13px;border-radius:8px;font-size:13px;font-weight:800;color:#526F80;text-decoration:none;background:transparent;border:1px solid transparent}
.ttb3-app .ttb3-time-mode-buttons a:hover{background:#fff}
.ttb3-app .ttb3-time-mode-buttons a.is-active{background:#fff;box-shadow:0 2px 6px rgba(35,58,78,.1);color:#001427;border-color:#d9e4ea}
.ttb3-app .ttb3-time-manager-page .ttb3-schedule-board,.ttb3-app .ttb3-time-manager-page .ttb3-block-manager{margin-top:0}
.ttb3-app .ttb3-time-manager-page .ttb3-schedule-row.is-booked{background:#f0eef4}
@media(max-width:600px){.ttb3-app .ttb3-front-section-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ttb3-app .ttb3-front-section-nav a{font-size:12px;padding:10px 8px}.ttb3-app .ttb3-time-mode-nav{padding:13px}.ttb3-app .ttb3-time-mode-buttons{width:100%}.ttb3-app .ttb3-time-mode-buttons a{flex:1;text-align:center;font-size:12px;padding:10px 5px}}

/* v3.16.0: Frontend monthly booking calendar and cancellation confirmation */
.ttb3-app .ttb3-month-calendar-panel{margin:0 0 18px;scroll-margin-top:90px}
.ttb3-app .ttb3-month-calendar-panel .ttb3-front-panel-head>div{min-width:0}
.ttb3-app .ttb3-month-calendar-panel .ttb3-front-panel-head p{font-size:12px;color:#526F80;line-height:1.5;margin:4px 0 0}
.ttb3-app .ttb3-month-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0}
.ttb3-app .ttb3-month-switch{display:flex;align-items:center;gap:12px}
.ttb3-app .ttb3-month-switch a{display:grid;place-items:center;border:1px solid #d0dce4;border-radius:9px;background:#f8fafb;color:#526F80;width:36px;height:36px;text-decoration:none;font-size:27px;line-height:1}
.ttb3-app .ttb3-month-switch strong{min-width:126px;text-align:center;font-size:15px;color:#001427}
.ttb3-app .ttb3-month-picker{display:flex;align-items:center;gap:9px;margin:0}
.ttb3-app .ttb3-month-picker label{font-size:12px;font-weight:750;color:#526F80}
.ttb3-app .ttb3-month-picker input{border:1px solid #cbd8e1;border-radius:9px;background:#fff;color:#001427;padding:8px 10px;min-height:38px;font:inherit;font-size:13px}
.ttb3-app .ttb3-month-picker button{border:0;background:#526F80;color:#fff;border-radius:9px;font:inherit;font-weight:800;font-size:12px;padding:10px 14px;cursor:pointer}
.ttb3-app .ttb3-month-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #dfe6ee;border-radius:13px}
.ttb3-app .ttb3-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:720px;background:#e3eaf0;gap:1px}
.ttb3-app .ttb3-month-weekday{background:#edf3f8;text-align:center;font-size:12px;font-weight:800;color:#526F80;padding:12px 4px}
.ttb3-app .ttb3-month-empty{background:#fafcfe;min-height:90px}
.ttb3-app .ttb3-month-day{min-height:90px;display:flex;flex-direction:column;gap:3px;background:#fff;color:#001427;text-decoration:none;padding:9px 7px;transition:background .15s}
.ttb3-app .ttb3-month-day:hover{background:#f3f8fc}
.ttb3-app .ttb3-month-day.has-bookings{background:#f8fbfe}
.ttb3-app .ttb3-month-day.is-selected{background:#eaf5fd;outline:2px solid #A4B6C0;outline-offset:-2px}
.ttb3-app .ttb3-month-day.is-today .ttb3-month-day-top>b{background:#526F80;color:#fff;border-radius:50%;min-width:26px;height:26px;display:grid;place-items:center}
.ttb3-app .ttb3-month-day-top{display:flex;align-items:center;justify-content:space-between;gap:5px}
.ttb3-app .ttb3-month-day-top>b{font-size:13px;line-height:26px}
.ttb3-app .ttb3-month-day-top em{font-size:10px;font-style:normal;font-weight:750;white-space:nowrap;color:#526F80;background:#e2eff7;padding:3px 5px;border-radius:7px}
.ttb3-app .ttb3-month-event{font-size:10.5px;line-height:1.35;color:#526F80;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#edf2f8;padding:4px 5px;border-radius:5px}
.ttb3-app .ttb3-month-more{font-size:10px;color:#526F80}
.ttb3-app .ttb3-calendar-day-detail{scroll-margin-top:96px;margin-top:19px;border-top:1px solid #dde6ed;padding-top:17px}
.ttb3-app .ttb3-calendar-day-detail .ttb3-front-panel-head h3{font-size:18px;margin:0}
.ttb3-app .ttb3-calendar-bookings{display:grid;gap:9px}
.ttb3-app .ttb3-calendar-booking{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(145px,.7fr) auto;gap:15px;align-items:center;padding:13px 15px;border:1px solid #e2e9ee;border-radius:12px;background:#f8fafc}
.ttb3-app .ttb3-calendar-booking-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.ttb3-app .ttb3-calendar-booking-info strong{font-size:13px;color:#001427}
.ttb3-app .ttb3-calendar-booking-info span{font-size:13px;color:#526F80}
.ttb3-app .ttb3-calendar-booking-info small{font-size:11px;color:#526F80}
.ttb3-app .ttb3-calendar-booking-status{display:flex;flex-direction:column;gap:3px;color:#526F80}
.ttb3-app .ttb3-calendar-booking-status b{font-size:13px}
.ttb3-app .ttb3-calendar-booking-status small{font-size:11px;color:#526F80}
.ttb3-app .ttb3-calendar-booking-status .ttb3-calendar-refund-note{color:#9f4b40}
.ttb3-app .ttb3-calendar-booking-action .ttb3-front-action-form{margin:0}
.ttb3-app .ttb3-calendar-booking-action .ttb3-front-action{border-radius:9px;padding:9px 12px;white-space:nowrap;font-size:12px}
.ttb3-app .ttb3-calendar-policy{margin:13px 0 0;color:#526F80;font-size:11.5px;line-height:1.6}
.ttb3-app .ttb3-schedule-row.is-booked{grid-template-columns:1fr auto}
.ttb3-app .ttb3-block-cancel-confirm{display:flex;align-items:flex-start;gap:9px;margin:13px 0;color:#914a41;font-weight:650;font-size:12px;line-height:1.55}
.ttb3-app .ttb3-block-cancel-confirm input{width:18px;height:18px;flex:0 0 auto;accent-color:#b45446;margin:1px 0 0}
@media(max-width:800px){.ttb3-app .ttb3-calendar-booking{grid-template-columns:1fr auto}.ttb3-app .ttb3-calendar-booking-status{grid-column:1}.ttb3-app .ttb3-calendar-booking-action{grid-column:2;grid-row:1/3}}
@media(max-width:520px){.ttb3-app .ttb3-month-toolbar{align-items:flex-start;flex-direction:column}.ttb3-app .ttb3-month-picker{width:100%}.ttb3-app .ttb3-month-picker input{min-width:0;flex:1}.ttb3-app .ttb3-month-calendar-panel .ttb3-front-panel-head{align-items:flex-start;flex-direction:column}.ttb3-app .ttb3-calendar-booking{grid-template-columns:1fr;gap:9px;padding:12px}.ttb3-app .ttb3-calendar-booking-status,.ttb3-app .ttb3-calendar-booking-action{grid-column:1;grid-row:auto}.ttb3-app .ttb3-calendar-booking-action .ttb3-front-action{width:100%}}

.ttb3-app .ttb3-schedule-row.is-booked .ttb3-schedule-state{grid-column:1;grid-row:2;min-width:0;overflow-wrap:anywhere}
.ttb3-app .ttb3-schedule-row.is-booked .ttb3-schedule-note{grid-column:1;grid-row:3}
.ttb3-app .ttb3-schedule-row.is-booked .ttb3-slot-toggle{grid-column:2;grid-row:2/4;align-self:end}

