/* Shared light pastel chrome for public pages (home-v2 family). */

body.public-body--v2 {
    --v2-stone: #f8f6f0;
    --v2-porcelain: #f8f6f0;
    --v2-paper: #ffffff;
    --v2-ink: #171e2d;
    --v2-muted: #6b707c;
    --v2-muted-2: #878c96;
    --v2-blue: #3b6d9e;
    --v2-blue-deep: #3b6d9e;
    --v2-blue-brand: #1c58a2;
    --v2-blue-soft: #f3f5f8;
    --v2-sage: #4caf50;
    --v2-sage-soft: #f4f5f7;
    --v2-terracotta: #db523e;
    --v2-terracotta-deep: #c44735;
    --v2-line: #e8e7e3;
    --v2-shadow: 0 8px 24px rgba(13, 30, 61, .06);
    --v2-shadow-small: 0 2px 8px rgba(13, 30, 61, .04);
    --bg: var(--v2-stone);
    --bg-card: var(--v2-paper);
    --ink: var(--v2-ink);
    --muted: var(--v2-muted);
    --muted-2: var(--v2-muted-2);
    --line: var(--v2-line);
    --accent: var(--v2-terracotta);
    --accent-ink: #fff;
    --accent-soft: rgba(219, 82, 62, .14);
    --wrap: 1280px;
    --header-h: 80px;
    min-width: 320px;
    color: var(--v2-ink);
    background: var(--v2-stone);
    color-scheme: light;
}

body.public-body--v2 select {
    color: var(--v2-ink);
    color-scheme: light;
}

body.public-body--v2 select option,
body.public-body--v2 select optgroup {
    background-color: var(--v2-paper);
    color: var(--v2-ink);
}

body.public-body--v2 .partners-profile-tip__field select {
    background: var(--v2-paper);
    border: 1px solid var(--v2-line);
    color: var(--v2-ink);
    color-scheme: light;
}

body.public-body--v2 .partners-profile-tip__field select option {
    background-color: var(--v2-paper);
    color: var(--v2-ink);
}

body.public-body--v2 .btn-accent {
    background: var(--v2-terracotta);
    color: #fff;
}

body.public-body--v2 .btn-outline {
    border-color: var(--v2-line);
    color: var(--v2-ink);
    background: var(--v2-paper);
}

body.public-body--v2 .btn-outline:hover {
    background: var(--v2-blue-soft);
    border-color: var(--v2-blue);
}

body.public-body--v2 .btn-ghost:hover {
    background: rgba(39, 49, 47, .06);
}

/* —— Chrome —— */
.public-v2-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(248, 246, 240, .94);
    border-bottom: 0;
    backdrop-filter: blur(12px);
    padding-top: env(safe-area-inset-top);
}

.public-v2-header__inner {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 42px;
}

.public-v2-brand {
    display: inline-flex;
    align-items: baseline;
    gap: .28em;
    color: var(--v2-ink);
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: .01em;
    white-space: nowrap;
}

.public-v2-brand__tt {
    color: #1c58a2;
}

.public-v2-brand__play {
    color: var(--v2-ink);
}

.public-v2-brand svg {
    display: none;
}

.public-v2-nav {
    display: flex;
    justify-content: center;
    gap: clamp(24px, 3vw, 54px);
}

.public-v2-nav a {
    position: relative;
    color: var(--v2-ink);
    font-size: .94rem;
    font-weight: 600;
    transition: color .18s ease;
}

.public-v2-nav a:hover { color: var(--v2-blue); }

.public-v2-nav a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    height: 2px;
    border-radius: 99px;
    background: transparent;
}

.public-v2-nav a.is-active::after { background: var(--v2-terracotta); }

.public-v2-header__actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

.public-v2-city {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--v2-ink);
    font-size: .88rem;
    font-weight: 600;
    white-space: nowrap;
}

.public-v2-city svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.public-v2-city img {
    width: 16px;
    height: 16px;
    display: block;
    flex: 0 0 auto;
}

.public-v2-city__chevron {
    width: 12px !important;
    height: 12px !important;
    opacity: .7;
}

.public-v2-profile {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 24px;
    border-radius: 10px;
    color: #fff !important;
    background: var(--v2-blue);
    font-size: .94rem;
    font-weight: 700;
    box-shadow: none;
}

.public-v2-logout {
    display: inline-flex;
    margin: 0;
}

.public-v2-logout button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 8px;
    border: 0;
    background: none;
    color: var(--v2-muted);
    cursor: pointer;
    font: inherit;
    font-size: .88rem;
    font-weight: 600;
    white-space: nowrap;
    touch-action: manipulation;
}

.public-v2-logout button:hover {
    color: var(--v2-ink);
}

