:root {
  color-scheme: light;
  --bg: #dde2e6;
  --bg-soft: #e8ecef;
  --surface: #f7f8f9;
  --surface-muted: #edf0f2;
  --surface-strong: #e3e8ec;
  --text: #16191d;
  --muted: #5d666f;
  --line: #c7d0d8;
  --line-strong: #adb7c0;
  --charcoal: #2f3439;
  --charcoal-strong: #1f2428;
  --green: #4d8b68;
  --green-soft: #e3ede6;
  --red: #c16b5f;
  --red-soft: #f4e8e6;
  --shadow: 0 20px 46px rgba(22, 25, 29, 0.08);
}

/* Samodrive 2026 */
:root{--sd-ink:#101419;--sd-blue:#176bff;--sd-lime:#c8ff3d;--sd-paper:#f4f3ef}
body{background:var(--sd-paper)}
.topbar--2026{position:sticky;top:0;z-index:60;border:0;background:rgba(12,16,21,.94);backdrop-filter:blur(18px)}
.topbar--2026 .topbar__inner{min-height:82px}
.topbar--2026 .brand__name,.topbar--2026 .brand__subtitle{color:#fff}.topbar--2026 .brand__subtitle{opacity:.62}
.topbar--2026 .brand__mark{width:54px;height:54px;border:1px solid rgba(255,255,255,.15);box-shadow:none}
.topbar__actions--clean{gap:25px}.nav-link{color:rgba(255,255,255,.7);font-size:.9rem;font-weight:700;text-decoration:none}.nav-link:hover{color:#fff}
.account-button{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800;text-decoration:none}.account-button span{color:var(--sd-lime);font-size:.65rem}
.button--accent{color:#111;background:var(--sd-lime);border-color:var(--sd-lime);box-shadow:none}.button--accent:hover{color:#111;background:#d5ff6a;border-color:#d5ff6a}
.button-label--short{display:none}
.cinema-hero{position:relative;min-height:720px;display:grid;align-items:end;overflow:hidden;color:#fff;background:#0a0d11}
.cinema-hero__image,.cinema-hero__shade{position:absolute;inset:0;width:100%;height:100%}.cinema-hero__image{object-fit:cover;object-position:center}
.cinema-hero__shade{background:linear-gradient(90deg,rgba(4,7,10,.92),rgba(4,7,10,.62) 40%,rgba(4,7,10,.1) 75%),linear-gradient(0deg,rgba(4,7,10,.86),transparent 48%)}
.cinema-hero__content{position:relative;z-index:1;padding-top:100px;padding-bottom:48px}.cinema-hero__eyebrow{margin:0 0 22px;color:var(--sd-lime);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cinema-hero h1{max-width:680px;margin:0;font-size:clamp(3rem,5vw,4.9rem);line-height:.94;letter-spacing:-.055em}.cinema-hero h1 em{color:rgba(255,255,255,.58);font-style:normal}
.cinema-hero__content>p:not(.cinema-hero__eyebrow){max-width:620px;margin:27px 0;color:rgba(255,255,255,.74);font-size:1.18rem;line-height:1.6}
.cinema-hero__actions{display:flex;align-items:center;gap:26px}.button--hero{min-height:58px;padding:0 28px;font-size:1rem}.cinema-hero__phone{color:#fff;font-size:1.08rem;font-weight:900;text-decoration:none}
.cinema-hero__facts{display:flex;gap:1px;margin-top:62px;border-top:1px solid rgba(255,255,255,.22)}.cinema-hero__facts span{display:grid;gap:3px;min-width:220px;padding:20px 28px 0 0;color:rgba(255,255,255,.58);font-size:.82rem}.cinema-hero__facts strong{color:#fff;font-size:1rem}
.cinema-hero__trust{display:inline-flex;max-width:100%;align-items:center;gap:11px;margin-top:24px;padding:9px 13px 9px 10px;border:1px solid rgba(255,255,255,.2);border-radius:13px;color:#fff;background:rgba(8,12,16,.58);text-decoration:none;backdrop-filter:blur(10px)}
.cinema-hero__trust[hidden]{display:none}
.cinema-hero__trust-mark{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:9px;color:#17130a;background:#f5cf3d;font-weight:950}
.cinema-hero__trust-copy{display:grid;gap:1px;min-width:0}.cinema-hero__trust-copy strong{font-size:.88rem}.cinema-hero__trust-copy small{overflow:hidden;color:rgba(255,255,255,.68);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
.cinema-hero__trust-arrow{color:var(--sd-lime);font-weight:900}.cinema-hero__trust+.cinema-hero__facts{margin-top:26px}
.club-invite{color:#101419;background:var(--sd-lime)}.club-invite__inner{min-height:138px;display:flex;align-items:center;justify-content:space-between;gap:26px}.club-invite h2{margin:4px 0;font-size:2rem;letter-spacing:-.04em}.club-invite p{margin:0;opacity:.7}.club-invite__tag{font-size:.72rem;font-weight:950;letter-spacing:.18em}.button--light{color:#fff;background:#11161c;border-color:#11161c}
.hero{padding:80px 0;background:#f4f3ef}.hero__layout{grid-template-columns:minmax(0,1.18fr) minmax(350px,.72fr);gap:34px;align-items:start}
.booking-panel{padding:clamp(22px,3vw,38px);border:0;border-radius:24px;background:#fff;box-shadow:0 26px 80px rgba(22,27,32,.1)}.booking-panel__title{font-size:clamp(2.15rem,4vw,3.8rem);line-height:1;letter-spacing:-.055em}
.booking-step{padding:20px;border-radius:16px;background:#f5f6f7}.step-badge{background:var(--sd-blue)}.option-button{border-radius:12px}.option-button.is-active{background:var(--sd-ink);border-color:var(--sd-ink)}
.member-strip{border-radius:16px;background:#eef4ff;border-color:#d6e3ff}.insight-column .intro-block,.utility-grid>*{border-radius:20px}
.portal-page{background:#0f141a}.portal-page .band{min-height:calc(100vh - 82px);padding:70px 0;background:radial-gradient(circle at 18% 0,#20334a 0,transparent 38%),#0f141a}.portal-page .portal-intro{color:#fff}.portal-page .portal-intro .supporting-copy{color:rgba(255,255,255,.64)}
.portal-page .portal-auth{gap:40px}.portal-page .portal-card{border:1px solid rgba(255,255,255,.1);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25)}.auth-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#101419;background:var(--sd-lime);font-size:1.4rem;font-weight:900}.loyalty-preview{border-radius:18px;color:#101419;background:var(--sd-lime)}
.aircon-hero{padding:100px 0;background:radial-gradient(circle at 85% 20%,#204d7a 0,transparent 36%),#101820;color:#fff}.aircon-hero h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.91;letter-spacing:-.065em}.aircon-hero p{color:rgba(255,255,255,.68)}
.aircon-choice-preview{display:grid;gap:12px}.aircon-choice-preview article{display:grid;gap:8px;padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(255,255,255,.06)}.aircon-choice-preview span{color:#75bdff;font-size:.76rem;font-weight:900}.aircon-choice-preview strong{font-size:1.65rem}.aircon-choice-preview small{color:rgba(255,255,255,.6)}
@media(max-width:1050px){.topbar__actions--clean .nav-link{display:none}.cinema-hero{min-height:650px}.hero__layout{grid-template-columns:1fr}.insight-column{grid-template-columns:1fr 1fr}.insight-column .intro-block{grid-column:1/-1}}
@media(max-width:700px){.topbar--2026 .topbar__inner{min-height:68px}.topbar--2026 .brand__subtitle,.account-button,.topbar__actions--clean .button{display:none}.cinema-hero{min-height:660px}.cinema-hero__image{object-position:62% center}.cinema-hero__shade{background:linear-gradient(0deg,rgba(4,7,10,.96),rgba(4,7,10,.58) 66%,rgba(4,7,10,.2))}.cinema-hero__content{padding-top:130px;padding-bottom:26px}.cinema-hero h1{font-size:clamp(2.65rem,12vw,3.45rem)}.cinema-hero__content>p:not(.cinema-hero__eyebrow){font-size:1rem}.cinema-hero__actions{display:grid;gap:17px}.cinema-hero__facts{overflow-x:auto;margin-top:38px}.cinema-hero__facts span{min-width:230px}.club-invite__inner{padding-top:28px;padding-bottom:28px;display:grid}.hero{padding:38px 0}.booking-panel{padding:18px;border-radius:18px}.booking-step{padding:14px}.insight-column{display:grid;grid-template-columns:1fr}.portal-page .band{padding:34px 0}.aircon-hero{padding:60px 0}.aircon-hero h1{font-size:3.4rem}}

[hidden] {
  display: none !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 98px;
}

body {
  margin: 0;
  min-width: 320px;
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.28), transparent 30%),
    linear-gradient(180deg, #e6eaed 0%, #d7dde2 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
  opacity: 0.26;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
}

.shell {
  position: relative;
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
}

.call-tab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 16px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, rgba(31, 36, 40, 0.96), rgba(47, 52, 57, 0.96));
  color: #fff;
  box-shadow: 0 18px 42px rgba(22, 25, 29, 0.22);
}

.jump-tab {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 49;
  display: none;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(173, 183, 192, 0.76);
  background: rgba(247, 248, 249, 0.96);
  color: var(--charcoal);
  box-shadow: 0 16px 34px rgba(22, 25, 29, 0.14);
}

.jump-tab__icon {
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1;
}

.call-tab__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
}

.call-tab__copy {
  display: grid;
}

.call-tab__copy span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.86rem;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(14px);
  background: rgba(232, 236, 239, 0.86);
  border-bottom: 1px solid rgba(173, 183, 192, 0.6);
}

.topbar__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: 86px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.brand__mark,
.brand__name,
.hero__title,
.panel-title,
.section-title,
.booking-panel__title {
  font-family: Bahnschrift, "Segoe UI Variable Display", "Segoe UI", sans-serif;
}

.brand__mark {
  width: 58px;
  height: 58px;
  padding: 4px;
  border-radius: 8px;
  object-fit: contain;
  background: rgba(247, 248, 249, 0.94);
  border: 1px solid rgba(173, 183, 192, 0.72);
  box-shadow: var(--shadow);
}

.brand__copy {
  display: grid;
}

.brand__name {
  display: block;
  font-size: 1.06rem;
  line-height: 1.2;
}

.brand__subtitle {
  display: block;
  color: var(--muted);
  font-size: 0.88rem;
}

.topbar__status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  justify-self: center;
  min-height: 58px;
  padding: 8px 16px 8px 8px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.92), rgba(237, 240, 242, 0.92));
  box-shadow: 0 14px 28px rgba(22, 25, 29, 0.08);
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(173, 183, 192, 0.66);
  background: rgba(255, 255, 255, 0.46);
  color: var(--muted);
  font-size: 0.9rem;
  white-space: nowrap;
}

.topbar__status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--charcoal), var(--charcoal-strong));
  color: #fff;
  font-family: Bahnschrift, "Segoe UI Variable Display", "Segoe UI", sans-serif;
  font-size: 1.04rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: 0 12px 24px rgba(22, 25, 29, 0.18);
}

.topbar__status-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.topbar__status-copy strong {
  display: block;
  font-size: 0.92rem;
  line-height: 1.15;
}

.topbar__status-copy span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.2;
}

.topbar__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(247, 248, 249, 0.9);
  color: var(--text);
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button:disabled {
  opacity: 0.56;
  cursor: not-allowed;
  transform: none;
}

.button--primary {
  border-color: var(--charcoal);
  background: linear-gradient(180deg, var(--charcoal), var(--charcoal-strong));
  color: #fff;
}

.button--ghost {
  background: rgba(247, 248, 249, 0.74);
}

.button--wide {
  width: 100%;
}

.hero {
  padding: 30px 0 24px;
}

.hero__layout,
.feature-layout,
.contact-layout {
  display: grid;
  gap: 24px;
  align-items: start;
}

.hero__layout {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
}

.feature-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
}

.contact-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.84fr);
}

.booking-panel,
.intro-block,
.load-panel,
.telegram-panel,
.trust-panel,
.dimension-panel,
.detail-block,
.flow-card,
.service-card,
.feature-card,
.review-card,
.phone-card {
  border-radius: 8px;
}

.booking-panel,
.intro-block,
.load-panel,
.telegram-panel,
.trust-panel,
.dimension-panel,
.detail-block {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.96), rgba(237, 240, 242, 0.96));
  border: 1px solid rgba(173, 183, 192, 0.72);
  box-shadow: var(--shadow);
}

.booking-panel {
  position: sticky;
  top: 96px;
  padding: 24px;
}

.intro-block,
.load-panel,
.telegram-panel,
.trust-panel,
.dimension-panel,
.detail-block {
  padding: 22px;
}

.booking-panel__header {
  margin-bottom: 18px;
}

.section-label {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.booking-panel__title,
.hero__title,
.panel-title,
.section-title {
  margin: 0;
  line-height: 1.06;
}

.booking-panel__title {
  max-width: 12ch;
  font-size: 2.14rem;
}

.hero__title {
  max-width: 12ch;
  font-size: 2.46rem;
}

.panel-title {
  font-size: 1.42rem;
}

.section-title {
  max-width: 16ch;
  font-size: 1.94rem;
}

.section-title--compact {
  font-size: 1.42rem;
}

.booking-panel__text,
.hero__text,
.hero__subtle,
.supporting-copy {
  margin: 12px 0 0;
  color: var(--muted);
}

.booking-panel__group + .booking-panel__group {
  margin-top: 22px;
}

.booking-step {
  padding: 16px;
  border: 1px solid rgba(173, 183, 192, 0.58);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.42);
}

.booking-form[hidden],
.booking-panel__group[hidden] {
  display: none;
}

.group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.group-head--legend {
  align-items: flex-end;
}

.group-head__stack {
  display: grid;
  gap: 6px;
}

.group-head__stack .group-caption {
  text-align: left;
}

.group-head__main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--charcoal), var(--charcoal-strong));
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(22, 25, 29, 0.16);
}

.group-label {
  font-weight: 700;
}

.group-caption {
  color: var(--muted);
  font-size: 0.92rem;
  text-align: right;
}

.legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--muted);
  font-size: 0.9rem;
}

.legend__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.legend__dot--free {
  background: var(--green);
}

.legend__dot--busy {
  background: var(--red);
}

.option-grid,
.day-grid,
.time-grid,
.quick-points,
.utility-grid,
.flow-grid,
.album-grid,
.service-grid,
.feature-grid,
.detail-columns,
.phone-list,
.weekday-load,
.review-stack {
  display: grid;
  gap: 12px;
}

.option-grid--service {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.option-grid--duration {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.day-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.time-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.option-button,
.day-button,
.time-button {
  width: 100%;
  min-height: 78px;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  background: rgba(255, 255, 255, 0.54);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.option-button:hover,
.day-button:hover,
.time-button:hover {
  transform: translateY(-1px);
}

.option-button.is-active,
.day-button.is-active,
.time-button.is-active {
  box-shadow: inset 0 0 0 2px var(--charcoal);
}

.option-button.is-active {
  background: rgba(225, 231, 236, 0.88);
  border-color: var(--charcoal);
}

.option-button--duration {
  min-height: 62px;
  padding: 10px 12px;
  text-align: center;
}

.option-button--duration .option-button__title {
  width: 100%;
}

.day-button.is-free,
.time-button.is-free {
  background: var(--green-soft);
  border-color: rgba(77, 139, 104, 0.38);
}

.day-button.is-busy,
.time-button.is-busy {
  background: var(--red-soft);
  border-color: rgba(193, 107, 95, 0.34);
}

.time-button.is-past {
  background: rgba(223, 228, 233, 0.72);
  color: #727a82;
}

.time-button:disabled {
  cursor: default;
  transform: none;
}

.option-button__title,
.day-button__title,
.time-button__title {
  display: block;
  font-weight: 700;
}

.option-button__meta,
.day-button__meta,
.time-button__meta {
  display: block;
  margin-top: 4px;
  color: inherit;
  opacity: 0.82;
  font-size: 0.92rem;
}

.booking-summary {
  margin-top: 22px;
  padding: 16px;
  border: 1px solid rgba(173, 183, 192, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.52);
}

.booking-summary__title {
  margin: 0 0 6px;
  font-size: 1.04rem;
}

.booking-summary__line {
  margin: 0;
  color: var(--muted);
}

.booking-empty {
  grid-column: 1 / -1;
  padding: 14px 16px;
  border: 1px dashed rgba(173, 183, 192, 0.82);
  border-radius: 8px;
  background: rgba(247, 248, 249, 0.6);
  color: var(--muted);
}

.booking-form {
  margin-top: 20px;
}

.booking-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.field {
  display: grid;
  gap: 8px;
}

.field--full {
  grid-column: 1 / -1;
}

.field__label {
  font-weight: 700;
}

.field__hint {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.field__control {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  background: rgba(255, 255, 255, 0.72);
  color: var(--text);
}

.field__control:focus {
  outline: 2px solid transparent;
  border-color: var(--charcoal);
}

.field__control--area {
  min-height: 112px;
  padding: 14px;
  resize: vertical;
}

.extra-options {
  display: grid;
  gap: 10px;
}

.extra-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(128px, 170px);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.6);
}

.extra-option__control {
  min-width: 0;
}

.extra-option__copy {
  display: grid;
  gap: 4px;
}

.extra-option__title {
  font-weight: 700;
}

.extra-option__meta {
  color: var(--muted);
  font-size: 0.92rem;
}

.booking-form__meta {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.status-message {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(77, 139, 104, 0.3);
  border-radius: 8px;
  background: var(--green-soft);
}

.status-message--error {
  border-color: rgba(193, 107, 95, 0.3);
  background: var(--red-soft);
}

.status-message__title {
  margin: 0 0 6px;
  font-size: 1rem;
}

.status-message__text {
  margin: 0;
  color: var(--muted);
}

.insight-column {
  display: grid;
  gap: 18px;
}

.reveal,
.flow-card,
.service-card,
.feature-card,
.review-card,
.phone-card,
.album-card {
  animation: reveal-up 0.55s ease both;
}

.quick-points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.quick-point {
  min-height: 110px;
  padding: 14px;
  border: 1px solid rgba(173, 183, 192, 0.58);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.48);
}

.quick-point__title {
  display: block;
  font-weight: 700;
}

.quick-point__text {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.92rem;
}

.location-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(173, 183, 192, 0.58);
}

.location-inline__copy {
  display: grid;
  gap: 4px;
}

.location-inline__copy span {
  color: var(--muted);
}

.utility-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel-head {
  margin-bottom: 16px;
}

.panel-head--split {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.trust-panel__copy {
  max-width: 60ch;
}

.review-stack--trust {
  grid-template-columns: 1fr;
  margin-top: 16px;
}

.review-links--trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 16px;
}

.review-platform {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(173, 183, 192, 0.62);
  border-radius: 14px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.review-platform:hover {
  transform: translateY(-2px);
  border-color: rgba(80, 92, 104, 0.55);
  box-shadow: 0 14px 34px rgba(18, 24, 30, 0.1);
}

.review-platform__mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  font-size: 1.15rem;
  font-weight: 950;
}

.review-platform--yandex .review-platform__mark {
  color: #111;
  background: #ffd633;
}

.review-platform--avito .review-platform__mark {
  color: #fff;
  background: linear-gradient(135deg, #00aaff, #965eeb 65%, #ff4053);
}

.review-platform__copy {
  display: grid;
  min-width: 0;
}

.review-platform__copy small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.review-platform__copy strong {
  font-size: .98rem;
}

.review-platform__copy em {
  margin-top: 2px;
  color: var(--muted);
  font-size: .76rem;
  font-style: normal;
}

.review-platform > b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  background: #111820;
  font-size: .9rem;
}

.review-stack--library {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.review-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  margin-bottom: 14px;
}

.review-carousel__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  background: rgba(255, 255, 255, 0.62);
  color: var(--text);
  cursor: pointer;
  transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.review-carousel__button:hover {
  transform: translateY(-1px);
}

.review-carousel__button:disabled {
  opacity: 0.45;
  cursor: default;
  transform: none;
}

.review-carousel__status {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.review-card--compact {
  gap: 10px;
}

.review-card--compact .review-card__text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.review-card--compact .review-card__reply {
  display: none;
}

.review-card--compact .review-card__head {
  align-items: flex-start;
}

.review-card--featured {
  min-height: 100%;
  padding: 18px;
  gap: 14px;
}

.review-card--featured .review-card__text {
  font-size: 0.98rem;
  line-height: 1.62;
}

.telegram-step__text,
.phone-card__title,
.phone-card__meta,
.album-card__tag {
  color: var(--muted);
}

.weekday-load {
  gap: 10px;
}

.load-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.load-legend__item {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.load-legend__item--calm {
  background: rgba(77, 139, 104, 0.14);
  border-color: rgba(77, 139, 104, 0.28);
  color: #2f6c4c;
}

.load-legend__item--medium {
  background: rgba(204, 176, 67, 0.16);
  border-color: rgba(204, 176, 67, 0.3);
  color: #8b7423;
}

.load-legend__item--high {
  background: rgba(216, 131, 66, 0.16);
  border-color: rgba(216, 131, 66, 0.28);
  color: #a95e28;
}

.load-legend__item--peak {
  background: rgba(193, 85, 78, 0.16);
  border-color: rgba(193, 85, 78, 0.28);
  color: #9f3933;
}

.load-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) minmax(150px, 182px);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.34);
  background: rgba(255, 255, 255, 0.34);
}

