/*
 * Global public-site design system.
 * Loaded after legacy theme styles; keeps all public templates in one visual language.
 */

:root {
  --c-primary: #17211f;
  --c-primary-dark: #0d1512;
  --c-primary-light: #416c59;
  --c-accent: #416c59;
  --c-accent-dark: #2e5645;
  --c-green: #416c59;
  --c-green-light: #e2eee7;
  --c-bg: #f7f6f1;
  --c-bg-2: #eeece5;
  --c-bg-3: #e3e5dc;
  --c-surface: #fffdf8;
  --c-border: #d9dcd2;
  --c-text: #17211f;
  --c-text-2: #5f6963;
  --c-text-3: #7c8580;
  --f-sans: 'Manrope', Arial, sans-serif;
  --max-w: 1320px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 28px;
  --shadow-sm: 0 1px 2px rgba(23, 33, 31, .04), 0 8px 24px rgba(23, 33, 31, .05);
  --shadow-md: 0 12px 32px rgba(23, 33, 31, .08);
  --shadow-lg: 0 28px 64px rgba(23, 33, 31, .14);
}

html { background: var(--c-bg); }
body { letter-spacing: -.012em; }

.container { max-width: var(--max-w); padding-right: clamp(16px, 3vw, 32px); padding-left: clamp(16px, 3vw, 32px); }
.section, .service-body, .cms-page { padding: clamp(64px, 8vw, 116px) 0; }
.section--light { background: var(--c-bg-2); }

