/* Codex 2026-08-24: Impeccable/TasteSkill typography polish layer */
:root {
  --cj-font-ui: "Manrope", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --cj-font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --cj-ink: #f7eef0;
  --cj-ink-soft: #ead9df;
  --cj-ink-muted: #cdb4bf;
  --cj-accent: #cf6f91;
  --cj-accent-soft: #e19ab5;
  --cj-surface: #12111b;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  scroll-behavior: smooth;
}

body,
.layout,
.layout__main,
.layout__footer,
.ksf,
.ksf.text,
.ksf.form,
.ksf.list,
.ksf.carousel,
.ksf.accordion {
  font-family: var(--cj-font-ui) !important;
  color: var(--cj-ink) !important;
  font-optical-sizing: auto;
}

.layout__main p,
.layout__main li,
.layout__main .text,
.layout__main .text p,
.layout__main .text li,
.layout__main .text span:not([class*="icon"]),
.layout__main .text div:not([class*="button"]):not([class*="icon"]),
.layout__footer p,
.layout__footer li {
  font-family: var(--cj-font-ui) !important;
  font-size: 17px !important;
  font-weight: 560 !important;
  line-height: 1.68 !important;
  letter-spacing: 0 !important;
  color: var(--cj-ink-soft) !important;
  text-wrap: pretty;
}

.layout__main p,
.layout__main .ksf.text > div:not([class]) {
  max-width: 74ch;
}

.layout__main h1,
.layout__main h1 *,
.layout__main h2,
.layout__main h2 *,
.layout__main h3,
.layout__main h3 *,
.layout__main .ksf.heading,
.layout__main .ksf.heading *,
.layout__main .heading__text {
  font-family: var(--cj-font-display) !important;
  font-weight: 700 !important;
  color: var(--cj-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
  line-height: 0.96 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
  text-shadow: 0 16px 38px rgba(65, 28, 42, 0.22) !important;
}

body .layout__main .ksf.heading > .heading__text,
body .layout__main h1.ksf.heading > .heading__text,
body .layout__main h2.ksf.heading > .heading__text,
body .layout__main h3.ksf.heading > .heading__text {
  font-family: var(--cj-font-display) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
}

.layout__main h1,
.layout__main h1 .heading__text {
  font-size: 96px !important;
  max-width: 11ch;
}

body:not(.home) .layout__main h1,
body:not(.home) .layout__main h1 *,
body:not(.home) .layout__main h1 .heading__text {
  font-size: 72px !important;
  max-width: 20ch !important;
}

.layout__main h2,
.layout__main h2 .heading__text {
  font-size: 64px !important;
  max-width: 18ch;
}

.layout__main h3,
.layout__main h3 .heading__text {
  font-size: 42px !important;
  max-width: 22ch;
}

.layout__main :is(.cj-direction-card, .cj-pricing-section, .cj-stats-section, .cj-reviews-section) h2,
.layout__main :is(.cj-direction-card, .cj-pricing-section, .cj-stats-section, .cj-reviews-section) h2 *,
.layout__main :is(.cj-direction-card, .cj-pricing-section, .cj-stats-section, .cj-reviews-section) h3,
.layout__main :is(.cj-direction-card, .cj-pricing-section, .cj-stats-section, .cj-reviews-section) h3 * {
  max-width: none !important;
}

.layout__main .cj-hero-title,
.layout__main .cj-hero-title * {
  font-family: var(--cj-font-display) !important;
  font-weight: 700 !important;
  line-height: 0.83 !important;
  letter-spacing: 0 !important;
  color: #fff4f6 !important;
  -webkit-text-fill-color: #fff4f6 !important;
  text-shadow:
    0 18px 42px rgba(91, 33, 54, 0.32),
    0 0 18px rgba(207, 111, 145, 0.16) !important;
}

.layout__main h1.cj-hero-title,
.layout__main .cj-hero-title,
.layout__main .cj-hero-title * {
  font-family: var(--cj-font-display) !important;
  line-height: 0.98 !important;
}

body.home .layout__main h1.cj-hero-title,
body.home .layout__main h1.cj-hero-title *,
body.home .layout__main .cj-hero-title {
  font-family: var(--cj-font-display) !important;
  line-height: 0.98 !important;
  overflow: visible !important;
}

.layout__main .cj-hero-subtitle,
.layout__main .cj-hero-subtitle *,
body.home .layout__main > .ksf.section:first-child p,
body.home .layout__main > .ksf.section:first-child p * {
  font-family: var(--cj-font-ui) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  color: #f1e2e8 !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.22) !important;
}

.layout__main :is(.cj-direction-page__eyebrow, .cj-marquee__item, .cj-vertical-marquee__item),
.layout__main :is(.section__overline, .heading__overline, .ksf.badge),
.layout__footer a,
.layout__footer p,
.layout__footer li {
  font-family: var(--cj-font-ui) !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]),
