/* [next]/internal/font/google/manrope_474e4e54.module.css [app-client] (css) */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/a342834df7752944-s.bb140f9f.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/d3fe2f289711ac3f-s.p.50575af1.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/bfc7db5c00d21bc5-s.247c8473.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/6ab0db14f70d8ed6-s.18d7c7dc.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/a343f882a40d2cc9-s.p.71e1367e.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Manrope Fallback;
  src: local(Arial);
  ascent-override: 103.31%;
  descent-override: 29.07%;
  line-gap-override: 0.0%;
  size-adjust: 103.19%;
}

.manrope_474e4e54-module__NZzsGW__className {
  font-family: Manrope, Manrope Fallback;
  font-style: normal;
}

.manrope_474e4e54-module__NZzsGW__variable {
  --font-sans: "Manrope", "Manrope Fallback";
}

/* [next]/internal/font/google/cormorant_garamond_571de9ab.module.css [app-client] (css) */
@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9cc5c0547f229dea-s.6c4275d8.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/b0947914c9718a1e-s.p.dfd36b11.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/d0b60be57f16ee32-s.7a65e2c2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1f9e983605289f29-s.ef9233b7.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/01e4147cff8141ee-s.p.7787e134.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9cc5c0547f229dea-s.6c4275d8.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b0947914c9718a1e-s.p.dfd36b11.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/d0b60be57f16ee32-s.7a65e2c2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1f9e983605289f29-s.ef9233b7.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/01e4147cff8141ee-s.p.7787e134.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9cc5c0547f229dea-s.6c4275d8.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/b0947914c9718a1e-s.p.dfd36b11.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/d0b60be57f16ee32-s.7a65e2c2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1f9e983605289f29-s.ef9233b7.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/01e4147cff8141ee-s.p.7787e134.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Cormorant Garamond Fallback;
  src: local(Times New Roman);
  ascent-override: 95.27%;
  descent-override: 29.59%;
  line-gap-override: 0.0%;
  size-adjust: 96.98%;
}

.cormorant_garamond_571de9ab-module__qDX9Xa__className {
  font-family: Cormorant Garamond, Cormorant Garamond Fallback;
  font-style: normal;
}

