/**
 * Flirt Nails — blush palette
 * ink: deep plum · paper: soft blush white · accent: rose quartz
 */
:root {
  --fn-ink: #4a2c3d;
  --fn-ink-rgb: 74, 44, 61;
  --fn-paper: #fff7f8;
  --fn-paper-rgb: 255, 247, 248;
  --fn-mist: #f8eeef;
  --fn-accent: #e8a4b8;
  --fn-accent-deep: #5c2239;
  --fn-blush: #fce8ee;
  --fn-shadow-soft: 0 14px 40px rgba(74, 44, 61, 0.07);
  --fn-shadow-lift: 0 22px 56px rgba(74, 44, 61, 0.11);
  --fn-shadow-glow: 0 8px 32px rgba(232, 164, 184, 0.35);
  --fn-btn-gradient: linear-gradient(135deg, #d10019 0%, #8f0012 48%, #0a0a0a 100%);
  --fn-btn-gradient-hover: linear-gradient(135deg, #0a0a0a 0%, #a00014 52%, #d10019 100%);
  --fn-black: #0a0a0a;
  --fn-black-rgb: 10, 10, 10;
  --fn-radius-lg: 1.25rem;
  --fn-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

body {
  background-color: var(--fn-paper);
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(232, 164, 184, 0.18), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 50%, rgba(232, 164, 184, 0.08), transparent 50%),
    radial-gradient(ellipse 50% 35% at 0% 80%, rgba(248, 238, 239, 0.9), transparent 45%);
  background-attachment: fixed;
}

::selection {
  background: rgba(232, 164, 184, 0.45);
  color: var(--fn-ink);
}

.conversion-mobile-bar__inner {
  background: rgba(74, 44, 61, 0.94);
}

.conversion-toast {
  background: var(--fn-ink);
}

.bg-paper\/70 {
  background-color: hsla(350, 40%, 97%, 0.82) !important;
}

/* ── Center all content except hero ── */
nav[aria-label="Хлебные крошки"],
body > nav[aria-label="Хлебные крошки"],
main > :not(.hero-section),
main ~ section,
footer.site-footer {
  text-align: center;
}

main > header {
  text-align: center;
}

main > :not(.hero-section) [class*="max-w-"],
main > header [class*="max-w-"],
footer.site-footer [class*="max-w-"] {
  margin-left: auto;
  margin-right: auto;
}

main > header .h-px,
main > header .bg-gradient-to-r.max-w-xs {
  margin-left: auto;
  margin-right: auto;
}

main > header p[class*="max-w-"] {
  margin-inline: auto;
}

main > :not(.hero-section) .text-left {
  text-align: center !important;
}

main > section:not(.hero-section) .flex[class*="justify-between"],
main > section:not(.hero-section) .flex[class*="items-end"] {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 1rem;
  text-align: center;
}

main > section:not(.hero-section) .flex.flex-col:not(.hero-section *) {
  align-items: center;
}

main > section:not(.hero-section) .justify-start {
  justify-content: center !important;
}

main > section:not(.hero-section) li.rounded-2xl,
main .explore-grid li,
main section[aria-label="Статьи блога"] .blog-card {
  text-align: center;
}

/* Hero stays left-aligned */
.hero-section {
  text-align: left;
}

.hero-section .text-left,
.hero-section h1,
.hero-section p {
  text-align: left !important;
}

.hero-section .hero-trust,
.hero-section .mt-8.flex {
  justify-content: flex-start;
}

/* Section headers with side actions (reviews, etc.) */
main section[aria-labelledby="reviews-heading"] > div > .flex.flex-col {
  align-items: center !important;
  justify-content: center !important;
}

/* Conversion strip */
.conversion-strip__inner {
  align-items: center;
  text-align: center;
}

@media (min-width: 640px) {
  .conversion-strip__inner {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem 1.5rem;
  }
}

.conversion-strip__actions {
  justify-content: center;
}

/* Work cards overlay text */
#work-grid .absolute.bottom-0 {
  text-align: center;
}

/* FAQ accordion */
.faq-hero .faq-toggle {
  justify-content: space-between !important;
  text-align: left !important;
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.85rem 3rem 0.85rem 1.15rem !important;
}

.faq-hero .faq-toggle > span[aria-hidden] {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.faq-hero .faq-panel p {
  text-align: left;
}

.faq-toggle {
  position: relative;
  justify-content: center !important;
  text-align: center !important;
}

.faq-toggle > span[aria-hidden] {
  position: absolute;
  right: 1.25rem;
}

.faq-panel p {
  text-align: center;
}

/* Contact card */
.kontakty-hero__card {
  align-items: center;
  text-align: center;
}

.kontakty-hero__details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.kontakty-hero__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
  width: 100%;
}

.kontakty-hero__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: rgba(var(--fn-ink-rgb), 0.05);
  color: rgba(var(--fn-ink-rgb), 0.55);
}

.kontakty-hero__icon svg {
  width: 1rem;
  height: 1rem;
}

.kontakty-hero__text {
  min-width: 0;
}

.kontakty-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem;
  margin-top: 1.5rem;
  width: 100%;
}

.kontakty-hero__actions a[href*="wa.me"] svg {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}

.kontakty-hero__social {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(var(--fn-ink-rgb), 0.08);
  width: 100%;
  text-align: center;
}

.kontakty-hero__social-label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(var(--fn-ink-rgb), 0.45);
}

.kontakty-hero__social-list {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.kontakty-hero__social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.25rem;
  padding: 0.35rem 0.85rem 0.35rem 0.35rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.08);
  background: rgba(255, 255, 255, 0.85);
  font-size: 0.8125rem;
  font-weight: 500;
  color: rgba(var(--fn-ink-rgb), 0.72);
  text-decoration: none;
  transition:
    border-color 0.2s var(--fn-ease),
    color 0.2s var(--fn-ease),
    background-color 0.2s var(--fn-ease),
    transform 0.2s var(--fn-ease);
}

.kontakty-hero__social-link:hover {
  border-color: rgba(232, 164, 184, 0.45);
  color: var(--fn-ink);
  background: #fff;
  transform: translateY(-1px);
}

.kontakty-hero__icon--social {
  width: 1.75rem;
  height: 1.75rem;
  background: rgba(var(--fn-ink-rgb), 0.04);
}

main section[aria-label="Адрес и карта"] .flex.flex-col.justify-center {
  align-items: center;
  text-align: center;
}