.layout__footer a,
.yButton.bottom.left::after,
.chaty-cta-button {
  font-family: var(--cj-font-ui) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-underline-offset: 0.22em !important;
  text-decoration-thickness: 1px !important;
}

.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]),
.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]):hover,
.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]):focus,
.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]):active,
.layout__footer a,
.layout__footer a:hover,
.layout__footer a:focus,
.layout__footer a:active,
.cj-direction-page a,
.cj-direction-page a:hover,
.cj-direction-page a:focus,
.cj-direction-page a:active,
.cj-direction-final a,
.cj-direction-final a:hover,
.cj-direction-final a:focus,
.cj-direction-final a:active,
.cj-hero-directions a,
.cj-hero-directions a:hover,
.cj-hero-directions a:focus,
.cj-hero-directions a:active,
.cj-nav-tiles a,
.cj-nav-tiles a:hover,
.cj-nav-tiles a:focus,
.cj-nav-tiles a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
  -webkit-text-decoration-line: none !important;
  text-decoration-line: none !important;
}

.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"])::before,
.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"])::after,
.layout__footer a::before,
.layout__footer a::after {
  text-decoration: none !important;
  border-bottom: 0 !important;
}

.yButton.bottom.left,
.yButton.bottom.left:hover,
.yButton.bottom.left:focus,
.yButton.bottom.left:active,
.chaty-phone-channel,
.chaty-phone-channel:hover,
.chaty-phone-channel:focus,
.chaty-phone-channel:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  -webkit-text-decoration-line: none !important;
  text-decoration-line: none !important;
}

body :is(.ksf.btn, .ksf.button, .button, input[type="submit"], .form__submitBtn, a.modal2, .cj-direction-page__primary),
body :is(.ksf.btn, .ksf.button, .button, input[type="submit"], .form__submitBtn, a.modal2, .cj-direction-page__primary):visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 14px 30px !important;
  border: 1px solid rgba(255, 210, 225, 0.42) !important;
  border-radius: 10px !important;
  color: #fff7f9 !important;
  -webkit-text-fill-color: #fff7f9 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 42%),
    linear-gradient(135deg, #d986a5 0%, #c36a8c 54%, #9f496c 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 18px 42px rgba(143, 61, 91, 0.24),
    0 2px 0 rgba(255, 224, 234, 0.1) !important;
  text-align: center !important;
  text-decoration: none !important;
  border-bottom-color: rgba(255, 210, 225, 0.42) !important;
}

body :is(.ksf.btn, .ksf.button, .button, input[type="submit"], .form__submitBtn, a.modal2, .cj-direction-page__primary):hover {
  border-color: rgba(255, 228, 236, 0.7) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 44%),
    linear-gradient(135deg, #e093ae 0%, #cb7192 54%, #a95174 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 22px 50px rgba(164, 73, 106, 0.32),
    0 0 0 1px rgba(255, 220, 232, 0.08) !important;
}

body :is(.ksf.btn, .ksf.button, .button, input[type="submit"], .form__submitBtn, a.modal2, .cj-direction-page__primary):active {
  box-shadow:
    inset 0 2px 8px rgba(80, 24, 44, 0.22),
    0 10px 26px rgba(143, 61, 91, 0.22) !important;
}

body :is(.cj-direction-page__secondary, .cj-direction-final a:not(.modal2), a.ksf.btn[href*="yclients"], a.ksf.button[href*="yclients"], a.button[href*="yclients"], a.ksf.btn[href*="raspisanie"], a.ksf.button[href*="raspisanie"], a.button[href*="raspisanie"]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 13px 28px !important;
  border: 1px solid rgba(221, 154, 179, 0.36) !important;
  border-radius: 10px !important;
  color: #f8edf1 !important;
  -webkit-text-fill-color: #f8edf1 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0) 48%),
    rgba(22, 16, 23, 0.78) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 16px 34px rgba(14, 8, 14, 0.24) !important;
  text-align: center !important;
  text-decoration: none !important;
  border-bottom-color: rgba(221, 154, 179, 0.36) !important;
}

body :is(.cj-direction-page__secondary, .cj-direction-final a:not(.modal2), a.ksf.btn[href*="yclients"], a.ksf.button[href*="yclients"], a.button[href*="yclients"], a.ksf.btn[href*="raspisanie"], a.ksf.button[href*="raspisanie"], a.button[href*="raspisanie"]):hover {
  border-color: rgba(221, 154, 179, 0.62) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0) 48%),
    rgba(30, 20, 29, 0.9) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 18px 38px rgba(14, 8, 14, 0.28),
    0 0 0 1px rgba(221, 154, 179, 0.06) !important;
}