.cormorant_garamond_571de9ab-module__qDX9Xa__variable {
  --font-serif: "Cormorant Garamond", "Cormorant Garamond Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
:root {
  --page-bg: #f2f2f4;
  --card: #fff;
  --line: #e4e2e7;
  --text: #202633;
  --muted: #8a8792;
  --accent: #9d6d80;
  --accent-soft: #ede3e8;
  --chip: #ececef;
  --danger: #c33939;
  --brand-bg: #fcf6f1;
  --brand-surface: #fff;
  --brand-text: #2d2731;
  --brand-muted: #786c79;
  --brand-primary: #a66f83;
  --brand-primary-strong: #8f596e;
  --brand-warm: #f4e3d7;
  --brand-line: #ead9d1;
}

* {
  box-sizing: border-box;
}

html, body {
  color: var(--text);
  font-family: var(--font-sans), "Avenir Next", "Segoe UI", sans-serif;
  background: linear-gradient(#fbf6f2 0%, #f7efea 52%, #f3ece9 100%);
  margin: 0;
  padding: 0;
}

.page {
  max-width: 640px;
  margin: 0 auto;
  padding: 12px 12px 92px;
}

.top-card, .content-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 14px;
  box-shadow: 0 10px 24px #281e260f;
}

.content-card {
  margin-top: 12px;
}

.main-appear {
  animation: .45s both fadeUp;
}

.step-pane {
  animation: .34s both fadeUp;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.salon-switch {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.salon-title {
  letter-spacing: -.02em;
  color: #142238;
  margin: 0;
  font-size: 30px;
  line-height: 1;
}

.salon-address {
  color: var(--muted);
  margin: 8px 0 0;
  font-size: 15px;
}

.salon-select {
  border: 1px solid var(--line);
  color: var(--text);
  background: #fff;
  border-radius: 12px;
  flex: 0 0 170px;
  margin-top: 2px;
  padding: 10px 12px;
  font-size: 14px;
}

.nav-list {
  margin-top: 14px;
}

.nav-row {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 16px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px 6px;
  transition: background-color .2s;
  display: flex;
}

.nav-row:hover:not(:disabled) {
  background: #f4f1f5;
}

.nav-row.active {
  background: #f3f1f5;
}

.nav-row.disabled {
  opacity: .55;
  cursor: not-allowed;
}

.nav-row-left {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.nav-icon {
  border: 1px solid var(--line);
  color: #505160;
  background: #f0f0f2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.nav-label {
  color: #1f2534;
  text-align: left;
  font-size: 18px;
  line-height: 1;
}

.nav-arrow {
  color: #878591;
  padding-right: 2px;
  font-size: 20px;
}

.subtle {
  color: #3c3943;
  margin: 12px 0 8px;
  font-size: 16px;
  line-height: 1;
}

.purchase-banner {
  border: 1px solid var(--line);
  background: var(--accent-soft);
  border-radius: 999px;
  grid-template-columns: 28px 1fr 18px;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 12px 16px;
  display: grid;
}

.purchase-icon {
  color: var(--accent);
  font-size: 17px;
}

.purchase-text {
  color: #5b5661;
  font-size: 16px;
  line-height: 1;
}

.purchase-arrow {
  color: #7b7680;
  justify-self: end;
  font-size: 24px;
}

.section-title {
  letter-spacing: -.01em;
  color: #142238;
  margin: 2px 0 14px;
  font-size: 32px;
  line-height: 1.02;
}

.loading, .empty-state {
  color: var(--muted);
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.15;
}

.specialist-list {
  gap: 10px;
  display: grid;
}

.specialist-item {
  border: 1px solid var(--line);
  cursor: pointer;
  background: #fff;
  border-radius: 18px;
  grid-template-columns: 56px minmax(0, 1fr) 58px;
  align-items: start;
  column-gap: 10px;
  width: 100%;
  padding: 12px;
  transition: border-color .2s, background-color .2s;
  display: grid;
}

.specialist-item.active {
  border-color: var(--accent);
  background: #fcf8fa;
}

.specialist-avatar {
  color: #585868;
  background: #dedde2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  overflow: hidden;
}

.specialist-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.specialist-body {
  text-align: left;
  min-width: 0;
}

.specialist-top {
  gap: 2px;
  min-height: 52px;
  display: grid;
}

.specialist-name {
  color: #162236;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 18px;
  line-height: 1.08;
  display: -webkit-box;
  overflow: hidden;
}

.specialist-role {
  color: #7f7b87;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 14px;
  line-height: 1.1;
  display: -webkit-box;
  overflow: hidden;
}

.specialist-rating {
  align-items: center;
  gap: 8px;
  min-height: 18px;
  margin: 5px 0 0;
  display: inline-flex;
}

.specialist-rating-stars {
  color: #e3a31d;
  letter-spacing: .04em;
  font-size: 16px;
}

.specialist-rating-meta {
  color: #8f8b96;
  font-size: 14px;
}

.specialist-description {
  color: #777380;
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.35;
}

.specialist-side {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding-top: 3px;
  display: inline-flex;
}

.info-dot {
  color: #2f333d;
  border: 1px solid #2f333d;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.choice-dot {
  background: #fff;
  border: 1px solid #cbc8d0;
  border-radius: 50%;
  width: 24px;
  height: 24px;
}

.choice-dot.active {
  border-color: var(--accent);
  background: radial-gradient(circle, var(--accent) 40%, transparent 44%);
}

.quick-title {
  color: #615c67;
  margin: 10px 0 6px;
  font-size: 14px;
}

.quick-row {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.quick-chip {
  background: var(--chip);
  color: #3f3d46;
  text-align: center;
  border: 1px solid #e0dde4;
  border-radius: 10px;
  min-width: 52px;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 1;
}

.search-wrap {
  margin-bottom: 10px;
}

.search-input, .date-input, .input, .textarea {
  width: 100%;
  color: var(--text);
  background: #fff;
  border: 1px solid #d7d4dc;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 16px;
}

.textarea {
  resize: vertical;
  min-height: 96px;
}

.categories {
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 4px;
  padding: 2px 0 10px;
  display: flex;
  overflow-x: auto;
}

.categories::-webkit-scrollbar {
  height: 0;
}

.cat-chip {
  color: #4f4d56;
  cursor: pointer;
  white-space: nowrap;
  background: #e6e5ea;
  border: none;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1;
  transition: transform .2s, background-color .2s, color .2s;
}

.cat-chip:hover {
  transform: translateY(-1px);
}

.cat-chip.active {
  background: var(--accent);
  color: #fff;
}

.service-group {
  margin-top: 16px;
}

.service-group-title {
  color: #152337;
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.02;
}

.service-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
  display: grid;
}

.service-tile {
  text-align: left;
  cursor: pointer;
  background: linear-gradient(#fff 0%, #fbf8fa 100%);
  border: 1px solid #e8e1e9;
  border-radius: 18px;
  gap: 9px;
  width: 100%;
  padding: 13px 12px;
  transition: transform .24s, box-shadow .24s, border-color .24s, background-color .24s;
  animation: .32s both tileIn;
  display: grid;
  box-shadow: 0 8px 18px #36222e14;
}

.service-tile:hover {
  border-color: #d9c8d2;
  transform: translateY(-2px);
  box-shadow: 0 14px 22px #36222e21;
}

.service-tile.active {
  border-color: var(--accent);
  background: linear-gradient(#fff8fb 0%, #f9edf3 100%);
  box-shadow: 0 16px 26px #66405333;
}

.service-tile-head {
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: start;
  gap: 10px;
  display: grid;
}

.service-name {
  color: #1f2735;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 19px;
  line-height: 1.15;
  display: -webkit-box;
  overflow: hidden;
}

.service-desc {
  color: #8c8894;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
}

.service-price {
  color: #182536;
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.02;
}

.service-check {
  background: #fff;
  border: 1px solid #cbc7d1;
  border-radius: 6px;
  justify-self: end;
  width: 24px;
  height: 24px;
  margin-top: 1px;
}

.service-check.active {
  border-color: var(--accent);
  background: linear-gradient(#b48296 0%, #9e6d81 100%);
  position: relative;
}

.service-check.active:after {
  content: "";
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 6px;
  height: 12px;
  position: absolute;
  top: 3px;
  left: 7px;
  transform: rotate(45deg);
}

.service-badges {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.service-pill {
  color: #5d5561;
  letter-spacing: .01em;
  background: #f0ebf0;
  border-radius: 999px;
  padding: 7px 9px;
  font-size: 12px;
  line-height: 1;
}

.service-pill.soft {
  color: #8d6073;
  background: #f3e9ee;
}

@keyframes tileIn {
  from {
    opacity: 0;
    transform: translateY(6px)scale(.99);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.sticky-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 16px;
  margin-top: 14px;
  padding: 12px;
  position: sticky;
  bottom: 10px;
  box-shadow: 0 10px 20px #23181e24;
}

.sticky-line {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  display: flex;
}

.sticky-service {
  color: #4a4750;
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
}

.sticky-edit {
  color: var(--accent);
  cursor: pointer;
  background: none;
  border: none;
  font-size: 13px;
  text-decoration: underline;
}

.slot-section {
  margin-top: 14px;
}

.calendar-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px;
  padding: 12px;
  animation: .32s both fadeUp;
  box-shadow: 0 10px 22px #19131814;
}

.calendar-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  display: flex;
}

.calendar-month {
  color: #202b3b;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.calendar-nav {
  color: #4a4550;
  cursor: pointer;
  background: #f4f2f6;
  border: 1px solid #ddd8e1;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 1;
  transition: transform .2s, background-color .2s;
}

.calendar-nav:hover {
  background: #ebe6ee;
  transform: scale(1.05);
}

.calendar-weekdays {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 6px;
  display: grid;
}

.calendar-weekdays span {
  text-align: center;
  color: #8f8a95;
  text-transform: lowercase;
  font-size: 12px;
}

.calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.calendar-day {
  color: #262a35;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 10px;
  height: 36px;
  font-size: 14px;
  transition: background-color .2s, border-color .2s, transform .2s;
}

.calendar-day:hover:not(:disabled) {
  background: #f2edf0;
  border-color: #d5ccd2;
  transform: translateY(-1px);
}

.calendar-day.muted {
  color: #c4bec8;
}

.calendar-day.selected {
  border-color: var(--accent);
  color: #fff;
  background: #9d6d80;
  font-weight: 700;
}

.calendar-day:disabled {
  color: #c9c4ce;
  cursor: not-allowed;
}

.selected-date-line {
  color: #736e79;
  margin: 10px 0 2px;
  font-size: 13px;
}

.slot-title {
  color: #16263a;
  margin: 0 0 9px;
  font-size: 18px;
  line-height: 1;
}

.slots {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.slot-chip {
  color: #3f3d46;
  cursor: pointer;
  background: #ececef;
  border: 1px solid #d8d5dd;
  border-radius: 10px;
  padding: 10px 6px;
  font-size: 17px;
  line-height: 1;
}

.slot-chip.active {
  border-color: var(--accent);
  color: #5d3e4c;
  background: #e8d6de;
  font-weight: 700;
}

.detail-card {
  border: 1px solid var(--line);
  background: #faf9fb;
  border-radius: 16px;
  padding: 10px 12px;
}

.detail-row {
  border-bottom: 1px solid #e8e6ec;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  display: flex;
}

.detail-row.no-border {
  border-bottom: none;
}

.detail-left {
  min-width: 0;
}

.detail-label {
  color: #8a8692;
  margin: 0;
  font-size: 13px;
}

.detail-value {
  color: #182536;
  word-break: break-word;
  margin: 3px 0 0;
  font-size: 15px;
  line-height: 1.35;
}

.edit-link {
  color: var(--accent);
  cursor: pointer;
  background: none;
  border: none;
  font-size: 13px;
  text-decoration: underline;
}

.form-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 16px;
  margin-top: 14px;
  padding: 12px;
}

.form-title {
  color: #17243b;
  margin: 0 0 10px;
  font-size: 21px;
}

.form-grid {
  gap: 10px;
  display: grid;
}

.field {
  display: block;
}

.field-label {
  color: #6d6975;
  margin: 0 0 6px;
  font-size: 14px;
  display: block;
}

.checks {
  gap: 8px;
  margin-top: 10px;
  display: grid;
}

.check-label {
  color: #666370;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.check-label input {
  margin-top: 1px;
}

.next-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(#a77689 0%, #976b7d 100%);
  border: none;
  border-radius: 12px;
  width: 100%;
  margin-top: 12px;
  padding: 14px 12px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.next-btn.secondary {
  color: #5d5763;
  background: #eee8eb;
}

.next-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.success-card {
  border: 1px solid var(--line);
  background: #f8f7fa;
  border-radius: 16px;
  margin-top: 12px;
  padding: 12px;
}

.success-badge {
  color: #1c8a51;
  background: #d9f4e4;
  border-radius: 8px;
  padding: 5px 9px;
  font-size: 13px;
  font-weight: 700;
  display: inline-block;
}

.success-title {
  color: #16263a;
  margin: 10px 0 4px;
  font-size: 28px;
  line-height: 1;
}

.success-time {
  color: #61606a;
  margin: 4px 0 0;
  font-size: 14px;
}

.actions {
  gap: 10px;
  margin-top: 10px;
  display: grid;
}

.contacts-block {
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-top: 12px;
  padding: 12px;
}

.contacts-title {
  color: #182536;
  margin: 0 0 8px;
  font-size: 19px;
}

.contacts-line {
  color: #595865;
  margin: 4px 0;
  font-size: 14px;
}

.error {
  color: var(--danger);
  margin: 10px 2px 0;
  font-size: 14px;
}

@media (max-width: 640px) {
  .page {
    padding: 10px 10px 84px;
  }

  .top-card, .content-card {
    border-radius: 20px;
    padding: 12px;
  }

  .salon-switch {
    flex-direction: column;
  }

  .salon-title {
    font-size: 26px;
  }

  .salon-select {
    flex: none;
    width: 100%;
  }

  .section-title {
    font-size: 28px;
  }

  .service-group-title {
    font-size: 24px;
  }

  .slots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 440px) {
  .salon-title {
    font-size: 24px;
  }

  .section-title {
    font-size: 26px;
  }

  .service-group-title {
    font-size: 22px;
  }

  .specialist-item {
    grid-template-columns: 52px minmax(0, 1fr) 52px;
  }

  .specialist-avatar {
    width: 52px;
    height: 52px;
  }

  .slots {
    grid-template-columns: 1fr 1fr;
  }
}

.landing, .info-page {
  max-width: 1180px;
  color: var(--brand-text);
  margin: 0 auto;
  padding: 10px 16px 40px;
  position: relative;
}

.landing-orb {
  pointer-events: none;
  z-index: 0;
  filter: blur(.2px);
  border-radius: 999px;
  position: absolute;
}

.landing-orb-top {
  opacity: .55;
  background: radial-gradient(circle at 40% 40%, #ffe8d8 0%, #f3d8c8 100%);
  width: 280px;
  height: 280px;
  top: -70px;
  right: -120px;
}

.landing-orb-bottom {
  opacity: .45;
  background: radial-gradient(circle, #efd9ca 0%, #ebc8b2 100%);
  width: 230px;
  height: 230px;
  bottom: 240px;
  left: -100px;
}

.landing > *, .info-page > * {
  z-index: 1;
  position: relative;
}

.landing-header, .info-header {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0 0 14px;
  display: flex;
}

.brand {
  color: #342737;
  font-family: var(--font-serif), Georgia, serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.landing-nav {
  align-items: center;
  gap: 20px;
  display: flex;
}

.landing-nav a {
  color: #4f4350;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s;
}

.landing-nav a:hover {
  color: #7f5268;
}

.header-cta, .primary-btn, .ghost-btn {
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  height: 44px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .22s, box-shadow .22s, background-color .22s;
  display: inline-flex;
}

.header-cta, .primary-btn {
  background: linear-gradient(180deg, var(--brand-primary) 0%, var(--brand-primary-strong) 100%);
  color: #fff;
  box-shadow: 0 10px 18px #82546740;
}

.ghost-btn {
  color: #5f505f;
  background: #fff;
  border: 1px solid #d9c7c3;
}

.header-cta:hover, .primary-btn:hover, .ghost-btn:hover {
  transform: translateY(-1px);
}

.hero {
  border: 1px solid var(--brand-line);
  background: linear-gradient(125deg, #fff5ede6 0%, #fffaf7eb 58%, #f8ebe3e6 100%), var(--brand-surface);
  border-radius: 30px;
  padding: 34px;
  animation: .4s both appearUp;
  box-shadow: 0 20px 40px #573b4314;
}

.hero-kicker {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8b6f73;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}

.hero-title {
  font-family: var(--font-serif), Georgia, serif;
  letter-spacing: -.01em;
  color: #322636;
  max-width: 900px;
  margin: 14px 0 0;
  font-size: 56px;
  line-height: .95;
}

.hero-lead {
  color: #6f6371;
  max-width: 720px;
  margin: 18px 0 0;
  font-size: 18px;
  line-height: 1.5;
}

.hero-actions {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  display: flex;
}

.hero-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
  display: grid;
}

.hero-metrics article {
  background: #ffffffa6;
  border: 1px solid #ead9d3;
  border-radius: 16px;
  gap: 3px;
  padding: 12px;
  display: grid;
}

.hero-metrics strong {
  color: #352736;
  font-size: 26px;
  line-height: 1;
}

.hero-metrics span {
  color: #7a6d7a;
  font-size: 13px;
  line-height: 1.35;
}

.tile-section, .benefits, .showcase, .testimonials {
  border: 1px solid var(--brand-line);
  background: #ffffffc7;
  border-radius: 26px;
  margin-top: 18px;
  padding: 20px;
  animation: .44s both appearUp;
  box-shadow: 0 14px 30px #462c3514;
}

.section-head {
  margin-bottom: 14px;
}

.section-head h2 {
  color: #302534;
  font-family: var(--font-serif), Georgia, serif;
  margin: 0;
  font-size: 38px;
  line-height: 1;
}

.section-head p {
  color: #746977;
  margin: 8px 0 0;
  font-size: 15px;
}

.tile-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.tile-card {
  color: #2f2633;
  background: linear-gradient(#f2dcd0 0%, #efd5c8 100%);
  border: 1px solid #dcced0;
  border-radius: 18px;
  align-content: start;
  gap: 10px;
  min-height: 190px;
  padding: 16px;
  text-decoration: none;
  transition: transform .24s, box-shadow .24s, border-color .24s, background-color .24s;
  animation: .4s both tileEnter;
  display: grid;
  box-shadow: 0 12px 20px #5f42491f;
}

.tile-card:hover {
  border-color: #c8adb2;
  transform: translateY(-3px);
  box-shadow: 0 16px 24px #5c404b33;
}

.tile-label {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #7e5968;
  font-size: 11px;
  font-weight: 700;
}

.tile-card h3 {
  font-size: 30px;
  font-family: var(--font-serif), Georgia, serif;
  margin: 0;
  line-height: .95;
}

.tile-card p {
  color: #5f505f;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

.tile-link {
  color: #6f4f60;
  margin-top: auto;
  font-size: 13px;
  font-weight: 700;
}

.benefit-grid, .showcase-grid, .testimonial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.benefit-card, .showcase-card, .testimonial-card, .info-card {
  background: #fff;
  border: 1px solid #e8dad7;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 8px 18px #513a4014;
}

.benefit-card h3, .showcase-card h3, .info-card h2 {
  font-size: 24px;
  font-family: var(--font-serif), Georgia, serif;
  color: #332735;
  margin: 0;
  line-height: 1;
}

.benefit-card p, .showcase-card p, .info-card p {
  color: #716473;
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.45;
}

.testimonial-card .quote {
  color: #4b3c4b;
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.testimonial-card .author {
  color: #8a7382;
  margin: 12px 0 0;
  font-size: 13px;
  font-weight: 700;
}

.cta-band {
  background: linear-gradient(130deg, #f4e4da 0%, #eed7ca 100%);
  border: 1px solid #d8c7c6;
  border-radius: 20px;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding: 22px;
  display: flex;
}

.cta-band h2 {
  font-family: var(--font-serif), Georgia, serif;
  color: #302534;
  margin: 0;
  font-size: 36px;
  line-height: 1;
}

.cta-band p {
  color: #6f6270;
  margin: 8px 0 0;
  font-size: 15px;
}

.site-footer {
  color: #fff;
  background: linear-gradient(#b57a8f 0%, #a5677d 100%);
  border: 1px solid #cda4af;
  border-radius: 22px;
  margin-top: 18px;
  padding: 24px 20px;
}

.footer-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  display: grid;
}

.site-footer h3 {
  font-size: 21px;
  font-family: var(--font-serif), Georgia, serif;
  color: #fff;
  margin: 0 0 10px;
}

.site-footer ul {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.site-footer a {
  color: #ffffffeb;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.footer-note {
  color: #ffffffd6;
  margin: 18px 0 0;
  font-size: 13px;
}

.info-header-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.info-hero {
  border: 1px solid var(--brand-line);
  background: #fff;
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 14px 24px #432b3614;
}

.info-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
  display: grid;
}

.info-card ul {
  color: #716473;
  margin: 10px 0 0;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.45;
}

@keyframes appearUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tileEnter {
  from {
    opacity: 0;
    transform: translateY(6px)scale(.99);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

@media (max-width: 1100px) {
  .hero-title {
    font-size: 48px;
  }

  .tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .benefit-grid, .showcase-grid, .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .landing, .info-page {
    padding: 12px 10px 24px;
  }

  .landing-header, .info-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .landing-nav {
    gap: 14px;
    width: 100%;
    padding-bottom: 4px;
    overflow-x: auto;
  }

  .hero {
    border-radius: 24px;
    padding: 20px;
  }

  .hero-title {
    font-size: 40px;
  }

  .hero-lead {
    font-size: 16px;
  }

  .hero-metrics, .tile-grid, .info-sections {
    grid-template-columns: 1fr;
  }

  .cta-band {
    flex-direction: column;
    align-items: flex-start;
  }

  .cta-band h2 {
    font-size: 30px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__fd52a81f._.css.map*/