main section[aria-label="Адрес и карта"] .mt-8.flex,
main section[aria-label="Адрес и карта"] ul.flex-wrap {
  justify-content: center;
}

/* Breadcrumbs */
nav[aria-label="Хлебные крошки"] ol,
body > nav[aria-label="Хлебные крошки"] ol {
  justify-content: center;
}

/* Footer — centered columns */
footer.site-footer .site-footer__grid {
  justify-items: center;
  align-items: start;
}

footer.site-footer .site-footer__actions {
  display: grid !important;
  justify-content: center;
  justify-items: center;
  column-gap: 1rem;
  row-gap: 0.2rem;
  margin-top: 0.5rem !important;
  padding: 0;
  list-style: none;
}

footer.site-footer .site-footer__nav {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 0.75rem;
  margin-top: 0.5rem !important;
  max-width: 100%;
}

footer.site-footer .site-footer__nav a {
  flex-shrink: 0;
}

footer.site-footer .site-footer__actions {
  grid-template-columns: repeat(2, minmax(0, max-content));
}

footer.site-footer .site-footer__social {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-top: 0.5rem !important;
  padding: 0;
  list-style: none;
  max-width: 100%;
}

footer.site-footer .site-footer__social li {
  flex-shrink: 0;
}

@media (min-width: 640px) {
  footer.site-footer .site-footer__actions {
    grid-template-columns: repeat(3, minmax(0, max-content));
  }

  footer.site-footer .site-footer__nav {
    gap: 0.4rem 1rem;
  }

  footer.site-footer .site-footer__social {
    gap: 0.4rem 0.65rem;
  }
}

footer.site-footer .site-footer__brand-meta {
  max-width: 22rem;
  margin-inline: auto;
}

@media (min-width: 1024px) {
  footer.site-footer .site-footer__brand-meta {
    margin-inline: 0;
    text-align: left;
    max-width: none;
  }
}

footer.site-footer .site-footer__bottom {
  text-align: center !important;
  justify-content: center !important;
}

@media (min-width: 640px) {
  footer.site-footer .site-footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: center !important;
    gap: 0.75rem;
  }

  footer.site-footer:not(:has(.site-footer__grid)) .site-footer__nav {
    flex-wrap: nowrap;
    gap: 0.4rem 1rem;
  }
}

/* Footer */
footer.site-footer {
  text-align: center;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

@media (min-width: 640px) {
  footer.site-footer {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }
}

footer.site-footer .site-footer__grid {
  gap: 1.25rem !important;
}

@media (min-width: 1024px) {
  footer.site-footer .site-footer__grid {
    gap: 1.5rem !important;
  }
}

footer.site-footer .site-footer__brand .font-serif {
  font-size: 1.125rem;
  line-height: 1.25;
}

@media (min-width: 640px) {
  footer.site-footer .site-footer__brand .font-serif {
    font-size: 1.25rem;
  }
}

footer.site-footer .site-footer__brand p:not(.font-serif):not(.site-footer__brand-meta) {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.4;
}

footer.site-footer .site-footer__brand-meta {
  font-size: 0.8125rem;
}

footer.site-footer .site-footer__brand a:not(.site-footer__brand-meta a) {
  margin-top: 0.5rem !important;
  font-size: 0.8125rem;
}

footer.site-footer .site-footer__nav,
footer.site-footer .site-footer__actions {
  gap: 0.2rem 1rem !important;
}

footer.site-footer .site-footer__bottom {
  margin-top: 1rem !important;
  padding-top: 0.75rem !important;
  font-size: 0.8125rem;
}

footer.site-footer .site-footer__label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fn-black);
}

footer.site-footer .site-footer__nav a,
footer.site-footer .site-footer__social a,
footer.site-footer .site-footer__actions a {
  display: inline-block;
  line-height: 1.45;
  color: var(--fn-black);
  transition: opacity 0.2s var(--fn-ease);
}

footer.site-footer .site-footer__social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: rgba(var(--fn-ink-rgb), 0.72);
  text-decoration: none;
  transition:
    color 0.2s var(--fn-ease),
    border-color 0.2s var(--fn-ease),
    background-color 0.2s var(--fn-ease);
}

footer.site-footer .site-footer__social-link:hover {
  color: var(--fn-ink);
}

footer.site-footer .site-footer__social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 999px;
  background: rgba(var(--fn-ink-rgb), 0.05);
  color: rgba(var(--fn-ink-rgb), 0.55);
}

footer.site-footer .site-footer__social-icon svg {
  width: 0.875rem;
  height: 0.875rem;
}

footer.site-footer .site-footer__social-link:hover .site-footer__social-icon {
  background: rgba(var(--fn-ink-rgb), 0.08);
  color: var(--fn-ink);
}

footer.site-footer .site-footer__social-link:hover .site-footer__social-icon img {
  opacity: 0.9;
}

footer.site-footer a:hover {
  color: var(--fn-black) !important;
  opacity: 0.72;
}

footer.site-footer .site-footer__bottom {
  color: var(--fn-black);
}

footer.site-footer .site-footer__bottom a:hover {
  color: var(--fn-black) !important;
  opacity: 0.72;
}

footer.site-footer,
footer.site-footer p,
footer.site-footer a,
footer.site-footer [class*="text-ink"] {
  color: var(--fn-black) !important;
}

footer.site-footer a[class*="decoration-ink"] {
  text-decoration-color: rgba(var(--fn-black-rgb), 0.25) !important;
}

footer.site-footer a[class*="decoration-ink"]:hover {
  text-decoration-color: rgba(var(--fn-black-rgb), 0.45) !important;
}

/* ── Design polish ── */

/* Header glass */
.site-header {
  border-bottom-color: rgba(var(--fn-ink-rgb), 0.06) !important;
  contain: layout style;
}

.site-header.is-scrolled {
  background-color: hsla(350, 40%, 97%, 0.92) !important;
  box-shadow:
    0 1px 0 rgba(var(--fn-ink-rgb), 0.06),
    0 12px 40px rgba(var(--fn-ink-rgb), 0.08) !important;
}

/* Header nav — sliding active pill */
.header-nav-track {
  position: relative;
  contain: layout;
  isolation: isolate;
}

.header-nav-indicator {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 9999px;
  background: var(--fn-btn-gradient);
  box-shadow: 0 2px 10px rgba(10, 10, 10, 0.2);
  pointer-events: none;
  opacity: 0;
  transform: translate3d(0, 0, 0);
  transition: transform 0.38s var(--fn-ease), opacity 0.2s ease;
  will-change: transform;
}