.v2-footer { padding: 40px 0; color: var(--v2-muted); }
.v2-footer__main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
}
.v2-footer__left { display: flex; gap: 48px; min-width: 0; }
.v2-footer__brand {
    width: 260px;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.v2-footer .v2-brand {
    display: inline-flex;
    align-items: baseline;
    gap: .28em;
    color: var(--v2-ink);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0;
    white-space: nowrap;
    line-height: 1;
}
.v2-footer .v2-brand__tt { color: var(--v2-blue); }
.v2-footer .v2-brand__play { color: var(--v2-ink); }
.v2-footer__brand p {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}
.v2-footer__login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border-radius: 10px;
    color: #fff !important;
    background: var(--v2-blue);
    font-size: 15px;
    font-weight: 700;
}
.v2-footer__cols { display: flex; gap: 32px; }
.v2-footer__cols > div {
    display: grid;
    align-content: start;
    gap: 8px;
    width: 160px;
    font-size: 14px;
    font-weight: 500;
}
.v2-footer__cols strong {
    margin-bottom: 4px;
    color: var(--v2-ink);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}
.v2-footer__cols a,
.v2-footer__cols button { color: var(--v2-muted); text-align: left; }
.v2-footer__cols a:hover,
.v2-footer__cols button:hover { color: var(--v2-ink); }
.v2-footer__contact {
    width: 360px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 12px rgba(13, 30, 61, .02);
}
.v2-footer__phone {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--v2-ink) !important;
    font-size: 18px;
    font-weight: 700;
}
.v2-footer__phone img { width: 18px; height: 18px; }
.v2-footer__contact > p { margin: 0; font-size: 12px; font-weight: 500; }
.v2-footer__social { display: flex; gap: 12px; }
.v2-footer__social a {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--v2-blue);
}
.v2-footer__social img {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
}
.v2-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid var(--v2-line);
    font-size: 13px;
    font-weight: 500;
}
.v2-footer__bottom p { margin: 0; }
.v2-footer__bottom div { display: flex; gap: 32px; }
.v2-footer__bottom a { text-decoration: underline; }

.public-v2-menu-toggle { display: none; }

body.v2-nav-open {
    overflow: hidden;
}

body.public-body--v2 a,
body.public-body--v2 button {
    touch-action: manipulation;
}

/* —— Shared page surfaces —— */
body.public-body--v2 .section-head h1,
body.public-body--v2 .section-head h2 {
    color: var(--v2-ink);
}

body.public-body--v2 .empty-note,
body.public-body--v2 .card,
body.public-body--v2 .card-pad {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    color: var(--v2-ink);
}

body.public-body--v2 .booking-alert {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    color: var(--v2-ink);
}

body.public-body--v2 .booking-alert--error {
    background: #f8ece8;
    border-color: rgba(201, 130, 112, .35);
}

body.public-body--v2 .booking-alert--warn {
    background: #f6f0e4;
}

/* Coaches catalog */
body.public-body--v2 .coaches-page {
    padding-top: 28px;
}

