.coaching-page [hidden] { display: none !important; }
.coaching-shell { padding: 28px 28px 40px; }
.coaching-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.coaching-eyebrow { margin: 0 0 7px !important; color: #f18b96 !important; font-size: 11px !important; font-weight: 700; letter-spacing: .16em; }
.coaching-header h1 { margin: 0 0 8px; font: 700 clamp(32px,4vw,48px)/1.08 'Oswald',sans-serif; text-transform: uppercase; }
.coaching-header h1 em { color: var(--red-text); font-style: normal; }
.coaching-header p { max-width: 740px; margin: 0; font-size: 15px; line-height: 1.5; color: var(--muted-soft); }
.coaching-help { flex-shrink: 0; color: #e4bec4; font-size: 12px; }
.coaching-offers { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 12px; }
.coaching-offers a { display: grid; gap: 7px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: var(--panel); text-decoration: none; color: #eee; transition: border-color .15s,background .15s; }
.coaching-offers a:hover,.coaching-offers a[aria-current=true] { border-color: #e45465; background: #30121c; }
.coaching-offers span { font-size: 13px; font-weight: 600; }
.coaching-offers strong { font: 600 29px/1.1 'Oswald',sans-serif; }
.coaching-offers small { color: #c4b2bb; font-size: 12px; }
.coaching-steps { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 12px; padding: 16px 0; margin: 0; list-style: none; }
.coaching-steps li { display: flex; align-items: center; gap: 10px; }
.coaching-steps b,.coaching-booking h3 span { display: inline-grid; place-items: center; width: 25px; height: 25px; flex-shrink: 0; border: 1px solid #713744; border-radius: 50%; color: #ffb0ba; font: 600 12px 'Barlow',sans-serif; }
.coaching-steps li:nth-child(1) b,.coaching-selection h3 span { color: #a5d8ff; border-color: #518bb8; background: #172b3d; }
.coaching-steps li:nth-child(2) b,.coaching-form h3 span { color: #ffda8a; border-color: #ae843c; background: #332918; }
.coaching-steps li:nth-child(3) b { color: #9fe3bf; border-color: #4b9b71; background: #172f24; }
.coaching-steps strong,.coaching-steps small { display: block; font-size: 12px; line-height: 1.5; }
.coaching-steps small { color: var(--muted-soft); }
.coaching-reserve,.coaching-conditions { scroll-margin-top: 88px; }
.coaching-reserve { border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: var(--panel); overflow: hidden; }
.coaching-reserve-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 18px; padding: 15px 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.coaching-reserve-head h2 { margin: 0; font: 600 23px 'Oswald',sans-serif; text-transform: uppercase; }
.coaching-reserve-head p { margin: 0; color: #bcaeb5; font-size: 12px; }
.coaching-booking { display: grid; grid-template-columns: .9fr 1.1fr; }
.coaching-selection,.coaching-form { padding: 20px 22px; min-width: 0; }
.coaching-selection { border-right: 1px solid rgba(255,255,255,.12); }
.coaching-booking h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 14px; font: 600 20px 'Oswald',sans-serif; text-transform: uppercase; }
.coaching-booking label:not(.coaching-check) { display: block; margin: 10px 0 5px; color: #eae2e6; font-size: 12px; font-weight: 600; }
.coaching-booking label span { font-weight: 400; color: #bcacb4; }
.coaching-booking input:not([type=checkbox]):not([type=radio]),.coaching-booking select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; background: #110c10; color: #fff; font: 14px 'Barlow',sans-serif; }
.coaching-page :is(a,button,input,select,summary):focus-visible { outline: 2px solid #ff8898; outline-offset: 3px; }
.coaching-kind { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 8px; padding: 0; border: 0; }
.coaching-kind legend { margin-bottom: 5px; color: #bcaeb5; font-size: 12px; }
.coaching-kind label { display: flex !important; gap: 7px; align-items: center; min-height: 32px; margin: 0 !important; cursor: pointer; }
.coaching-kind input,.coaching-check input { accent-color: var(--red); flex-shrink: 0; }
.coaching-schedule { margin: 13px 0; color: #c4b2bb; font-size: 12px; line-height: 1.5; }
.coaching-calendar__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.coaching-calendar__head strong { font: 600 20px 'Oswald',sans-serif; text-transform: uppercase; }
.coaching-calendar__head button { width: 38px; height: 36px; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; background: #20151a; color: #fff; font-size: 23px; cursor: pointer; }
.coaching-calendar__head button:disabled { opacity: .35; cursor: default; }
.coaching-calendar__weekdays,.coaching-calendar__grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.coaching-calendar__weekdays { margin-bottom: 5px; color: #bcaeb5; font-size: 11px; text-align: center; }
.coaching-day { display: grid; place-content: center; min-height: 36px; text-align: center; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #8e838a; font: 600 13px 'Barlow',sans-serif; }
button.coaching-day { cursor: pointer; }
.coaching-day.is-available { color: #fff; background: rgba(225,29,46,.14); border-color: rgba(225,29,46,.32); }
.coaching-day.is-available:hover,.coaching-day.is-selected { background: #bb2039; border-color: #ff7187; color: #fff; }
.coaching-day.is-full { background: rgba(255,255,255,.045); color: #b4999d; text-decoration: line-through; }
.coaching-day small { display: block; font-size: 9px; font-weight: 400; }
.coaching-calendar__hint { margin: 10px 0 7px; color: #c4b2bb; font-size: 12px; line-height: 1.5; }
.coaching-calendar__legend { display: flex; gap: 15px; color: #bcaeb5; font-size: 11px; }
.coaching-calendar__legend span { display: flex; align-items: center; gap: 5px; }
.coaching-calendar__legend i { width: 9px; height: 9px; border-radius: 2px; background: #983347; }
.coaching-calendar__legend .is-full { background: #58424b; }
.coaching-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.coaching-fields label { margin-top: 0 !important; }
.coaching-access { margin: 16px 0 12px; padding: 14px; border: 1px solid #66303e; border-radius: 8px; background: rgba(72,19,33,.23); }
.coaching-access p { margin: 8px 0; color: #cfc0c7; font-size: 12px; line-height: 1.5; }
.coaching-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; }
.coaching-total strong { font: 600 24px 'Oswald',sans-serif; }
.coaching-access a,.coaching-check a,.coaching-terms a,.coaching-policy-summary a { color: #ffacb8; }
.coaching-pay-link { display: block; border: 1px solid #a44d61; border-radius: 5px; padding: 10px; text-align: center; font-size: 13px; font-weight: 600; text-decoration: none; }
.coaching-pay-link[aria-disabled=true] { opacity: .5; cursor: default; }
.coaching-check { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; font-size: 12px; line-height: 1.5; color: #c4b2bb; }
.coaching-check input { margin: 3px 0 0; }
.coaching-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.coaching-form__submit { width: 100%; justify-content: center; min-height: 44px; padding: 12px; border: 0; font: 700 14px 'Barlow',sans-serif; cursor: pointer; }
.coaching-form__submit:disabled { opacity: .5; cursor: default; }
.coaching-form__status { margin: 8px 0; color: #ffb3bc; font-size: 13px; }
.coaching-form__status:empty { display: none; }
.coaching-reassurance { margin: 10px 0 0; color: #c4b2bb; font-size: 12px; line-height: 1.5; }
.coaching-contact-time { margin: 10px 0 16px; font-size: 12px; line-height: 1.5; color: #bcaeb5; }
.coaching-policy-summary { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 14px 0; border-top: 1px solid #44303b; font-size: 12px; line-height: 1.5; }
.coaching-policy-summary span { color: #c4b2bb; }
.coaching-conditions { border-top: 1px solid #44303b; }
.coaching-conditions summary { padding: 14px 0; font-weight: 600; font-size: 13px; cursor: pointer; }
.coaching-terms { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 25px; padding: 10px 0 20px; }
.coaching-terms h3 { margin: 0 0 7px; font: 600 18px 'Oswald',sans-serif; }
.coaching-terms p { margin: 0; color: #c4b2bb; font-size: 13px; line-height: 1.6; }
.coaching-return { display: inline-block; margin-bottom: 18px; color: #ffacb8; font-size: 13px; }
.coaching-payment { padding: 24px; }
.coaching-payment h3 { font: 600 26px 'Oswald',sans-serif; margin: 0 0 10px; }
.coaching-payment p { font-size: 14px; line-height: 1.6; color: #c4b2bb; }
@media (max-width: 760px) {
  .coaching-shell { padding: 20px 18px 30px; }
  .coaching-header { display: block; margin-bottom: 15px; }
  .coaching-header p { font-size: 14px; }
  .coaching-help { display: inline-block; margin-top: 10px; }
  .coaching-offers { grid-template-columns: 1fr 1fr; gap: 8px; }
  .coaching-offers a { padding: 12px; }
  .coaching-offers a:last-child { grid-column: 1/-1; grid-template-columns: 1fr; }
  .coaching-offers a:last-child small { grid-column: 1/-1; }
  .coaching-offers a:last-child strong { font-size: 22px; }
  .coaching-offers span,.coaching-offers small { font-size: 12px; }
  .coaching-steps { grid-template-columns: 1fr; gap: 8px; padding: 15px 0; }
  .coaching-steps li span { display: flex; gap: 4px 8px; flex-wrap: wrap; }
  .coaching-booking { grid-template-columns: 1fr; }
  .coaching-day { min-height: 42px; }
  .coaching-selection { border-right: 0; border-bottom: 1px solid #44303b; }
  .coaching-selection,.coaching-form,.coaching-reserve-head { padding: 16px; }
  .coaching-terms { grid-template-columns: 1fr; }
}
@media (max-width: 380px) { .coaching-fields { grid-template-columns: 1fr; } .coaching-offers a:last-child { grid-template-columns: 1fr; } }