.header-nav-track.is-indicator-ready .header-nav-indicator {
  opacity: 1;
}

.header-nav-track .header-nav-link {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  border: 1px solid transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: color 0.25s var(--fn-ease) !important;
}

.header-nav-track .header-nav-link:hover {
  background: transparent !important;
  box-shadow: none !important;
}

.header-nav-track .header-nav-link.is-active {
  color: #fff !important;
}

.header-nav-track .header-nav-link:not(.is-active) {
  color: var(--fn-black) !important;
}

.header-nav-track .header-nav-link:not(.is-active):hover {
  color: var(--fn-black) !important;
  background: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  .header-nav-indicator {
    transition: none;
  }
}

/* Header — compact height & text alignment */
.site-header > .relative.mx-auto > .flex.items-center {
  height: var(--fn-header-bar-h) !important;
  min-height: var(--fn-header-bar-h);
  align-items: center;
}

.site-header nav[aria-label="Основное меню"] .header-nav-track,
.site-header nav[aria-label="Основное меню"] > div {
  padding: 0.125rem !important;
  align-items: center;
  min-height: 2rem;
}

.site-header nav[aria-label="Разделы сайта"] {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
  align-items: center;
  min-height: 2.25rem;
}

/* Stable nav pills before JS — prevents layout jump on init */
.site-header nav[aria-label="Основное меню"] > div a,
.site-header nav[aria-label="Разделы сайта"] a {
  background: transparent !important;
  box-shadow: none !important;
  border: 1px solid transparent !important;
}

.site-header nav[aria-label="Основное меню"] .header-nav-link,
.site-header nav[aria-label="Основное меню"] a.rounded-full {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.3125rem 0.8125rem !important;
  line-height: 1.15 !important;
  font-size: 0.8125rem !important;
}

.site-header nav[aria-label="Разделы сайта"] .header-nav-link,
.site-header nav[aria-label="Разделы сайта"] a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.3125rem 0.75rem !important;
  line-height: 1.15 !important;
  font-size: 0.75rem !important;
  color: var(--fn-black) !important;
}

.site-header nav[aria-label="Основное меню"] a.rounded-full {
  color: var(--fn-black) !important;
}

/* Header — black text (active pill stays white) */
.site-header [class*="text-ink"]:not(.text-white),
.site-header nav[aria-label="Основное меню"] a.rounded-full:not(.is-active),
.site-header nav[aria-label="Разделы сайта"] a:not(.is-active) {
  color: var(--fn-black) !important;
}

.site-header [role="group"][aria-label="Связь и соцсети"] a {
  color: var(--fn-black) !important;
}

.site-header [role="group"][aria-label="Связь и соцсети"] a:hover {
  color: var(--fn-black) !important;
}

.site-header [role="group"][aria-label="Связь и соцсети"] img.brightness-0 {
  opacity: 0.85 !important;
}

.site-header img[alt*="логотип"] {
  height: 2.625rem !important;
  width: auto;
}

.site-header a[href*="dikidi"].inline-flex {
  height: 2.125rem !important;
  min-height: 2.125rem !important;
  padding-block: 0 !important;
  line-height: 1 !important;
  align-items: center !important;
  font-size: 0.8125rem !important;
}

.site-header [role="group"][aria-label="Связь и соцсети"] {
  padding: 0.125rem !important;
  align-items: center;
}

.site-header [role="group"][aria-label="Связь и соцсети"] a {
  height: 2rem !important;
  width: 2rem !important;
}

@media (min-width: 640px) {
  .site-header > .relative.mx-auto > .flex.items-center {
    height: var(--fn-header-bar-h-sm) !important;
    min-height: var(--fn-header-bar-h-sm);
  }

  .site-header img[alt*="логотип"] {
    height: 2.875rem !important;
  }

  .site-header [role="group"][aria-label="Связь и соцсети"] a {
    height: 2.125rem !important;
    width: 2.125rem !important;
  }

  .site-header nav[aria-label="Разделы сайта"] .header-nav-link,
  .site-header nav[aria-label="Разделы сайта"] a {
    font-size: 0.8125rem !important;
  }
}

@media (min-width: 1024px) {
  .site-header > .relative.mx-auto > .flex.items-center {
    height: var(--fn-header-bar-h-lg) !important;
    min-height: var(--fn-header-bar-h-lg);
  }

  .site-header img[alt*="логотип"] {
    height: 3.25rem !important;
  }

  .site-header nav[aria-label="Основное меню"] .header-nav-link {
    padding-inline: 0.9375rem !important;
  }
}

@media (min-width: 1280px) {
  .site-header nav[aria-label="Основное меню"] .header-nav-link {
    padding-inline: 1rem !important;
  }
}

main > header > p.text-xs.font-semibold.uppercase,
main section > div > div > p.text-xs.font-semibold.uppercase,
main section > div > p.text-xs.font-semibold.uppercase {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: rgba(var(--fn-ink-rgb), 0.55);
}

main > header > p.text-xs.font-semibold.uppercase::before,
main section > div > div > p.text-xs.font-semibold.uppercase::before,
main section > div > p.text-xs.font-semibold.uppercase::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--fn-accent), var(--fn-accent-deep));
  flex-shrink: 0;
}

/* Page headings */
main > header h1,
main section h2.font-serif {
  letter-spacing: -0.02em;
}

main > header .h-px.max-w-xs,
main > header .bg-gradient-to-r.max-w-xs {
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--fn-ink-rgb), 0.2) 20%,
    var(--fn-accent) 50%,
    rgba(var(--fn-ink-rgb), 0.2) 80%,
    transparent
  ) !important;
}

/* Page intro — uslugi, salon, etc. */
main > header.page-intro {
  padding-bottom: 0.75rem;
}

main > header.page-intro p[class*="max-w-"] {
  margin-top: 0.75rem;
}

main > header.page-intro .h-px.max-w-xs,
main > header.page-intro .bg-gradient-to-r.max-w-xs {
  margin-top: 0.75rem;
}

main > header.page-intro + section {
  margin-top: 0;
  padding-top: 1.25rem !important;
  border-top: none;
  box-shadow: none;
}

main > header.page-intro + section::before {
  content: none;
}

@media (min-width: 640px) {
  main > header.page-intro {
    padding-bottom: 1rem;
  }

  main > header.page-intro + section {
    padding-top: 1.5rem !important;
  }
}