body.public-body--v2 .coaches-page__eyebrow,
body.public-body--v2 .coach-show__eyebrow,
body.public-body--v2 .booking-page__eyebrow,
body.public-body--v2 .level-test__eyebrow {
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .catalog-coach-card {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .catalog-coach-card:hover {
    border-color: rgba(201, 130, 112, .45);
}

body.public-body--v2 .catalog-coach-card__placeholder,
body.public-body--v2 .coach-show__placeholder {
    color: var(--v2-blue-deep);
    background: var(--v2-blue-soft);
}

body.public-body--v2 .coach-show__media {
    background: linear-gradient(180deg, var(--v2-blue-soft), var(--v2-porcelain));
}

body.public-body--v2 .coach-show__profile,
body.public-body--v2 .coach-show__panel,
body.public-body--v2 .coach-place__panel,
body.public-body--v2 .coach-step {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .coach-show__reviews,
body.public-body--v2 .coach-review-form textarea {
    background: var(--v2-paper);
    border-color: var(--v2-line);
}

body.public-body--v2 .coach-reviews-status {
    background: var(--v2-sage-soft);
}

body.public-body--v2 .coach-rating--empty,
body.public-body--v2 .coach-show__reviews-empty,
body.public-body--v2 .coach-review-form p,
body.public-body--v2 .coach-review-card__head time {
    color: var(--v2-muted);
}

body.public-body--v2 .coach-rating {
    color: var(--v2-ink);
}

body.public-body--v2 .coach-star {
    color: #d9d4cc;
}

body.public-body--v2 .coach-star.is-on {
    color: #f5b400;
}

body.public-body--v2 a.coach-rating .coach-rating__count,
body.public-body--v2 .coach-rating__count {
    color: var(--v2-blue);
}

body.public-body--v2 .coach-reviews-page__head,
body.public-body--v2 .coach-reviews-page .coach-review-form,
body.public-body--v2 .coach-review-card {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .coach-card-chip--weekly {
    color: var(--v2-blue);
    background: var(--v2-blue-soft);
}

body.public-body--v2 .coach-card-chip--evening,
body.public-body--v2 .coach-card-chip--rare {
    color: #5c4d8a;
    background: #ece8f6;
}

body.public-body--v2 .catalog-coach-card__tags span,
body.public-body--v2 .coach-show__tags span {
    background: var(--v2-sage-soft);
    color: var(--v2-ink);
}

body.public-body--v2 .coach-week__places-label { color: var(--v2-muted); }

body.public-body--v2 .coach-week__place-chip {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    color: var(--v2-ink);
}

body.public-body--v2 .coach-week__place-chip:hover {
    border-color: var(--v2-terracotta);
}

body.public-body--v2 .coach-week__place-chip.is-active {
    border-color: var(--v2-terracotta);
    background: rgba(201, 130, 112, .14);
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .coach-week__scroll {
    background: var(--v2-paper);
    border-color: var(--v2-line);
}

body.public-body--v2 .coach-week-table__corner,
body.public-body--v2 .coach-week-table__time,
body.public-body--v2 .coach-week-table thead th {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
    color: var(--v2-muted);
}

body.public-body--v2 .cw-day-date { color: var(--v2-muted); }

body.public-body--v2 .cw-cell {
    background: #f3eee6;
    border-color: rgba(209, 201, 189, .7);
}

body.public-body--v2 .cw-cell.is-closed { background: #ebe4d8; }

body.public-body--v2 .cw-cell.is-past {
    background: repeating-linear-gradient(
        45deg,
        #efe8dc,
        #efe8dc 4px,
        #e5ddd0 4px,
        #e5ddd0 8px
    );
    opacity: .85;
}

body.public-body--v2 .cw-cell.is-busy {
    background: #e8cfc8;
    box-shadow: inset 0 0 0 1px rgba(201, 130, 112, .35);
}

body.public-body--v2 .cw-cell.is-short {
    background: repeating-linear-gradient(
        -45deg,
        #d8e0d5,
        #d8e0d5 5px,
        #c9d4c5 5px,
        #c9d4c5 10px
    );
}

body.public-body--v2 .cw-cell.is-free {
    background: var(--v2-sage);
}

body.public-body--v2 .cw-cell.is-selected {
    background: var(--v2-terracotta) !important;
    box-shadow: inset 0 0 0 1px var(--v2-terracotta-deep);
}

body.public-body--v2 .cw-cell.is-clickable:hover,
body.public-body--v2 .cw-cell.is-clickable:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(201, 130, 112, .55);
}

body.public-body--v2 .cw-swatch {
    border-color: var(--v2-line);
    background: var(--v2-paper);
}

body.public-body--v2 .cw-swatch.is-free { background: var(--v2-sage); border-color: #8aa383; }
body.public-body--v2 .cw-swatch.is-busy { background: #e8cfc8; border-color: var(--v2-terracotta); }
body.public-body--v2 .cw-swatch.is-closed { background: #ebe4d8; border-color: var(--v2-line); }
body.public-body--v2 .cw-swatch.is-past {
    background: repeating-linear-gradient(45deg, #efe8dc, #efe8dc 3px, #e5ddd0 3px, #e5ddd0 6px);
}
body.public-body--v2 .cw-swatch.is-selected {
    background: var(--v2-terracotta);
    border-color: var(--v2-terracotta-deep);
}

/* Events catalog (same cards as home-v2) */
body.public-body--v2 .events-catalog__filter {
    background: #fff;
    border-color: var(--v2-line);
    color: var(--v2-muted);
}

body.public-body--v2 .events-catalog__filter:hover {
    color: var(--v2-ink);
    border-color: var(--v2-blue);
}

body.public-body--v2 .events-catalog__filter.is-active {
    background: var(--v2-terracotta);
    border-color: var(--v2-terracotta);
    color: #fff;
}

body.public-body--v2 .events-catalog .v2-event-card {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .events-catalog .v2-event-card:hover {
    background: var(--v2-porcelain);
}

body.public-body--v2 .events-catalog .v2-event-card__price {
    color: var(--v2-terracotta);
}

body.public-body--v2 .events-catalog .v2-event-card__cta {
    background: #fff;
    border-color: var(--v2-line);
    color: var(--v2-blue);
}

body.public-body--v2 .events-catalog .v2-pill {
    color: var(--v2-blue);
    background: var(--v2-blue-soft);
}

body.public-body--v2 .event-show__back,
body.public-body--v2 .event-show__all-link {
    color: var(--v2-blue);
}

body.public-body--v2 .event-show__title,
body.public-body--v2 .event-show__section-title {
    color: var(--v2-ink);
}

body.public-body--v2 .event-show__meta li,
body.public-body--v2 .event-show__lead,
body.public-body--v2 .event-show__empty,
body.public-body--v2 .event-show__section-count,
body.public-body--v2 .event-auth-dialog__text {
    color: var(--v2-muted);
}

body.public-body--v2 .event-show__checklist li {
    color: var(--v2-ink);
}

body.public-body--v2 .event-show__flash {
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .event-show__error {
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .event-show__meta-icon,
body.public-body--v2 .event-show__check,
body.public-body--v2 .event-amenities__icon,
body.public-body--v2 .event-side-facts__icon {
    color: var(--v2-terracotta);
}

body.public-body--v2 .event-amenities__icon--img {
    background-color: var(--v2-terracotta);
}

body.public-body--v2 .event-booking-bar,
body.public-body--v2 .event-people__card,
body.public-body--v2 .event-amenities__item,
body.public-body--v2 .event-side-card,
body.public-body--v2 .event-auth-dialog__card {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    color: var(--v2-ink);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .event-booking-bar__label,
body.public-body--v2 .event-people__body span,
body.public-body--v2 .event-side-organizer span,
body.public-body--v2 .event-side-facts li {
    color: var(--v2-muted);
}

body.public-body--v2 .event-booking-bar__spots,
body.public-body--v2 .event-people__body strong,
body.public-body--v2 .event-side-card__title,
body.public-body--v2 .event-side-organizer strong,
body.public-body--v2 .event-side-facts strong,
body.public-body--v2 .event-side-card__phone {
    color: var(--v2-ink);
}

body.public-body--v2 .event-people__body em {
    color: var(--v2-terracotta);
}

body.public-body--v2 .event-booking-bar__btn { color: #fff; }

body.public-body--v2 .event-booking-bar__btn--ghost {
    color: var(--v2-ink);
    background: var(--v2-paper);
    border-color: var(--v2-line);
}

body.public-body--v2 .event-people__avatar--empty,
body.public-body--v2 .event-side-organizer__empty {
    background: var(--v2-blue-soft);
}

body.public-body--v2 .event-side-card__btn {
    border-color: var(--v2-line);
    color: var(--v2-blue);
    background: var(--v2-paper);
}

body.public-body--v2 .event-side-card__btn:hover:not(:disabled) {
    background: var(--v2-blue-soft);
    border-color: var(--v2-blue);
}

body.public-body--v2 .event-side-map {
    border-color: var(--v2-line);
}

body.public-body--v2 .event-auth-dialog__close {
    color: var(--v2-muted);
    border-color: var(--v2-line);
}

body.public-body--v2 .event-auth-dialog__close:hover {
    color: var(--v2-ink);
    background: var(--v2-blue-soft);
}

body.public-body--v2 .coach-show__other {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
}

body.public-body--v2 .coach-show__other:hover,
body.public-body--v2 .coach-show__other:has(input:checked) {
    border-color: var(--v2-terracotta);
    background: rgba(201, 130, 112, .1);
}

body.public-body--v2 .event-gallery__main,
body.public-body--v2 .event-gallery__thumb {
    background: var(--v2-blue-soft);
}

body.public-body--v2 .event-gallery__placeholder {
    background: linear-gradient(160deg, var(--v2-blue-soft), var(--v2-porcelain));
}

body.public-body--v2 .event-gallery__badge {
    color: #fff;
    background: var(--v2-terracotta);
}

body.public-body--v2 .event-show__archive-note {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    color: var(--v2-muted);
}

body.public-body--v2 .tag {
    background: var(--v2-sage-soft);
    color: var(--v2-ink);
}

/* Booking form / success */
body.public-body--v2 .booking-page {
    max-width: 760px;
    padding-block: 28px 56px;
}

body.public-body--v2 .booking-page h1 {
    color: var(--v2-ink);
    letter-spacing: -0.02em;
}

body.public-body--v2 .booking-page__lead {
    margin-top: 10px;
    color: var(--v2-muted);
}

body.public-body--v2 .booking-page .field input,
body.public-body--v2 .booking-page .field select,
body.public-body--v2 .booking-page .phone-national,
body.public-body--v2 .booking-page .phone-country,
body.public-body--v2 .coach-show .field input,
body.public-body--v2 .coach-show .field select,
body.public-body--v2 .coach-place .field input,
body.public-body--v2 .coach-place .field select {
    background: var(--v2-paper);
    border: 1px solid var(--v2-line);
    color: var(--v2-ink);
    box-shadow: none;
    color-scheme: light;
}

body.public-body--v2 .booking-page .field input:focus,
body.public-body--v2 .booking-page .field select:focus,
body.public-body--v2 .booking-page .phone-national:focus,
body.public-body--v2 .booking-page .phone-country:focus {
    border-color: var(--v2-blue);
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 109, 158, .16);
}

body.public-body--v2 .booking-page .field select option,
body.public-body--v2 .booking-page .phone-country option,
body.public-body--v2 .coach-show .field select option,
body.public-body--v2 .coach-place .field select option {
    background-color: var(--v2-paper);
    color: var(--v2-ink);
}

body.public-body--v2 .booking-summary {
    margin-top: 24px;
    gap: 12px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.public-body--v2 .booking-summary__item {
    background: var(--v2-paper);
    border: 1px solid var(--v2-line);
    border-radius: 16px;
    box-shadow: var(--v2-shadow-small);
    padding: 16px;
}

body.public-body--v2 .booking-summary__item span {
    color: var(--v2-muted-2);
}

body.public-body--v2 .booking-summary__item strong {
    color: var(--v2-ink);
}

body.public-body--v2 .search-duration-stepper {
    gap: 10px;
    min-height: 32px;
}

body.public-body--v2 .search-duration-stepper__value {
    color: var(--v2-ink);
}

body.public-body--v2 .search-duration-stepper__btn,
body.public-body--v2 a.search-duration-stepper__btn {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 10px;
    background: #f0f1f4;
    color: var(--v2-ink);
    font-size: 1.15rem;
    line-height: 1;
}

body.public-body--v2 .search-duration-stepper__btn:hover:not(:disabled),
body.public-body--v2 a.search-duration-stepper__btn:hover:not(:disabled) {
    background: var(--v2-terracotta);
    border-color: var(--v2-terracotta);
    color: #fff;
}

body.public-body--v2 .search-duration-stepper__btn:disabled {
    opacity: .4;
    color: var(--v2-muted);
}

body.public-body--v2 .coach-place__pick {
    background: var(--v2-paper);
    border-color: var(--v2-line);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .booking-form__contacts,
body.public-body--v2 .booking-success,
body.public-body--v2 .booking-success-card {
    background: var(--v2-paper);
    border: 1px solid var(--v2-line);
    border-radius: 18px;
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .coach-request-stat {
    background: var(--v2-blue-soft);
    border-color: transparent;
    color: var(--v2-muted);
}

body.public-body--v2 .coach-request-stat strong,
body.public-body--v2 .coach-request-coaches__wait strong {
    color: var(--v2-ink);
}

body.public-body--v2 .coach-request-timer__bar {
    background: rgba(23, 30, 45, .08);
}

body.public-body--v2 .booking-form__contacts {
    padding: 20px;
    gap: 16px;
}

body.public-body--v2 .booking-form__contacts legend {
    color: var(--v2-ink);
    padding: 0 4px;
}

body.public-body--v2 .booking-selection-row {
    background: rgba(219, 82, 62, .08);
    border: 1px solid rgba(219, 82, 62, .16);
    border-radius: 14px;
    box-shadow: none;
}

body.public-body--v2 .booking-selection-row strong {
    color: var(--v2-ink);
}

body.public-body--v2 .booking-selection-row span,
body.public-body--v2 .booking-selection-row em {
    color: var(--v2-muted);
}

body.public-body--v2 .booking-form {
    margin-top: 24px;
    gap: 20px;
}

body.public-body--v2 .booking-form__actions {
    margin-top: 8px;
    gap: 12px;
}

body.public-body--v2 .booking-form__actions .btn {
    min-height: 48px;
    padding-inline: 20px;
    border-radius: 14px;
    font-weight: 700;
}

body.public-body--v2 .booking-page .muted {
    color: var(--v2-muted);
}

body.public-body--v2 .club-booking-page .page-head h1 { color: var(--v2-ink); }
body.public-body--v2 .club-booking-page .page-head p { color: var(--v2-muted); }

/* Auth + level test + player cabinet */
body.public-body--v2 .auth-card,
body.public-body--v2 .level-test__card,
body.public-body--v2 .player-cab__card,
body.public-body--v2 .player-cab__panel {
    background: var(--v2-paper);
    border: 1px solid var(--v2-line);
    box-shadow: var(--v2-shadow-small);
}

body.public-body--v2 .auth-lead,
body.public-body--v2 .level-test__lead,
body.public-body--v2 .auth-form label,
body.public-body--v2 .level-test .field label,
body.public-body--v2 .player-cab__head p,
body.public-body--v2 .player-cab__muted {
    color: var(--v2-muted);
}

body.public-body--v2 .auth-form input[type="text"],
body.public-body--v2 .auth-form input[type="password"],
body.public-body--v2 .auth-form input[type="tel"],
body.public-body--v2 .auth-form input[type="email"],
body.public-body--v2 .auth-form select,
body.public-body--v2 .player-cab__cancel-form input[type="text"] {
    background: var(--v2-porcelain);
    border: 1px solid var(--v2-line);
    color: var(--v2-ink);
}

body.public-body--v2 .auth-form .phone-row {
    display: grid;
    grid-template-columns: 5.75rem minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
}
body.public-body--v2 .auth-form .phone-country,
body.public-body--v2 .auth-form .phone-national {
    width: 100%;
    min-width: 0;
}
body.public-body--v2 .auth-form .phone-country {
    padding-left: 8px;
    padding-right: 22px;
}

body.public-body--v2 .auth-form input::placeholder {
    color: rgba(39, 49, 47, .38);
}

body.public-body--v2 .auth-form input:focus,
body.public-body--v2 .auth-form select:focus {
    border-color: var(--v2-terracotta);
    box-shadow: 0 0 0 3px rgba(201, 130, 112, .16);
}

body.public-body--v2 .auth-switch {
    color: var(--v2-muted);
}
body.public-body--v2 .auth-switch a,
body.public-body--v2 .auth-links a,
body.public-body--v2 .level-test__why a,
body.public-body--v2 .level-test__current a {
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .btn-public--primary {
    background: var(--v2-terracotta);
    color: #fff;
    border-color: var(--v2-terracotta);
}

body.public-body--v2 .btn-public--ghost {
    border-color: var(--v2-line);
    color: var(--v2-ink);
    background: var(--v2-paper);
}

body.public-body--v2 .player-cab__nav-link {
    border-color: var(--v2-line);
    color: var(--v2-muted);
    background: var(--v2-paper);
}

body.public-body--v2 .player-cab__nav-link:hover {
    color: var(--v2-ink);
    border-color: var(--v2-terracotta);
}

body.public-body--v2 .player-cab__nav-link.is-active {
    color: #fff;
    background: var(--v2-terracotta);
    border-color: var(--v2-terracotta);
}

body.public-body--v2 .staff-avatar-upload__meta p strong {
    color: var(--v2-ink);
    font-weight: 700;
}
body.public-body--v2 .photo-crop {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
}
body.public-body--v2 .photo-crop__head p,
body.public-body--v2 .photo-crop__preview-label {
    color: var(--v2-muted);
}
body.public-body--v2 .photo-crop__stage,
body.public-body--v2 .photo-crop__preview {
    background: #fff;
    border-color: var(--v2-line);
}
body.public-body--v2 .photo-crop__selection {
    border-color: var(--v2-terracotta);
    box-shadow: 0 0 0 9999px rgba(39, 49, 47, 0.42);
}
body.public-body--v2 .photo-crop__handle {
    border-color: var(--v2-terracotta);
}
body.public-body--v2 .play-tags {
    border-top-color: var(--v2-line);
}
body.public-body--v2 .ttw-link {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
}
body.public-body--v2 .ttw-link__intro,
body.public-body--v2 .ttw-link__hint,
body.public-body--v2 .ttw-link__steps,
body.public-body--v2 .ttw-link__after {
    color: var(--v2-muted);
}
body.public-body--v2 .ttw-link__picked {
    background: #fff;
}
body.public-body--v2 .play-tags__intro {
    color: var(--v2-muted);
}
body.public-body--v2 .play-tags__group {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
}
body.public-body--v2 .play-tags__extras {
    border-top-color: var(--v2-line);
}
body.public-body--v2 .play-tags__hint,
body.public-body--v2 .play-tags__sub,
body.public-body--v2 .play-tags__help summary,
body.public-body--v2 .play-tags__help li {
    color: var(--v2-muted);
}
body.public-body--v2 .play-tags__help li strong {
    color: var(--v2-ink);
}
body.public-body--v2 .play-tags__explain {
    background: #fff;
    color: var(--v2-ink);
    border: 1px solid var(--v2-line);
}
body.public-body--v2 .play-chip {
    background: #fff;
    border-color: var(--v2-line);
    color: var(--v2-ink);
}
body.public-body--v2 .play-chip:has(input:focus-visible) {
    outline-color: var(--v2-terracotta);
}
body.public-body--v2 .play-chip:has(input:checked) {
    border-color: var(--v2-terracotta);
    background: #fff8f6;
    color: var(--v2-terracotta-deep);
    box-shadow: inset 0 0 0 1px var(--v2-terracotta);
}

@media (max-width: 720px) {
    body.public-body--v2 .player-cab .auth-form input[type="text"],
    body.public-body--v2 .player-cab .auth-form input[type="password"],
    body.public-body--v2 .player-cab .auth-form input[type="tel"],
    body.public-body--v2 .player-cab .auth-form input[type="email"],
    body.public-body--v2 .player-cab .auth-form select {
        font-size: 16px;
        min-height: 48px;
    }
}

body.public-body--v2 .player-device-tile {
    border-color: var(--v2-line);
    background: var(--v2-porcelain);
    color: var(--v2-ink);
}

body.public-body--v2 .player-device-tile:hover {
    border-color: var(--v2-terracotta);
    background: rgba(201, 130, 112, .1);
}

body.public-body--v2 .player-device-tile__initials {
    background: var(--v2-blue-soft);
    color: var(--v2-blue-deep);
}

body.public-body--v2 .player-pin-kiosk__back {
    color: var(--v2-muted);
}
body.public-body--v2 .player-pin-kiosk__back:hover {
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .player-pin-card {
    background: var(--v2-paper);
    border: 1px solid var(--v2-line);
    box-shadow: var(--v2-shadow-small);
    color: var(--v2-ink);
}

body.public-body--v2 .player-pin-card > p,
body.public-body--v2 .player-pin-card__who span,
body.public-body--v2 .player-pin-card__hint,
body.public-body--v2 .player-pin-form label {
    color: var(--v2-muted);
}

body.public-body--v2 .player-pin-card__status {
    color: #2f7d46 !important;
}

body.public-body--v2 .player-pin-card__alt a {
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .player-pin-form input[name="pin"],
body.public-body--v2 .player-pin-form input[name="pin_confirmation"] {
    background: var(--v2-porcelain);
    border: 1px solid var(--v2-line);
    color: var(--v2-ink);
}

body.public-body--v2 .player-pin-form input[name="pin"]::placeholder,
body.public-body--v2 .player-pin-form input[name="pin_confirmation"]::placeholder {
    color: rgba(39, 49, 47, .28);
}

body.public-body--v2 .player-pin-form input[name="pin"]:focus,
body.public-body--v2 .player-pin-form input[name="pin_confirmation"]:focus {
    outline: none;
    border-color: var(--v2-terracotta);
    box-shadow: 0 0 0 3px rgba(201, 130, 112, .16);
}

body.public-body--v2 .player-pin-form .error {
    color: #b42318;
}

body.public-body--v2 .auth-hint {
    border-color: var(--v2-line);
    background: var(--v2-porcelain);
    color: var(--v2-ink);
}

body.public-body--v2 .auth-hint--ok {
    border-color: rgba(47, 125, 70, .28);
    background: rgba(47, 125, 70, .08);
    color: #2f7d46;
}

body.public-body--v2 .auth-phone,
body.public-body--v2 .phone-otp__note {
    color: var(--v2-muted);
}

body.public-body--v2 .otp-card__lead {
    color: var(--v2-ink);
}

body.public-body--v2 .otp-card__or {
    color: var(--v2-muted);
}

body.public-body--v2 .auth-phone strong,
body.public-body--v2 .otp-card__phone {
    color: var(--v2-ink);
}

body.public-body--v2 .otp-card__alt {
    border-top-color: var(--v2-line);
}

body.public-body--v2 .otp-card__notice {
    border-color: var(--v2-line);
    background: var(--v2-porcelain);
    color: var(--v2-ink);
}

body.public-body--v2 .otp-card__notice--ok {
    border-color: rgba(47, 125, 70, .28);
    background: rgba(47, 125, 70, .08);
    color: #2f7d46;
}

body.public-body--v2 .otp-card .error {
    color: #b42318;
}

body.public-body--v2 .auth-form input.otp-card__code {
    background: var(--v2-porcelain);
    border: 1px solid var(--v2-line);
    color: var(--v2-ink);
}

body.public-body--v2 .auth-form input.otp-card__code::placeholder {
    color: rgba(39, 49, 47, .28);
}

body.public-body--v2 .otp-card .auth-form label {
    color: var(--v2-ink);
}

body.public-body--v2 .auth-form input.otp-card__code:invalid:not(:focus) {
    border-color: var(--v2-line);
}

body.public-body--v2 .auth-form input.otp-card__code:focus {
    border-color: var(--v2-blue);
    box-shadow: 0 0 0 3px rgba(59, 109, 158, .18);
}

body.public-body--v2 .auth-form input.otp-card__code:user-invalid,
body.public-body--v2 .auth-form input.otp-card__code.is-invalid {
    border-color: #b42318;
}

body.public-body--v2 .auth-status {
    color: #2f7d46;
}

body.public-body--v2 .auth-form .error,
body.public-body--v2 .level-test__error {
    color: #b42318;
}

body.public-body--v2 .level-test__option {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
}

body.public-body--v2 .level-test__option:has(input:checked) {
    border-color: var(--v2-terracotta);
    background: rgba(201, 130, 112, .12);
}

body.public-body--v2 .level-test__progress,
body.public-body--v2 .level-test__hint,
body.public-body--v2 .level-test__why-body,
body.public-body--v2 .level-test__current,
body.public-body--v2 .level-test__band,
body.public-body--v2 .level-test__desc,
body.public-body--v2 .level-test__range-labels,
body.public-body--v2 .level-test__league-meta,
body.public-body--v2 .level-test__league-eyebrow {
    color: var(--v2-muted);
}

body.public-body--v2 .level-test__score,
body.public-body--v2 .level-test__league h2,
body.public-body--v2 .level-test__skills li {
    color: var(--v2-ink);
}

body.public-body--v2 .level-test__badge {
    background: var(--v2-blue-soft);
    border-color: var(--v2-line);
    color: var(--v2-blue-deep);
}

body.public-body--v2 .level-test__league {
    background: var(--v2-porcelain);
    border-color: var(--v2-line);
}

body.public-body--v2 .level-test__skills li {
    border-bottom-color: var(--v2-line);
}

body.public-body--v2 .lt-result__label {
    background: rgba(219, 82, 62, .12);
    color: var(--v2-terracotta-deep);
}

body.public-body--v2 .lt-result__track,
body.public-body--v2 .lt-result__bar {
    background: #eceae4;
}

body.public-body--v2 .lt-result__range {
    background: rgba(59, 109, 158, .28);
}

body.public-body--v2 .lt-result__marker {
    background: var(--v2-terracotta);
    border-color: var(--v2-paper);
}

body.public-body--v2 .lt-result__bar i {
    background: var(--v2-blue);
}

body.public-body--v2 .lt-result__block {
    border-top-color: var(--v2-line);
}

@media (max-width: 1100px) {
    .public-v2-header__inner {
        position: relative;
        gap: 20px;
    }
    .public-v2-menu-toggle {
        display: grid;
        width: 44px;
        height: 44px;
        place-content: center;
        gap: 5px;
        padding: 0;
        border: 1px solid var(--v2-line);
        border-radius: 12px;
        background: transparent;
        touch-action: manipulation;
    }
    .public-v2-menu-toggle span:not(.visually-hidden) {
        width: 18px;
        height: 2px;
        background: currentColor;
    }
    .public-v2-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 59;
        display: none;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 4px;
        padding: 12px 16px 16px;
        border-bottom: 1px solid var(--v2-line);
        background: var(--v2-porcelain);
        box-shadow: 0 16px 32px rgba(13, 30, 61, .1);
    }
    .public-v2-nav.is-open { display: flex; }
    .public-v2-nav a {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 12px;
        border-radius: 12px;
        font-size: 1rem;
    }
    .public-v2-nav a.is-active { background: var(--v2-blue-soft); }
    .public-v2-nav a::after { display: none; }
    .public-v2-header__actions { justify-self: end; }
    .public-v2-city { display: none; }
    .v2-footer__main,
    .v2-footer__left,
    .v2-footer__bottom { flex-direction: column; }
    .v2-footer__cols { flex-wrap: wrap; }
    .v2-footer__cols > div { min-width: 140px; flex: 1; }
    .v2-footer__contact { width: 100%; }
}

@media (max-width: 760px) {
    .public-v2-header__inner {
        min-height: 66px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
    }
    .public-v2-brand { font-size: 1rem; }
    .public-v2-brand svg { width: 36px; }
    .public-v2-profile { min-height: 44px; padding-inline: 14px; }
    .public-v2-header__actions { gap: 8px; }
    .public-v2-logout button { min-height: 44px; }
    body.public-body--v2 .wrap { width: min(calc(100% - 24px), var(--wrap)); }
    body.public-body--v2 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    body.public-body--v2 select,
    body.public-body--v2 textarea {
        font-size: 16px;
    }
    .v2-footer__cols > div { flex-basis: calc(50% - 16px); }
    .v2-footer__bottom div { flex-direction: column; gap: 12px; }

    body.public-body--v2 .booking-page {
        padding-block: 20px 40px;
    }

    body.public-body--v2 .booking-summary__item--duration .booking-duration-stepper {
        width: 100%;
        justify-content: space-between;
    }

    body.public-body--v2 .booking-form__actions {
        flex-direction: column;
        align-items: stretch;
    }

    body.public-body--v2 .booking-form__actions .btn {
        width: 100%;
        justify-content: center;
    }

    body.public-body--v2 .coaches-page {
        padding-top: 16px;
    }

    body.public-body--v2 .catalog-coach-card:hover {
        transform: none;
    }
}

@media (max-width: 440px) {
    .v2-footer__cols > div { flex-basis: 100%; }
}

.public-stub {
    padding: 48px 0 80px;
}
.public-stub__inner {
    max-width: 720px;
}
.public-stub__kicker {
    margin: 0 0 12px;
    color: var(--v2-terracotta, #db523e);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.public-stub h1 {
    margin: 0 0 16px;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.15;
}
.public-stub__lead {
    margin: 0 0 32px;
    color: var(--v2-muted, var(--muted));
    font-size: 1.05rem;
    line-height: 1.5;
}
.public-stub__steps {
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 16px;
}
.public-stub__steps li {
    display: grid;
    gap: 4px;
    padding: 16px 20px;
    border-radius: 16px;
    background: var(--v2-paper, var(--bg-card, #fff));
}
.public-stub__steps span { color: var(--v2-muted, var(--muted)); }
.public-stub__body {
    display: grid;
    gap: 24px;
    margin-bottom: 32px;
}
.public-stub__body h2 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}
.public-stub__body p {
    margin: 0;
    color: var(--v2-muted, var(--muted));
    line-height: 1.55;
}
.public-stub__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 12px;
    background: var(--v2-blue, #3b6d9e);
    color: #fff !important;
    font-weight: 700;
}

.public-legal__inner { max-width: 760px; }
.public-legal__meta { margin: 0 0 16px; color: var(--v2-muted, var(--muted)); }
.public-legal__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0 0 28px;
}
.public-legal__nav a { font-weight: 700; color: var(--v2-muted, var(--muted)); }
.public-legal__nav a.is-active,
.public-legal__nav a:hover { color: inherit; }
.public-legal__body h2 { margin: 22px 0 8px; font-size: 1.12rem; }
.public-legal__body p,
.public-legal__body li { line-height: 1.55; }
.public-legal__body ul { margin: 0 0 12px; padding-left: 1.2em; }

body.public-body--v2 .legal-inline a { color: var(--v2-muted, var(--muted)); }
body.public-body--v2 .auth-card .legal-inline { border-top-color: var(--v2-line); }
