:root{--ink:#143d34;--green:#164d3f;--lime:#dfff70;--paper:#f7f9f5;--line:#e0e7df;--muted:#728079;--blue:#e8f2f6;--font:'DM Sans','Noto Sans Thai',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:var(--font);color:var(--ink);font-size:16px;letter-spacing:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin:0}header{height:90px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto;padding:0 42px;background:var(--paper)}.brand{display:flex;flex-direction:column;font-size:31px;font-weight:800;line-height:1}.brand span{font-size:10px;font-weight:600;margin-top:7px}.header nav{display:flex;gap:34px;height:100%;align-items:center;font-size:14px}.nav-active{height:100%;display:flex;align-items:center;border-bottom:3px solid var(--green);font-weight:700}.contact{font-size:14px;border:1px solid var(--line);padding:11px 18px;border-radius:4px}.intro{background:#164d3f;position:relative;isolation:isolate;min-height:268px;color:white;overflow:hidden}.intro:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,43,32,.87),rgba(9,43,32,.35));z-index:-1}.intro-inner{max-width:1320px;margin:auto;padding:34px 42px 30px}.eyebrow{font-size:12px;font-weight:700;line-height:1.4;color:var(--lime)}h1{font-size:66px;line-height:1.06;font-weight:800;margin:12px 0 22px}h1 span{font-size:26px;font-weight:500;display:inline-block;margin-left:24px}.intro-bottom{display:flex;align-items:center;justify-content:space-between;font-size:15px}.club-hours{font-size:13px;border:1px solid #ffffff65;padding:8px 14px;border-radius:3px}.booking-wrap{max-width:1320px;margin:auto;padding:34px 42px 56px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.dark{color:#6d8175;font-size:11px}.section-heading h2{font-size:30px;margin-top:4px;font-weight:700}.steps{list-style:none;display:flex;gap:26px;font-size:13px;color:#92a095;padding:0}.steps li{display:flex;gap:9px;align-items:center}.steps b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cfdbce;border-radius:50%;font-size:12px}.steps .active{color:var(--green);font-weight:600}.steps .active b{background:var(--green);color:white;border-color:var(--green)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}.date-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}h3{font-size:18px;font-weight:700}.date-picker{position:relative;font-size:14px;border:1px solid var(--line);padding:8px 12px;background:white;border-radius:4px;display:flex;gap:10px;align-items:center}/* The whole button opens the date picker. iPhone draws no calendar icon of its own (it showed an empty white box), so the icon is ours and the real input sits invisibly on top. */
.date-picker{cursor:pointer}.date-picker .cal-ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.date-picker .cal-ic circle{fill:currentColor;stroke:none}
.date-picker input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;-webkit-appearance:none;appearance:none;cursor:pointer;font-size:16px}
.date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer}.date-picker input::-webkit-datetime-edit{display:none}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day{border:1px solid var(--line);background:white;color:var(--ink);border-radius:6px;padding:10px 2px 9px;min-height:88px;display:flex;flex-direction:column;align-items:center;gap:3px}.day span{font-size:12px}.day b{font-size:26px;line-height:1.25;font-weight:600}.day small{font-size:10px;min-height:14px}.day.active{background:var(--green);color:white;border-color:var(--green);box-shadow:0 5px 12px #164d3f15}.day.active small{color:var(--lime)}.filters{display:flex;justify-content:space-between;align-items:center;margin:24px 0 23px;gap:12px}.segmented{display:flex;border-bottom:1px solid var(--line);gap:8px}.segmented button{background:none;border:0;border-bottom:2px solid transparent;font-size:14px;color:var(--muted);padding:9px 16px}.segmented button.selected{border-color:var(--green);color:var(--green);font-weight:700}.coach{display:flex;align-items:center;font-size:13px;gap:9px;cursor:pointer}.coach input{position:absolute;opacity:0;width:34px;height:22px}.switch{background:#dce4db;width:34px;height:20px;border-radius:20px;position:relative}.switch:after{content:'';height:14px;width:14px;position:absolute;background:white;left:3px;top:3px;border-radius:50%;transition:transform .15s}.coach input:checked+.switch{background:var(--green)}.coach input:checked+.switch:after{transform:translateX(14px)}.coach input:focus-visible+.switch{outline:2px solid var(--green);outline-offset:3px}.grid-info{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-bottom:14px}.legend{display:flex;gap:13px;font-size:11px;color:var(--muted)}.legend span{display:flex;gap:5px;align-items:center}.legend i{width:9px;height:9px;border-radius:2px;display:block}.free{background:#e6eedc;border:1px solid #bbcba6}.chosen{background:var(--green)}.busy{background:#e6e9e4}.schedule-frame{border:1px solid var(--line);border-radius:6px;overflow:clip;background:white;max-height:none}.schedule{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:center}.schedule thead{position:sticky;top:0;z-index:1}.schedule th{background:#edf1e9;padding:14px 3px;border-bottom:1px solid var(--line);font-weight:500}.schedule th:nth-child(n+4){background:var(--blue)}.schedule th small{display:block;font-size:10px;color:#7d8a7c}.schedule th strong{font-size:27px;display:block;line-height:1.2}.schedule th span{font-size:11px;color:#6e7d72}.schedule .time-heading{width:72px;font-size:12px;background:#fff}.schedule tbody th{font-size:12px;font-weight:500;background:#fff;border:0}.schedule td{padding:5px 5px;border-bottom:1px solid #f1f3ef;height:49px}.slot{width:100%;border:1px solid #d9e5cd;background:#f3f7ee;border-radius:4px;padding:7px 2px;color:#35583a;font-size:13px;min-height:35px}.slot.selected{background:var(--green);color:var(--lime);border-color:var(--green);font-weight:700}.slot:disabled{background:#f3f4f1;border-color:transparent;color:#a0a59e;font-size:11px}.slot.event{background:#f8ede4;color:#ac7b50}.schedule-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:12px}.summary{position:sticky;top:24px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 40px #143d3407;padding:25px 23px}.summary-title{display:flex;justify-content:space-between;align-items:center}.summary-title h3{font-size:19px}.ticket-icon{background:var(--lime);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:20px}.summary-date{font-size:13px;color:var(--muted);margin-top:12px;padding-bottom:21px;border-bottom:1px dashed var(--line)}#selection-list{min-height:134px;padding:16px 0}.empty{color:#8b998e;display:grid;place-content:center;text-align:center;min-height:120px;font-size:14px}.empty span{display:block;font-size:30px;margin-bottom:7px;color:#afbaaa}.selection-item{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;margin-bottom:12px;font-size:13px}.selection-item small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.remove{border:0;background:#f4f6f1;color:#7d887b;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:17px}.total-line{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--line);padding-top:20px;font-size:14px}.total-line strong{font-size:32px;font-weight:600}.small-note{font-size:11px;color:var(--muted);text-align:right;margin:1px 0 20px}.primary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:var(--lime);color:var(--ink);border:1px solid var(--lime);border-radius:4px;padding:14px 18px;font-size:14px;font-weight:700;text-align:center}.primary:disabled{background:#ecf0e8;border-color:#ecf0e8;color:#9da795}.demo-note{margin-top:18px;font-size:11px;line-height:1.7;color:#8b9387}.demo-note b{display:block;color:#6a796b;font-weight:500}.help{border-top:1px solid var(--line);margin-top:18px;padding-top:17px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.help b{color:var(--green)}footer{background:#eaf0e6;display:flex;justify-content:space-between;align-items:center;padding:35px max(42px,calc((100% - 1236px)/2));gap:20px}footer .brand{font-size:23px}footer .brand span{font-size:8px}footer>span{font-size:14px;color:#748470}footer>a:last-child{font-size:12px}.mobile-bar{display:none}dialog{border:0;border-radius:8px;padding:32px;width:min(470px,calc(100% - 32px));color:var(--ink);box-shadow:0 24px 100px #0003}dialog::backdrop{background:#082b25a8;backdrop-filter:blur(5px)}dialog h2{font-size:27px;margin:7px 0 12px}dialog p{font-size:14px;color:var(--muted);margin-bottom:20px;line-height:1.7}.close{position:absolute;right:15px;top:12px;font-size:27px;background:none;border:0;color:var(--muted);width:32px;height:32px}form label{display:block;font-size:14px;margin-bottom:17px}form input{width:100%;padding:12px;border:1px solid #d6dfd2;border-radius:4px;margin-top:6px;background:#fbfcf9;color:var(--ink)}.optional{font-size:12px;color:var(--muted)}.form-note{font-size:12px;line-height:1.7;background:#f1f5ed;padding:13px;margin:18px 0}.secondary{background:none;border:1px solid var(--line);width:100%;padding:12px;border-radius:4px;margin-top:10px;color:var(--ink)}.review-row{display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:12px 0;border-bottom:1px solid var(--line)}.review-row span{color:var(--muted)}.review-row b{font-weight:500;overflow-wrap:anywhere;text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(min-width:1450px){.intro{min-height:295px}.intro-inner{padding-top:45px}}@media(max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px}.header,.intro-inner{padding-left:28px;padding-right:28px}.booking-wrap{padding-left:28px;padding-right:28px}.steps{gap:12px}.steps li{font-size:12px}.summary{padding:22px 18px}.segmented{gap:0}.segmented button{padding:9px 12px}.legend{gap:8px}}@media(max-width:760px){.header{height:74px;padding:0 20px}.brand{font-size:26px}.brand span{font-size:8px}.header nav{display:none}.contact{font-size:12px;padding:8px 13px}.intro{min-height:214px}.intro-inner{padding:27px 22px}.eyebrow{font-size:10px}h1{font-size:49px;margin:12px 0 18px}h1 span{font-size:19px;display:block;margin:7px 0 0}.intro-bottom p{font-size:12px}.club-hours{font-size:10px;padding:6px 9px}.booking-wrap{padding:25px 18px 35px}.section-heading{margin-bottom:23px}.section-heading h2{font-size:26px}.steps{gap:7px}.steps li{font-size:0;gap:0}.steps b{font-size:11px;width:23px;height:23px}.steps .active{font-size:11px;gap:6px}.booking-layout{display:block}.summary{position:static;margin-top:30px;box-shadow:none}.week{gap:5px}.day{min-height:79px;padding:9px 2px 7px}.day b{font-size:23px}.day span{font-size:11px}.day small{font-size:9px}.date-picker{font-size:12px;padding:6px 8px}.date-head h3{font-size:16px}.filters{margin:17px 0;gap:8px}.segmented button{font-size:12px;padding:9px 11px}.coach{font-size:11px;gap:6px}.grid-info{font-size:11px;align-items:start}.legend{font-size:10px;gap:7px}.legend i{width:7px;height:7px}.schedule .time-heading{width:48px}.schedule th strong{font-size:24px}.schedule td{padding:4px 3px}.schedule th span{font-size:10px}.slot{font-size:12px}.slot:disabled{font-size:9px}.schedule-frame{max-height:none}footer{padding:28px 20px 105px;flex-wrap:wrap}footer>span{display:none}footer>a:last-child{font-size:11px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:3;background:#fffffff5;border-top:1px solid var(--line);padding:12px 18px max(12px,env(safe-area-inset-bottom));justify-content:space-between;align-items:center;box-shadow:0 -5px 20px #143d3408}.mobile-bar>div{display:flex;flex-direction:column;gap:2px}.mobile-bar span{font-size:10px;color:var(--muted)}.mobile-bar strong{font-size:23px}.mobile-bar .primary{width:140px;padding:12px 20px}dialog{padding:28px 22px}.summary-title h3{font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