/* Primary CTAs — red / black gradient */
a.bg-ink.text-white,
button.bg-ink.text-white,
.conversion-strip__btn--primary,
.conversion-mobile-bar__book {
  background: var(--fn-btn-gradient) !important;
  color: #fff !important;
  box-shadow:
    0 6px 18px rgba(10, 10, 10, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
  transition:
    transform 0.22s var(--fn-ease),
    box-shadow 0.22s var(--fn-ease),
    background 0.28s var(--fn-ease) !important;
}

a.bg-ink.text-white:hover,
button.bg-ink.text-white:hover,
.conversion-strip__btn--primary:hover,
.conversion-mobile-bar__book:hover {
  background: var(--fn-btn-gradient-hover) !important;
  box-shadow:
    0 10px 28px rgba(10, 10, 10, 0.34),
    0 0 0 1px rgba(209, 0, 25, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

/* Secondary buttons */
a.border.border-ink\/15.rounded-full,
.conversion-strip__btn--secondary {
  backdrop-filter: blur(8px);
  transition:
    border-color 0.2s var(--fn-ease),
    background-color 0.2s var(--fn-ease),
    box-shadow 0.2s var(--fn-ease),
    transform 0.2s var(--fn-ease);
}

a.border.border-ink\/15.rounded-full:hover,
.conversion-strip__btn--secondary:hover {
  border-color: rgba(var(--fn-ink-rgb), 0.22) !important;
  box-shadow: var(--fn-shadow-soft);
}

/* Review, explore, promo & salon gallery cards */
main section[aria-labelledby="reviews-heading"] li,
main section[aria-labelledby="explore-heading"] li,
main section[aria-labelledby="promo-heading"] li,
main section[aria-label="Фото салона"] .salon-gallery__card {
  position: relative;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.07);
  border-radius: var(--fn-radius-lg);
  background: linear-gradient(165deg, #fff 0%, rgba(255, 247, 248, 0.6) 100%);
  box-shadow: var(--fn-shadow-soft);
  transition:
    transform 0.28s var(--fn-ease),
    box-shadow 0.28s var(--fn-ease),
    border-color 0.28s var(--fn-ease);
}

main section[aria-labelledby="reviews-heading"] li::before,
main section[aria-labelledby="promo-heading"] li::before {
  content: "\201C";
  position: absolute;
  top: 0.65rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.5rem;
  line-height: 1;
  color: rgba(232, 164, 184, 0.45);
  pointer-events: none;
}

main section[aria-labelledby="reviews-heading"] li p:first-child,
main section[aria-labelledby="promo-heading"] li p:first-child {
  padding-top: 1.25rem;
}

main section[aria-labelledby="reviews-heading"] li:hover,
main section[aria-labelledby="explore-heading"] li:hover,
main section[aria-labelledby="promo-heading"] li:hover,
main section[aria-label="Фото салона"] .salon-gallery__card:hover {
  transform: translateY(-4px);
  border-color: rgba(232, 164, 184, 0.35);
  box-shadow: var(--fn-shadow-lift), var(--fn-shadow-glow);
}

main section[aria-labelledby="explore-heading"] li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

main section[aria-labelledby="explore-heading"] li a p:nth-child(2) {
  flex: 1;
}

main section[aria-labelledby="explore-heading"] li:hover a .text-xs {
  color: rgba(var(--fn-ink-rgb), 0.72);
}

/* 5 cards: center last row on desktop, lone card on tablet */
@media (min-width: 640px) and (max-width: 1023px) {
  main section[aria-labelledby="explore-heading"] .explore-grid > li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 0.5rem);
    justify-self: center;
  }
}

@media (min-width: 1024px) {
  main section[aria-labelledby="explore-heading"] .explore-grid {
    grid-template-columns: repeat(6, 1fr);
  }

  main section[aria-labelledby="explore-heading"] .explore-grid > li {
    grid-column: span 2;
  }

  main section[aria-labelledby="explore-heading"] .explore-grid > li:nth-child(4) {
    grid-column: 2 / span 2;
  }

  main section[aria-labelledby="explore-heading"] .explore-grid > li:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

/* Conversion strip */
.conversion-strip {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(232, 164, 184, 0.28) !important;
  border-radius: 1.5rem !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 232, 238, 0.55) 100%) !important;
  box-shadow: var(--fn-shadow-soft) !important;
}

.conversion-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(255, 255, 255, 0.65) 50%,
    transparent 60%
  );
  transform: translateX(-120%);
  animation: fn-shimmer 8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes fn-shimmer {
  0%, 70%, 100% { transform: translateX(-120%); }
  85% { transform: translateX(120%); }
}

.conversion-strip__title {
  font-size: 1.625rem !important;
  letter-spacing: -0.02em;
}

main section[aria-label="Фото салона"] .salon-gallery__card:hover img {
  transform: scale(1.03);
}

main section[aria-label="Фото салона"] .salon-gallery__card {
  border-radius: 1.5rem !important;
  padding: 0.625rem !important;
  overflow: hidden;
}

main section[aria-label="Фото салона"] .salon-gallery__card figure {
  border-radius: 1.125rem;
  overflow: hidden;
}

main section[aria-label="Фото салона"] .salon-gallery__card picture {
  display: block;
  height: 100%;
  border-radius: 1.125rem;
  overflow: hidden;
}

main section[aria-label="Фото салона"] .salon-gallery__card img {
  border-radius: 1.125rem;
}

/* 7 photos: center last row on desktop */
@media (min-width: 1024px) {
  main section[aria-label="Фото салона"] .salon-gallery {
    grid-template-columns: repeat(6, 1fr);
  }

  main section[aria-label="Фото салона"] .salon-gallery__card {
    grid-column: span 2;
  }

  main section[aria-label="Фото салона"] .salon-gallery__card:nth-child(7) {
    grid-column: 3 / span 2;
  }
}

/* Work cards */
#work-grid li {
  transition:
    transform 0.32s var(--fn-ease),
    box-shadow 0.32s var(--fn-ease);
}

#work-grid li:hover {
  transform: translateY(-5px);
  box-shadow: var(--fn-shadow-lift);
}