.load-row__day {
  font-weight: 700;
}

.load-row__track {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 6px;
}

.load-row__cell {
  height: 10px;
  border-radius: 999px;
  background: rgba(173, 183, 192, 0.44);
}

.load-row__meta {
  display: grid;
  gap: 1px;
  justify-items: start;
}

.load-row__label {
  font-size: 0.88rem;
  line-height: 1.15;
}

.load-row__percent,
.load-row__hint {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.2;
}

.load-row--empty {
  background: rgba(247, 248, 249, 0.52);
}

.load-row--empty .load-row__label {
  color: var(--muted);
}

.load-row--empty .load-row__cell.is-filled {
  background: rgba(141, 152, 162, 0.72);
}

.load-row--calm .load-row__cell.is-filled {
  background: #4d8b68;
}

.load-row--medium .load-row__cell.is-filled {
  background: #ccb043;
}

.load-row--high .load-row__cell.is-filled {
  background: #d88342;
}

.load-row--peak .load-row__cell.is-filled {
  background: #c1554e;
}

.load-row--calm .load-row__label {
  color: #2f6c4c;
}

.load-row--medium .load-row__label {
  color: #8b7423;
}

.load-row--high .load-row__label {
  color: #a95e28;
}

.load-row--peak .load-row__label,
.load-row--peak .load-row__hint {
  color: #9f3933;
}

.telegram-steps {
  display: grid;
  gap: 10px;
}

.telegram-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.telegram-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.46);
  border: 1px solid rgba(173, 183, 192, 0.64);
  font-size: 0.92rem;
  font-weight: 700;
}

.split-actions,
.link-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.split-actions {
  margin-top: 18px;
}

.band {
  padding: 28px 0;
}

.band--soft {
  background: rgba(247, 248, 249, 0.28);
  border-top: 1px solid rgba(173, 183, 192, 0.48);
  border-bottom: 1px solid rgba(173, 183, 192, 0.48);
}

.section-headline {
  margin-bottom: 18px;
}

.flow-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.flow-card,
.service-card,
.feature-card,
.review-card,
.phone-card,
.album-card {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.96), rgba(234, 238, 241, 0.96));
  border: 1px solid rgba(173, 183, 192, 0.72);
  box-shadow: var(--shadow);
}

.flow-card {
  padding: 18px;
  min-height: 188px;
}

.flow-card__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--charcoal);
  color: #fff;
  font-weight: 700;
}

.flow-card__title {
  margin: 14px 0 0;
  font-size: 1.1rem;
}

.flow-card__text {
  margin: 10px 0 0;
  color: var(--muted);
}

.album-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.album-card {
  overflow: hidden;
  padding: 0;
  cursor: pointer;
}

.album-card__image {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.album-card__body {
  padding: 14px;
}

.album-card__title {
  margin: 0;
  font-size: 1rem;
}

.album-card__tag {
  display: block;
  margin-top: 6px;
  font-size: 0.88rem;
}

.service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-card,
.feature-card {
  overflow: hidden;
}

.service-card__image,
.feature-card__image {
  width: 100%;
  object-fit: cover;
}

.service-card__image {
  aspect-ratio: 16 / 10;
}

.feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-card__image {
  aspect-ratio: 16 / 11;
}

.service-card__body,
.feature-card__body {
  padding: 18px;
}

.service-card__eyebrow,
.feature-card__eyebrow {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 0.92rem;
}

.service-card__title,
.feature-card__title {
  margin: 0;
  font-size: 1.28rem;
}

.service-card__price {
  display: inline-block;
  margin-top: 10px;
  color: var(--charcoal);
  font-weight: 700;
}

.service-card__copy,
.feature-card__copy {
  margin: 12px 0 0;
  color: var(--muted);
}

.clean-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: grid;
  gap: 12px;
}

.clean-list li {
  position: relative;
  padding-left: 18px;
}

.clean-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.66em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--charcoal);
}

.dimension-stage {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid rgba(173, 183, 192, 0.62);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.52);
}

.dimension-stage__board-wrap {
  position: relative;
  width: min(100%, 360px);
  margin: 0 auto;
  padding-top: 28px;
  padding-right: 42px;
}

.dimension-stage__board {
  position: relative;
  width: 100%;
  aspect-ratio: 4.8 / 2.36;
  border: 2px solid var(--charcoal);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.96), rgba(225, 231, 236, 0.96));
}

.dimension-stage__caption {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 4px;
  text-align: center;
}

.dimension-stage__caption strong {
  font-size: 1.04rem;
}

.dimension-stage__caption span,
.dimension-stage__width,
.dimension-stage__length,
.dimension-stage__note {
  color: var(--muted);
}

.dimension-stage__width,
.dimension-stage__length {
  position: absolute;
  font-weight: 700;
}

.dimension-stage__width {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.dimension-stage__length {
  top: 50%;
  right: -18px;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
}

.dimension-stage__note {
  margin: 16px 0 0;
  text-align: center;
}

.detail-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-columns--double {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-block--cleanup {
  background: linear-gradient(180deg, rgba(244, 238, 235, 0.96), rgba(240, 231, 228, 0.96));
}

.review-card,
.phone-card {
  padding: 16px;
}

.review-card {
  display: grid;
  gap: 12px;
}

.review-card p,
.phone-card p {
  margin: 0;
}

.review-card__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.review-card__author-block {
  display: grid;
  gap: 4px;
}

.review-card__author {
  font-size: 1rem;
}

.review-card__author-meta {
  color: var(--muted);
  font-size: 0.88rem;
}

.review-card__rating {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 193, 7, 0.16);
  border: 1px solid rgba(214, 163, 17, 0.32);
  font-weight: 700;
  white-space: nowrap;
}

.review-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.review-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(173, 183, 192, 0.58);
  color: var(--muted);
  font-size: 0.84rem;
}

.review-card__badge--source {
  background: rgba(47, 52, 57, 0.92);
  border-color: rgba(47, 52, 57, 0.92);
  color: #fff;
}

.review-card__text {
  color: var(--text);
  line-height: 1.55;
}

.review-card__reply {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(173, 183, 192, 0.52);
}

.review-card__reply-label {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.review-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.review-card__link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.68);
  background: rgba(255, 255, 255, 0.66);
  color: var(--text);
  font-weight: 600;
}

.review-card__link:hover {
  transform: translateY(-1px);
}

.review-links {
  margin-top: 14px;
}

.phone-card {
  display: grid;
  gap: 6px;
}

.phone-card__number {
  font-size: 1.18rem;
  font-weight: 700;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 60;
}

.lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(18, 20, 23, 0.72);
  cursor: pointer;
}

.lightbox__dialog {
  position: relative;
  display: grid;
  gap: 14px;
  width: min(92vw, 980px);
  margin: 4vh auto 0;
  padding: 18px;
  border-radius: 8px;
  background: rgba(247, 248, 249, 0.98);
  border: 1px solid rgba(173, 183, 192, 0.7);
  box-shadow: 0 24px 48px rgba(22, 25, 29, 0.24);
}

.lightbox__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  border-radius: 8px;
  background: rgba(247, 248, 249, 0.94);
  cursor: pointer;
  font-size: 1.4rem;
}

.lightbox__image {
  width: 100%;
  max-height: 76vh;
  object-fit: contain;
  border-radius: 8px;
}

.lightbox__meta {
  display: grid;
  gap: 4px;
}

@keyframes reveal-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1120px) {
  .hero__layout,
  .feature-layout,
  .contact-layout,
  .detail-columns {
    grid-template-columns: 1fr;
  }

  .booking-panel {
    position: static;
  }

  .album-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: 24px;
  }

  .topbar {
    position: static;
  }

  .topbar__inner {
    grid-template-columns: auto 1fr;
    padding: 12px 0;
    align-items: center;
    gap: 14px;
  }

  .topbar__actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    justify-content: stretch;
  }

  .topbar__status {
    display: none;
  }

  .topbar__status-copy span {
    white-space: normal;
  }

  .utility-grid,
  .feature-grid,
  .review-stack--trust,
  .review-stack--library,
  .service-grid,
  .quick-points {
    grid-template-columns: 1fr;
  }

  .booking-panel__title {
    font-size: 1.94rem;
  }

  .hero__title {
    font-size: 2.06rem;
  }

  .section-title {
    font-size: 1.72rem;
  }

  .option-grid--duration,
  .day-grid,
  .time-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .shell {
    width: min(100% - 24px, 1240px);
  }

  .brand__mark {
    width: 52px;
    height: 52px;
  }

  .brand__subtitle {
    display: none;
  }

  .button {
    width: 100%;
  }

  .topbar__inner {
    padding: 10px 0;
  }

  .topbar__actions {
    gap: 8px;
  }

  .topbar__action--telegram,
  .topbar__action--phone {
    display: none;
  }

  .booking-panel__title {
    font-size: 1.72rem;
  }

  .extra-option {
    grid-template-columns: 1fr;
  }

  .hero__title {
    font-size: 1.84rem;
  }

  .panel-title {
    font-size: 1.28rem;
  }

  .section-title,
  .section-title--compact {
    font-size: 1.4rem;
  }

  .booking-form__fields,
  .option-grid--service,
  .option-grid--duration,
  .day-grid,
  .time-grid,
  .flow-grid,
  .album-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .location-inline,
  .panel-head--split {
    display: grid;
  }

  .load-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .load-row__meta {
    grid-column: 2;
    text-align: left;
  }

  .call-tab {
    left: auto;
    right: 12px;
    bottom: 12px;
    min-height: 54px;
    max-width: calc(100vw - 88px);
    padding: 0 14px;
    border-radius: 999px;
    justify-content: flex-start;
  }

  .jump-tab {
    display: inline-flex;
    left: 12px;
    bottom: 12px;
  }

  .split-actions,
  .link-strip {
    display: grid;
  }

  .review-carousel__controls {
    gap: 10px;
  }

  .review-carousel__status {
    text-align: center;
  }

  .review-stack--trust {
    grid-template-columns: 1fr;
  }

  .review-stack--library {
    grid-template-columns: 1fr;
  }

  .review-card__head {
    flex-direction: column;
  }

  .booking-form__fields,
  .option-grid--service,
  .day-grid,
  .time-grid,
  .flow-grid,
  .album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 2026 client portal, loyalty and climate service */
.member-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid #e0b646;
  border-radius: 14px;
  background: linear-gradient(120deg, #fff7dd, #fffdf7);
}