.yButton.bottom.left::after,
.chaty-phone-channel .chaty-cta-button,
.chaty-cta-button {
  border: 1px solid rgba(221, 154, 179, 0.38) !important;
  border-radius: 10px !important;
  color: #fff7f9 !important;
  -webkit-text-fill-color: #fff7f9 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 46%),
    rgba(20, 14, 22, 0.86) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    0 14px 30px rgba(14, 8, 14, 0.24) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(221, 154, 179, 0.38) !important;
}

.yButton.bottom.left,
.chaty-phone-channel {
  box-shadow:
    0 14px 34px rgba(198, 105, 140, 0.24),
    0 0 0 1px rgba(255, 225, 235, 0.12) !important;
}

.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]):focus-visible,
.layout__footer a:focus-visible {
  outline: 2px solid rgba(207, 111, 145, 0.85) !important;
  outline-offset: 4px !important;
}

.layout__main :is(a, button, .button, .ksf.button, .ksf.btn, input[type="submit"]) {
  transition:
    color 220ms ease,
    border-color 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease !important;
}

.layout__main :is(button, .button, .ksf.button, .ksf.btn, input[type="submit"], [role="button"]):hover {
  transform: translateY(-1px);
}

.layout__main :is(button, .button, .ksf.button, .ksf.btn, input[type="submit"], [role="button"]):active {
  transform: translateY(0) scale(0.99);
}

.layout__main :is(.counter__value, .counter__text, .price, .cj-price, [class*="price"], [class*="counter"]),
.layout__main :is(.counter__value, .counter__text, .price, .cj-price, [class*="price"], [class*="counter"]) * {
  font-family: var(--cj-font-ui) !important;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: 0 !important;
}

.layout__main .cj-pricing-section .ksf.list__item .iconText__text,
.layout__main .ksf.list__item .iconText__text {
  font-family: var(--cj-font-ui) !important;
  font-weight: 620 !important;
  line-height: 1.48 !important;
  color: var(--cj-ink-soft) !important;
}