/* FAQ */
main section[aria-label="Частые вопросы"] li,
main section[aria-label*="вопрос"] li,
.faq-hero__list li {
  border-radius: var(--fn-radius-lg) !important;
  border-color: rgba(var(--fn-ink-rgb), 0.08) !important;
  box-shadow: var(--fn-shadow-soft);
  transition: box-shadow 0.25s var(--fn-ease), border-color 0.25s var(--fn-ease);
}

main section[aria-label="Частые вопросы"] li:has(.faq-toggle.is-open),
main section[aria-label*="вопрос"] li:has(.faq-toggle.is-open),
.faq-hero__list li:has(.faq-toggle.is-open) {
  border-color: rgba(232, 164, 184, 0.4) !important;
  box-shadow: var(--fn-shadow-soft), 0 0 0 1px rgba(232, 164, 184, 0.15);
}

.faq-toggle {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.faq-toggle.is-open {
  color: var(--fn-accent-deep);
}

.faq-toggle > span[aria-hidden] {
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.12);
  background: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  transition:
    transform 0.25s var(--fn-ease),
    background-color 0.25s var(--fn-ease),
    border-color 0.25s var(--fn-ease);
}

.faq-toggle.is-open > span[aria-hidden] {
  background: var(--fn-blush);
  border-color: rgba(232, 164, 184, 0.45);
  color: var(--fn-accent-deep);
}

/* Contact card */
main section[aria-label="Адрес и карта"] .rounded-\[2rem_2\.5rem_1\.75rem_2rem\],
.kontakty-hero__card {
  box-shadow: var(--fn-shadow-soft), 0 0 0 1px rgba(232, 164, 184, 0.12);
}

main section[aria-label="Адрес и карта"] .rounded-\[1\.75rem_2rem_2\.5rem_1\.5rem\],
.kontakty-hero__map {
  box-shadow: var(--fn-shadow-soft);
}

/* Breadcrumbs */
body > nav[aria-label="Хлебные крошки"] {
  margin-bottom: -0.25rem;
}

body > nav[aria-label="Хлебные крошки"] ol {
  display: inline-flex;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.07);
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(8px);
}

/* Search input */
#site-search-input {
  transition:
    border-color 0.2s var(--fn-ease),
    box-shadow 0.2s var(--fn-ease);
}

#site-search-input:focus {
  border-color: rgba(232, 164, 184, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(232, 164, 184, 0.22);
}

#site-search-results li {
  border-radius: var(--fn-radius-lg);
  box-shadow: var(--fn-shadow-soft);
  transition:
    transform 0.25s var(--fn-ease),
    box-shadow 0.25s var(--fn-ease),
    border-color 0.25s var(--fn-ease);
}

#site-search-results li:hover {
  transform: translateY(-2px);
  border-color: rgba(232, 164, 184, 0.35);
  box-shadow: var(--fn-shadow-lift);
}

/* ── Section separation ── */
:root {
  --fn-section-gap: 2.5rem;
}

@media (min-width: 640px) {
  :root {
    --fn-section-gap: 3.5rem;
  }
}

main > section + section,
main > header + section {
  position: relative;
  margin-top: var(--fn-section-gap);
  border-top: 1px solid rgba(var(--fn-ink-rgb), 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

main > section + section::before,
main > header + section::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  z-index: 1;
  width: min(calc(100% - 2.5rem), 40rem);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(232, 164, 184, 0.55) 28%,
    rgba(var(--fn-ink-rgb), 0.14) 50%,
    rgba(232, 164, 184, 0.55) 72%,
    transparent 100%
  );
  pointer-events: none;
}

/* Extra air between divider and section content */
main > section + section:not(.hero-section),
main > header + section {
  padding-top: calc(3.5rem + 1rem) !important;
}

@media (min-width: 640px) {
  main > section + section:not(.hero-section),
  main > header + section {
    padding-top: calc(5rem + 1.25rem) !important;
  }
}

main > section:has(+ section):not(.hero-section) {
  padding-bottom: calc(3.5rem + 1rem) !important;
}

@media (min-width: 640px) {
  main > section:has(+ section):not(.hero-section) {
    padding-bottom: calc(5rem + 1.25rem) !important;
  }
}

main > section:nth-of-type(even):not(.hero-section):not([aria-label="Запись в салон"]) {
  background: linear-gradient(
    180deg,
    rgba(248, 238, 239, 0.42) 0%,
    rgba(255, 255, 255, 0.15) 50%,
    rgba(248, 238, 239, 0.42) 100%
  );
}

main > section[aria-label="Запись в салон"] {
  padding-block: 3rem !important;
  margin-top: var(--fn-section-gap);
}

main > section[aria-label="Запись в салон"]:has(+ section) {
  padding-bottom: 3rem !important;
}

main > section:last-child {
  margin-bottom: var(--fn-section-gap);
}

/* Footer */
footer {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, var(--fn-mist) 100%) !important;
}

footer::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(232, 164, 184, 0.5) 30%,
    rgba(var(--fn-ink-rgb), 0.15) 50%,
    rgba(232, 164, 184, 0.5) 70%,
    transparent
  );
  pointer-events: none;
}

footer .font-serif.text-lg,
footer .font-serif.text-xl,
footer .font-serif.text-2xl {
  letter-spacing: -0.02em;
}

/* Hero trust pills */
.hero-trust__pill {
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 12px rgba(var(--fn-ink-rgb), 0.06);
  transition: box-shadow 0.2s var(--fn-ease), border-color 0.2s var(--fn-ease);
}

.hero-trust__pill:hover {
  border-color: rgba(232, 164, 184, 0.45);
}

/* Promo code chip */
.promo-code-copy {
  border: 1px solid transparent;
}

.promo-code-copy:hover,
.promo-code-copy:focus-visible {
  border-color: rgba(232, 164, 184, 0.45);
  background: var(--fn-blush) !important;
}

/* Filter tabs on uslugi */
[role="tablist"] button[role="tab"] {
  transition:
    transform 0.2s var(--fn-ease),
    box-shadow 0.2s var(--fn-ease),
    background-color 0.2s var(--fn-ease),
    border-color 0.2s var(--fn-ease);
}