.booking-club-invite {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 18px;
  border-radius: 14px;
  background: rgba(255,255,255,.74);
}
.booking-club-invite p { margin: 0; }
.booking-club-invite .button { justify-self: start; }
.booking-add-button {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 12px;
  width: 100%;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(18,89,61,.25);
  border-radius: 14px;
  color: #123d2d;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.booking-add-button span {
  grid-row: 1 / 3;
  align-self: center;
  font-size: 2rem;
  line-height: 1;
}
.booking-add-button small { opacity: .72; }
.booking-cancel-button {
  color: #9a2f2f !important;
  border-color: rgba(154,47,47,.28) !important;
  background: #fff4f4 !important;
}
.client-booking-hero { border: 2px solid rgba(47,105,78,.18); }
.duration-assistant {
  margin-bottom: 18px;
  border: 1px solid rgba(36,95,72,.25);
  border-radius: 16px;
  background: linear-gradient(135deg,#effaf4,#fff);
}
.duration-assistant summary {
  display: grid; grid-template-columns: auto 1fr; gap: 2px 12px;
  padding: 18px; cursor: pointer; list-style: none;
}
.duration-assistant summary span { grid-row: 1/3; font-size: 1.7rem; color: #24724f; }
.duration-assistant summary small { opacity: .7; }
.duration-assistant__form, .duration-assistant__result { padding: 0 18px 18px; }
.duration-assistant__hours { margin: 6px 0; font-size: 2.4rem; font-weight: 900; }
.duration-assistant__columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:14px 0; }
.duration-assistant__columns > div { padding:14px; border-radius:12px; background:#fff; }
@media(max-width:640px){.duration-assistant__columns{grid-template-columns:1fr}}
.client-booking-hero .history-item { margin-top: 14px; }
.booking-card__main { display: flex; align-items: center; gap: 18px; min-width: 0; }
.booking-card__copy { display: grid; gap: 4px; min-width: 0; }
.booking-countdown {
  --countdown-progress: 100%;
  position: relative;
  display: grid;
  flex: 0 0 148px;
  width: 148px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#2d8669 var(--countdown-progress), #e2e8e5 0);
  box-shadow: 0 15px 35px rgba(28,79,60,.16);
}
.booking-countdown::before {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: inherit;
  background: #fff;
}
.booking-countdown__face {
  position: relative;
  z-index: 1;
  display: grid;
  width: 112px;
  gap: 2px;
  text-align: center;
}
.booking-countdown__face span { color: #527064; font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.booking-countdown__face strong { font-size: 1.08rem; line-height: 1.1; letter-spacing: -.03em; }
.booking-countdown__face small { color: #687b73; font-size: .62rem; line-height: 1.2; }
.booking-countdown.is-active { background: conic-gradient(#ffb52e var(--countdown-progress), #f4e8d1 0); box-shadow: 0 15px 38px rgba(196,124,0,.2); }
.booking-countdown.is-active .booking-countdown__face span { color: #9b6100; }
.booking-countdown.is-finished { background: #dfe4e6; box-shadow: none; }
.booking-countdown.is-finished .booking-countdown__face { opacity: .72; }
.review-invite { background: linear-gradient(135deg,#eef9f3,#fff); }
.extend-control a {
  display: inline-flex;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid #ccd4d8;
  border-radius: 9px;
  color: inherit;
  text-decoration: none;
  background: #fff;
}

@media print {
  body * { visibility: hidden !important; }
  .portal-page [data-client-panel="maintenance"],
  .portal-page [data-client-panel="maintenance"] * { visibility: visible !important; }
  .portal-page [data-client-panel="maintenance"] {
    position: absolute; inset: 0; display: block !important; background: #fff;
  }
  #maintenanceForm, #exportJournalButton, .topbar { display: none !important; }
  .maintenance-timeline { box-shadow: none; }
}

@media (max-width: 700px) {
  .topbar--2026 .topbar__inner {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .topbar--2026 .topbar__actions--clean {
    grid-column: auto;
    display: flex;
    width: auto;
  }
  .topbar--2026 .topbar__actions--clean .nav-link,
  .topbar--2026 .topbar__actions--clean .button {
    display: none;
  }
  .topbar--2026 .account-button {
    display: inline-flex;
    min-height: 42px;
    padding: 0 13px;
  }
  .portal-page .topbar__inner {
    grid-template-columns: 1fr;
  }
  .portal-page .topbar__actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .booking-club-invite .button { width: 100%; }
}
.member-strip > div { display: grid; gap: 3px; }
.member-strip strong { font-size: 1.05rem; }
.member-strip span { color: var(--muted, #66717a); font-size: .88rem; }
.member-strip.is-member { border-color: #54a483; background: linear-gradient(120deg,#e8f7f0,#fbfffd); }
.member-strip.is-member{padding:0;overflow:hidden}.member-strip__profile{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:18px 20px;color:var(--text);text-decoration:none}.member-strip__avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;background:#176bff;font-size:1.15rem;font-weight:950}.member-strip__copy{display:grid;gap:2px}.member-strip__copy small{color:#26765a;font-size:.7rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.member-strip__copy strong{font-size:1.08rem}.member-strip__copy span{color:var(--muted);font-size:.84rem}.member-strip__action{padding:11px 14px;border:1px solid #b9cbd4;border-radius:10px;background:#fff;font-size:.82rem;font-weight:950}.member-strip__profile:hover .member-strip__action{color:#fff;border-color:#176bff;background:#176bff}
@media(max-width:650px){.member-strip__profile{grid-template-columns:42px 1fr;padding:15px}.member-strip__avatar{width:42px;height:42px}.member-strip__action{grid-column:1/-1;text-align:center}.member-strip__copy span{font-size:.78rem}}
.topbar__status { display: none; }
.duration-select { display:grid; grid-column:span 2; gap:6px; min-width:210px; padding:10px 12px; border:1px solid #d8e0e5; border-radius:12px; background:#fff; }
.duration-select > span { color:#66717a; font-size:.78rem; font-weight:700; }
.duration-select.is-active { border-color:#2d8669; background:#eef9f5; }
.portal-page { min-height: 100vh; background: #edf1f3; }
.portal-shell { max-width: 1180px; }
.portal-auth, #profilePanel { display: grid; gap: 26px; }
.auth-mode-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:5px;justify-self:start;padding:5px;border:1px solid #d7dee3;border-radius:14px;background:#e8edef}
.auth-mode-switch a{display:flex;min-height:42px;align-items:center;justify-content:center;padding:8px 16px;border-radius:10px;color:#65717a;font-size:.82rem;font-weight:900;text-decoration:none}
.auth-mode-switch a[aria-current="page"]{color:#fff;background:#111820}
.portal-auth[data-auth-mode="login"] #loginForm,.portal-auth[data-auth-mode="register"] #registerForm{order:-1;border-color:rgba(23,107,255,.35);box-shadow:0 30px 90px rgba(0,0,0,.25),0 0 0 3px rgba(23,107,255,.08)}
.member-confirmation{display:flex;align-items:center;gap:13px;padding:15px 18px;border:1px solid #b8d9c9;border-radius:16px;background:#e8f5ee;color:#205d46}
.member-confirmation>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#2d8669;color:#fff;font-weight:900}
.member-confirmation div{display:grid;gap:2px}.member-confirmation small{color:#4c7464}
.client-tab--owner{color:#fff!important;background:#176bff!important;border-color:#176bff!important}
.client-panel--owner{padding:0!important;overflow:hidden}
.embedded-owner-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.embedded-owner-head h2{margin:0}
#ownerFrame{display:block;width:100%;min-height:1150px;border:1px solid #d5dde3;border-radius:18px;background:#eef2f4}
.owner-page--embedded .owner-header{display:none}
.owner-page--embedded .band{padding:0}
.owner-page--embedded .shell{width:min(100% - 20px,1240px)}
.owner-page--embedded .owner-toolbar__actions #ownerLogoutButton{display:none}
.owner-page--embedded{overflow-x:hidden}
.owner-page--embedded .owner-booking{grid-template-columns:1fr}
.owner-page--embedded .owner-booking__meta{grid-column:auto;display:grid;grid-template-columns:1fr;justify-items:start}
.owner-page--embedded .owner-periods,.owner-page--embedded .owner-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.owner-page--embedded .owner-date-filter{grid-template-columns:1fr}
.owner-page--embedded .owner-date-filter__presets{overflow-x:auto}
@media(max-width:700px){.embedded-owner-head{align-items:stretch;flex-direction:column}#ownerFrame{min-height:1500px}}
.portal-intro { max-width: 760px; }
.auth-grid, .profile-grid, .request-shell { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; align-items: start; }
.portal-card {
  display: grid; gap: 16px; padding: clamp(22px,4vw,34px);
  background: #fff; border: 1px solid #d8e0e5; border-radius: 20px;
  box-shadow: 0 18px 50px #16232c10;
}
.portal-card h2 { margin: 0; font-size: clamp(1.35rem,3vw,1.9rem); }
.loyalty-preview { display: inline-flex; align-items: center; gap: 16px; margin-top: 18px; padding: 16px 20px; border-radius: 16px; background: #20292f; color: #fff; }
.loyalty-preview strong { color: #ffc957; font-size: 2.4rem; line-height: 1; }
.loyalty-preview span { max-width: 220px; }
.profile-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.loyalty-dashboard { display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: 14px; }
.loyalty-dashboard article { display: grid; align-content: center; gap: 5px; min-height: 130px; padding: 20px; border-radius: 18px; background: #fff; border: 1px solid #d8e0e5; }
.loyalty-dashboard article > strong { font-size: 2rem; }
.loyalty-dashboard article > span { color: #69747d; }
.loyalty-dashboard .loyalty-main { background: #20292f; color: #fff; }
.loyalty-track { height: 9px; overflow: hidden; border-radius: 999px; background: #ffffff25; }
.loyalty-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: #ffc957; transition: width .4s ease; }
.profile-history { align-content: start; }
.history-item { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 14px 0; border-bottom: 1px solid #e5eaed; }
.history-item small { grid-column: 1/-1; color: #69747d; }
.aircon-hero { padding: clamp(50px,8vw,100px) 0; background: radial-gradient(circle at 80% 30%,#75d7ff55,transparent 35%),linear-gradient(135deg,#16242d,#263d49); color:#fff; }
.aircon-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:40px; align-items:center; }
.aircon-layout h1 { max-width: 800px; margin: 8px 0 18px; font-size: clamp(2.3rem,6vw,5rem); line-height: .98; }
.aircon-layout p { max-width: 680px; color:#dbe8ee; font-size:1.1rem; }
.aircon-visual { display:grid; place-items:center; gap:12px; aspect-ratio:1; border:1px solid #ffffff30; border-radius:50%; background:#ffffff0d; text-align:center; }
.aircon-visual span { font-size: clamp(4rem,10vw,8rem); color:#8bdeff; }
.request-form__head { display:grid; gap:20px; }
.location-choice { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.location-choice label { cursor:pointer; }
.location-choice input { position:absolute; opacity:0; }
.location-choice span { display:grid; gap:4px; min-height:92px; padding:14px; border:2px solid #dce3e7; border-radius:14px; }
.location-choice input:checked + span { border-color:#2d8669; background:#eef9f5; }
.location-choice small { color:#68747c; }
.inline-control { display:grid; grid-template-columns:1fr auto; gap:10px; }
.suggestion-card { background:linear-gradient(150deg,#fff,#fff8e6); }
.owner-analytics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.owner-chart { padding:18px; border:1px solid #dce3e7; border-radius:16px; background:#fff; }
.owner-chart__row { display:grid; grid-template-columns:80px 1fr auto; gap:10px; align-items:center; margin:10px 0; }
.owner-chart__bar { height:10px; border-radius:99px; background:#e7ecef; overflow:hidden; }
.owner-chart__bar i { display:block; height:100%; background:#2d8669; border-radius:inherit; }

@media (max-width: 900px) {
  .auth-grid,.profile-grid,.request-shell,.aircon-layout { grid-template-columns:1fr; }
  .loyalty-dashboard { grid-template-columns:repeat(3,1fr); }
  .loyalty-dashboard .loyalty-main { grid-column:1/-1; }
  .owner-analytics-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .member-strip,.profile-head { align-items:stretch; flex-direction:column; }
  .loyalty-dashboard,.location-choice,.owner-analytics-grid { grid-template-columns:1fr; }
  .inline-control { grid-template-columns:1fr; }
  .aircon-layout h1 { font-size:2.55rem; }
  .history-item--booking { grid-template-columns: 1fr; }
  .booking-card__main { align-items: flex-start; }
  .booking-countdown { flex-basis: 118px; width: 118px; }
  .booking-countdown::before { inset: 7px; }
  .booking-countdown__face { width: 94px; }
  .booking-countdown__face strong { font-size: .92rem; }
}

@media (max-width: 420px) {
  .brand__name {
    font-size: 0.98rem;
  }

  .booking-form__fields,
  .day-grid,
  .time-grid,
  .flow-grid,
  .album-grid {
    grid-template-columns: 1fr;
  }

  .option-grid--duration {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .option-button,
  .day-button,
  .time-button {
    min-height: 74px;
  }

  .dimension-stage {
    padding: 18px 14px;
  }

  .group-head--legend {
    align-items: stretch;
  }
}

.topbar {
  background: linear-gradient(180deg, rgba(232, 236, 239, 0.94), rgba(223, 229, 234, 0.88));
  box-shadow: 0 10px 24px rgba(22, 25, 29, 0.08);
}

.brand__mark {
  width: 62px;
  height: 62px;
  padding: 6px;
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.98), rgba(231, 236, 240, 0.9));
}

.booking-panel {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.98), rgba(233, 238, 242, 0.98));
}

.utility-grid {
  grid-template-columns: 1fr;
}

.album-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.album-card {
  width: 100%;
  border: 0;
  text-align: left;
  appearance: none;
}

.album-card__image {
  aspect-ratio: 16 / 11;
  filter: saturate(0.9) contrast(1.05) brightness(1.05);
  transition: transform 0.32s ease, filter 0.32s ease;
}

.album-card__body {
  display: grid;
  gap: 6px;
}

.album-card:hover .album-card__image,
.album-card:focus-visible .album-card__image {
  transform: scale(1.03);
  filter: saturate(0.96) contrast(1.08) brightness(1.08);
}

.service-card__image,
.feature-card__image {
  filter: saturate(0.92) contrast(1.04) brightness(1.04);
}

.lightbox__dialog {
  max-height: 92vh;
}

@media (max-width: 1120px) {
  .album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.brand__mark {
  width: 72px;
  height: 72px;
  padding: 0;
  border-radius: 50%;
  object-fit: cover;
  background: #05080d;
  border-color: rgba(0, 115, 255, 0.72);
  box-shadow: 0 10px 24px rgba(0, 77, 184, 0.22);
}

.brand__copy {
  display: grid;
}

@media (max-width: 640px) {
  .brand__mark {
    width: 58px;
    height: 58px;
  }

  .brand__name {
    font-size: 1rem;
  }

  .brand__subtitle {
    max-width: 160px;
    font-size: 0.78rem;
    line-height: 1.2;
  }
}

.consent-field {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  background: rgba(255, 255, 255, 0.62);
}

.consent-field__check {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--charcoal);
}

.consent-field__copy {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.consent-field__copy a,
.cookie-banner__text a,
.site-footer__links a,
.legal-copy a,
.legal-back {
  color: var(--charcoal);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.site-footer {
  padding: 18px 0 26px;
  border-top: 1px solid rgba(173, 183, 192, 0.48);
  background: rgba(231, 236, 240, 0.78);
}

.site-footer__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
}

.site-footer__copy {
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 0.92rem;
}

.site-footer__copy strong {
  color: var(--text);
  font-size: 0.96rem;
}

.site-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: var(--muted);
  font-size: 0.92rem;
}

.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 70;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  width: min(calc(100% - 24px), 960px);
  padding: 16px 18px;
  border-radius: 10px;
  border: 1px solid rgba(173, 183, 192, 0.76);
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.98), rgba(233, 238, 242, 0.98));
  box-shadow: 0 20px 46px rgba(22, 25, 29, 0.18);
  transform: translateX(-50%);
}

.cookie-banner__body {
  display: grid;
  gap: 6px;
}

.cookie-banner__title {
  font-size: 1rem;
}

.cookie-banner__text {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.cookie-banner__actions {
  display: flex;
  align-items: center;
}

.cookie-banner__button {
  min-width: 138px;
}

.legal-page {
  min-height: 100vh;
}

.legal-page::before {
  opacity: 0.18;
}

.legal-page__main {
  min-height: 100vh;
}

.legal-card {
  padding: 22px;
  border-radius: 8px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.98), rgba(233, 238, 242, 0.98));
  box-shadow: var(--shadow);
}

.legal-copy {
  display: grid;
  gap: 18px;
}

.legal-copy h2 {
  margin: 0;
  font-size: 1.16rem;
}

.legal-copy p {
  margin: 0;
  color: var(--muted);
}

.legal-list {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
}

.legal-list li + li {
  margin-top: 8px;
}

.legal-back {
  display: inline-flex;
  margin-bottom: 14px;
  font-size: 0.92rem;
}

@media (max-width: 900px) {
  .cookie-banner {
    bottom: 84px;
    grid-template-columns: 1fr;
    width: min(calc(100% - 20px), 720px);
  }

  .cookie-banner__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .site-footer__inner,
  .site-footer__links {
    display: grid;
  }

  .consent-field {
    grid-template-columns: 18px minmax(0, 1fr);
    padding: 12px 14px;
  }

  .cookie-banner {
    bottom: 78px;
    padding: 14px;
  }

  .cookie-banner__button {
    width: 100%;
  }

  .legal-card {
    padding: 18px;
  }
}

.noscript-notice {
  padding: 12px 18px;
  color: #fff;
  background: #9d3c2c;
  text-align: center;
  font-weight: 700;
}

.noscript-notice a {
  color: inherit;
}

.service-update-band {
  color: #f6f7f8;
  background: #252b30;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.service-update {
  display: grid;
}

.service-update__news {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
}

.service-update__news-label {
  padding: 5px 8px;
  border-radius: 4px;
  color: #252b30;
  background: #f3c65f;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.service-update__news strong {
  color: #fff;
}

.service-update__main {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.8fr) auto;
  gap: 28px;
  align-items: center;
  padding: 34px 0 38px;
}

.service-update__copy {
  display: grid;
  gap: 10px;
}

.service-update__copy .section-label {
  color: #7fd5af;
}

.service-update__copy .section-title,
.service-update__copy .supporting-copy {
  color: #fff;
}

.service-update__copy .supporting-copy {
  color: rgba(255, 255, 255, 0.72);
}

.service-update__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.service-update__facts span {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(127, 213, 175, 0.38);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(127, 213, 175, 0.08);
  font-size: 0.88rem;
}

.service-update__facts span:last-child {
  grid-column: 1 / -1;
}

.service-update__actions {
  display: grid;
  gap: 10px;
  min-width: 220px;
}

.service-update__actions .button--primary {
  background: #f3c65f;
  border-color: #f3c65f;
  color: #252b30;
}

.service-update__actions .button--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.04);
}

.owner-page {
  min-height: 100vh;
}

.owner-page::before {
  opacity: 0.16;
}

.owner-page__main {
  min-height: 100vh;
}

.owner-header {
  border-bottom: 1px solid rgba(173, 183, 192, 0.62);
  background: rgba(235, 239, 242, 0.96);
}

.owner-header__inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.owner-header__copy {
  display: grid;
  gap: 3px;
  text-align: right;
}

.owner-login {
  width: min(100%, 540px);
  display: grid;
  gap: 18px;
  margin: 36px auto;
  padding: 24px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  border-radius: 8px;
  background: rgba(247, 248, 249, 0.98);
  box-shadow: var(--shadow);
}

.owner-login__form {
  display: grid;
  gap: 14px;
}

.owner-dashboard {
  display: grid;
  gap: 22px;
}

.owner-toolbar,
.owner-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.owner-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.owner-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.owner-stat {
  display: grid;
  gap: 4px;
  padding: 18px;
  border-left: 4px solid #397a63;
  background: rgba(247, 248, 249, 0.94);
}

.owner-stat strong {
  font-size: 1.8rem;
}

.owner-stat span {
  color: var(--muted);
}

.owner-segments {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 4px;
  border: 1px solid rgba(173, 183, 192, 0.72);
  border-radius: 6px;
  background: rgba(247, 248, 249, 0.88);
}

.owner-segment {
  min-height: 42px;
  padding: 8px 14px;
  border: 0;
  border-radius: 4px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.owner-segment.is-active {
  color: #fff;
  background: var(--charcoal);
}

.owner-search {
  width: min(100%, 360px);
}

.owner-customer-tools {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(220px, 300px);
  gap: 16px;
  align-items: end;
}

.owner-sort {
  width: min(100%, 300px);
}

.owner-bookings {
  display: grid;
  gap: 10px;
}

.owner-booking {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(190px, 1fr) minmax(170px, 0.8fr);
  gap: 10px 22px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid rgba(173, 183, 192, 0.68);
  border-radius: 6px;
  background: rgba(247, 248, 249, 0.96);
}

.owner-booking__when,
.owner-booking__client,
.owner-booking__meta {
  display: grid;
  gap: 4px;
}

.owner-booking__when span,
.owner-booking__meta span,
.owner-booking__id,
.owner-booking__extras,
.owner-booking__note {
  color: var(--muted);
  font-size: 0.86rem;
}

.owner-booking__client a {
  color: var(--charcoal);
  font-weight: 800;
}

.owner-booking__meta {
  justify-items: start;
}

.owner-status {
  padding: 4px 7px;
  border-radius: 4px;
  color: #27614d;
  background: #dfeee8;
  font-size: 0.78rem;
  font-weight: 800;
}

.owner-status--cancelled_by_admin,
.owner-status--cancelled_by_user,
.owner-status--declined,
.owner-status--payment_expired {
  color: #873628;
  background: #f5dfda;
}

.owner-booking__extras,
.owner-booking__note,
.owner-booking__id {
  grid-column: 1 / -1;
  margin: 0;
}

.owner-booking__note {
  padding: 10px 12px;
  border-left: 3px solid #f3c65f;
  background: rgba(243, 198, 95, 0.12);
}

.owner-message {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid #397a63;
  color: #27614d;
  background: #e5f0ec;
}

.owner-message--error {
  border-left-color: #a84532;
  color: #873628;
  background: #f5e5e1;
}

@media (max-width: 980px) {
  .service-update__main {
    grid-template-columns: 1fr 1fr;
  }

  .service-update__actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-booking {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-booking__meta {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, auto);
    align-items: center;
  }
}

@media (max-width: 640px) {
  .service-update__news {
    display: grid;
    gap: 6px;
  }

  .service-update__main,
  .service-update__actions,
  .service-update__facts,
  .owner-stats,
  .owner-booking {
    grid-template-columns: 1fr;
  }

  .service-update__main {
    gap: 22px;
    padding: 28px 0 32px;
  }

  .service-update__facts span:last-child,
  .service-update__actions,
  .owner-booking__meta {
    grid-column: auto;
  }

  .owner-header__copy {
    text-align: left;
  }

  .owner-toolbar,
  .owner-controls {
    display: grid;
    align-items: stretch;
  }

  .owner-toolbar__actions,
  .owner-segments,
  .owner-search,
  .owner-sort {
    width: 100%;
  }

  .owner-customer-tools {
    grid-template-columns: 1fr;
  }

  .owner-toolbar__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .owner-booking__meta {
    display: flex;
    flex-wrap: wrap;
  }

  .cookie-banner {
    bottom: 76px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px 12px;
  }

  .cookie-banner__body {
    gap: 2px;
  }

  .cookie-banner__title {
    font-size: 0.86rem;
  }

  .cookie-banner__text {
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .cookie-banner__button {
    width: auto;
    min-width: 94px;
    min-height: 44px;
    padding: 8px 12px;
  }

  .call-tab {
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    padding: 0;
    justify-content: center;
  }

  .call-tab__copy {
    display: none;
  }
}

/* Final cascade for the 2026 booking surface. */
.topbar.topbar--2026{background:rgba(12,16,21,.94);border:0}
.topbar--2026 .topbar__inner{min-height:82px}
.topbar--2026 .topbar__actions{display:flex}
.hero#booking{padding:80px 0;background:#f4f3ef}
.hero#booking .hero__layout{grid-template-columns:minmax(0,1.18fr) minmax(350px,.72fr);gap:34px;align-items:start}
.hero#booking .booking-panel{position:static;top:auto;padding:clamp(22px,3vw,38px);border:0;border-radius:24px;background:#fff;box-shadow:0 26px 80px rgba(22,27,32,.1)}
.hero#booking .booking-step{padding:20px;border-radius:16px;background:#f5f6f7}
.hero#booking .booking-panel__header{display:grid;gap:7px;margin-bottom:20px}
.hero#booking .booking-panel__group{margin-top:12px}
.hero#booking .option-grid--duration{grid-template-columns:repeat(5,minmax(0,1fr))}
.hero#booking .booking-summary{position:sticky;bottom:12px;z-index:8;border-color:#c8d5e3;box-shadow:0 14px 36px rgba(16,20,25,.12)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media(max-width:1050px){.hero#booking .hero__layout{grid-template-columns:1fr}}
@media(max-width:700px){
  body{overflow-x:hidden}
  .topbar--2026 .topbar__inner{min-height:68px}
  .topbar--2026 .topbar__inner{flex-wrap:nowrap}
  .topbar--2026 .brand__mark{width:48px;height:48px}
  .topbar--2026 .brand__name{font-size:.92rem}
  .topbar--2026 .topbar__actions--clean{width:auto;margin-left:auto}
  .topbar--2026 .topbar__actions--clean .button--accent{display:inline-flex;min-height:42px;padding:8px 15px;font-size:.76rem;background:var(--sd-lime);border-color:var(--sd-lime)}
  .button-label--wide{display:none}.button-label--short{display:inline}
  .cinema-hero{min-height:760px}
  .cinema-hero__content{width:100%;min-width:0;padding-top:92px}
  .cinema-hero__eyebrow{max-width:100%;font-size:.69rem;line-height:1.4;letter-spacing:.09em;overflow-wrap:anywhere}
  .cinema-hero h1{max-width:100%;font-size:clamp(2.35rem,10.8vw,2.9rem);line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere}
  .cinema-hero__content>p:not(.cinema-hero__eyebrow){width:100%;max-width:calc(100vw - 24px);overflow-wrap:anywhere}
  .cinema-hero__actions{width:100%;grid-template-columns:1fr}
  .cinema-hero__actions .button{width:100%;min-width:0;background:var(--sd-lime);border-color:var(--sd-lime)}
  .cinema-hero__facts{width:100%;display:grid;grid-template-columns:1fr;margin-top:28px;overflow:visible}
  .cinema-hero__facts span{min-width:0;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .hero#booking{padding:38px 0}
  .hero#booking .booking-panel{padding:18px;border-radius:18px}
  .hero#booking .booking-step{padding:14px}
  .hero#booking .option-grid--duration{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero#booking .booking-summary{position:static}
  .topbar--2026 .topbar__actions{display:flex}
}

.closing-cta{padding:90px 0;color:#fff;background:radial-gradient(circle at 82% 20%,rgba(23,107,255,.35),transparent 34%),#101419}
.closing-cta__inner{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:50px;align-items:end}
.closing-cta h2{max-width:850px;margin:10px 0 18px;font-size:clamp(2.8rem,5.5vw,5.4rem);line-height:.94;letter-spacing:-.06em}
.closing-cta p{max-width:690px;margin:0;color:rgba(255,255,255,.65);font-size:1.05rem}
.closing-cta__actions{display:grid;gap:10px;min-width:230px}
.site-footer--premium{padding:0;color:#fff;background:#080b0f;border:0}
.footer-grid{display:grid;grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(190px,.65fr));gap:60px;padding-top:64px;padding-bottom:52px}
.footer-brand{display:grid;gap:20px}.footer-brand .brand{width:max-content}.footer-brand .brand__name{color:#fff}.footer-brand .brand__subtitle{color:rgba(255,255,255,.5)}.footer-brand p{max-width:440px;margin:0;color:rgba(255,255,255,.55)}
.footer-column{display:flex;flex-direction:column;gap:10px;color:rgba(255,255,255,.58);font-size:.92rem}.footer-column strong{margin-bottom:8px;color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.footer-column a{color:#fff;text-decoration:none}.footer-column a:hover{color:var(--sd-lime)}
.footer-bottom{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;padding-top:22px;padding-bottom:26px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);font-size:.76rem}
.site-footer--premium .site-footer__links{justify-content:center}.site-footer--premium .site-footer__links a{color:rgba(255,255,255,.62)}
@media(max-width:850px){.closing-cta__inner,.footer-grid{grid-template-columns:1fr}.closing-cta__actions{grid-template-columns:1fr 1fr}.footer-grid{gap:34px}.footer-bottom{grid-template-columns:1fr}.site-footer--premium .site-footer__links{justify-content:flex-start}}
@media(max-width:600px){.closing-cta{padding:60px 0}.closing-cta h2{font-size:2.7rem}.closing-cta__actions{grid-template-columns:1fr}.footer-grid{padding-top:48px;padding-bottom:38px}.site-footer--premium .site-footer__links{display:grid;gap:10px}}

.main-detail--hidden{display:none!important}
.compact-links{padding:74px 0;background:#e9edf0}.compact-links__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.compact-link-card{display:grid;gap:12px;min-height:260px;padding:28px;border:1px solid #d1d8de;border-radius:22px;color:var(--sd-ink);background:#fff;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.compact-link-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(15,20,25,.12)}.compact-link-card>span{color:var(--sd-blue);font-size:.75rem;font-weight:900}.compact-link-card strong{font-size:1.65rem;letter-spacing:-.04em}.compact-link-card p{margin:0;color:var(--muted)}.compact-link-card b{align-self:end}
.news-toast{position:fixed;right:20px;bottom:20px;z-index:80;width:min(360px,calc(100% - 32px));padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:18px;color:#fff;background:#101820;box-shadow:0 28px 80px rgba(0,0,0,.3)}.news-toast__close{position:absolute;right:10px;top:8px;border:0;color:#fff;background:transparent;font-size:1.5rem;cursor:pointer}.news-toast__tag{display:inline-flex;margin-bottom:12px;padding:5px 8px;border-radius:99px;color:#101419;background:var(--sd-lime);font-size:.7rem;font-weight:900;text-transform:uppercase}.news-toast strong{display:block;font-size:1.25rem}.news-toast p{margin:7px 0 12px;color:rgba(255,255,255,.65)}.news-toast a{color:var(--sd-lime);font-weight:800;text-decoration:none}
.hero#booking .booking-summary{position:static!important;box-shadow:none}.hero#booking .duration-select{grid-column:1/-1}.hero#booking .option-button--duration .option-button__title{font-size:.92rem;line-height:1.2}.hero#booking .booking-form{margin-top:18px;padding-top:18px;border-top:1px solid #d7dde2}
.hero#booking .hero__layout{display:block;max-width:1040px}.hero#booking .insight-column{display:block;margin-top:28px}.hero#booking .insight-column>.intro-block,.hero#booking .insight-column>.utility-grid{display:none}.hero#booking .booking-panel{width:100%}.hero#booking .option-button__price{display:block;margin-top:10px;color:var(--sd-blue);font-size:.82rem}.hero#booking .option-grid--service{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero#booking .trust-panel{padding:clamp(22px,3vw,38px);border:0;border-radius:24px;color:#fff;background:radial-gradient(circle at 86% 10%,rgba(23,107,255,.34),transparent 36%),#101820;box-shadow:0 26px 80px rgba(16,24,32,.18)}
.hero#booking .trust-panel .panel-title{color:#fff;font-size:clamp(1.8rem,3.8vw,3rem);letter-spacing:-.045em}
.hero#booking .trust-panel>.supporting-copy{max-width:700px;color:rgba(255,255,255,.67)}
.hero#booking .review-carousel__button{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}
.hero#booking .review-carousel__status{color:rgba(255,255,255,.62)}
.hero#booking .review-card--featured{color:var(--text);background:#fff}
.hero#booking .review-links--trust{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.hero#booking .insight-column{margin-top:18px}.hero#booking .trust-panel{padding:18px;border-radius:18px}.hero#booking .review-links--trust{grid-template-columns:1fr}}
.gallery-page{background:#f2f3f2}.gallery-hero{padding:110px 0 84px;color:#fff;background:radial-gradient(circle at 80% 10%,#17447b,transparent 38%),#101419}.gallery-hero h1{margin:12px 0 22px;font-size:clamp(4rem,8vw,8rem);line-height:.84;letter-spacing:-.07em}.gallery-hero p{max-width:620px;color:rgba(255,255,255,.65);font-size:1.1rem}.gallery-tabs{display:inline-flex;gap:5px;margin-bottom:28px;padding:5px;border-radius:14px;background:#e0e5e8}.gallery-tabs button{padding:12px 18px;border:0;border-radius:10px;color:var(--muted);background:transparent;font:inherit;font-weight:800;cursor:pointer}.gallery-tabs button.is-active{color:#fff;background:#101419}.gallery-empty{padding:50px;border:1px dashed #b8c1c8;border-radius:20px;text-align:center;color:var(--muted)}.community-upload{padding:80px 0;color:#fff;background:#101419}.community-upload__inner{display:grid;grid-template-columns:1fr minmax(340px,.75fr);gap:50px;align-items:start}.community-upload h2{margin:10px 0 18px;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95;letter-spacing:-.055em}.community-upload p{color:rgba(255,255,255,.62)}.community-login{padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:20px}
.owner-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.owner-period{display:grid;gap:5px;padding:18px;border-radius:12px;background:#101419;color:#fff}.owner-period span,.owner-period small{color:rgba(255,255,255,.58)}.owner-period strong{font-size:1.55rem}.owner-chart--timeline{margin:16px 0}.owner-timeline{display:flex;gap:8px;min-height:250px;padding:18px 4px 4px;overflow-x:auto}.owner-timeline__item{display:grid;grid-template-rows:30px 170px 22px;gap:6px;min-width:58px;text-align:center}.owner-timeline__item>strong{font-size:.66rem}.owner-timeline__item>div{display:flex;align-items:end;justify-content:center;border-bottom:1px solid #ccd4da}.owner-timeline__item i{display:block;width:24px;border-radius:6px 6px 0 0;background:linear-gradient(#176bff,#74a7ff)}.owner-timeline__item span{font-size:.7rem;color:var(--muted)}.owner-photo-grid{display:grid;gap:12px}.owner-photo{display:grid;grid-template-columns:130px 1fr auto;gap:18px;align-items:center;padding:12px;border:1px solid #d5dce1;border-radius:14px;background:#fff}.owner-photo img{width:130px;height:90px;border-radius:10px;object-fit:cover}.owner-photo>div:not(.owner-photo__actions){display:grid;gap:4px}.owner-photo span,.owner-photo small{color:var(--muted)}.owner-photo__actions{display:flex;gap:8px}
@media(max-width:900px){.compact-links__grid,.owner-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.community-upload__inner{grid-template-columns:1fr}.owner-photo{grid-template-columns:100px 1fr}.owner-photo img{width:100px}.owner-photo__actions{grid-column:1/-1}}
@media(max-width:600px){.compact-links{padding:44px 0}.compact-links__grid,.owner-periods{grid-template-columns:1fr}.compact-link-card{min-height:210px}.news-toast{right:12px;bottom:12px}.gallery-hero{padding:72px 0 54px}.gallery-hero h1{font-size:4rem}.community-upload{padding:55px 0}.owner-photo{grid-template-columns:1fr}.owner-photo img{width:100%;height:190px}}

/* Header and booking refinement, July 2026. */
.topbar--2026 .topbar__actions--clean{gap:18px}
.topbar--2026 .club-link{padding-bottom:3px;border-bottom:1px solid rgba(203,255,89,.58);color:var(--sd-lime);font-size:.86rem;font-weight:850;text-decoration:none;white-space:nowrap}
.topbar--2026 .account-button{order:3;padding:10px 0;margin-left:2px;color:rgba(255,255,255,.82);font-size:.86rem}
.topbar--2026 .account-button:hover,.topbar--2026 .club-link:hover{color:#fff}
.cinema-hero__online{display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:.92rem;font-weight:800;text-decoration:none}
.cinema-hero__online span{width:9px;height:9px;border-radius:50%;background:var(--sd-lime);box-shadow:0 0 0 6px rgba(203,255,89,.12)}
.hero#booking .booking-panel__header{max-width:720px}
.hero#booking .booking-panel__title{font-size:clamp(2.2rem,4.8vw,4rem);line-height:.94;letter-spacing:-.055em}
.hero#booking .booking-step{position:relative;padding:24px;border:1px solid #e1e6e9;background:#f7f8f8}
.hero#booking .booking-step:not([hidden]){animation:booking-in .3s ease both}
.hero#booking .step-badge{background:#111820}
.hero#booking .option-button{min-height:96px;border:1px solid #d3dbe0;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(20,27,33,.035);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.hero#booking .option-button:hover{transform:translateY(-2px);border-color:#82919c;box-shadow:0 12px 28px rgba(20,27,33,.08)}
.hero#booking .option-button.is-active{border-color:#111820;box-shadow:inset 0 0 0 2px #111820}
.hero#booking .option-button--duration{position:relative;display:flex;min-height:72px;align-items:center;justify-content:center;padding:15px 8px}
.hero#booking .option-button--duration .option-button__title{font-size:1rem}
.hero#booking .option-button__badge{position:absolute;left:7px;right:7px;bottom:5px;color:#237052;font-size:.58rem;font-weight:900;letter-spacing:.015em;white-space:nowrap}
.hero#booking .booking-summary{margin-top:14px;padding:22px 24px;border:0;border-radius:16px;color:#fff;background:#111820}
.hero#booking .booking-summary__line{color:rgba(255,255,255,.72)}
.hero#booking .booking-summary__title{color:#fff}
.booking-summary__discount{margin:13px 0 0;padding:13px 15px;border-radius:11px;color:#173b2f;background:#dff8ed;line-height:1.45}
.status-message:not(.status-message--error){border:0;color:#123b2e;background:#e3f8ef}
.hero#booking .status-message:not(.status-message--error){position:relative;margin:20px 0;padding:clamp(22px,4vw,40px);border:2px solid #47a47a;border-radius:20px;box-shadow:0 24px 70px rgba(8,54,39,.22);background:linear-gradient(145deg,#f3fff9,#d9f7e9)}
.booking-success__check{display:grid;place-items:center;width:58px;height:58px;margin-bottom:14px;border-radius:50%;color:#fff;background:#17845c;font-size:2rem;font-weight:900}
.hero#booking .status-message__title{font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.05}
.booking-success__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:24px 0;overflow:hidden;border:1px solid rgba(18,59,46,.16);border-radius:13px;background:rgba(18,59,46,.14)}
.booking-success__details div{min-width:0;padding:13px 15px;background:rgba(255,255,255,.78)}
.booking-success__details dt{color:#527064;font-size:.72rem;font-weight:800;text-transform:uppercase}
.booking-success__details dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:900}
.booking-success__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.status-message__appointment{margin:10px 0;font-size:1.15rem}
.status-message__note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(18,59,46,.18);font-size:.84rem;line-height:1.5;opacity:.8}
@keyframes booking-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1180px){
  .topbar--2026 .nav-link:nth-of-type(1),.topbar--2026 .nav-link:nth-of-type(3){display:none}
}
@media(max-width:850px){
  .topbar--2026 .club-link{display:none}
  .topbar--2026 .account-button{display:inline-flex}
}
@media(max-width:700px){
  .topbar--2026 .account-button{display:none}
  .hero#booking .booking-step{padding:15px}
  .hero#booking .option-button{min-height:82px}
  .hero#booking .option-button--duration{min-height:68px}
}

.topbar--2026 .brand__mark{overflow:hidden;border-radius:50%}
.topbar--2026 .account-button{font-size:1rem;font-weight:900}
.cinema-hero__online span{animation:online-pulse 1.35s ease-out infinite}
@keyframes online-pulse{
  0%{box-shadow:0 0 0 0 rgba(203,255,89,.55)}
  70%{box-shadow:0 0 0 10px rgba(203,255,89,0)}
  100%{box-shadow:0 0 0 0 rgba(203,255,89,0)}
}

.owner-date-filter{display:grid;grid-template-columns:minmax(0,1fr) 160px 160px auto;gap:12px;align-items:end;margin:18px 0;padding:18px;border:1px solid #d5dde3;border-radius:16px;background:#f5f7f8}
.owner-date-filter__presets{display:flex;flex-wrap:wrap;gap:7px}
.owner-date-filter__presets button{padding:9px 12px;border:1px solid #cbd4da;border-radius:9px;background:#fff;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.owner-profile-button{margin-top:10px;padding:9px 12px;border:0;border-radius:9px;color:#fff;background:#176bff;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.owner-customer-dialog{width:min(1040px,calc(100% - 28px));max-height:90vh;padding:0;border:0;border-radius:24px;box-shadow:0 30px 100px rgba(5,12,20,.35)}.owner-customer-dialog::backdrop{background:rgba(6,12,18,.72);backdrop-filter:blur(5px)}.owner-customer-dialog__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid #dbe1e5;background:#fff}.owner-customer-dialog__head h2{margin:3px 0 0}.owner-customer-dialog__close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ccd4da;border-radius:50%;background:#fff;font-size:1.8rem;cursor:pointer}.owner-customer-dialog__body{display:grid;gap:22px;padding:26px;background:#f2f5f6}.owner-customer-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.owner-customer-summary article{display:grid;gap:5px;padding:15px;border-radius:12px;color:#fff;background:#111820}.owner-customer-summary span{color:rgba(255,255,255,.62);font-size:.7rem}.owner-customer-summary strong{overflow-wrap:anywhere}.owner-customer-section{padding:20px;border:1px solid #d7dee3;border-radius:17px;background:#fff}.owner-customer-section h3{margin:0 0 15px}.owner-customer-vehicles,.owner-customer-history,.owner-customer-bookings{display:grid;gap:12px}.owner-customer-vehicles{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-customer-vehicles article{overflow:hidden;border:1px solid #d9e0e4;border-radius:14px}.owner-customer-vehicles img,.owner-customer-photo-empty{width:100%;height:190px;object-fit:cover}.owner-customer-photo-empty{display:grid;place-items:center;color:var(--muted);background:#e8edef}.owner-customer-vehicles article>div:last-child{display:grid;gap:4px;padding:14px}.owner-customer-vehicles span,.owner-customer-history span,.owner-customer-history p,.owner-customer-bookings span,.owner-customer-bookings small{color:var(--muted)}.owner-customer-history article{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:12px;border:1px solid #d9e0e4;border-radius:12px}.owner-customer-history img{width:150px;height:105px;border-radius:9px;object-fit:cover}.owner-customer-history p{margin:6px 0 0}.owner-customer-bookings article{display:grid;grid-template-columns:1fr auto auto;gap:15px;padding:13px;border-bottom:1px solid #e0e5e8}
.owner-customer-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.owner-customer-gallery figure{margin:0;overflow:hidden;border-radius:12px;background:#111820}.owner-customer-gallery img{width:100%;height:180px;object-fit:cover}.owner-customer-gallery figcaption{padding:10px;color:rgba(255,255,255,.72);font-size:.72rem}
@media(max-width:800px){.owner-customer-summary{grid-template-columns:repeat(2,1fr)}.owner-customer-vehicles,.owner-customer-gallery{grid-template-columns:1fr}.owner-customer-bookings article{grid-template-columns:1fr}.owner-customer-dialog__body{padding:15px}.owner-customer-history article{grid-template-columns:1fr}.owner-customer-history img{width:100%;height:190px}}
.owner-date-filter label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:800}
.owner-date-filter input{min-height:42px;padding:8px 10px;border:1px solid #cbd4da;border-radius:9px;background:#fff;font:inherit}
.owner-report-note{margin:0 0 14px;color:var(--muted);font-size:.82rem;line-height:1.45}
.owner-booking__client a{display:inline-flex;width:max-content;margin-top:5px;padding:8px 12px;border-radius:999px;color:#fff;background:#176bff;font-weight:900;text-decoration:none}
@media(max-width:900px){.owner-date-filter{grid-template-columns:1fr 1fr}.owner-date-filter__presets{grid-column:1/-1}}
@media(max-width:560px){.owner-date-filter{grid-template-columns:1fr}.owner-date-filter__presets{grid-column:auto}.owner-date-filter .button{width:100%}}

/* Mobile-first customer entry points, July 2026. */
.mobile-header-actions,
.mobile-action-dock{display:none}
.cinema-hero__club{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none}
.cinema-hero__club>span{color:var(--sd-lime);font-size:.7rem}
.cinema-hero__club b{padding-bottom:3px;border-bottom:1px solid rgba(203,255,89,.55);font-size:.92rem}
.club-invite.is-member{color:#fff;background:#176bff}
.club-invite.is-member .club-invite__tag{color:#c8ff3d}
.club-invite.is-member p{opacity:.82}

@media(max-width:700px){
  .booking-success__details{grid-template-columns:1fr}
  .booking-success__actions{display:grid;grid-template-columns:1fr}
  .booking-success__actions .button{width:100%}
  html{overflow-x:clip;scroll-padding-top:18px}
  body{padding-bottom:74px}
  .topbar--2026{display:none}
  .topbar--2026 .topbar__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:64px;padding-top:7px;padding-bottom:7px}
  .topbar--2026 .brand{min-width:0;gap:8px}
  .topbar--2026 .brand__mark{width:44px;height:44px}
  .topbar--2026 .brand__name{font-size:1rem}
  .topbar--2026 .brand__subtitle{display:none}
  .topbar--2026 .topbar__actions--clean{display:none}
  .mobile-header-actions{display:flex;min-width:0;gap:6px;align-items:center}
  .mobile-header-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 11px;border-radius:10px;font-size:.72rem;font-weight:900;text-decoration:none;white-space:nowrap}
  .mobile-header-actions__booking{display:none!important;color:#101419;background:var(--sd-lime)}
  .mobile-header-actions__club{color:#fff;border:1px solid rgba(255,255,255,.25)}

  .cinema-hero{min-height:auto;align-items:end}
  .cinema-hero__image{object-position:64% center}
  .cinema-hero__shade{background:linear-gradient(0deg,rgba(4,7,10,.98) 4%,rgba(4,7,10,.8) 57%,rgba(4,7,10,.32))}
  .cinema-hero__content{padding-top:36px;padding-bottom:24px}
  .cinema-hero__eyebrow{margin-bottom:14px;font-size:.65rem}
  .cinema-hero h1{max-width:340px;font-size:clamp(2.45rem,11.5vw,3.15rem);line-height:.92}
  .cinema-hero__content>p:not(.cinema-hero__eyebrow){max-width:360px;margin:18px 0;font-size:.94rem;line-height:1.5}
  .cinema-hero__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;align-items:stretch}
  .cinema-hero__actions .button{min-height:50px;padding:0 14px;font-size:.88rem}
  .cinema-hero__club{justify-content:center;min-height:50px;padding:0 11px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(8,12,16,.54);text-align:center}
  .cinema-hero__club b{padding:0;border:0;font-size:.76rem;line-height:1.2}
  .cinema-hero__trust{width:100%;margin-top:12px}
  .cinema-hero__trust-copy{flex:1}.cinema-hero__trust+.cinema-hero__facts{margin-top:12px}
  .cinema-hero__facts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:22px;border:0}
  .cinema-hero__facts span{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(8,12,16,.48);font-size:.7rem}
  .cinema-hero__facts span:last-child{grid-column:auto}
  .cinema-hero__facts strong{font-size:.82rem}

  .club-invite__inner{min-height:0;padding-top:24px;padding-bottom:24px;grid-template-columns:1fr;gap:16px}
  .club-invite h2{font-size:1.65rem;line-height:1.05}
  .club-invite p{font-size:.9rem;line-height:1.45}
  .club-invite .button{width:100%;min-height:48px}

  .hero#booking{padding:24px 0}
  .hero#booking .booking-panel{padding:14px;border-radius:16px}
  .hero#booking .booking-panel__title{font-size:2.25rem}
  .member-strip{padding:14px}
  .member-strip .button{width:100%}
  .compact-links{padding:34px 0}
  .compact-link-card{min-height:178px;padding:22px;border-radius:17px}
  .compact-link-card strong{font-size:1.35rem}

  .mobile-action-dock{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:8px;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.12);background:rgba(8,12,16,.96);box-shadow:0 -12px 32px rgba(0,0,0,.22);backdrop-filter:blur(18px)}
  .mobile-action-dock a{display:flex;min-width:0;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:12px;font-size:.8rem;font-weight:900;text-decoration:none;white-space:nowrap}
  .mobile-action-dock__booking{color:#101419;background:var(--sd-lime)}
  .mobile-action-dock__club{color:#fff;border:1px solid rgba(255,255,255,.24)}
  .mobile-action-dock__club span{color:var(--sd-lime);font-size:.65rem}
}

@media(max-width:700px){.auth-mode-switch{width:100%;grid-template-columns:1fr 1fr}.auth-mode-switch a{padding-right:8px;padding-left:8px}}

@media(max-width:380px){
  .topbar--2026 .brand__name{font-size:.92rem}
  .mobile-header-actions a{padding:0 9px;font-size:.68rem}
}

/* Full customer garage. */
.portal-shell{max-width:1180px}
.client-tabs{position:sticky;top:82px;z-index:20;display:flex;gap:5px;margin:24px 0;padding:6px;border:1px solid #d7dee3;border-radius:15px;background:rgba(245,247,248,.94);backdrop-filter:blur(12px);overflow-x:auto}
.client-tabs button{flex:1;min-width:max-content;padding:12px 15px;border:0;border-radius:10px;color:#65717a;background:transparent;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}
.client-tabs button.is-active{color:#fff;background:#111820}
.client-panel{display:none}.client-panel.is-active{display:block;animation:booking-in .25s ease both}
.client-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.client-section-head span,.vehicle-card>span{color:#176bff;font-size:.68rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.client-section-head h2{margin:3px 0}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.client-vehicle-list,.maintenance-timeline,.client-waitlist{display:grid;gap:12px}
.vehicle-card{display:grid;gap:8px;padding:24px;border-radius:18px;color:#fff;background:radial-gradient(circle at 90% 0,#264f80,transparent 42%),#111820;box-shadow:0 18px 50px rgba(15,22,28,.12)}.vehicle-card h3{margin:0;font-size:1.8rem}.vehicle-card div{color:rgba(255,255,255,.6)}.vehicle-card strong{margin-top:18px;font-size:1.15rem}
.vehicle-garage{overflow:hidden;border:1px solid #d6dde2;border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(18,25,31,.1)}.vehicle-garage__cover{position:relative;height:260px;background:#1a232b}.vehicle-garage__cover img{width:100%;height:100%;object-fit:cover}.vehicle-garage__cover:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,9,12,.75))}.vehicle-garage__cover>span{position:absolute;left:20px;bottom:17px;z-index:2;padding:6px 10px;border-radius:8px;color:#111;background:#fff;font-size:.72rem;font-weight:950}.vehicle-garage__cover--empty{display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,#2a5b91,transparent 40%),#111820}.vehicle-garage__cover--empty>strong{color:rgba(255,255,255,.9);font-size:6rem}.vehicle-garage__body{padding:24px}.vehicle-garage__eyebrow{color:#176bff;font-size:.68rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.vehicle-garage h3{margin:4px 0 18px;font-size:2rem;letter-spacing:-.045em}.vehicle-garage__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vehicle-garage__facts span{display:grid;gap:3px;padding:12px;border-radius:11px;background:#f1f4f6;color:var(--muted);font-size:.68rem}.vehicle-garage__facts b{color:#111820;font-size:1rem}.service-progress{display:grid;gap:10px;margin-top:14px;padding:18px;border-radius:14px;background:#edf0f2}.service-progress>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:15px}.service-progress span,.service-progress small{color:var(--muted)}.service-progress strong{font-size:1.45rem}.service-progress__track{height:9px;overflow:hidden;border-radius:99px;background:#d4d9dc}.service-progress__track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#21a55f,#c4ff3b)}.service-progress--empty strong{font-size:1rem}.vehicle-mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.vehicle-mini-gallery img{width:100%;height:72px;border-radius:9px;object-fit:cover}
.maintenance-card{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:20px;border:1px solid #d5dde2;border-radius:16px;background:#fff}.maintenance-card__date{color:#176bff;font-weight:900}.maintenance-card h3{margin:3px 0 7px;font-size:1.3rem}.maintenance-card span,.maintenance-card p,.maintenance-card small{display:block;color:var(--muted)}.maintenance-card p{margin:0 0 9px}.maintenance-due{display:inline-flex;margin:4px 0;padding:7px 10px;border-radius:9px;color:#235d48;background:#ddf7ec}
.maintenance-card__photo{grid-column:1/-1;width:100%;height:240px;border-radius:12px;object-fit:cover}

.garage-profile-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.7fr);gap:18px;align-items:start}
.vehicle-editor{position:sticky;top:155px;overflow:hidden;border:1px solid #d6dde2;border-radius:18px;background:#fff;box-shadow:0 16px 45px rgba(18,25,31,.08)}
.vehicle-editor>summary{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;padding:17px 18px;cursor:pointer;list-style:none}.vehicle-editor>summary::-webkit-details-marker{display:none}.vehicle-editor>summary span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:#176bff;font-size:1.3rem}.vehicle-editor>summary strong{font-size:.95rem}.vehicle-editor>summary small{color:var(--muted);font-size:.7rem}.vehicle-editor[open]>summary{border-bottom:1px solid #e1e6e9}.vehicle-editor__form{border:0!important;border-radius:0!important;box-shadow:none!important}
.garage-reset{padding:7px 10px;border:1px solid #cad4da;border-radius:8px;background:#fff;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}
.vehicle-edit-button{width:100%;margin-top:14px;padding:12px;border:1px solid #cad4da;border-radius:10px;color:#111820;background:#fff;font:inherit;font-weight:900;cursor:pointer}
.vehicle-edit-button:hover{border-color:#111820}
.garage-insights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.garage-insights article{display:grid;gap:4px;padding:17px;border:1px solid #d7dee3;border-radius:14px;background:#fff}.garage-insights span,.garage-insights small{color:var(--muted);font-size:.68rem}.garage-insights strong{font-size:1.25rem;letter-spacing:-.025em}.form-result{margin:4px 0 0;padding:11px 12px;border-radius:9px;color:#19573f;background:#ddf7ec;font-size:.82rem;font-weight:800}.form-result--error{color:#8e2930;background:#ffe4e6}
.service-progress--overdue{background:#fff0f0}.service-progress--overdue .service-progress__track i{background:#e04c58}
@media(max-width:900px){.garage-profile-grid{grid-template-columns:1fr}.garage-profile-grid>.portal-card{position:static}}
@media(max-width:900px){.garage-insights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.garage-insights{grid-template-columns:1fr}}
.history-item--booking{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr);gap:20px;align-items:center}.history-item--booking>div:first-child{display:grid;gap:4px}.extend-control{padding:13px;border-radius:12px;background:#f0f4f6}.extend-control>span{font-size:.75rem;font-weight:900}.extend-control>div{display:flex;gap:6px;margin:7px 0}.extend-control button,.waitlist-card button{padding:8px 11px;border:1px solid #c8d2d9;border-radius:8px;background:#fff;font:inherit;font-weight:900;cursor:pointer}.extend-control small{color:var(--muted);font-size:.7rem}
.waitlist-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px;border:1px solid #d5dde2;border-radius:15px;background:#fff}.waitlist-card>div{display:grid;gap:4px}.waitlist-card span,.waitlist-card small{color:var(--muted)}
@media(max-width:760px){.client-tabs{top:68px}.form-pair,.history-item--booking,.maintenance-card{grid-template-columns:1fr}.client-section-head{align-items:flex-start;flex-direction:column}.maintenance-card__date{font-size:.78rem}.client-tabs button{flex:none}.vehicle-garage__facts{grid-template-columns:1fr}.vehicle-garage__cover{height:220px}}

/* Focused booking and loyalty polish: keep the existing flow, make each choice feel intentional. */
.hero#booking{background:linear-gradient(180deg,#e9eef1 0,#f7f9fa 48%,#eef2f4 100%)}
.hero#booking .booking-panel{overflow:hidden;padding:0;border:1px solid rgba(17,24,32,.14);border-radius:24px;background:#fff;box-shadow:0 26px 80px rgba(10,18,25,.13)}
.hero#booking .booking-panel__header{position:relative;max-width:none;margin:0 0 18px;padding:30px 30px 27px;color:#fff;background:radial-gradient(circle at 88% 10%,rgba(44,104,154,.48),transparent 36%),linear-gradient(135deg,#0c1319,#17232d)}
.hero#booking .booking-panel__header:after{content:"";position:absolute;left:30px;bottom:0;width:72px;height:4px;border-radius:99px;background:var(--sd-lime)}
.hero#booking .booking-panel__header .section-label{color:var(--sd-lime)}
.hero#booking .booking-panel__title{color:#fff;letter-spacing:-.045em}
.hero#booking .booking-panel__text{color:rgba(255,255,255,.68)}
.hero#booking .member-strip{margin:0 20px 16px;border:1px solid rgba(203,255,89,.3);background:linear-gradient(105deg,#17231d,#21392d);color:#fff}
.hero#booking .member-strip span{color:rgba(255,255,255,.7)}
.hero#booking .member-strip .button{border-color:rgba(255,255,255,.25);color:#fff}
.hero#booking .duration-assistant{margin-right:20px;margin-left:20px;border-color:#cbd5dc;background:#f9fbfc}
.hero#booking .booking-step{margin-right:20px;margin-left:20px;padding:22px 0 24px;border:0;border-top:1px solid #dde4e8;border-radius:0;background:#fff}
.hero#booking .booking-step:first-of-type{border-top:0}
.hero#booking .step-badge{color:#101820;background:var(--sd-lime);box-shadow:0 0 0 5px rgba(203,255,89,.2)}
.hero#booking .group-label{color:#111820;font-size:1.03rem;letter-spacing:-.015em}
.hero#booking .group-caption{color:#70808b}
.hero#booking .option-button{border-color:#d7dfe4;background:linear-gradient(180deg,#fff,#f8fafb);box-shadow:0 8px 22px rgba(11,20,28,.045)}
.hero#booking .option-button:hover{border-color:#5a6b77;box-shadow:0 14px 30px rgba(11,20,28,.1)}
.hero#booking .option-button.is-active{color:#fff;border-color:#111820;background:radial-gradient(circle at 90% 5%,#2d526f,transparent 38%),#111820;box-shadow:0 13px 30px rgba(9,17,24,.2)}
.hero#booking .option-button.is-active .option-button__meta,.hero#booking .option-button.is-active .option-button__price{color:rgba(255,255,255,.72)}
.hero#booking .option-button.is-active .option-button__badge{color:var(--sd-lime)}
.hero#booking .booking-form{margin:20px;padding:24px;border:1px solid #dce3e7;border-radius:18px;background:#f9fbfc}
.hero#booking .booking-summary{margin-right:20px;margin-left:20px;background:radial-gradient(circle at 92% 0,#294b64,transparent 42%),#101820;box-shadow:0 16px 38px rgba(9,17,24,.18)}
.hero#booking .status-message{margin-right:20px!important;margin-left:20px!important}
.booking-correction{display:grid;gap:3px;margin-top:9px;padding:10px 12px;border-left:3px solid #21a55f;border-radius:0 9px 9px 0;color:#225342;background:#e4f7ee;font-size:.75rem}
.booking-correction span{color:#477065!important}
.owner-time-adjustment{grid-column:1/-1;padding:10px 12px;border:1px solid #d6dfe4;border-radius:11px;background:#f7f9fa}
.owner-time-adjustment summary{font-size:.78rem;font-weight:900;cursor:pointer}
.owner-time-adjustment form{display:grid;grid-template-columns:minmax(210px,1fr) minmax(220px,1.2fr) auto;gap:9px;align-items:end;margin-top:12px}
.owner-time-adjustment label,.owner-loyalty-control label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:900}
.owner-time-adjustment input,.owner-loyalty-control input{min-height:42px;padding:9px 11px;border:1px solid #c9d3d9;border-radius:9px;background:#fff;font:inherit}
.owner-time-adjustment button,.owner-loyalty-control button{min-height:42px;padding:9px 12px;border:0;border-radius:9px;color:#fff;background:#111820;font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}
.owner-time-adjustment small{grid-column:1/-1;color:var(--muted)}
.owner-adjustment-history{grid-column:1/-1;display:grid;gap:6px;margin-top:8px;padding:10px;border-radius:10px;background:#edf2f4}
.owner-adjustment-history small{color:#52616b}
.owner-loyalty-control{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:18px;align-items:end}
.owner-loyalty-control h3,.owner-loyalty-control p{margin:0}.owner-loyalty-control p{margin-top:6px;color:var(--muted);font-size:.78rem}
.owner-loyalty-control form{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end}.owner-loyalty-control form div{display:flex;gap:7px}
.owner-customer-bookings article{align-items:start}.owner-customer-bookings article>div:first-child{display:grid;gap:4px}
@media(max-width:700px){
  .hero#booking .booking-panel__header{margin:0 0 14px;padding:24px 18px 22px}
  .hero#booking .booking-panel__header:after{left:18px}
  .hero#booking .member-strip,.hero#booking .duration-assistant,.hero#booking .booking-step,.hero#booking .booking-summary,.hero#booking .booking-form{margin-right:0;margin-left:0}
  .hero#booking .booking-step{padding:19px 2px 21px}
  .hero#booking .booking-form{padding:17px}
  .owner-time-adjustment form,.owner-loyalty-control,.owner-loyalty-control form{grid-template-columns:1fr}
  .owner-loyalty-control form div{display:grid;grid-template-columns:1fr 1fr}
}

/* Owner workspace: a focused business dashboard built on the existing cabinet. */
.owner-page{background:#edf1f3}
.owner-workspace{gap:18px}
.owner-workspace__head{padding:24px;border-radius:20px;color:#fff;background:radial-gradient(circle at 88% 0,rgba(23,107,255,.38),transparent 36%),#101820;box-shadow:0 22px 55px rgba(10,18,25,.16)}
.owner-workspace__head .section-title{color:#fff}
.owner-workspace__subtitle{margin:8px 0 0;color:rgba(255,255,255,.62)}
.owner-workspace__head .button--ghost{color:#fff;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06)}
.owner-navigation{position:sticky;top:10px;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:6px;border:1px solid #d4dce1;border-radius:15px;background:rgba(247,249,250,.94);box-shadow:0 14px 35px rgba(13,21,28,.08);backdrop-filter:blur(14px)}
.owner-navigation button{min-height:46px;padding:9px 12px;border:0;border-radius:10px;color:#66737c;background:transparent;font:inherit;font-size:.8rem;font-weight:900;cursor:pointer}
.owner-navigation button.is-active{color:#fff;background:#101820;box-shadow:0 8px 20px rgba(10,18,25,.18)}
.owner-view{display:grid;gap:18px;animation:booking-in .22s ease both}
.owner-view[hidden]{display:none!important}
.owner-command-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#16232d,#213444)}
.owner-command-hero h2{margin:4px 0 8px;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em}
.owner-command-hero p{margin:0;color:rgba(255,255,255,.62)}
.owner-caldav-state{display:inline-flex;align-items:center;gap:8px;flex:none;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:rgba(255,255,255,.75);font-size:.75rem;font-weight:850}
.owner-caldav-state:before{content:"";width:8px;height:8px;border-radius:50%;background:#f3c65f;box-shadow:0 0 0 5px rgba(243,198,95,.12)}
.owner-caldav-state--ok:before{background:var(--sd-lime);box-shadow:0 0 0 5px rgba(203,255,89,.12)}
.owner-caldav-state--error:before{background:#ff7d84;box-shadow:0 0 0 5px rgba(255,125,132,.12)}
.owner-stats--dashboard{grid-template-columns:repeat(6,minmax(0,1fr))}
.owner-stats--dashboard .owner-stat{min-height:116px;align-content:end;padding:17px;border:1px solid #d7dfe4;border-left:1px solid #d7dfe4;border-radius:14px;background:#fff}
.owner-stats--dashboard .owner-stat strong{font-size:clamp(1.35rem,2.7vw,2rem);letter-spacing:-.04em}
.owner-stats--dashboard .owner-stat--alert{border-color:#f2c5bd;background:#fff4f1}
.owner-home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;align-items:start}
.owner-insights{padding:22px;border:1px solid #d7dfe4;border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(14,22,29,.05)}
.owner-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.owner-box{display:grid;gap:15px;min-height:190px;padding:20px;border-radius:15px;color:#fff;background:radial-gradient(circle at 92% 0,#30577b,transparent 42%),#111a22}
.owner-box--free{background:radial-gradient(circle at 92% 0,#2f654e,transparent 42%),#13221c}
.owner-box__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.owner-box__head strong{font-size:1.2rem}.owner-box__head span{padding:5px 9px;border-radius:999px;color:#101820;background:var(--sd-lime);font-size:.68rem;font-weight:950;text-transform:uppercase}
.owner-box--occupied .owner-box__head span{color:#fff;background:#176bff}
.owner-box p,.owner-box small,.owner-box__booking span{margin:0;color:rgba(255,255,255,.6)}
.owner-box__booking{display:grid;gap:4px}.owner-box__booking b{font-size:1.15rem}
.owner-box small{align-self:end}
.owner-attention{display:grid;gap:9px}
.owner-attention article{display:grid;gap:8px;padding:14px;border-left:3px solid #ee8c63;border-radius:0 12px 12px 0;background:#fff4ef}
.owner-attention article div{display:grid;gap:3px}.owner-attention article span{color:var(--muted);font-size:.72rem}.owner-attention article p{margin:0;color:#87452e;font-size:.76rem}.owner-attention article button{justify-self:start;padding:0;border:0;color:#176bff;background:transparent;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}
.owner-all-clear{display:flex;gap:13px;align-items:center;padding:18px;border-radius:14px;background:#e9f8f0}.owner-all-clear>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:#299265;font-weight:950}.owner-all-clear div{display:grid;gap:3px}.owner-all-clear p{margin:0;color:#537064;font-size:.75rem}
.owner-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.owner-quick-actions button{display:grid;gap:6px;min-height:120px;padding:18px;border:1px solid #d4dde2;border-radius:14px;text-align:left;background:linear-gradient(180deg,#fff,#f5f8f9);font:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.owner-quick-actions button:hover{transform:translateY(-2px);border-color:#7c8d98;box-shadow:0 13px 28px rgba(12,20,27,.08)}.owner-quick-actions strong{font-size:1rem}.owner-quick-actions span{color:var(--muted);font-size:.78rem;line-height:1.45}
.owner-loyalty-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.owner-loyalty-summary article{display:grid;gap:4px;padding:18px;border-radius:14px;color:#fff;background:#101820}.owner-loyalty-summary strong{color:var(--sd-lime);font-size:1.8rem}.owner-loyalty-summary span{color:rgba(255,255,255,.62);font-size:.75rem}
.owner-loyalty-list{display:grid;gap:10px}.owner-loyalty-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(360px,1.4fr) minmax(180px,.7fr);gap:18px;align-items:center;padding:17px 18px;border:1px solid #d7dfe4;border-radius:14px;background:#fff}.owner-loyalty-card>div{display:grid;gap:5px}.owner-loyalty-card>div:first-child>span{color:#176bff;font-size:.66rem;font-weight:950;text-transform:uppercase}.owner-loyalty-card a{color:var(--muted);font-size:.8rem}.owner-loyalty-card__numbers{grid-template-columns:repeat(4,minmax(0,1fr))!important}.owner-loyalty-card__numbers span{display:grid;gap:3px;color:var(--muted);font-size:.66rem}.owner-loyalty-card__numbers b{color:#101820;font-size:1.15rem}.owner-loyalty-card__numbers .owner-loyalty-card__available b{color:#23845d}.owner-loyalty-card small{color:var(--muted);font-size:.7rem}
.owner-profile-button{min-height:36px;padding:8px 11px;border:1px solid #cbd5db;border-radius:9px;color:#101820;background:#fff;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}
.owner-status--pending{color:#7c5510;background:#fff0c9}.owner-status--approved_without_calendar{color:#873628;background:#f5dfda}
.owner-booking{border-radius:13px;background:#fff}.owner-booking:has(.owner-status--pending),.owner-booking:has(.owner-status--approved_without_calendar){border-color:#e8bba9}
.owner-page--embedded .owner-navigation{top:0}
@media(max-width:1100px){.owner-stats--dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-home-grid{grid-template-columns:1fr}.owner-loyalty-card{grid-template-columns:1fr}.owner-loyalty-card__numbers{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.owner-workspace__head,.owner-command-hero{align-items:stretch;flex-direction:column}.owner-navigation{display:flex;overflow-x:auto}.owner-navigation button{flex:0 0 auto;min-width:118px}.owner-stats--dashboard,.owner-boxes,.owner-quick-actions,.owner-loyalty-summary{grid-template-columns:1fr}.owner-loyalty-card__numbers{grid-template-columns:repeat(2,minmax(0,1fr))!important}.owner-insights{padding:16px}.owner-command-hero{padding:20px}.owner-caldav-state{align-self:flex-start}.owner-workspace__head{padding:20px}.owner-workspace__head .owner-toolbar__actions{grid-template-columns:1fr}.owner-page--embedded .shell{width:min(100% - 12px,1240px)}}

/* Booking product redesign, September 2026. Everything is scoped to the public booking panel. */
.hero#booking{padding:72px 0;background:#f5f4f0}
.hero#booking .booking-panel{overflow:visible;padding:0 28px 30px;border:1px solid #e2ded5;border-radius:28px;background:#fbfaf7;box-shadow:0 26px 80px rgba(31,35,38,.08)}
.hero#booking .booking-panel__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 30px;align-items:end;max-width:none;margin:0 -28px;padding:38px 28px 30px;color:#25292d;border-bottom:1px solid #e8e3d9;border-radius:28px 28px 0 0;background:#fff}
.hero#booking .booking-panel__header:after{display:none}
.hero#booking .booking-panel__header .section-label{grid-column:1;color:#a86c00}
.hero#booking .booking-panel__title{grid-column:1;margin:0;color:#25292d;font-size:clamp(2.45rem,5vw,4.6rem);line-height:.94;letter-spacing:-.06em}
.hero#booking .booking-panel__text{grid-column:1;max-width:680px;margin:4px 0 0;color:#6e7478;font-size:.96rem}
.hero#booking .booking-panel__text:empty{display:none}
.hero#booking .booking-panel__text#availabilityHint{display:none}
.hero#booking .booking-now{grid-column:2;grid-row:1/5;display:grid;gap:4px;min-width:210px;padding:17px 19px;border:1px solid #e5dfd3;border-radius:16px;background:#faf8f3;text-align:right}
.hero#booking .booking-now strong{color:#25292d;font-size:1rem}.hero#booking .booking-now span{color:#a86c00;font-size:.82rem;font-weight:850}
.hero#booking .today-availability{padding:30px 0 32px;border-bottom:1px solid #e3ded4}
.hero#booking .today-availability__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.hero#booking .today-availability__head .section-label{margin:0 0 5px;color:#a86c00}.hero#booking .today-availability__head h3{margin:0;color:#25292d;font-size:clamp(1.45rem,2.7vw,2rem);letter-spacing:-.035em}
.hero#booking .today-availability__legend{display:flex;flex-wrap:wrap;gap:13px;color:#73787c;font-size:.68rem;font-weight:800}.hero#booking .today-availability__legend span{display:flex;align-items:center;gap:6px}
.hero#booking .today-dot{width:8px;height:8px;border-radius:50%}.hero#booking .today-dot--free{background:#42ad77}.hero#booking .today-dot--busy{background:#dc6262}.hero#booking .today-marker-key{width:2px;height:12px;background:#e6aa31}
.hero#booking .today-availability__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hero#booking .today-availability__loading{grid-column:1/-1;padding:24px;border:1px dashed #d2cabb;border-radius:18px;color:#757a7e;text-align:center}.hero#booking .today-availability__loading--error{color:#8d4c43;border-color:#e4b5ae;background:#fff8f6}
.hero#booking .today-box-card{min-width:0;padding:20px;border:1px solid #e1dcd2;border-radius:19px;background:#fff;box-shadow:0 10px 30px rgba(39,42,44,.045)}
.hero#booking .today-box-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.hero#booking .today-box-card__number{display:block;margin-bottom:3px;color:#9b680a;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero#booking .today-box-card h4{margin:0;color:#292d30;font-size:1rem;line-height:1.25}
.hero#booking .today-box-card__status{display:inline-flex;flex:none;align-items:center;gap:7px;padding:7px 9px;border-radius:999px;font-size:.68rem;font-weight:900;white-space:nowrap}.hero#booking .today-box-card__status i{width:7px;height:7px;border-radius:50%;background:currentColor}.hero#booking .today-box-card__status.is-free{color:#19754a;background:#e6f6ed}.hero#booking .today-box-card__status.is-busy{color:#a83f3f;background:#fbe8e8}
.hero#booking .today-box-card__windows{display:grid;gap:2px;min-height:45px;margin:14px 0 18px;color:#303437;font-size:.78rem;font-weight:800}.hero#booking .today-box-card__windows span{color:#85898c;font-size:.64rem;font-weight:750;text-transform:uppercase}
.hero#booking .today-timeline__track{position:relative;height:12px;overflow:hidden;border-radius:999px;background:#e7ece8}.hero#booking .today-timeline__segment{position:absolute;top:0;bottom:0}.hero#booking .today-timeline__segment.is-free{background:#6bc796}.hero#booking .today-timeline__segment.is-busy{background:#df6b69}.hero#booking .today-timeline__track b{position:absolute;top:-4px;bottom:-4px;z-index:2;width:2px;background:#e5a522;box-shadow:0 0 0 1px rgba(255,255,255,.8)}.hero#booking .today-timeline__hours{display:flex;justify-content:space-between;margin-top:7px;color:#929698;font-size:.58rem;font-weight:800}
.hero#booking .booking-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start;padding-top:6px}.hero#booking .booking-flow-column{min-width:0}.hero#booking .booking-step{margin:0;padding:30px 0;border:0;border-bottom:1px solid #e3ded4;border-radius:0;background:transparent}.hero#booking .booking-step:first-of-type{border-top:0}.hero#booking .group-head{align-items:center;margin-bottom:17px}.hero#booking .step-badge{width:32px;height:32px;color:#25292d;background:#edb43f;box-shadow:none}.hero#booking .group-label{color:#25292d;font-size:1.14rem}.hero#booking .group-caption{color:#7c8185;font-size:.74rem}
.hero#booking .option-grid--service{display:grid;grid-template-columns:1fr;gap:12px}.hero#booking .option-button.box-choice{position:relative;display:grid;grid-template-columns:156px minmax(0,1fr);gap:0;min-height:0;overflow:hidden;padding:0;border:1px solid #ded9cf;border-radius:18px;background:#fff;box-shadow:none;text-align:left}.hero#booking .option-button.box-choice:hover{transform:none;border-color:#cba34e;box-shadow:0 12px 30px rgba(49,43,31,.08)}.hero#booking .option-button.box-choice.is-active{color:#25292d;border-color:#dba52f;background:#fff;box-shadow:inset 0 0 0 1px #dba52f,0 12px 30px rgba(130,91,9,.08)}
.hero#booking .box-choice__media{min-height:164px;overflow:hidden;background:#e9e7e1}.hero#booking .box-choice__media img{width:100%;height:100%;object-fit:cover}.hero#booking .box-choice__body{display:block;padding:17px 48px 16px 18px}.hero#booking .box-choice__eyebrow{display:block;margin-bottom:4px;color:#a66d04;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero#booking .box-choice .option-button__title{display:block;color:#292d30;font-size:1.02rem;line-height:1.2}.hero#booking .box-choice__features{display:grid;gap:3px;margin:9px 0 12px;padding:0;list-style:none;color:#73787c;font-size:.69rem}.hero#booking .box-choice__features li:before{content:"✓";margin-right:6px;color:#319661;font-weight:900}.hero#booking .box-choice .option-button__price{display:block;margin:0;color:#292d30;font-size:.8rem}.hero#booking .box-choice__check{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #d5d0c8;border-radius:50%;color:transparent;background:#fff;font-size:.75rem}.hero#booking .box-choice.is-active .box-choice__check{color:#25292d;border-color:#e0aa35;background:#edb43f}
.hero#booking .option-grid--duration{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hero#booking .option-button.option-button--duration{min-height:56px;padding:12px 6px;border:1px solid #ded9cf;border-radius:12px;background:#fff;box-shadow:none}.hero#booking .option-button.option-button--duration:hover{transform:none;border-color:#d4a33d;box-shadow:none}.hero#booking .option-button.option-button--duration.is-active{color:#25292d;border-color:#dca62f;background:#f3bd4b;box-shadow:inset 0 0 0 1px #dca62f}.hero#booking .option-button--duration .option-button__badge{color:#77520a}.hero#booking .duration-select{padding:12px;border-color:#ded9cf;border-radius:12px;background:#fff}.hero#booking .duration-select.is-active{border-color:#dca62f;box-shadow:inset 0 0 0 1px #dca62f}.hero#booking .duration-guidance{margin:13px 0 0;padding-left:14px;border-left:3px solid #e5ad35;color:#72777b;font-size:.75rem;line-height:1.5}.hero#booking .duration-assistant{margin:18px 0 0;border:1px solid #ded9cf;border-radius:14px;background:#fff}
.hero#booking .date-navigation{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;align-items:stretch}.hero#booking .date-navigation__button{border:1px solid #ddd8ce;border-radius:11px;color:#4c5154;background:#fff;font:inherit;font-weight:900;cursor:pointer}.hero#booking .day-grid{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 7px;scrollbar-width:thin;scroll-snap-type:x proximity}.hero#booking .day-button{flex:0 0 118px;min-height:88px;padding:11px;border:1px solid #ded9cf;border-radius:13px;background:#fff;scroll-snap-align:start;text-align:left}.hero#booking .day-button.is-free{color:#25292d;border-color:#d9d5cc;background:#fff}.hero#booking .day-button.is-busy{opacity:.48;color:#777;border-color:#ddd8ce;background:#efede8}.hero#booking .day-button.is-active{color:#fff;border-color:#25292d;background:#25292d;box-shadow:inset 0 -3px #e9ae35}.hero#booking .day-button__title{font-size:.84rem}.hero#booking .day-button__date{display:block;margin-top:3px;font-size:1.08rem;font-weight:900}.hero#booking .day-button__meta{margin-top:7px;color:#747a7d;font-size:.57rem}.hero#booking .day-button.is-active .day-button__meta{color:rgba(255,255,255,.66)}
.hero#booking .time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hero#booking .time-button{min-height:64px;padding:10px;border:1px solid #d9d5cd;border-radius:12px;background:#fff}.hero#booking .time-button.is-free{color:#276e4d;border-color:#aad7bf;background:#f4fcf7}.hero#booking .time-button.is-active{color:#25292d;border-color:#dca62f;background:#f0b83f;box-shadow:inset 0 0 0 1px #dca62f}.hero#booking .time-button__title{font-size:1rem}.hero#booking .time-button__meta{font-size:.59rem}.hero#booking .booking-empty--no-slots{grid-column:1/-1;display:grid;justify-items:start;gap:6px;padding:22px;border:1px solid #e1dbd0;border-radius:15px;background:#fff}.hero#booking .booking-empty--no-slots span{color:#777d80;font-size:.78rem}.hero#booking .booking-empty--no-slots .button{margin-top:8px}
.hero#booking .booking-form{margin:22px 0 0;padding:22px;border:1px solid #ded9cf;border-radius:18px;background:#fff}.hero#booking .booking-form__heading{margin-bottom:18px}.hero#booking .booking-form__heading h3{margin:4px 0 0;color:#292d30;font-size:1.45rem}.hero#booking .booking-form__heading .section-label{color:#a66d04}
.hero#booking .booking-sidebar{display:grid;gap:14px;padding-top:24px}.hero#booking .booking-summary{position:sticky!important;top:94px;margin:0;padding:24px;border:0;border-radius:20px;color:#fff;background:#25292d;box-shadow:0 18px 42px rgba(24,27,29,.17)!important}.hero#booking .booking-summary__eyebrow{margin:0 0 7px;color:#efb843;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero#booking .booking-summary__title{margin:0;color:#fff;font-size:1.15rem;line-height:1.25}.hero#booking .booking-summary__details{display:grid;gap:10px;margin:20px 0;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.hero#booking .booking-summary__details div,.hero#booking .booking-summary__finance div,.hero#booking .booking-summary__total{display:flex;justify-content:space-between;gap:14px}.hero#booking .booking-summary__details dt,.hero#booking .booking-summary__details dd{margin:0;font-size:.72rem}.hero#booking .booking-summary__details dt{color:rgba(255,255,255,.55)}.hero#booking .booking-summary__details dd{color:#fff;font-weight:850;text-align:right}.hero#booking .booking-summary__finance{display:grid;gap:9px;color:rgba(255,255,255,.7);font-size:.7rem}.hero#booking .booking-summary__finance strong{color:#fff}.hero#booking .booking-summary__finance .is-saving strong{color:#86d8a9}.hero#booking .booking-summary__total{align-items:end;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.14)}.hero#booking .booking-summary__total span{font-size:.8rem;font-weight:900;text-transform:uppercase}.hero#booking .booking-summary__total strong{color:#efb843;font-size:1.55rem}.hero#booking .booking-summary__tariff,.hero#booking .booking-summary__pending{margin:11px 0 0;color:rgba(255,255,255,.5);font-size:.62rem;line-height:1.45}.hero#booking .booking-summary__cta{width:100%;min-height:54px;margin-top:20px;padding:14px 16px;border:0;border-radius:12px;color:#25292d;background:#efb43b;font:inherit;font-size:.88rem;font-weight:950;cursor:pointer}.hero#booking .booking-summary__cta:hover{background:#ffc654}.hero#booking .booking-summary__cta:disabled{cursor:not-allowed;opacity:.42}
.hero#booking .member-strip{display:grid;gap:14px;margin:0;padding:20px;border:1px solid #ded9cf;border-radius:18px;color:#292d30;background:#fff}.hero#booking .member-strip span{color:#757a7d;font-size:.73rem;line-height:1.45}.hero#booking .member-strip__actions{display:grid;grid-template-columns:1fr;gap:8px}.hero#booking .member-strip .button{justify-content:center;min-height:42px;padding:9px 12px;color:#292d30;border-color:#d4cec4;background:#faf8f3;font-size:.72rem}.hero#booking .member-strip.is-member{padding:0;overflow:hidden;border-color:#b9dac8;background:#fff}.hero#booking .member-strip__profile{grid-template-columns:42px minmax(0,1fr);padding:16px}.hero#booking .member-strip__action{grid-column:1/-1;text-align:center}.hero#booking .booking-benefits{padding:18px;border:1px solid #ded9cf;border-radius:18px;background:#fff}.hero#booking .booking-benefits>strong{color:#292d30;font-size:.84rem}.hero#booking .booking-benefits ul{display:grid;gap:9px;margin:13px 0 0;padding:0;list-style:none;color:#72777b;font-size:.7rem}.hero#booking .booking-benefits li:before{content:"✓";margin-right:7px;color:#399966;font-weight:900}.hero#booking .booking-benefits a{color:inherit}
.hero#booking .status-message:not(.status-message--error){margin:26px 0 0!important;padding:clamp(24px,4vw,44px);border:1px solid #a9d4bc;border-radius:22px;background:#f2fbf6;box-shadow:0 20px 55px rgba(42,91,62,.1)}.hero#booking .booking-success__check{color:#25292d;background:#efb43b}

@media(max-width:900px){.hero#booking .booking-workspace{grid-template-columns:1fr}.hero#booking .booking-sidebar{padding-top:0}.hero#booking .booking-summary{position:static!important}}
@media(max-width:700px){
  .hero#booking{padding:34px 0}.hero#booking .booking-panel{padding:0 14px 18px;border-radius:20px}.hero#booking .booking-panel__header{display:block;margin:0 -14px;padding:25px 18px 22px;border-radius:20px 20px 0 0}.hero#booking .booking-panel__title{font-size:2.35rem}.hero#booking .booking-panel__text{font-size:.82rem}.hero#booking .booking-now{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-top:18px;padding:12px 14px;text-align:left}.hero#booking .booking-now strong,.hero#booking .booking-now span{font-size:.72rem}.hero#booking .today-availability{padding:24px 0}.hero#booking .today-availability__head{display:grid;gap:13px}.hero#booking .today-availability__grid{grid-template-columns:1fr}.hero#booking .today-box-card{padding:16px}.hero#booking .today-box-card__top{display:grid;gap:9px}.hero#booking .today-box-card__status{justify-self:start}.hero#booking .booking-step{padding:24px 0}.hero#booking .group-head{align-items:flex-start;flex-direction:column;gap:8px}.hero#booking .option-button.box-choice{grid-template-columns:105px minmax(0,1fr)}.hero#booking .box-choice__media{min-height:150px}.hero#booking .box-choice__body{padding:14px 38px 13px 13px}.hero#booking .box-choice__features{margin:7px 0 9px;font-size:.62rem}.hero#booking .box-choice__check{right:11px;top:11px;width:22px;height:22px}.hero#booking .option-grid--duration{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hero#booking .option-button.option-button--duration{min-height:52px}.hero#booking .duration-select{grid-column:1/-1}.hero#booking .date-navigation{display:block}.hero#booking .date-navigation__button{display:none}.hero#booking .day-grid{margin-right:-14px;padding-right:14px}.hero#booking .day-button{flex-basis:108px}.hero#booking .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero#booking .booking-form{padding:17px}.hero#booking .booking-summary{padding:21px}.hero#booking .status-message{margin-right:0!important;margin-left:0!important}
}
@media(max-width:350px){.hero#booking .booking-panel__title{font-size:2.08rem}.hero#booking .today-availability__legend{gap:9px}.hero#booking .option-button.box-choice{grid-template-columns:92px minmax(0,1fr)}.hero#booking .box-choice__media{min-height:158px}.hero#booking .box-choice__features li:nth-child(3){display:none}.hero#booking .option-button--duration .option-button__badge{font-size:.49rem}.hero#booking .time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Booking-only visual polish. No selectors below escape #booking. */
.hero#booking .today-availability{padding:34px 0 36px}
.hero#booking .today-availability__head{margin-bottom:21px}
.hero#booking .today-availability__head h3{font-size:clamp(1.7rem,2.8vw,2.18rem);line-height:1.05}
.hero#booking .today-availability__legend{font-size:.72rem}
.hero#booking .today-box-card{padding:23px 24px;border-radius:20px}
.hero#booking .today-box-card__number{font-size:.72rem}
.hero#booking .today-box-card h4{font-size:1.12rem;letter-spacing:-.015em}
.hero#booking .today-box-card__status{gap:8px;padding:8px 11px;font-size:.76rem}
.hero#booking .today-box-card__status i{width:9px;height:9px}
.hero#booking .today-box-card__windows{display:inline-grid;min-height:0;margin:16px 0;padding:9px 12px;border-left:3px solid #e6aa31;border-radius:0 10px 10px 0;background:#fbf5e8;font-size:.84rem}
.hero#booking .today-box-card__windows span{font-size:.65rem}
.hero#booking .today-timeline__track{height:16px;border-radius:7px}
.hero#booking .today-timeline__track b{width:3px}
.hero#booking .today-timeline__hours{margin-top:8px;font-size:.63rem}

.hero#booking .booking-workspace{grid-template-columns:minmax(0,1fr) 330px;gap:30px}
.hero#booking .booking-step{padding:34px 0}
.hero#booking .group-head{margin-bottom:19px}
.hero#booking .step-badge{width:35px;height:35px;font-size:.82rem}
.hero#booking .group-label{font-size:1.24rem;letter-spacing:-.015em}
.hero#booking .group-caption{font-size:.78rem}
.hero#booking .option-grid--service{gap:14px}
.hero#booking .option-button.box-choice{grid-template-columns:184px minmax(0,1fr);border-radius:19px}
.hero#booking .box-choice__media{min-height:176px}
.hero#booking .box-choice__body{padding:20px 52px 18px 21px}
.hero#booking .box-choice__eyebrow{margin-bottom:5px;font-size:.7rem}
.hero#booking .box-choice .option-button__title{font-size:1.15rem;letter-spacing:-.012em}
.hero#booking .box-choice__features{gap:4px;margin:10px 0 14px;font-size:.72rem;line-height:1.4}
.hero#booking .box-choice .option-button__price{font-size:.92rem;font-weight:950}
.hero#booking .box-choice__check{width:28px;height:28px;font-size:.82rem}

.hero#booking .option-grid--duration{gap:10px}
.hero#booking .option-button.option-button--duration{min-height:62px;font-size:1.02rem}
.hero#booking .option-button--duration .option-button__badge{white-space:normal;line-height:1.05}
.hero#booking .duration-select{padding:13px}
.hero#booking .duration-guidance{margin-top:15px;font-size:.78rem}
.hero#booking .day-grid{gap:9px}
.hero#booking .day-button{flex-basis:122px;min-height:94px;padding:13px}
.hero#booking .day-button__title{font-size:.88rem}
.hero#booking .day-button__date{font-size:1.15rem}
.hero#booking .day-button__meta{font-size:.61rem}
.hero#booking .time-grid{gap:10px}
.hero#booking .time-button{min-height:68px}
.hero#booking .time-button__title{font-size:1.08rem}
.hero#booking .time-button__meta{font-size:.63rem}

.hero#booking .booking-form{margin-top:26px;padding:22px 23px 20px;border-radius:20px;box-shadow:0 12px 30px rgba(37,41,45,.045)}
.hero#booking .booking-form__heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.hero#booking .booking-form__heading .section-label{flex:none;margin:0;padding:5px 8px;border-radius:999px;background:#fbf1da;font-size:.61rem}
.hero#booking .booking-form__heading h3{margin:0;font-size:1.5rem;letter-spacing:-.025em}
.hero#booking .booking-form__fields{gap:12px 14px;margin-bottom:12px}
.hero#booking .booking-form .field{gap:6px}
.hero#booking .booking-form .field__label{color:#555c60;font-size:.68rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.hero#booking .booking-form .field__control{min-height:48px;border-color:#dcd8cf;border-radius:11px;background:#fcfbf8;font-size:.86rem}
.hero#booking .booking-form .field__control:focus{border-color:#d49b25;box-shadow:0 0 0 3px rgba(229,170,49,.14)}
.hero#booking .booking-form .field__control--area{min-height:76px;padding:12px 14px;line-height:1.45}
.hero#booking .booking-form .field__hint{font-size:.65rem}
.hero#booking .booking-form__extras{overflow:hidden;border:1px solid #ded9cf;border-radius:13px;background:#faf9f5}
.hero#booking .booking-form__extras summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:11px 14px;cursor:pointer;list-style:none}
.hero#booking .booking-form__extras summary::-webkit-details-marker{display:none}
.hero#booking .booking-form__extras-copy{display:grid;gap:3px;min-width:0}
.hero#booking .booking-form__extras-copy strong{color:#303438;font-size:.82rem}
.hero#booking .booking-form__extras-copy small{overflow:hidden;color:#858a8d;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.hero#booking .booking-form__extras-action{flex:none;color:#9a6507;font-size:.7rem;font-weight:900}
.hero#booking .booking-form__extras-action:after{content:" +"}
.hero#booking .booking-form__extras[open] .booking-form__extras-action:after{content:" −"}
.hero#booking .booking-form__extras-body{display:grid;gap:12px;padding:0 14px 14px;border-top:1px solid #e5e0d7}
.hero#booking .booking-form__extras-body .extra-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:12px}
.hero#booking .booking-form__extras-body .extra-option{grid-template-columns:1fr;gap:8px;padding:11px;border-color:#e1ddd5;border-radius:11px;background:#fff}
.hero#booking .booking-form__extras-body .extra-option__title{font-size:.76rem}
.hero#booking .booking-form__extras-body .extra-option__meta{font-size:.65rem}
.hero#booking .booking-form__extras-body .extra-option__control{min-height:40px;padding:0 10px;font-size:.72rem}
.hero#booking .booking-form__gloves{max-width:calc(50% - 5px);padding:10px 11px;border:1px solid #e1ddd5;border-radius:11px;background:#fff}
.hero#booking .booking-form #bonusField{padding:11px 13px;border-color:#c6e2d2;background:#f0faf4}
.hero#booking .booking-form>.booking-form__fields>.consent-field:last-child{gap:9px;padding:10px 12px;border-color:#e3e0d8;background:#faf9f6}
.hero#booking .booking-form>.booking-form__fields>.consent-field:last-child .consent-field__copy{font-size:.7rem;line-height:1.4}
.hero#booking .booking-form__meta{margin-top:0;color:#8a8e91;font-size:.66rem;line-height:1.4}

.hero#booking .booking-sidebar{align-self:stretch;align-content:start;gap:16px;padding-top:28px}
.hero#booking .booking-summary{position:sticky!important;top:94px;padding:28px;border-radius:22px}
.hero#booking .booking-summary__eyebrow{font-size:.73rem}
.hero#booking .booking-summary__title{font-size:1.3rem;letter-spacing:-.018em}
.hero#booking .booking-summary__details{gap:12px;margin:23px 0;padding:18px 0}
.hero#booking .booking-summary__details dt,.hero#booking .booking-summary__details dd{font-size:.78rem}
.hero#booking .booking-summary__finance{gap:10px;font-size:.76rem}
.hero#booking .booking-summary__total{margin-top:19px;padding-top:18px}
.hero#booking .booking-summary__total span{font-size:.84rem}
.hero#booking .booking-summary__total strong{font-size:1.95rem;line-height:1}
.hero#booking .booking-summary__tariff,.hero#booking .booking-summary__pending{font-size:.67rem}
.hero#booking .booking-summary__cta{min-height:60px;margin-top:23px;border-radius:13px;font-size:1rem}

@media(max-width:900px){
  .hero#booking .booking-workspace{grid-template-columns:1fr}
  .hero#booking .booking-sidebar{align-self:auto}
  .hero#booking .booking-summary{position:static!important}
}
@media(max-width:700px){
  .hero#booking .today-availability{padding:27px 0}
  .hero#booking .today-availability__head h3{font-size:1.65rem}
  .hero#booking .today-box-card{padding:18px}
  .hero#booking .today-box-card__top{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .hero#booking .today-box-card__status{justify-self:end;font-size:.7rem}
  .hero#booking .today-box-card__windows{margin:14px 0;padding:8px 10px}
  .hero#booking .booking-step{padding:27px 0}
  .hero#booking .group-label{font-size:1.15rem}
  .hero#booking .option-button.box-choice{grid-template-columns:116px minmax(0,1fr)}
  .hero#booking .box-choice__media{min-height:158px}
  .hero#booking .box-choice__body{padding:15px 39px 14px 14px}
  .hero#booking .box-choice .option-button__title{font-size:1rem}
  .hero#booking .box-choice__features{font-size:.64rem}
  .hero#booking .box-choice .option-button__price{font-size:.79rem}
  .hero#booking .option-button.option-button--duration{min-height:55px;font-size:.92rem}
  .hero#booking .day-button{flex-basis:112px;min-height:89px}
  .hero#booking .time-button{min-height:64px}
  .hero#booking .booking-form{padding:17px 16px}
  .hero#booking .booking-form__heading{align-items:flex-start;flex-direction:column;gap:6px}
  .hero#booking .booking-form__heading h3{font-size:1.35rem}
  .hero#booking .booking-form__fields{grid-template-columns:1fr;gap:11px}
  .hero#booking .booking-form__extras-body .extra-options{grid-template-columns:1fr}
  .hero#booking .booking-form__gloves{max-width:none}
  .hero#booking .booking-summary{padding:24px}
  .hero#booking .booking-summary__total strong{font-size:1.8rem}
}
@media(max-width:350px){
  .hero#booking .today-box-card__top{grid-template-columns:1fr}
  .hero#booking .today-box-card__status{justify-self:start}
  .hero#booking .option-button.box-choice{grid-template-columns:96px minmax(0,1fr)}
}

/* Approved booking composition: final scoped refinements. */
.hero#booking .today-box-card{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:14px 16px;
  align-items:start;
}
.hero#booking .today-box-card__image{
  width:82px;
  height:72px;
  border-radius:12px;
  object-fit:cover;
  background:#ece8df;
}
.hero#booking .today-box-card__top{min-width:0}
.hero#booking .today-box-card__windows,
.hero#booking .today-box-card .today-timeline{grid-column:1/-1}
.hero#booking .today-box-card__windows{margin:0}

.hero#booking .option-button.box-choice{grid-template-columns:218px minmax(0,1fr)}
.hero#booking .box-choice__media{min-height:218px}
.hero#booking .box-choice__body{display:flex;flex-direction:column;align-items:flex-start;padding:22px 54px 20px 23px}
.hero#booking .box-choice__eyebrow{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fbf0d5;color:#8e5b00;font-size:.62rem}
.hero#booking .box-choice .option-button__title{margin-top:10px;font-size:1.34rem}
.hero#booking .box-choice__subtitle{display:block;margin-top:3px;color:#50565a;font-size:.82rem;font-weight:800;line-height:1.3}
.hero#booking .box-choice__features{margin:13px 0 16px;font-size:.7rem}
.hero#booking .box-choice .option-button__price{width:100%;margin-top:auto}
.hero#booking .box-choice__price-row,
.hero#booking .box-choice__member-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;min-width:0}
.hero#booking .box-choice__price-row s{color:#8a8e90;font-size:.76rem;font-weight:750;white-space:nowrap;text-decoration-thickness:1.5px}
.hero#booking .box-choice__price-row strong,
.hero#booking .box-choice__member-price strong{color:#25292d;font-size:1.12rem;font-weight:950;white-space:nowrap}
.hero#booking .box-choice__price-row small,
.hero#booking .box-choice__member-price small{flex-basis:100%;color:#28734f;font-size:.62rem;font-weight:850;line-height:1.25}

.hero#booking .time-button{position:relative;display:grid;justify-items:start;align-content:center;gap:4px;padding:11px 34px 11px 13px;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}
.hero#booking .time-button.is-free{color:#25292d;border-color:#d8ddd8;background:#fff}
.hero#booking .time-button.is-free:hover{transform:translateY(-1px);border-color:#78bd98;background:#f3fbf6;box-shadow:0 9px 20px rgba(38,111,74,.09)}
.hero#booking .time-button.is-active,
.hero#booking .time-button.is-active:hover{color:#fff;border-color:#e2aa32;background:#25292d;box-shadow:inset 0 0 0 1px #e2aa32,0 10px 24px rgba(27,31,34,.16)}
.hero#booking .time-button__title{color:inherit;line-height:1}
.hero#booking .time-button__meta{color:#278056;font-size:.64rem;font-weight:850}
.hero#booking .time-button.is-active .time-button__meta{color:#8fdaad}
.hero#booking .time-button__check{position:absolute;right:11px;top:50%;display:grid;place-items:center;width:19px;height:19px;border:1px solid #d6ddd8;border-radius:50%;color:transparent;background:#f7faf8;font-size:.62rem;transform:translateY(-50%)}
.hero#booking .time-button.is-active .time-button__check{color:#25292d;border-color:#efb33c;background:#efb33c}

.hero#booking .booking-summary__finance .is-locked strong{max-width:150px;color:rgba(255,255,255,.52);font-size:.66rem;font-weight:750;text-align:right}

.hero#booking .member-strip{gap:16px;padding:22px;border-color:#e2a82d;background:linear-gradient(145deg,#ffc94e,#edab27);box-shadow:0 15px 34px rgba(181,118,0,.18)}
.hero#booking .member-strip__intro{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start}
.hero#booking .member-strip__intro>div{display:grid;gap:5px}
.hero#booking .member-strip__intro strong{color:#282b2e;font-size:1rem;line-height:1.15}
.hero#booking .member-strip__intro span{color:#5e491d;font-size:.7rem}
.hero#booking .member-strip__crown{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#f5b937!important;background:#25292d;font-size:1.1rem}
.hero#booking .member-strip__perks{display:flex;flex-wrap:wrap;gap:6px}
.hero#booking .member-strip__perks span{padding:5px 7px;border:1px solid rgba(63,49,18,.16);border-radius:999px;color:#554014;font-size:.58rem;font-weight:850;background:rgba(255,255,255,.27)}
.hero#booking .member-strip__actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero#booking .member-strip .button{color:#25292d;border-color:rgba(37,41,45,.34);background:rgba(255,255,255,.42)}
.hero#booking .member-strip .button:hover{color:#fff;border-color:#25292d;background:#25292d}
.hero#booking .member-strip.is-member{box-shadow:none}

.hero#booking .booking-benefits{padding:19px 18px}
.hero#booking .booking-benefits ul{gap:14px;margin:0}
.hero#booking .booking-benefits li{display:grid;gap:2px;padding-left:20px;position:relative}
.hero#booking .booking-benefits li:before{position:absolute;left:0;top:1px;margin:0}
.hero#booking .booking-benefits li strong{color:#303438;font-size:.72rem}
.hero#booking .booking-benefits li span,
.hero#booking .booking-benefits li a{color:#7a7f82;font-size:.64rem;line-height:1.35}
.hero#booking .booking-benefits li a{text-decoration:underline;text-underline-offset:2px}

@media(max-width:700px){
  .hero#booking{padding-bottom:104px}
  .hero#booking .today-box-card{grid-template-columns:72px minmax(0,1fr);gap:12px 13px}
  .hero#booking .today-box-card__image{width:72px;height:66px}
  .hero#booking .option-button.box-choice{grid-template-columns:1fr}
  .hero#booking .box-choice__media{min-height:0;aspect-ratio:16/8}
  .hero#booking .box-choice__body{padding:17px 42px 17px 17px}
  .hero#booking .box-choice__features{font-size:.66rem}
  .hero#booking .box-choice__price-row strong,
  .hero#booking .box-choice__member-price strong{font-size:1.04rem}
  .hero#booking .member-strip__actions{grid-template-columns:1fr}
}
@media(max-width:350px){
  .hero#booking .today-box-card{grid-template-columns:62px minmax(0,1fr);padding:15px;gap:10px}
  .hero#booking .today-box-card__image{width:62px;height:60px}
  .hero#booking .today-box-card__top{display:grid;grid-template-columns:1fr;gap:6px}
  .hero#booking .today-box-card__status{justify-self:start;white-space:normal}
  .hero#booking .box-choice__media{aspect-ratio:16/8.5}
  .hero#booking .box-choice__body{padding:15px 38px 15px 14px}
  .hero#booking .box-choice__price-row{gap:4px 8px}
  .hero#booking .time-button{padding-right:31px}
}

/* Exact booking-target.png composition. Keep every rule scoped to #booking. */
.hero#booking{padding:54px 0;background:radial-gradient(circle at 50% 0,#fff 0,#f7f9fb 58%,#f1f4f6 100%)}
.hero#booking .hero__layout{display:block;width:min(calc(100% - 32px),1240px);max-width:1240px}
.hero#booking .booking-panel{padding:0 50px 46px;border-color:#dce3e8;border-radius:34px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(18,31,42,.1)}
.hero#booking .booking-panel__header{display:none!important}

.hero#booking .today-availability{padding:16px 0 24px;border-bottom:1px solid #dce3e8}
.hero#booking .today-availability__head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 14px}
.hero#booking .booking-now{display:flex;align-items:center;gap:14px;min-width:0;padding:0;border:0;background:transparent;text-align:left}
.hero#booking .booking-now:before{content:"▦";display:grid;place-items:center;width:24px;height:24px;color:#07131e;font-size:1.45rem}
.hero#booking .booking-now strong{color:#07131e;font-size:1.32rem;font-weight:950;letter-spacing:-.025em}
.hero#booking .booking-now span{padding:8px 15px;border:1px solid #bdebd1;border-radius:7px;color:#243d32;background:#dff8e9;font-size:.78rem;font-weight:600}
.hero#booking .today-availability__week-link{display:inline-flex;align-items:center;gap:10px;color:#006aff;font-size:.82rem;text-decoration:none;white-space:nowrap}
.hero#booking .today-availability__week-link span{font-size:1.35rem}
.hero#booking .today-availability__grid{gap:14px}
.hero#booking .today-box-card{grid-template-columns:108px minmax(0,1fr);gap:10px 16px;min-height:224px;padding:16px 20px;border-color:#d7e0e7;border-radius:10px;box-shadow:0 8px 22px rgba(30,49,65,.055)}
.hero#booking .today-box-card__image{width:108px;height:84px;border-radius:10px}
.hero#booking .today-box-card__top{display:grid;gap:5px;align-content:start}
.hero#booking .today-box-card__number{margin:0;color:#07131e;font-size:.9rem;letter-spacing:0;text-transform:none}
.hero#booking .today-box-card h4{font-size:1rem}
.hero#booking .today-box-card__status{justify-self:start;padding:0;color:#099955!important;background:transparent!important;font-size:.86rem}
.hero#booking .today-box-card__status.is-busy{color:#ef2f35!important}
.hero#booking .today-box-card__status i{width:10px;height:10px}
.hero#booking .today-box-card__windows{display:block;margin:-2px 0 8px;padding:0;border:0;border-radius:0;color:#526b91;background:transparent;font-size:.78rem;font-weight:500}
.hero#booking .today-box-card__windows span{display:inline;color:inherit;font-size:inherit;font-weight:inherit;text-transform:none}.hero#booking .today-box-card__windows span:after{content:": "}
.hero#booking .today-timeline__track{height:23px;border-radius:4px;background:#e7ece8}
.hero#booking .today-timeline__segment.is-free{background:#99dfb8}
.hero#booking .today-timeline__segment.is-busy{background:#ff8589}
.hero#booking .today-timeline__track b{top:-5px;bottom:-5px;width:3px;background:#f2a600;border-left:1px dashed #fff;border-right:1px dashed #fff;box-shadow:none}
.hero#booking .today-timeline__track b:before{content:"Сейчас";position:absolute;left:50%;bottom:calc(100% + 4px);color:#e89000;font-size:.58rem;font-weight:850;transform:translateX(-50%)}
.hero#booking .today-timeline__hours{margin-top:7px;color:#526b91;font-size:.62rem}
.hero#booking .today-availability__legend{justify-content:flex-start;margin-top:14px;padding-left:18px;color:#52627a;font-size:.72rem}
.hero#booking .today-dot{width:12px;height:12px;border-radius:4px}.hero#booking .today-marker-key{width:18px;height:0;border-top:2px dashed #efa600;background:transparent}

.hero#booking .booking-workspace{grid-template-columns:minmax(0,1fr) 345px;gap:28px;padding-top:0}
.hero#booking .booking-step{padding:18px 0 16px}
.hero#booking .group-head{min-height:38px;margin-bottom:10px}
.hero#booking .step-badge{width:39px;height:39px;color:#fff;background:#0b1822;font-size:1.02rem}
.hero#booking .group-label{font-size:1.25rem}
.hero#booking .group-caption{color:#0870f8;font-size:.78rem}
.hero#booking #calendarStep .group-caption{display:none}

.hero#booking .option-grid--service{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hero#booking .option-button.box-choice{display:grid;grid-template-columns:1fr;align-content:start;border-color:#d8e0e6;border-radius:11px;background:#fff;box-shadow:0 8px 20px rgba(24,42,56,.07)}
.hero#booking .option-button.box-choice.is-active{border-color:#f1ae00;box-shadow:inset 0 0 0 1px #f1ae00,0 8px 20px rgba(24,42,56,.07)}
.hero#booking .box-choice__media{min-height:0;margin:10px 10px 0;border-radius:7px;aspect-ratio:2.62/1}
.hero#booking .box-choice__body{min-height:184px;padding:10px 14px 14px}
.hero#booking .box-choice__eyebrow{position:absolute;left:50%;top:24px;z-index:1;margin:0;padding:7px 12px;color:#1b301f;background:#baf1ce;font-size:.68rem;transform:translateX(-50%);white-space:nowrap}
.hero#booking .box-choice[data-service-type="lift"] .box-choice__eyebrow{color:#3b2a00;background:#ffd857}
.hero#booking .box-choice .option-button__title{margin:0;color:#07131e;font-size:1.28rem}
.hero#booking .box-choice__subtitle{margin-top:2px;color:#526789;font-size:.84rem;font-weight:500}
.hero#booking .box-choice__features{gap:4px;margin:8px 0 12px;color:#4c6282;font-size:.75rem}
.hero#booking .box-choice__features li:before{color:#937000}
.hero#booking .box-choice .option-button__price{margin-top:auto}
.hero#booking .box-choice__price-row,.hero#booking .box-choice__member-price{gap:4px 10px}
.hero#booking .box-choice__price-row s{color:#71809a;font-size:.82rem}
.hero#booking .box-choice__price-row strong,.hero#booking .box-choice__member-price strong{font-size:1.48rem}
.hero#booking .box-choice__price-row small,.hero#booking .box-choice__member-price small{flex:0 1 auto;padding:6px 8px;border-radius:6px;color:#382b00;background:#ffdc64;font-size:.6rem;white-space:nowrap}
.hero#booking .box-choice__check{right:9px;top:9px;z-index:2;width:28px;height:28px;border-color:#e2aa00;background:#fff}
.hero#booking .box-choice.is-active .box-choice__check{border-color:#f0b000;background:#ffcf35}

.hero#booking #durationStep{position:relative}
.hero#booking #durationStep .group-caption{display:none}
.hero#booking .duration-assistant{position:absolute;right:0;top:23px;z-index:2;margin:0;border:0;background:transparent}
.hero#booking .duration-assistant>summary{display:flex;gap:8px;padding:0;color:#0870f8;background:transparent;font-size:.78rem;box-shadow:none}
.hero#booking .duration-assistant>summary>span,.hero#booking .duration-assistant>summary>small{display:none}
.hero#booking .duration-assistant>summary strong:after{content:"  →";font-size:1.2em}
.hero#booking .duration-assistant[open]{position:relative;right:auto;top:auto;grid-column:1/-1;margin:0 0 12px;padding:14px;border:1px solid #dbe3e8;border-radius:10px;background:#fff}
.hero#booking .duration-assistant[open]>summary{margin-bottom:14px}
.hero#booking .option-grid--duration{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.hero#booking .option-button.option-button--duration{min-height:61px;border-color:#d7e0e7;border-radius:8px;font-size:.92rem}
.hero#booking .option-button.option-button--duration.is-active{border-color:#f0ad00;background:#fff;box-shadow:inset 0 0 0 1px #f0ad00}
.hero#booking .option-button--duration .option-button__badge{left:6px;right:6px;bottom:5px;color:#079752;font-size:.56rem}
.hero#booking .option-button--duration .option-button__badge.is-popular{display:inline-block;left:50%;right:auto;padding:3px 7px;border-radius:5px;color:#3f3100;background:#ffdf62;transform:translateX(-50%)}
.hero#booking .option-grid--duration>.option-button:nth-child(8){grid-column:span 2}
.hero#booking .duration-select{grid-column:span 3;min-height:61px;padding:8px 13px;border-color:#d7e0e7;border-radius:8px}
.hero#booking .duration-select>span{font-size:.76rem}
.hero#booking .duration-select .field__control{min-height:28px;padding:0;border:0;background:transparent}
.hero#booking .duration-guidance{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;min-height:66px;margin:11px 0 0;padding:10px 16px;border:0;border-radius:10px;color:#23364f;background:#fff3dc;font-size:.75rem}
.hero#booking .duration-guidance:before{content:"💡";grid-row:1;display:grid;place-items:center;font-size:1.55rem}

.hero#booking .date-navigation{grid-template-columns:38px minmax(0,1fr) 38px;gap:8px}
.hero#booking .date-navigation__button{border-color:#d5dfe7;border-radius:50%;color:#122132;font-size:1.15rem}
.hero#booking .day-grid{gap:8px;overflow-x:auto;padding:1px 1px 3px}
.hero#booking .day-button{flex:0 0 calc((100% - 48px)/7);min-height:60px;padding:9px;border-color:#d7e0e7;border-radius:8px;text-align:center}
.hero#booking .day-button__title{font-size:.75rem}.hero#booking .day-button__date{margin-top:3px;color:#607492;font-size:.7rem;font-weight:600}.hero#booking .day-button__meta{display:none}
.hero#booking .day-button.is-active{border-color:#f0ad00;background:#101b24;box-shadow:inset 0 0 0 1px #f0ad00}
.hero#booking .day-button.is-active .day-button__title{color:#ffce29}.hero#booking .day-button.is-active .day-button__date{color:#fff}

.hero#booking .time-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.hero#booking .time-button{min-height:51px;padding:9px 28px 8px 10px;border-radius:7px;text-align:center;justify-items:center}
.hero#booking .time-button__title{font-size:.88rem}.hero#booking .time-button__meta{font-size:.59rem}
.hero#booking .time-button__check{right:7px;width:16px;height:16px}
.hero#booking .time-alternative{grid-column:span 2;grid-row:span 2;display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px 9px;align-content:center;padding:10px;border:1px solid #d6e0e7;border-radius:9px;color:#263a55;background:#fff}
.hero#booking .time-alternative__icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #263a55;border-radius:50%;font-size:.9rem}
.hero#booking .time-alternative>span:nth-child(2){display:grid;gap:3px}.hero#booking .time-alternative strong{font-size:.7rem}.hero#booking .time-alternative small{font-size:.58rem;line-height:1.3}
.hero#booking .time-alternative button{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:5px 8px;border:1px solid #d6e0e7;border-radius:6px;color:#263a55;background:#fff;font:inherit;font-size:.6rem;font-weight:750;cursor:pointer}

.hero#booking .booking-sidebar{gap:11px;padding-top:18px}
.hero#booking .booking-summary{top:92px;padding:18px;border-radius:11px;background:radial-gradient(circle at 88% 8%,rgba(21,73,84,.5),transparent 38%),#07131b}
.hero#booking .booking-summary__head{position:relative;min-height:57px;overflow:hidden}
.hero#booking .booking-summary__head:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07131b 38%,transparent 78%)}
.hero#booking .booking-summary__head img{position:absolute;right:-28px;top:-22px;width:180px;height:105px;object-fit:cover;object-position:72% 50%;opacity:.78;mix-blend-mode:screen}
.hero#booking .booking-summary__title{position:relative;z-index:1;margin:0;color:#fff;font-size:1.78rem;letter-spacing:-.04em}
.hero#booking .booking-summary__details{gap:0;margin:8px 0 14px;padding:0 10px;border:1px solid rgba(153,190,205,.28);border-radius:8px}
.hero#booking .booking-summary__details div{min-height:38px;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.hero#booking .booking-summary__details div:last-child{border-bottom:0}
.hero#booking .booking-summary__details dt,.hero#booking .booking-summary__details dd{font-size:.72rem}
.hero#booking .booking-summary__finance{gap:0;padding:0 8px}.hero#booking .booking-summary__finance div{min-height:32px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.hero#booking .booking-summary__total{margin-top:9px;padding:12px 8px 0}.hero#booking .booking-summary__total span{font-size:1.2rem;text-transform:none}.hero#booking .booking-summary__total strong{font-size:2rem}
.hero#booking .booking-summary__tariff{padding:0 8px}.hero#booking .booking-summary__cta{min-height:54px;margin-top:13px;border-radius:8px;background:linear-gradient(180deg,#ffd53e,#ffb900)}

.hero#booking .member-strip{gap:12px;padding:14px;border-color:#bfe9cf;border-radius:10px;background:#edfff3;box-shadow:none}
.hero#booking .member-strip__intro{grid-template-columns:56px minmax(0,1fr);gap:10px}.hero#booking .member-strip__crown{width:56px;height:56px;color:#07131e!important;background:#bdf2d1;font-size:1.5rem}
.hero#booking .member-strip__intro strong{font-size:.82rem}.hero#booking .member-strip__intro span{color:#263a45;font-size:.68rem}
.hero#booking .member-strip__perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.hero#booking .member-strip__perks span{padding:0;border:0;border-radius:0;color:#405568;background:transparent;font-size:.48rem;text-align:center}
.hero#booking .member-strip__actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.55fr);gap:7px}.hero#booking .member-strip .button{min-height:39px;border-color:#afbfca;border-radius:7px;background:#fff;font-size:.68rem}.hero#booking .member-strip .button:last-child{border-color:#f0b000;background:linear-gradient(180deg,#ffd648,#ffbe18)}

.hero#booking .booking-benefits{padding:7px 14px;border-color:#d7e0e7;border-radius:10px}
.hero#booking .booking-benefits ul{gap:0}.hero#booking .booking-benefits li{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 9px;min-height:58px;align-content:center;padding:7px 0;border-bottom:1px solid #e1e7eb}.hero#booking .booking-benefits li:last-child{border-bottom:0}
.hero#booking .booking-benefits li:before{content:"✓";position:static;grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;margin:0;border-radius:50%;color:#07131e;background:#f3f6f8;font-size:.8rem}
.hero#booking .booking-benefits li:nth-child(2):before{content:"◷"}.hero#booking .booking-benefits li:nth-child(3):before{content:"★"}.hero#booking .booking-benefits li:nth-child(4):before{content:"⌁"}
.hero#booking .booking-benefits li strong{font-size:.7rem}.hero#booking .booking-benefits li span,.hero#booking .booking-benefits li a{font-size:.6rem}

@media(max-width:900px){
  .hero#booking .booking-workspace{grid-template-columns:1fr}
  .hero#booking .booking-sidebar{padding-top:0}
  .hero#booking .booking-summary{position:static!important}
}
@media(max-width:700px){
  .hero#booking{padding:22px 0 104px}
  .hero#booking .hero__layout{width:min(calc(100% - 20px),1240px)}
  .hero#booking .booking-panel{padding:0 14px 22px;border-radius:20px}
  .hero#booking .today-availability{padding-top:14px}
  .hero#booking .today-availability__head{align-items:flex-start;gap:10px}
  .hero#booking .booking-now{display:grid;grid-template-columns:auto 1fr;gap:4px 8px}.hero#booking .booking-now:before{grid-row:1/3}.hero#booking .booking-now strong{font-size:1rem}.hero#booking .booking-now span{justify-self:start;padding:4px 8px;font-size:.64rem}
  .hero#booking .today-availability__week-link{font-size:.66rem}
  .hero#booking .today-availability__grid{grid-template-columns:1fr}
  .hero#booking .today-box-card{grid-template-columns:76px minmax(0,1fr);min-height:196px;padding:13px}.hero#booking .today-box-card__image{width:76px;height:70px}.hero#booking .today-box-card__number{font-size:.78rem}.hero#booking .today-box-card h4{font-size:.9rem}
  .hero#booking .option-grid--service{grid-template-columns:1fr}
  .hero#booking .group-label{font-size:1.08rem}
  .hero#booking .box-choice__media{aspect-ratio:2.35/1}
  .hero#booking .box-choice__body{min-height:184px;padding:11px 14px 14px}
  .hero#booking .duration-assistant{position:static;margin:-5px 0 10px}.hero#booking .duration-assistant>summary{justify-content:flex-start}.hero#booking .duration-assistant[open]{margin:-5px 0 12px}
  .hero#booking .option-grid--duration{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hero#booking .option-grid--duration>.option-button:nth-child(8){grid-column:span 1}.hero#booking .duration-select{grid-column:1/-1}
  .hero#booking .day-button{flex-basis:92px}
  .hero#booking .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero#booking .time-alternative{grid-column:span 2}
  .hero#booking .member-strip__actions{grid-template-columns:1fr}
}
@media(max-width:350px){
  .hero#booking .today-availability__week-link{display:none}
  .hero#booking .today-box-card{grid-template-columns:66px minmax(0,1fr)}.hero#booking .today-box-card__image{width:66px;height:64px}
  .hero#booking .time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero#booking .time-alternative{grid-column:1/-1;grid-row:auto}
  .hero#booking .box-choice__price-row small,.hero#booking .box-choice__member-price small{white-space:normal}
}

/* Approved availability and success references. Booking scope only. */
.hero#booking .today-availability{padding:18px 0 25px}
.hero#booking .today-availability__head{margin-bottom:15px}
.hero#booking .today-availability__grid{gap:12px}
.hero#booking .today-box-card{
  grid-template-columns:104px minmax(0,1fr);
  gap:10px 16px;
  min-height:202px;
  padding:16px 18px 15px;
  border:1px solid #dbe3e9;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fcfdfd);
  box-shadow:0 8px 24px rgba(30,49,65,.045);
}
.hero#booking .today-box-card__image{width:104px;height:82px;border-radius:12px;box-shadow:0 5px 14px rgba(20,31,40,.1)}
.hero#booking .today-box-card__top{display:grid;gap:7px;align-content:center;min-height:82px}
.hero#booking .today-box-card h4{font-size:1rem;line-height:1.2;letter-spacing:-.02em}
.hero#booking .today-box-card__status{gap:8px;padding:0;font-size:.86rem;font-weight:900;line-height:1.2}
.hero#booking .today-box-card__status i{position:relative;width:13px;height:13px;box-shadow:0 0 0 4px rgba(9,153,85,.08)}
.hero#booking .today-box-card__status i:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.hero#booking .today-box-card__status.is-busy i{box-shadow:0 0 0 4px rgba(239,47,53,.07)}
.hero#booking .today-box-card__windows{min-height:20px;margin:0 0 2px;color:#50698d;font-size:.77rem;line-height:1.35}
.hero#booking .today-box-card__windows span{font-weight:600}
.hero#booking .today-timeline{padding-top:9px}
.hero#booking .today-timeline__track{
  height:20px;
  overflow:visible;
  border-radius:7px;
  background:#e8f0ec;
  box-shadow:inset 0 0 0 1px rgba(64,92,77,.035);
}
.hero#booking .today-timeline__track:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),rgba(255,255,255,.36) calc(12.5% - 1px),rgba(255,255,255,.36) 12.5%);
  box-shadow:inset 0 0 0 1px rgba(34,72,53,.05);
}
.hero#booking .today-timeline__segment{z-index:0;border-right:2px solid rgba(255,255,255,.42);transition:filter .16s ease,transform .16s ease}
.hero#booking .today-timeline__segment:first-child{border-radius:7px 0 0 7px}
.hero#booking .today-timeline__segment.is-free{background:linear-gradient(180deg,#a9e8c5,#83dab0)}
.hero#booking .today-timeline__segment.is-busy{background:linear-gradient(180deg,#ffaaa9,#fb8588)}
.hero#booking .today-timeline__segment:hover,.hero#booking .today-timeline__segment:focus-visible{z-index:4;filter:saturate(1.06) brightness(.97);outline:2px solid rgba(10,25,37,.24);outline-offset:2px}
.hero#booking .today-timeline__track b{top:-7px;bottom:-5px;z-index:3;width:2px;border:0;background:#efad00;box-shadow:0 0 0 1px rgba(255,255,255,.85)}
.hero#booking .today-timeline__track b:before{bottom:calc(100% + 3px);padding:3px 6px;border-radius:6px;color:#b66d00;background:#fff1c6;font-size:.56rem;line-height:1;white-space:nowrap;box-shadow:0 2px 7px rgba(171,113,0,.08)}
.hero#booking .today-timeline__hours{margin-top:8px;color:#4d6488;font-size:.59rem;font-weight:700}
.hero#booking .today-availability__legend{gap:20px;margin-top:13px;padding-left:3px}
.hero#booking .today-dot{width:11px;height:11px;border-radius:4px}
.hero#booking .today-dot--free{background:#8addb3}.hero#booking .today-dot--busy{background:#fb8c8f}
.hero#booking .today-marker-key{width:20px;border-top:2px solid #efad00}

.hero#booking .duration-guidance{grid-template-columns:42px minmax(0,1fr);min-height:68px;padding:10px 15px;border:1px solid #f3dfb6;background:linear-gradient(90deg,#fff4df,#fff9ed);line-height:1.45}
.hero#booking .duration-guidance:before{font-size:1.65rem}

.hero#booking .booking-workspace[hidden]{display:none!important}
.hero#booking.booking--success .booking-panel{padding-bottom:26px}
.hero#booking.booking--success .status-message:not(.status-message--error){
  margin:22px 0 0!important;
  padding:30px 32px 26px;
  overflow:hidden;
  border:1px solid #b7dfc8;
  border-radius:24px;
  color:#0c2030;
  background:
    radial-gradient(circle at 90% 10%,rgba(157,227,186,.24),transparent 30%),
    linear-gradient(145deg,#f6fff9,#effbf4);
  box-shadow:0 18px 45px rgba(42,91,62,.09);
}
.hero#booking .booking-success{position:relative;z-index:1}
.hero#booking .booking-success__hero{display:grid;grid-template-columns:92px minmax(0,1fr);gap:22px;align-items:center;margin-bottom:24px}
.hero#booking .booking-success__check{display:grid;place-items:center;width:82px;height:82px;margin:0;border:10px solid #dff5e7;border-radius:50%;color:#fff;background:linear-gradient(145deg,#58b981,#258a5b);box-shadow:0 0 0 10px rgba(105,196,143,.11),0 9px 22px rgba(32,124,80,.22)}
.hero#booking .booking-success__check svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hero#booking .booking-success__intro{min-width:0}
.hero#booking .booking-success__intro .status-message__title{margin:0;color:#0a1b29;font-size:clamp(1.9rem,3.6vw,2.75rem);font-weight:950;line-height:1.03;letter-spacing:-.045em}
.hero#booking .booking-success__intro .status-message__note{max-width:760px;margin:9px 0 0;padding:0;border:0;color:#607486;font-size:.88rem;line-height:1.45;opacity:1}
.hero#booking .booking-success__details{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin:0;overflow:visible;border:0;border-radius:0;background:transparent}
.hero#booking .booking-success__detail{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-content:center;min-width:0;min-height:67px;padding:10px 13px;border:1px solid #dbe6df;border-radius:12px;background:rgba(255,255,255,.82);box-shadow:0 4px 13px rgba(30,58,44,.025)}
.hero#booking .booking-success__detail.is-box,.hero#booking .booking-success__detail.is-date,.hero#booking .booking-success__detail.is-time{grid-column:span 4}
.hero#booking .booking-success__detail.is-duration,.hero#booking .booking-success__detail.is-name,.hero#booking .booking-success__detail.is-phone,.hero#booking .booking-success__detail.is-price{grid-column:span 3}
.hero#booking .booking-success__detail-icon{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;color:#112433}
.hero#booking .booking-success__detail-icon svg,.hero#booking .booking-success__helpers svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero#booking .booking-success__detail dt{align-self:end;color:#758793;font-size:.62rem;font-weight:750;line-height:1.1;text-transform:none}
.hero#booking .booking-success__detail dd{align-self:start;min-width:0;margin:3px 0 0;color:#132433;font-size:.78rem;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.hero#booking .booking-success__detail.is-time dd,.hero#booking .booking-success__detail.is-phone dd,.hero#booking .booking-success__nowrap{white-space:nowrap}
.hero#booking .booking-success__detail.is-price{border-color:#f0cf72;background:linear-gradient(145deg,#fffbea,#fff4ca)}
.hero#booking .booking-success__detail.is-price .booking-success__detail-icon{color:#d89500}
.hero#booking .booking-success__detail.is-price dt{color:#76622b}
.hero#booking .booking-success__detail.is-price dd{color:#8b5c00;font-size:1.14rem;white-space:nowrap}
.hero#booking .booking-success__helpers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;padding:12px 14px;border-radius:14px;color:#145e43;background:rgba(215,244,228,.75)}
.hero#booking .booking-success__helpers>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:2px 14px;border-right:1px solid rgba(44,122,87,.17)}
.hero#booking .booking-success__helpers>div:last-child{border-right:0}
.hero#booking .booking-success__helpers span{display:grid;place-items:center}
.hero#booking .booking-success__helpers p{margin:0;color:#315c4d;font-size:.67rem;font-weight:650;line-height:1.35}
.hero#booking .booking-success__actions{display:flex;gap:10px;margin-top:16px}
.hero#booking .booking-success__actions .button{justify-content:center;min-height:48px;padding:11px 20px;border-radius:10px;font-size:.74rem;font-weight:900}
.hero#booking .booking-success__actions .button--primary{min-width:250px;color:#fff;background:#102232}
.hero#booking .booking-success__actions .button--primary:hover{background:#1a3448}
.hero#booking .booking-success__actions .button--ghost{min-width:132px;color:#22333f;border-color:#c8d3da;background:rgba(255,255,255,.68)}

@media(max-width:700px){
  .hero#booking .today-availability{padding:14px 0 22px}
  .hero#booking .today-box-card{grid-template-columns:72px minmax(0,1fr);gap:9px 12px;min-height:0;padding:13px;border-radius:14px}
  .hero#booking .today-box-card__image{width:72px;height:66px;border-radius:10px}
  .hero#booking .today-box-card__top{min-height:66px;gap:6px}
  .hero#booking .today-box-card h4{font-size:.87rem}
  .hero#booking .today-box-card__status{font-size:.72rem}
  .hero#booking .today-box-card__status i{width:11px;height:11px}
  .hero#booking .today-box-card__windows{font-size:.68rem}
  .hero#booking .today-timeline{padding-top:10px}
  .hero#booking .today-timeline__track{height:18px}
  .hero#booking .today-timeline__hours{font-size:.5rem}
  .hero#booking .today-availability__legend{gap:14px;padding-left:0;font-size:.64rem}
  .hero#booking .duration-guidance{grid-template-columns:34px minmax(0,1fr);padding:10px 11px;font-size:.69rem}
  .hero#booking.booking--success{padding-bottom:28px}
  .hero#booking.booking--success .booking-panel{padding-bottom:14px}
  .hero#booking.booking--success .status-message:not(.status-message--error){margin-top:16px!important;padding:23px 15px 18px;border-radius:18px}
  .hero#booking .booking-success__hero{grid-template-columns:68px minmax(0,1fr);gap:14px;margin-bottom:19px}
  .hero#booking .booking-success__check{width:58px;height:58px;border-width:7px;box-shadow:0 0 0 7px rgba(105,196,143,.1),0 7px 18px rgba(32,124,80,.18)}
  .hero#booking .booking-success__check svg{width:30px;height:30px}
  .hero#booking .booking-success__intro .status-message__title{font-size:clamp(1.45rem,7.5vw,1.85rem);line-height:1.08}
  .hero#booking .booking-success__intro .status-message__note{font-size:.7rem;line-height:1.4}
  .hero#booking .booking-success__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hero#booking .booking-success__detail,.hero#booking .booking-success__detail.is-date,.hero#booking .booking-success__detail.is-time,.hero#booking .booking-success__detail.is-duration,.hero#booking .booking-success__detail.is-name{grid-column:span 1}
  .hero#booking .booking-success__detail.is-box,.hero#booking .booking-success__detail.is-phone,.hero#booking .booking-success__detail.is-price{grid-column:1/-1}
  .hero#booking .booking-success__detail{grid-template-columns:28px minmax(0,1fr);column-gap:8px;min-height:61px;padding:9px 10px}
  .hero#booking .booking-success__detail-icon{width:28px;height:28px}
  .hero#booking .booking-success__detail-icon svg{width:20px;height:20px}
  .hero#booking .booking-success__detail dd{font-size:.72rem}
  .hero#booking .booking-success__detail.is-price dd{font-size:1rem}
  .hero#booking .booking-success__helpers{grid-template-columns:1fr;margin-top:12px;padding:5px 12px}
  .hero#booking .booking-success__helpers>div{grid-template-columns:29px minmax(0,1fr);min-height:42px;padding:6px 1px;border-right:0;border-bottom:1px solid rgba(44,122,87,.14)}
  .hero#booking .booking-success__helpers>div:last-child{border-bottom:0}
  .hero#booking .booking-success__helpers svg{width:20px;height:20px}
  .hero#booking .booking-success__helpers p{font-size:.64rem}
  .hero#booking .booking-success__actions{display:grid;grid-template-columns:1fr;margin-top:13px}
  .hero#booking .booking-success__actions .button,.hero#booking .booking-success__actions .button--primary,.hero#booking .booking-success__actions .button--ghost{width:100%;min-width:0;min-height:50px}
  body.booking-success-visible .mobile-action-dock{display:none}
}

@media(max-width:350px){
  .hero#booking .booking-success__hero{grid-template-columns:1fr;gap:12px}
  .hero#booking .booking-success__intro .status-message__title{max-width:12ch}
  .hero#booking .booking-success__details{grid-template-columns:1fr}
  .hero#booking .booking-success__detail,.hero#booking .booking-success__detail.is-date,.hero#booking .booking-success__detail.is-time,.hero#booking .booking-success__detail.is-duration,.hero#booking .booking-success__detail.is-name{grid-column:1}
}