.layout__main .cj-pricing-section .ksf.list__item,
body.home .layout__main .ksf.list__item {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.layout__main .cj-pricing-section .ksf.list__item .iconText__icon,
.layout__main .ksf.list__item .iconText__icon {
  color: var(--cj-accent) !important;
}

.layout__main .cj-direction-card p,
.layout__main .cj-direction-card li,
.layout__main .cj-direction-final p,
.layout__main .cj-direction-page__lead {
  font-family: var(--cj-font-ui) !important;
  font-size: 17px !important;
  font-weight: 580 !important;
  line-height: 1.68 !important;
  letter-spacing: 0 !important;
}

.layout__main .cj-direction-card h2,
.layout__main .cj-direction-card h2 *,
.layout__main .cj-direction-card h3,
.layout__main .cj-direction-card h3 * {
  font-family: var(--cj-font-display) !important;
  font-weight: 700 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
}

.layout__main input,
.layout__main select,
.layout__main textarea,
.layout__main .form__fieldLabel,
.layout__main .form__fieldLabel *,
.layout__main label {
  font-family: var(--cj-font-ui) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: var(--cj-ink-soft) !important;
}

.layout__main .ksf.checkbox__label,
.layout__main .ksf.checkbox__label * {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.42 !important;
}

.layout__main input::placeholder,
.layout__main textarea::placeholder {
  color: rgba(240, 209, 220, 0.68) !important;
}

.layout__main :is(.cj-legal-document, article, .post, .page) p,
.layout__main :is(.cj-legal-document, article, .post, .page) li {
  max-width: 72ch;
}

.layout__main .cj-legal-document h1,
.layout__main .cj-legal-document h2,
.layout__main .cj-legal-document h3 {
  max-width: 18ch !important;
}

::selection {
  color: #160f14;
  background: #e8a4bc;
}

@media (max-width: 1024px) {
  .layout__main h1,
  .layout__main h1 .heading__text {
    font-size: 76px !important;
  }

  body:not(.home) .layout__main h1,
  body:not(.home) .layout__main h1 *,
  body:not(.home) .layout__main h1 .heading__text {
    font-size: 58px !important;
    max-width: 18ch !important;
  }

  .layout__main h2,
  .layout__main h2 .heading__text {
    font-size: 52px !important;
  }

  .layout__main h3,
  .layout__main h3 .heading__text {
    font-size: 36px !important;
  }

  .layout__main h1,
  .layout__main h1 .heading__text {
    max-width: 12ch;
  }

  .layout__main h2,
  .layout__main h2 .heading__text {
    max-width: 16ch;
  }
}

@media (max-width: 768px) {
  .layout__main p,
  .layout__main li,
  .layout__main .text,
  .layout__main .text p,
  .layout__main .text li,
  .layout__main .text span:not([class*="icon"]),
  .layout__main .text div:not([class*="button"]):not([class*="icon"]) {
    font-size: 16px !important;
    line-height: 1.62 !important;
    letter-spacing: 0 !important;
  }

  .layout__main h1,
  .layout__main h1 *,
  .layout__main h1 .heading__text {
    font-size: 54px !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
    max-width: 9.5ch !important;
  }

  body:not(.home) .layout__main h1,
  body:not(.home) .layout__main h1 *,
  body:not(.home) .layout__main h1 .heading__text {
    font-size: 42px !important;
    max-width: 100% !important;
  }

  .layout__main h2,
  .layout__main h2 *,
  .layout__main h2 .heading__text {
    font-size: 40px !important;
    line-height: 0.96 !important;
    max-width: 12ch !important;
  }

  .layout__main h3,
  .layout__main h3 *,
  .layout__main h3 .heading__text {
    font-size: 32px !important;
    line-height: 1.02 !important;
    max-width: 14ch !important;
  }

  .layout__main .cj-direction-card h2,
  .layout__main .cj-direction-card h2 *,
  .layout__main .cj-direction-card h3,
  .layout__main .cj-direction-card h3 * {
    max-width: none !important;
  }

  .layout__main :is(.cj-direction-page__eyebrow, .cj-marquee__item, .cj-vertical-marquee__item),
  .layout__main :is(.section__overline, .heading__overline, .ksf.badge) {
    letter-spacing: 0.06em !important;
  }

  .layout__main input,
  .layout__main select,
  .layout__main textarea,
  .layout__main label {
    font-size: 15px !important;
  }
}

html body.wp-theme-ksf-smartkit .layout__main > .ksf.section:first-child a[href*="post_type=modal_post"],
html body.wp-theme-ksf-smartkit .layout__main > .ksf.section:first-child a[href*="7-dney"],
html body.wp-theme-ksf-smartkit #cj-hero-tracker > a,
html body.wp-theme-ksf-smartkit.page-id-920 .layout__main .cj-direction-page__actions a.modal2,
html body.wp-theme-ksf-smartkit.page-id-920 .layout__main .cj-direction-final a.modal2,
html body.wp-theme-ksf-smartkit .layout__main .cj-price-booking,
html body.wp-theme-ksf-smartkit .layout__main .form__submitBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 14px 30px !important;
  border: 1px solid rgba(255, 210, 225, 0.42) !important;
  border-radius: 10px !important;
  color: #fff7f9 !important;
  -webkit-text-fill-color: #fff7f9 !important;
  background-color: #c36a8c !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 42%),
    linear-gradient(135deg, #d986a5 0%, #c36a8c 54%, #9f496c 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 18px 42px rgba(143, 61, 91, 0.24),
    0 2px 0 rgba(255, 224, 234, 0.1) !important;
  text-decoration: none !important;
}

html body.wp-theme-ksf-smartkit .layout__main > .ksf.section:first-child a[href*="post_type=modal_post"]:hover,
html body.wp-theme-ksf-smartkit .layout__main > .ksf.section:first-child a[href*="7-dney"]:hover,
html body.wp-theme-ksf-smartkit #cj-hero-tracker > a:hover,
html body.wp-theme-ksf-smartkit.page-id-920 .layout__main .cj-direction-page__actions a.modal2:hover,
html body.wp-theme-ksf-smartkit.page-id-920 .layout__main .cj-direction-final a.modal2:hover,
html body.wp-theme-ksf-smartkit .layout__main .cj-price-booking:hover,
html body.wp-theme-ksf-smartkit .layout__main .form__submitBtn:hover {
  border-color: rgba(255, 228, 236, 0.7) !important;
  background-color: #cb7192 !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 44%),
    linear-gradient(135deg, #e093ae 0%, #cb7192 54%, #a95174 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 22px 50px rgba(164, 73, 106, 0.32),
    0 0 0 1px rgba(255, 220, 232, 0.08) !important;
}

html body.wp-theme-ksf-smartkit.page-id-920 .layout__main .cj-direction-page__actions a:not(.modal2),
html body.wp-theme-ksf-smartkit.page-id-920 .layout__main .cj-direction-final a:not(.modal2) {
  border: 1px solid rgba(221, 154, 179, 0.36) !important;
  border-radius: 10px !important;
  color: #f8edf1 !important;
  -webkit-text-fill-color: #f8edf1 !important;
  background-color: rgba(22, 16, 23, 0.78) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0) 48%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 16px 34px rgba(14, 8, 14, 0.24) !important;
  text-decoration: none !important;
}