[role="tablist"] button[role="tab"][aria-selected="true"] {
  background: var(--fn-btn-gradient) !important;
  color: #fff !important;
  box-shadow:
    0 6px 18px rgba(10, 10, 10, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

[role="tablist"] button[role="tab"]:not([aria-selected="true"]):hover {
  border-color: rgba(232, 164, 184, 0.4) !important;
  box-shadow: var(--fn-shadow-soft);
}

@media (prefers-reduced-motion: reduce) {
  .conversion-strip::before {
    animation: none;
  }

  main section[aria-labelledby="reviews-heading"] li:hover,
  main section[aria-labelledby="explore-heading"] li:hover,
  main section[aria-labelledby="promo-heading"] li:hover,
  main section[aria-label="Фото салона"] .salon-gallery__card:hover,
  #work-grid li:hover,
  .blog-card:hover {
    transform: none;
  }
}

/* ── Blog ── */
main > header.blog-hero section {
  margin-top: 0;
  border-top: none;
  box-shadow: none;
  padding-top: 0 !important;
}

main > header.blog-hero section::before {
  display: none;
}

.blog-hero__intro {
  text-align: center;
  margin-inline: auto;
}

.blog-hero__lead {
  margin-top: 1.75rem;
  margin-bottom: 2.5rem;
  margin-inline: auto;
  padding: 1.125rem 1.25rem;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.08);
  border-radius: 1.25rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 232, 238, 0.45) 100%);
  box-shadow: var(--fn-shadow-soft);
}

.blog-hero__lead-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(var(--fn-ink-rgb), 0.68);
}

@media (min-width: 640px) {
  .blog-hero__lead {
    margin-top: 2rem;
    margin-bottom: 3.5rem;
    padding: 1.25rem 1.5rem;
  }

  .blog-hero__lead-text {
    font-size: 1.0625rem;
  }
}

.blog-grid {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-hero__list {
  max-width: 72rem;
  margin-inline: auto;
}

main section[aria-label="Статьи блога"] .blog-card,
.blog-hero__list .blog-card {
  text-align: center;
  background: #fff !important;
  border: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
  box-shadow: var(--fn-shadow-soft) !important;
  transition:
    transform 0.28s var(--fn-ease),
    box-shadow 0.28s var(--fn-ease);
}

.blog-hero__list .blog-card::before,
.blog-hero__list .blog-card::after {
  content: none !important;
  display: none !important;
}

.blog-card__link {
  text-decoration: none;
  color: inherit;
}

.blog-card__category,
.blog-article__category {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(var(--fn-ink-rgb), 0.5);
}

.blog-article__category {
  border-radius: 999px;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.1);
  background: var(--fn-blush);
  padding: 0.2rem 0.6rem;
  color: var(--fn-accent-deep);
}

.blog-card__read {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 1.25rem;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.1);
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(var(--fn-ink-rgb), 0.72);
  transition:
    color 0.2s var(--fn-ease),
    border-color 0.2s var(--fn-ease),
    background-color 0.2s var(--fn-ease),
    transform 0.2s var(--fn-ease);
}

.blog-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--fn-shadow-lift) !important;
}

.blog-card:hover .blog-card__read {
  color: var(--fn-ink);
  border-color: rgba(232, 164, 184, 0.45);
  background: #fff;
}

.blog-article__header {
  text-align: center;
}

.blog-article__summary {
  position: relative;
}

.blog-article__faq {
  position: relative;
  overflow: hidden;
  box-shadow: var(--fn-shadow-soft), 0 0 0 1px rgba(232, 164, 184, 0.1);
}

.blog-faq__item + .blog-faq__item {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(var(--fn-ink-rgb), 0.08);
}

.blog-load-more button:focus-visible {
  outline: 2px solid rgba(var(--fn-ink-rgb), 0.35);
  outline-offset: 2px;
}

.blog-article__meta {
  justify-content: center;
}

.blog-prose-wrap,
.blog-article__cta,
.blog-article__related {
  position: relative;
  overflow: hidden;
  box-shadow: var(--fn-shadow-soft), 0 0 0 1px rgba(232, 164, 184, 0.1);
}

.blog-prose-wrap::after,
.blog-article__related::after {
  content: "";
  position: absolute;
  inset-inline: 1.5rem;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232, 164, 184, 0.45), transparent);
  pointer-events: none;
}

.blog-prose {
  color: rgba(var(--fn-ink-rgb), 0.78);
  font-size: 1.0625rem;
  line-height: 1.75;
  text-align: left;
}

.blog-prose h2 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--fn-ink);
}

.blog-prose p {
  margin-top: 1rem;
}

.blog-prose ul {
  margin-top: 1rem;
  padding-left: 1.25rem;
  text-align: left;
  list-style: disc;
}

.blog-prose li {
  margin-top: 0.35rem;
}

.blog-prose a {
  color: var(--fn-accent-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s var(--fn-ease);
}

.blog-prose a:hover {
  color: var(--fn-ink);
}

.blog-prose figure,
.blog-prose__figure {
  margin: 1.75rem 0;
  text-align: center;
}

.blog-prose figure img,
.blog-prose__figure img,
.blog-prose__picture img {
  display: block;
  width: 100%;
  max-width: 28rem;
  height: auto;
  margin-inline: auto;
  border-radius: 1.25rem;
  box-shadow: var(--fn-shadow-soft);
}

.blog-prose__picture {
  display: block;
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
}

.blog-card__media {
  border-radius: 0;
}

.blog-card__media picture,
.blog-card__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.blog-card__body {
  text-align: center;
}

.blog-prose figcaption,
.blog-prose__figure figcaption {
  margin-top: 0.6rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: rgba(var(--fn-ink-rgb), 0.55);
  text-align: center;
}

.blog-article__cta {
  border-color: rgba(232, 164, 184, 0.28) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 232, 238, 0.55) 100%) !important;
}

.blog-article__related {
  text-align: center;
}

.blog-article__related-label {
  margin: 1.25rem 0;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(var(--fn-ink-rgb), 0.45);
}

.blog-related-grid {
  list-style: none;
  margin: 0;
  padding: 0;
}

.blog-related-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0.85rem 1rem;
  border-radius: var(--fn-radius-lg);
  border: 1px solid rgba(var(--fn-ink-rgb), 0.08);
  background: linear-gradient(165deg, #fff 0%, rgba(255, 247, 248, 0.55) 100%);
  text-decoration: none;
  color: rgba(var(--fn-ink-rgb), 0.78);
  transition:
    transform 0.22s var(--fn-ease),
    border-color 0.22s var(--fn-ease),
    box-shadow 0.22s var(--fn-ease),
    color 0.22s var(--fn-ease);
}

.blog-related-card__title {
  flex: 1;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.4;
}

