/* MCP V5 — bookings, visually aligned with the validated black / white / MCP yellow */
.booking-hero{background:var(--dark);color:var(--white);padding:64px 0 59px;border-bottom:1px solid #293b2c}
.booking-hero .kicker{color:#b8c8b4}
.booking-hero h1{font-size:clamp(38px,5vw,72px);line-height:1.03;max-width:950px;letter-spacing:-.052em}
.booking-hero p{margin-top:22px;max-width:705px;color:#c4d0c1;font-size:17px;line-height:1.75}
.booking-layout{width:min(var(--max),calc(100% - 112px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.37fr);gap:42px;padding:60px 0 90px;align-items:start}
.booking-main{min-width:0}.booking-section{padding:32px 36px 38px;background:#fff;border:1px solid var(--line);margin-bottom:22px}
.booking-section h2{font-size:25px;letter-spacing:-.035em;margin-bottom:24px}
.booking-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.10em;font-weight:700;color:#42503f;margin-bottom:12px}
.booking-space{margin-top:29px}.booking-select,.booking-fields input{width:100%;background:#fbfcf9;border:1px solid #bdc7ba;padding:15px 14px;min-height:52px;border-radius:2px;color:var(--ink)}
.booking-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-service{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;background:#f3f5ef;border:1px solid #d6dfd2;border-radius:2px;padding:18px 17px;min-height:76px;transition:background .15s,border-color .15s}
.booking-service:hover{border-color:#84906a;background:#f0f6dd}.booking-service.is-selected{background:var(--dark);color:#fff;border-color:var(--dark)}
.booking-service-label{font-size:13px;font-weight:700;line-height:1.4}.booking-service-price{font-size:14px;font-weight:800;white-space:nowrap}.booking-service.is-selected .booking-service-price{color:var(--lime)}
.booking-hint{font-size:12px;color:#697668;margin-top:14px;line-height:1.65}.booking-week{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f2f5ed;border:1px solid #dde4d8;padding:12px;margin-bottom:24px}
.booking-week-btn{padding:10px 8px;background:transparent;font-size:12px;font-weight:700;color:#233128}.booking-week-btn:hover{color:#708800}.booking-week-btn:disabled{opacity:.3;cursor:not-allowed}.booking-week-label{font-size:12px;font-weight:700;color:#42503e;text-align:center}
.booking-day{display:flex;gap:25px;align-items:start;border-bottom:1px solid #edf0e8;padding:15px 0}.booking-day:last-child{border-bottom:none}.booking-day-label{font-size:13px;text-transform:capitalize;font-weight:700;min-width:125px;padding-top:10px}.booking-times{display:flex;flex-wrap:wrap;gap:9px}
.booking-time{padding:12px 16px;font-size:12px;font-weight:700;border:1px solid #bac7b5;background:#fff;color:#1c2e1e;min-width:80px;border-radius:2px}
.booking-time:hover{border-color:#5b711c;background:#f4f9df}.booking-time.is-selected{background:var(--lime);border-color:#bed700;color:#0b170c}
.booking-empty,.booking-loading{padding:30px 10px;color:#62735f;font-size:14px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.booking-fields label{font-size:12px;font-weight:700;color:#344534;display:flex;flex-direction:column;gap:9px}.booking-fields label:last-child{grid-column:span 2}
.booking-fields input{font-size:15px;font-weight:400}.booking-notice{padding:22px 22px 20px;background:#f5f7f0;border-left:3px solid #8eab1b;margin:28px 0 22px}
.booking-notice strong{font-size:14px;display:block;margin-bottom:7px}.booking-notice p{font-size:13px;color:#43513e;line-height:1.75}.booking-notice p+p{margin-top:12px}.booking-notice a,.booking-consent a{border-bottom:1px solid #839c47;font-weight:700}
.booking-consent{display:flex;gap:12px;align-items:flex-start;color:#40503e;line-height:1.65;font-size:13px;cursor:pointer}
.booking-consent input{width:17px;height:17px;flex-shrink:0;margin-top:3px;accent-color:#718b00}
.booking-recap{margin:27px 0 16px;border:1px solid #d2dfce;padding:23px;background:#fbfdf7}
.booking-recap h3{font-size:16px;margin-bottom:12px}.booking-recap div{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;padding:7px 0}.booking-recap b{font-size:15px;color:#506b00}
.booking-pay{width:100%;margin-top:26px;display:flex;align-items:center;justify-content:space-between;font-size:13px}
.booking-pay:disabled{opacity:.45;cursor:not-allowed}.booking-error{padding:15px 16px;background:#fff0ec;border-left:3px solid #b93420;font-size:13px;margin-top:18px;overflow-wrap:anywhere}.booking-message{padding:15px 16px;background:#f5fae7;border-left:3px solid #91ad28;font-size:13px;margin-top:18px}
.booking-aside{position:sticky;top:126px;background:var(--dark);color:#edf4e7;border:1px solid #27392b}.booking-aside-inner{padding:34px 30px 37px}.booking-aside-overline{color:var(--lime);font-size:10px;letter-spacing:2px;font-weight:700}
.booking-aside h2{font-size:34px;line-height:1.13;margin:24px 0 17px}.booking-aside p{font-size:13px;color:#c1d1be;line-height:1.75}.booking-aside-line{height:1px;background:#506346;margin:26px 0}.booking-aside-cta{display:inline-block;color:var(--lime);font-size:12px;font-weight:800;margin-top:21px;border-bottom:1px solid var(--lime);padding-bottom:7px}
.booking-aside .booking-aside-cta:focus-visible{outline:2px solid var(--lime)}
@media(max-width:1080px){.booking-layout{grid-template-columns:minmax(0,1fr) minmax(230px,.45fr);gap:20px;width:min(100% - 60px,1240px)}.booking-section{padding:27px}}
@media(max-width:760px){.booking-hero{padding:43px 0 39px}.booking-hero p{font-size:15px}.booking-layout{width:calc(100% - 32px);display:flex;flex-direction:column;gap:6px;padding:25px 0 85px}.booking-section{padding:25px 20px}.booking-aside{position:static;width:100%}.booking-aside-inner{padding:25px}.booking-service-grid{grid-template-columns:1fr}.booking-service{min-height:64px;padding:14px}.booking-week-btn span{display:none}.booking-week-btn{font-size:20px}.booking-week-label{font-size:11px}.booking-day{display:block}.booking-day-label{padding:0 0 10px}.booking-times{gap:7px}.booking-time{min-width:75px;padding:11px}.booking-fields{grid-template-columns:1fr;gap:12px}.booking-fields label:last-child{grid-column:auto}.booking-section h2{font-size:21px}.booking-notice{padding:17px}}
@media(prefers-reduced-motion:reduce){.booking-service{transition:none}}

/* MCP group booking: total price always has its own line, including on small screens. */
.booking-service{flex-wrap:wrap}
.booking-service-price small{display:block;font-size:10px;line-height:1.3;font-weight:600;opacity:.8;text-align:right}
.booking-service>.booking-hint{flex-basis:100%;margin:0;font-size:11px;line-height:1.45;font-weight:700}
.booking-service.is-selected>.booking-hint{color:#dce6d7}

/* Confirm the entire duo / trio and their players without a distracting quantity control. */
.booking-group-rule {margin:0 0 20px;border-left:3px solid var(--lime);background:#f2f6e7;padding:14px 16px;color:#263329;font-size:13px}
.booking-group-rule strong{display:inline;font-size:13px;color:#1a251b}
.booking-companions{margin-top:17px;padding:20px;border:1px solid #d6dfce;background:#fbfdf7;gap:18px}
.booking-companions label:last-child{grid-column:auto}
.booking-companions input:focus-visible{outline-color:#839a00}
@media(max-width:760px){.booking-companions{padding:17px 15px}}


/* MCP V5: lesson enquiries — no instant booking or online lesson payment. */
.mcp-request-hero{position:relative;overflow:hidden;padding:70px 0 67px}
.mcp-request-hero h1{max-width:850px}
.mcp-request-hero p{max-width:810px}
.mcp-request-hero p strong{color:#fff;font-weight:700}
.mcp-request-hero-note{margin-top:29px;display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.01em;color:#e3eddb;background:#223023;border:1px solid #43533d;padding:11px 17px}
.mcp-request-dot{display:block;background:var(--lime);width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.mcp-request-section{background:var(--paper);padding:65px 0 105px}
.mcp-request-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:34px;align-items:start}
.mcp-request-card{background:#fff;border:1px solid #dce4d6;padding:42px 46px 48px;min-width:0;box-shadow:0 9px 35px #0b111007}
.mcp-request-eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:#536650;text-transform:uppercase}
.mcp-request-card>h2{font-size:clamp(30px,3.2vw,43px);letter-spacing:-.055em;margin:14px 0 14px}
.mcp-request-intro{font-size:14px;color:#627260;max-width:560px;line-height:1.7;margin:0 0 35px}
.mcp-request-group-title{font-size:12px;font-weight:800;letter-spacing:.02em;margin:31px 0 20px;padding-bottom:15px;border-bottom:1px solid #dbe3d8;display:flex;align-items:center;gap:14px}
.mcp-request-group-title:first-child{margin-top:0}
.mcp-request-group-title span{font-size:13px;background:#202f23;color:var(--lime);padding:4px 10px;font-weight:800}
.mcp-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px}
.mcp-request-grid label{display:block;font-size:12px;color:#334431;font-weight:700;letter-spacing:.01em;min-width:0}
.mcp-request-grid label>span[aria-hidden]{color:#728c12}
.mcp-request-grid label em{font-weight:400;color:#708070;font-size:11px;font-style:normal}
.mcp-request-grid input:not([type=checkbox]),.mcp-request-grid select,.mcp-request-grid textarea{display:block;width:100%;min-width:0;min-height:51px;padding:12px 13px;border:1px solid #b9c7b6;background:#fcfdfa;color:#182718;border-radius:2px;font-size:15px;line-height:1.35;margin-top:8px}
.mcp-request-grid input:focus,.mcp-request-grid select:focus,.mcp-request-grid textarea:focus{border-color:#7f9a19;background:#fff}
.mcp-request-grid textarea{min-height:126px;resize:vertical}
.mcp-request-full{grid-column:1/-1}
.mcp-request-consent{display:flex!important;align-items:flex-start;gap:12px;margin-top:32px;cursor:pointer;font-weight:400!important;font-size:12px!important;color:#526251;line-height:1.6}
.mcp-request-consent input{width:17px;height:17px;flex:0 0 17px;accent-color:#7f990a;margin:3px 0 0}
.mcp-request-consent a{border-bottom:1px solid #7b963a;font-weight:700}
.mcp-request-submit{margin-top:24px;min-height:57px;width:100%;justify-content:space-between;font-size:13px}
.mcp-request-submit:disabled{opacity:.6;cursor:wait}
.mcp-request-smallprint{font-size:11px;color:#647462;line-height:1.7;margin-top:15px}
.mcp-request-status{margin-top:19px;padding:15px 17px;border-left:3px solid #8eae19;background:#f3f8e9;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.mcp-request-status[hidden]{display:none!important}
.mcp-request-status.is-error{border-color:#c64029;background:#fff0ed}
.mcp-request-aside{position:sticky;top:125px;background:#111c14;color:#eef4e9;border:1px solid #263928;padding:37px 34px 33px}
.mcp-request-aside .mcp-request-eyebrow{color:var(--lime)}
.mcp-request-aside h2{font-size:clamp(30px,3.3vw,43px);letter-spacing:-.055em;line-height:1.1;margin:22px 0 34px}
.mcp-request-steps{list-style:none;margin:0;padding:0;counter-reset:requeststep}
.mcp-request-steps li{counter-increment:requeststep;position:relative;border-top:1px solid #38493b;padding:20px 0 20px 39px}
.mcp-request-steps li:before{content:"0" counter(requeststep);position:absolute;left:0;top:22px;color:var(--lime);font-weight:800;font-size:12px}
.mcp-request-steps strong{display:block;font-size:13px;line-height:1.5;margin-bottom:9px}
.mcp-request-steps span{display:block;color:#a9bca7;font-size:12px;line-height:1.7}
.mcp-request-aside-foot{border-top:1px solid #38493b;padding-top:22px;margin-top:14px;color:#b7c8b0;font-size:12px}
.mcp-request-aside-foot a{display:block;color:var(--lime);font-weight:700;margin-top:8px}
@media(max-width:980px){.mcp-request-layout{grid-template-columns:minmax(0,1fr)}.mcp-request-aside{position:static}.mcp-request-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mcp-request-steps li{padding-right:6px}.mcp-request-section{padding-top:36px}}
@media(max-width:640px){.mcp-request-hero{padding:42px 0 40px}.mcp-request-hero h1{font-size:clamp(38px,9.2vw,55px)}.mcp-request-hero-note{font-size:11px;line-height:1.5}.mcp-request-section{padding:18px 0 75px}.mcp-request-card{padding:27px 19px 31px}.mcp-request-grid{grid-template-columns:1fr;gap:15px}.mcp-request-aside{padding:27px 24px}.mcp-request-steps{display:block}.mcp-request-hero p{font-size:15px}.mcp-request-card>h2{font-size:33px}.mcp-request-group-title{margin-top:27px}}


/* MCP V5 — refined touch-first lesson requests on phones and small tablets */
@media(max-width:760px){
 .mcp-request-grid input:not([type=checkbox]),.mcp-request-grid select,.mcp-request-grid textarea{font-size:16px!important;min-height:53px}
 .mcp-request-grid input[type=date],.mcp-request-grid input[type=time]{min-height:56px;max-width:100%;-webkit-appearance:none;appearance:none}
 .mcp-request-grid input[type=date]::-webkit-date-and-time-value,.mcp-request-grid input[type=time]::-webkit-date-and-time-value{text-align:left}
 .mcp-request-card{overflow:hidden}
 .mcp-request-grid>*{min-width:0}
 .mcp-request-consent{gap:12px;font-size:13px!important;line-height:1.6;padding:11px 0}
 .mcp-request-consent input{width:20px;height:20px;flex-basis:20px;cursor:pointer}
 .mcp-request-submit{min-height:60px;font-size:14px}
 .mcp-request-form [data-mcp-inquiry-status]{scroll-margin-top:90px}
}
@media(max-width:360px){.mcp-request-card{padding:24px 15px}.mcp-request-hero-note{align-items:start}.mcp-request-grid label{font-size:12px}}

/* MCP V5 — independent direct-contact fallback if forms fail */
.mcp-request-aside-foot>a{display:table;width:max-content;max-width:100%;margin-top:10px;font-weight:780;text-decoration:none;line-height:1.5;border-bottom:1px solid #728a4b;padding-bottom:6px}
.mcp-request-aside-foot>a+a{color:#bbcdb6;font-weight:620;border-color:#465c47}
@media(max-width:760px){.mcp-request-aside-foot>a{min-height:44px;padding-top:10px;padding-bottom:10px}}

/* MCP V5 — official native Wix Forms alternative to WhatsApp, fully bilingual. */
.mcp-native-form-alternative{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;margin:0 0 31px;border:1px solid #d5e2cb;background:#f3f7ef;min-width:0}
.mcp-native-form-copy{min-width:0;flex:1}
.mcp-native-form-copy strong{display:block;font-size:13px;color:#142c1a;font-weight:790;line-height:1.4}
.mcp-native-form-copy p{margin:6px 0 0;font-size:12px;color:#536851;line-height:1.6}
.mcp-native-form-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 16px;border:1px solid #283d27;background:#14271a;color:#f5fbf1;font-size:12px;font-weight:790;text-align:center;line-height:1.3;white-space:normal;max-width:220px}
.mcp-native-form-link:hover{background:#304934;border-color:#304934;color:#fff}
@media(max-width:780px){.mcp-native-form-alternative{flex-direction:column;align-items:stretch;padding:17px 17px 19px;margin-bottom:25px}.mcp-native-form-link{width:100%;max-width:none;min-height:52px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.mcp-native-form-link{transition:none!important}}