h1, h2, h3, h4, h5, h6 { letter-spacing: -.045em; }
.section-title,
.svc-section-hd h2 {
  color: var(--c-text);
  font-size: clamp(2rem, 3.1vw, 3.2rem);
  line-height: 1.05;
}
.section-sub { color: var(--c-text-2); max-width: 680px; }
.rich-text h2, .service-body .rich-text h2 { color: var(--c-text); font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.rich-text h3, .service-body .rich-text h3 { color: var(--c-primary-light); }

.btn {
  min-height: 46px;
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.btn--red, .btn--gold, .btn--green { background: #b6dcc8; color: #142019; box-shadow: none; }
.btn--red:hover, .btn--gold:hover, .btn--green:hover { background: #d7eadf; color: #142019; }
.btn--primary { background: var(--c-primary); color: #fff; }
.btn--primary:hover { background: #2b3c35; }
.btn--outline { border-color: var(--c-primary); color: var(--c-primary); }
.btn--outline:hover { background: var(--c-primary); color: #fff; }
.btn--outline-inv, .btn--outline-light { border-color: rgba(255,255,255,.52); color: #fff; }
.btn--outline-inv:hover, .btn--outline-light:hover { background: rgba(255,255,255,.12); color: #fff; }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #94c9ae; outline-offset: 3px; }

.site-header { border-bottom: 1px solid rgba(23, 33, 31, .08); box-shadow: none; }
.header-top { background: var(--c-primary-dark); }
.header-top__phone:hover { color: #b6dcc8; }
.header-top__badge { background: rgba(182, 220, 200, .12); border-color: rgba(182, 220, 200, .24); color: #dceee3; }
.header-main { background: rgba(255, 253, 248, .96); padding: 14px 0; }
.logo__icon { background: #b6dcc8; color: var(--c-primary-dark); border-radius: 12px; }
.logo__name, .main-nav__link { color: var(--c-primary); }
.main-nav__link:hover, .main-nav__item.is-active .main-nav__link { color: var(--c-primary-light); }
.nav-dropdown { border-color: var(--c-border); border-radius: 16px; box-shadow: var(--shadow-md); }
.nav-dropdown a:hover { background: var(--c-bg-2); color: var(--c-primary); }

.page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 7vw, 96px) 0 clamp(42px, 6vw, 72px);
  background: linear-gradient(118deg, #0d1512 0%, #17211f 65%, #2f5143 100%);
}
.page-hero::after { content: ''; position: absolute; inset: auto -8% -75% auto; width: 55vw; aspect-ratio: 1; border: 1px solid rgba(182,220,200,.18); border-radius: 50%; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero__title { max-width: 800px; font-size: clamp(2.3rem, 4vw, 4.25rem); line-height: 1; letter-spacing: -.065em; }
.page-hero__desc { max-width: 620px; color: rgba(255,255,255,.7); font-size: 1.05rem; }
.breadcrumb { gap: 8px; color: rgba(255,255,255,.72); }
.breadcrumb a { color: rgba(255,255,255,.72); }
.breadcrumb a:hover { color: #d7eadf; }

.service-breadcrumb-bar { background: var(--c-bg-2); border-bottom: 1px solid var(--c-border); }
.service-breadcrumb-bar .breadcrumb { padding: 10px 0; color: var(--c-text-3); }
.service-breadcrumb-bar .breadcrumb a { color: var(--c-text-2); }
.service-breadcrumb-bar .breadcrumb a:hover { color: var(--c-primary); }
.service-breadcrumb-bar .breadcrumb span[aria-current] { color: var(--c-text); }
.service-breadcrumb-bar .breadcrumb__sep { color: var(--c-text-3); }

.svc-hero { min-height: min(680px, calc(100svh - 118px)); background: #0d1512; }
.svc-hero::before { background: linear-gradient(90deg, rgba(13,21,18,.94) 0%, rgba(13,21,18,.78) 50%, rgba(13,21,18,.26) 100%); }
.svc-hero__body { padding: clamp(68px, 8vw, 132px) 0 clamp(58px, 7vw, 108px); }
.svc-hero__inner { max-width: 780px; }
.svc-hero h1 { font-size: clamp(2.4rem, 4.6vw, 5rem); line-height: .98; letter-spacing: -.065em; }
.svc-hero__badge { border-color: rgba(182,220,200,.36); background: rgba(182,220,200,.12); color: #dceee3; }
.svc-hero__badge svg, .svc-hero__price-val, .svc-hero__stat-num, .trust-bar__item svg { color: #b6dcc8; }
.svc-hero__lead { max-width: 610px; color: rgba(255,255,255,.74); font-size: 1.05rem; }
.svc-hero__price { border-radius: 14px; background: rgba(255,255,255,.08); }
.svc-hero__stats { gap: clamp(18px, 3vw, 54px); }
.trust-bar { background: var(--c-primary); padding: 18px 0; }

.service-card, .feature-card, .symptom-card, .review-card, .blog-card, .doctor-card, .license-card {
  border-color: var(--c-border);
  border-radius: 18px;
  box-shadow: none;
}
.service-card, .feature-card, .symptom-card, .blog-card { background: var(--c-surface); }
.service-card:hover, .feature-card:hover, .symptom-card:hover, .blog-card:hover { border-color: #9fc9b1; box-shadow: var(--shadow-md); }
.service-card__title, .how-step__title, .feature-card__title, .blog-card__title a { color: var(--c-text); }
.service-card__price, .service-card__link, .blog-card__link { color: var(--c-primary-light); }
.service-card__icon, .feature-card__icon, .how-step__icon { background: #e2eee7; color: var(--c-primary-light); }
.how-step { border-radius: 18px; border: 1px solid var(--c-border); box-shadow: none; }
.how-step::before { background: #b6dcc8; color: var(--c-primary); }

.faq-list { gap: 8px; }
.faq-item { border-color: var(--c-border); border-radius: 14px; overflow: hidden; }
.faq-item.open { border-color: #9fc9b1; }
.faq-question { padding: 19px 20px; }
.faq-question:hover, .faq-item.open .faq-question { background: #f3f5ef; }
.faq-icon { background: #e2eee7; color: var(--c-primary); }
.faq-item.open .faq-icon { background: var(--c-primary); color: #fff; }

.price-table, .svc-price-table { overflow: hidden; border: 1px solid var(--c-border); border-radius: 14px; }
.price-table th, .svc-price-table th { background: var(--c-primary); }
.price-table tr:hover td, .svc-price-table tr:hover td { background: #eff5f0; }
.price-td--price, .svc-price-table td.price-val { color: var(--c-primary-light); }
.svc-price-table tr.featured td { background: #eaf3ed; }

.info-strip { background: #edf5ef; border-color: #b9d8c4; border-radius: 14px; }
.info-strip--warn { background: #fff5e8; border-color: #f2c991; }
.info-strip--success { background: #edf5ef; border-color: #b9d8c4; }
.testimonial-mini { background: #edf5ef; border-color: #8ab79c; }
.svc-tabs__nav { border-bottom-color: var(--c-border); }
.svc-tab-btn.is-active { color: var(--c-primary); border-bottom-color: var(--c-primary-light); }

.service-nav__badge, .service-cta-box, .page-cta-box { background: #edf5ef; border-color: #b9d8c4; }
.service-nav__links, .service-links { background: var(--c-surface); border-color: var(--c-border); border-radius: 14px; }
.service-cta-box { border-width: 1px; border-radius: 18px; }
.service-cta-box h3 { color: var(--c-primary); }

.cta-band { background: #b6dcc8; padding: clamp(48px, 6vw, 82px) 0; }
.cta-band__title, .cta-band__desc { color: var(--c-primary); }
.cta-band .btn--red, .cta-band .btn--gold { background: var(--c-primary); color: #fff; }
.cta-band .btn--red:hover, .cta-band .btn--gold:hover { background: #2d3f37; color: #fff; }
.inline-form__input, .form-field__input, .form-field__textarea, .form-field__select { border-color: #d0d7cf; border-radius: 12px; background: #fffefb; }
.inline-form__input:focus, .form-field__input:focus, .form-field__textarea:focus { border-color: #7eae93; box-shadow: 0 0 0 4px rgba(126,174,147,.16); }

.footer { background: var(--c-primary-dark); padding-top: clamp(64px, 8vw, 104px); }
.footer__heading { color: #b6dcc8; }
.footer__links a:hover, .footer__contacts a:hover, .footer__legal a:hover { color: #d7eadf; }
.social-link { border-radius: 10px; background: rgba(182,220,200,.12); }
.social-link:hover { background: rgba(182,220,200,.25); }
.mobile-call-btn { background: var(--c-primary); box-shadow: 0 -4px 18px rgba(13,21,18,.22); }
.mobile-call-btn:hover { background: #2d3f37; }
.maks-float { background: var(--c-primary); }
.maks-float:hover { background: #2d3f37; }

@media (min-width: 900px) {
  .home-page .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-card { min-height: 278px; }
}

@media (max-width: 768px) {
  .header-main { padding: 10px 0; }
  .page-hero::after { display: none; }
  .svc-hero { min-height: auto; }
  .svc-hero__body { padding-bottom: 92px; }
  .svc-hero::before { background: linear-gradient(180deg, rgba(13,21,18,.9) 0%, rgba(13,21,18,.68) 100%); }
  .section, .service-body, .cms-page { padding: 56px 0; }
  .service-card { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