.blog-related-card__arrow {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.1);
  background: linear-gradient(145deg, #fff 0%, rgba(252, 232, 238, 0.45) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 2px 6px rgba(var(--fn-ink-rgb), 0.05);
  font-size: 0;
  line-height: 0;
  color: rgba(var(--fn-ink-rgb), 0.42);
  transition:
    background 0.22s var(--fn-ease),
    border-color 0.22s var(--fn-ease),
    color 0.22s var(--fn-ease),
    box-shadow 0.22s var(--fn-ease),
    transform 0.22s var(--fn-ease);
}

.blog-related-card__arrow::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.172 12 8.222 7.05l1.415-1.414L16 12l-6.364 6.364-1.414-1.414z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.172 12 8.222 7.05l1.415-1.414L16 12l-6.364 6.364-1.414-1.414z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  transition: transform 0.22s var(--fn-ease);
}

.blog-related-card:hover {
  transform: translateY(-2px);
  border-color: rgba(232, 164, 184, 0.35);
  box-shadow: var(--fn-shadow-soft);
  color: var(--fn-ink);
}

.blog-related-card:hover .blog-related-card__arrow {
  background: linear-gradient(145deg, var(--fn-blush) 0%, rgba(232, 164, 184, 0.35) 100%);
  border-color: rgba(232, 164, 184, 0.5);
  color: var(--fn-accent-deep);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 3px 12px rgba(232, 164, 184, 0.28);
}

.blog-related-card:hover .blog-related-card__arrow::before {
  transform: translateX(2px);
}

.blog-related-grid__all {
  grid-column: 1 / -1;
  justify-self: center;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 1.25rem;
}

.blog-related-card--all {
  display: inline-flex;
  justify-content: center;
  width: auto;
  min-width: 10rem;
  padding-inline: 1.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: rgba(var(--fn-ink-rgb), 0.65);
}

.blog-related-card--all .blog-related-card__arrow {
  width: 1.625rem;
  height: 1.625rem;
  border: 1px solid rgba(var(--fn-ink-rgb), 0.1);
  background: linear-gradient(145deg, #fff 0%, rgba(252, 232, 238, 0.45) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 2px 6px rgba(var(--fn-ink-rgb), 0.05);
}

.blog-related-card--all .blog-related-card__arrow::before {
  width: 0.75rem;
  height: 0.75rem;
}

.blog-related-card--all:hover .blog-related-card__arrow {
  background: linear-gradient(145deg, var(--fn-blush) 0%, rgba(232, 164, 184, 0.35) 100%);
  border-color: rgba(232, 164, 184, 0.5);
  color: var(--fn-accent-deep);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 3px 12px rgba(232, 164, 184, 0.28);
}

/* ── Mobile adaptation ── */
:root {
  --fn-header-bar-h: 3.25rem;
  --fn-header-bar-h-sm: 3.5rem;
  --fn-header-bar-h-lg: 3.875rem;
  --fn-mobile-nav-h: 2.25rem;
  --fn-header-offset: calc(var(--fn-header-bar-h) + var(--fn-mobile-nav-h));
  --fn-header-offset-sm: calc(var(--fn-header-bar-h-sm) + var(--fn-mobile-nav-h));
  --fn-header-offset-lg: var(--fn-header-bar-h-lg);
}

@media (min-width: 640px) {
  :root {
    --fn-header-offset: var(--fn-header-offset-sm);
  }
}

@media (min-width: 1024px) {
  :root {
    --fn-header-offset: var(--fn-header-offset-lg);
    --fn-mobile-nav-h: 0px;
  }
}

/* Main offset under fixed header */
main.pt-\[7\.25rem\] {
  padding-top: var(--fn-header-offset) !important;
}

@media (min-width: 1024px) {
  main.pt-\[7\.25rem\],
  main.lg\:pt-\[5\.25rem\] {
    padding-top: var(--fn-header-offset-lg) !important;
  }
}

html {
  overflow-x: clip;
}

body {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
}

/* Breadcrumbs under fixed header (subpages) */
header.site-header + nav[aria-label="Хлебные крошки"] {
  padding-top: calc(var(--fn-header-offset) - 0.375rem);
}

header.site-header + nav[aria-label="Хлебные крошки"] + main {
  padding-top: 0.75rem !important;
}

@media (min-width: 1024px) {
  header.site-header + nav[aria-label="Хлебные крошки"] {
    padding-top: var(--fn-header-offset-lg);
  }

  header.site-header + nav[aria-label="Хлебные крошки"] + main {
    padding-top: 0.5rem !important;
  }
}

/* Fixed header: compact on phones */
@media (max-width: 1023px) {
  .site-header nav[aria-label="Разделы сайта"] {
    padding-inline: 0.65rem;
    gap: 0.35rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .site-header nav[aria-label="Разделы сайта"] .header-nav-indicator {
    display: none !important;
  }

  .site-header nav[aria-label="Разделы сайта"] .header-nav-link.is-active {
    background: var(--fn-btn-gradient) !important;
    box-shadow: 0 2px 10px rgba(10, 10, 10, 0.2) !important;
    color: #fff !important;
    border-color: transparent !important;
  }

  .site-header nav[aria-label="Разделы сайта"] .header-nav-link:not(.is-active) {
    background: rgba(255, 255, 255, 0.6) !important;
    border-color: rgba(var(--fn-ink-rgb), 0.1) !important;
    color: var(--fn-black) !important;
  }

  .site-header nav[aria-label="Разделы сайта"] a {
    padding-inline: 0.7rem;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(var(--fn-ink-rgb), 0.1);
    transition: none !important;
  }

  .site-header [role="group"][aria-label="Связь и соцсети"] {
    max-width: min(11.5rem, calc(100vw - 7.5rem)) !important;
  }
}

@media (max-width: 479px) {
  .site-header img[alt*="логотип"] {
    height: 2.375rem !important;
  }

  .site-header a[aria-label="Pinterest"],
  .site-header a[aria-label="MAX"] {
    display: none !important;
  }
}

@media (max-width: 359px) {
  .site-header a[aria-label="Telegram"],
  .site-header a[aria-label="ВКонтакте"] {
    display: none !important;
  }
}

/* Main pages without breadcrumbs — bottom bar clearance */
@media (max-width: 639px) {
  main.pb-24 {
    padding-bottom: calc(6rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Hero — padding вместо отступа main (главная) */
main:has(> .hero-section) {
  padding-top: 0 !important;
}

.hero-section {
  padding-top: calc(var(--fn-header-offset) + 0.25rem);
  min-height: 100svh;
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  .hero-section {
    padding-top: calc(var(--fn-header-offset-lg) + 0.5rem);
  }
}

/* Hero mobile details */
@media (max-width: 639px) {
  .hero-section {
    padding-bottom: calc(7rem + env(safe-area-inset-bottom, 0px));
  }

  .hero-section h1 {
    font-size: clamp(1.875rem, 8.5vw, 2.25rem);
  }

  .hero-section .mt-8.flex {
    width: 100%;
  }

  .hero-section .mt-8.flex a {
    width: 100%;
    justify-content: center;
  }

  .hero-trust {
    justify-content: flex-start;
  }
}

/* Page titles */
@media (max-width: 639px) {
  main > header h1 {
    font-size: clamp(1.75rem, 7.5vw, 2.25rem);
    line-height: 1.12;
  }

  main > header p.text-lg {
    font-size: 1rem;
  }
}

/* FAQ */
@media (max-width: 639px) {
  .faq-hero .faq-toggle {
    padding: 0.8rem 2.65rem 0.8rem 1rem !important;
    font-size: 0.9375rem;
    line-height: 1.35;
  }

  .faq-hero .faq-toggle > span[aria-hidden] {
    right: 0.75rem;
  }

  .faq-hero .faq-panel p {
    padding-inline: 1rem;
    font-size: 0.875rem;
  }

  .faq-toggle {
    padding: 1rem 2.75rem 1rem 1rem !important;
    font-size: 1.05rem;
    line-height: 1.35;
  }

  .faq-toggle > span[aria-hidden] {
    right: 0.85rem;
  }

  .faq-panel p {
    padding-inline: 1rem;
    font-size: 0.9375rem;
  }
}

/* Reviews & promo — mobile */
@media (max-width: 639px) {
  main section[aria-labelledby="reviews-heading"] li::before,
  main section[aria-labelledby="promo-heading"] li::before {
    font-size: 2rem;
    top: 0.5rem;
  }

  main section[aria-labelledby="reviews-heading"] li p:first-child,
  main section[aria-labelledby="promo-heading"] li p:first-child {
    padding-top: 1rem;
  }
    font-size: 0.9375rem;
  }
}

/* Explore tiles — mobile */
@media (max-width: 639px) {
  main section[aria-labelledby="explore-heading"] li .font-serif {
    font-size: 1.125rem;
  }
}

/* Conversion strip & promo */
@media (max-width: 639px) {
  .conversion-strip {
    margin-inline: 0.75rem;
    border-radius: 1rem;
  }

  .conversion-strip__inner {
    padding: 1rem 1.1rem;
  }

  .conversion-strip__title {
    font-size: 1.375rem !important;
  }

  .conversion-strip__actions {
    width: 100%;
  }

  .conversion-strip__actions a {
    flex: 1 1 auto;
    justify-content: center;
    min-width: 0;
  }
}

/* Blog */
@media (max-width: 639px) {
  .blog-card__link {
    padding: 1.15rem 1.2rem 1.35rem !important;
  }

  .blog-card h2 {
    font-size: 1.375rem !important;
  }

  .blog-card__meta {
    justify-content: center;
    gap: 0.35rem 0.5rem;
  }

  .blog-prose-wrap,
  .blog-article__cta,
  .blog-article__related {
    padding: 1.15rem 1.2rem !important;
  }

  .blog-article h1 {
    font-size: clamp(1.625rem, 7vw, 2rem) !important;
  }

  .blog-prose {
    font-size: 1rem;
    line-height: 1.7;
  }

  .blog-prose h2 {
    font-size: 1.375rem;
    margin-top: 1.5rem;
  }

  .blog-article__cta {
    padding: 1.25rem 1rem !important;
  }

  .blog-article__cta .font-serif.text-2xl {
    font-size: 1.375rem;
  }

  .blog-article__cta .flex a {
    width: 100%;
    justify-content: center;
  }

  .blog-related-grid {
    grid-template-columns: 1fr;
  }
}

/* Contact block */
@media (max-width: 639px) {
  main section[aria-label="Адрес и карта"] .grid,
  .kontakty-hero__grid {
    gap: 1rem;
  }

  main section[aria-label="Адрес и карта"] .rounded-\[2rem_2\.5rem_1\.75rem_2rem\],
  .kontakty-hero__card {
    padding: 1.15rem !important;
  }

  main section[aria-label="Адрес и карта"] .mt-8.flex,
  .kontakty-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  main section[aria-label="Адрес и карта"] .mt-8.flex a,
  .kontakty-hero__actions a {
    width: 100%;
    justify-content: center;
  }
}

/* Work grid filters */
@media (max-width: 639px) {
  [role="tablist"][aria-label="Фильтр по категориям"] {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.35rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  [role="tablist"][aria-label="Фильтр по категориям"]::-webkit-scrollbar {
    display: none;
  }

  [role="tablist"][aria-label="Фильтр по категориям"] button {
    scroll-snap-align: start;
    flex-shrink: 0;
  }

  #work-grid h3.font-serif.text-2xl {
    font-size: 1.375rem;
  }

  #work-grid .absolute.bottom-0 {
    padding: 1rem !important;
  }
}

/* Footer & breadcrumbs */
@media (max-width: 639px) {
  body > nav[aria-label="Хлебные крошки"] ol {
    max-width: calc(100vw - 2rem);
    font-size: 0.6875rem;
  }

  footer {
    padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Sticky conversion bar */
.conversion-mobile-bar {
  left: max(1rem, env(safe-area-inset-left, 0px));
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1rem, env(safe-area-inset-bottom, 0px));
}

@media (max-width: 359px) {
  .conversion-mobile-bar__inner {
    gap: 0.5rem;
    padding: 0.4rem 0.4rem 0.4rem 0.65rem;
  }

  .conversion-mobile-bar__book {
    min-width: 4.25rem;
    padding-inline: 0.65rem;
    font-size: 0.75rem;
  }

  .conversion-mobile-bar__code {
    font-size: 0.6875rem;
  }
}

.conversion-toast {
  bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}

/* Full-width CTAs in centered sections */
@media (max-width: 639px) {
  main .inline-flex.h-12,
  main .inline-flex.h-11 {
    max-width: 100%;
  }

  main section .flex.flex-col.gap-3.sm\:flex-row a,
  main section .flex.flex-col.gap-4.sm\:flex-row a {
    width: 100%;
    justify-content: center;
  }
}
