/* Shared customer-facing palette. Loaded after premium.css and site-unify.css. */
body.premium-site.premium-booking-page .booking-form {
  border-color: #d9ded7;
}
body.premium-site.premium-booking-page :is(.phone-shell, .contact-input-shell)::before {
  background: linear-gradient(135deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, .035) 24%, rgba(36, 76, 67, .045) 62%, rgba(255, 255, 255, .16));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -1px 0 rgba(36, 76, 67, .045);
}
html:has(body.premium-site:not(.admin-page)) {
  color-scheme: light;
  background: #f5f4ef;
}

body.premium-site:not(.admin-page) {
  --bg: #f5f4ef;
  --bg-deep: #e9ece6;
  --bg-raised: #fffefa;
  --text: #202b28;
  --muted: #596862;
  --muted-strong: #40534c;
  --line: #d9ded7;
  --line-strong: #b9c7bd;
  --surface: rgba(255, 254, 250, .78);
  --surface-strong: #fffefa;
  --accent: #244c43;
  --accent-deep: #173b34;
  --accent-bright: #244c43;
  --focus: rgba(36, 76, 67, .14);
  --placeholder: #718078;
  --glass: rgba(255, 254, 250, .78);
  --card-bg: rgba(255, 254, 250, .78);
  --title-tone: #202b28;
  --title-accent: #244c43;
  --radius-card: 20px;
  --radius-control: 10px;
  --radius-button: 10px;
  color-scheme: light;
  background:
    radial-gradient(circle at 12% 4%, rgba(222, 233, 220, .76), transparent 34%),
    radial-gradient(circle at 88% 38%, rgba(221, 234, 224, .56), transparent 34%),
    linear-gradient(180deg, #f7f6f2 0%, #f5f4ef 45%, #edf1eb 100%);
  color: var(--text);
}

body.premium-site:not(.admin-page) :is(h1, h2, h3) {
  color: var(--text);
  text-shadow: none;
}

body.premium-site:not(.admin-page) :is(.offer-kicker, .service-directory-hero > div > p) {
  color: var(--accent);
}

body.premium-site:not(.admin-page) :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

body.premium-site:not(.admin-page) .liquid-glass,
body.premium-site:not(.admin-page) .liquid-glass::before {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: none;
}

body.premium-site:not(.admin-page) .liquid-glass::before {
  content: none;
}

body.premium-site:not(.admin-page) .liquid-glass::after {
  content: none;
}

body.premium-site:not(.admin-page) .site-header-global {
  background: rgba(255, 254, 250, .96);
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(32, 43, 40, .07);
  border-radius: 7px;
}

body.premium-site.seo-service-page .site-header:not(.site-header-global) {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 254, 250, .96);
  box-shadow: 0 10px 30px rgba(32, 43, 40, .07);
}

body.premium-site.seo-service-page .site-header:not(.site-header-global) .site-brand,
body.premium-site.seo-service-page .site-header:not(.site-header-global) .site-nav a {
  color: var(--text);
  text-shadow: none;
}

body.premium-site.seo-service-page .site-header:not(.site-header-global) .header-booking {
  border: 1px solid var(--accent);
  border-radius: var(--radius-button);
  background: var(--accent);
  color: #fff;
  box-shadow: none;
}

body.premium-site.seo-service-page .site-header:not(.site-header-global) .header-booking:hover {
  border-color: var(--accent-deep);
  background: var(--accent-deep);
}

body.premium-site:not(.admin-page) .site-header-global .site-brand,
body.premium-site:not(.admin-page) .premium-footer-complete .footer-brand-block > a {
  color: var(--text);
}

body.premium-site:not(.admin-page) .site-header-global .site-nav a,
body.premium-site:not(.admin-page) .site-menu a {
  color: var(--muted-strong);
}

body.premium-site:not(.admin-page) .site-header-global .site-nav a:is(.active, :hover),
body.premium-site:not(.admin-page) .site-menu a:is(.active, :hover) {
  color: var(--accent);
}

body.premium-site:not(.admin-page) .site-menu,
body.premium-site:not(.admin-page) .site-menu-toggle {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text);
  box-shadow: 0 12px 28px rgba(32, 43, 40, .07);
}

body.premium-site:not(.admin-page) .site-menu a {
  border-color: var(--line);
}

body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph {
  color: var(--text);
}

body.premium-site:not(.admin-page) :is(.premium-button-primary, .primary-action),
body.premium-site:not(.admin-page) #bookingLookupForm > .primary-action {
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff;
  box-shadow: none;
  border-radius: var(--radius-button);
}

body.premium-site:not(.admin-page) :is(.premium-button-primary, .primary-action):not(:disabled):hover,
body.premium-site:not(.admin-page) #bookingLookupForm > .primary-action:not(:disabled):hover {
  border-color: var(--accent-deep);
  background: var(--accent-deep);
  color: #fff;
  filter: none;
}

body.premium-site:not(.admin-page) .premium-button-glass {
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--accent);
  box-shadow: none;
}

body.premium-site:not(.admin-page) .premium-button-glass:hover {
  border-color: var(--accent);
  background: #eef2ec;
  color: var(--accent-deep);
}

body.premium-site:not(.admin-page) :is(.premium-text-link, .form-contact-link, .booking-consent a, .booking-followup-note a, .notice-banner a, .catalog-meta a, .legal-main a) {
  color: var(--accent) !important;
  text-decoration-color: currentColor;
}

body.premium-site:not(.admin-page) .premium-footer-complete {
  background: #e9ece6;
  border-color: var(--line);
}

body.premium-site:not(.admin-page) .premium-footer-complete :is(span, a) {
  color: var(--muted-strong);
}

body.premium-site:not(.admin-page) .premium-footer-complete .footer-legal {
  border-color: var(--line);
}

body.premium-site:not(.admin-page) .premium-footer-complete .footer-legal a {
  color: var(--muted-strong);
  text-decoration-color: var(--line-strong);
}

body.premium-site.seo-service-page .premium-footer:not(.premium-footer-complete) {
  border-color: var(--line);
}

body.premium-site.seo-service-page .premium-footer:not(.premium-footer-complete) a {
  color: var(--muted-strong);
}

body.premium-site:not(.admin-page) .premium-footer-complete :is(.footer-nav a, .footer-legal a, .footer-operator a):hover {
  color: var(--accent);
}

/* Service directory */
body.premium-site.service-directory-page .service-directory-hero {
  border-color: var(--line);
}

body.premium-site.service-directory-page .service-directory-hero::before {
  background: linear-gradient(120deg, #e9ece6, transparent 75%);
  filter: blur(18px);
}

body.premium-site.service-directory-page .service-directory-hero > div > span,
body.premium-site.service-directory-page .catalog-meta,
body.premium-site.service-directory-page .catalog-service summary small,
body.premium-site.service-directory-page .catalog-service-body p {
  color: var(--muted);
}

body.premium-site.service-directory-page .catalog-categories button {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #e9ece6;
  color: var(--muted-strong);
}

body.premium-site.service-directory-page .catalog-categories button:is(.active, :hover) {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

body.premium-site.service-directory-page .catalog-service-list {
  border-color: var(--line);
}

body.premium-site.service-directory-page .catalog-service {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  box-shadow: none;
}

body.premium-site.service-directory-page .catalog-service:hover {
  border-color: var(--line-strong);
  background: #f9faf6;
}

body.premium-site.service-directory-page .catalog-service summary strong {
  color: var(--text);
}

body.premium-site.service-directory-page .catalog-service[open] summary strong,
body.premium-site.service-directory-page .catalog-service-body a,
body.premium-site.service-directory-page .catalog-service-expand svg {
  color: var(--accent);
}

body.premium-site.service-directory-page .catalog-service-expand {
  border-color: var(--line);
  background: #e9ece6;
}

/* Master and studio */
body.premium-site.portfolio-page .portfolio-main > .premium-section {
  border-color: var(--line);
}

body.premium-site.portfolio-page :is(.portfolio-intro h1, .portfolio-materials h2, .portfolio-studio h2, .portfolio-cta h2) {
  color: var(--text);
}

body.premium-site.portfolio-page .portfolio-intro-body > p,
body.premium-site.portfolio-page :is(.portfolio-materials p, .portfolio-studio p, .portfolio-proof-card span) {
  color: var(--muted-strong);
}

body.premium-site.portfolio-page :is(.portfolio-hero-media, .portfolio-studio-photo) {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #e9ece6;
}

body.premium-site.portfolio-page .portfolio-proof-card {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  box-shadow: none;
}

body.premium-site.portfolio-page .portfolio-proof-card strong {
  color: var(--accent);
}

body.premium-site.portfolio-page .portfolio-cta {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #e9ece6;
}

/* Contacts */
body.premium-site.contacts-page .contacts-page-directory .contact-lead h1 {
  color: var(--text);
}

body.premium-site.contacts-page .contacts-page-directory .contact-lead > p {
  color: var(--muted-strong);
}

body.premium-site.contacts-page .contacts-page-directory .contact-line {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

body.premium-site.contacts-page .contacts-page-directory .contact-line:hover {
  border-color: var(--line-strong);
  background: #f9faf6;
}

body.premium-site.contacts-page .contacts-page-directory .contact-line :is(svg, strong) {
  color: var(--accent);
}

body.premium-site.contacts-page .contacts-page-directory .contact-line small {
  color: var(--muted);
}

body.premium-site.contacts-page .contact-telegram-option + .contact-telegram-option {
  border-color: var(--line);
}

body.premium-site.contacts-page .contact-telegram-option + .contact-telegram-option::before {
  background: linear-gradient(180deg, transparent, var(--line), transparent);
}

/* Booking and client cabinet */
body.premium-site.premium-booking-page :is(.booking-fields-card, .booking-followup-note, .client-cabinet-head, .booking-lookup, .notice-banner, .success-dialog > div) {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

body.premium-site.premium-booking-page :is(.booking-page-form .form-heading, .form-contact-link, .form-back-link) {
  border-color: var(--line);
}

body.premium-site.premium-booking-page .form-back-link {
  background: var(--surface);
  color: var(--accent);
  box-shadow: none;
}

body.premium-site.premium-booking-page .form-contact-link {
  background: #f5f4ef;
  color: var(--accent) !important;
}

body.premium-site.premium-booking-page .form-contact-link:hover {
  border-color: var(--line-strong);
  background: #e9ece6;
}

body.premium-site.premium-booking-page .form-contact-link svg,
body.premium-site.premium-booking-page .client-cabinet-icon svg {
  color: var(--accent);
}

body.premium-site.premium-booking-page :is(.booking-page-form .form-heading h2, .section-head h2, .form-field > label, .form-field > span, .form-field label > span, .booking-consent-text) {
  color: var(--text);
}

body.premium-site.premium-booking-page :is(.form-heading p, .form-footnote, .booking-followup-note, .notice-banner, .bookings-title p) {
  color: var(--muted);
}

body.premium-site.premium-booking-page :is(input, select, textarea, .date-shell, .select-shell, .phone-shell, .contact-input-shell, .inline-edit-shell) {
  border-color: var(--line);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

body.premium-site.premium-booking-page :is(input, select, textarea, .date-shell, .select-shell, .phone-shell, .contact-input-shell):focus,
body.premium-site.premium-booking-page :is(.date-shell, .select-shell, .phone-shell, .contact-input-shell):focus-within {
  border-color: var(--accent);
  background: var(--surface);
  box-shadow: 0 0 0 3px var(--focus);
}

body.premium-site.premium-booking-page :is(.phone-shell > span, .contact-input-shell select) {
  border-color: var(--line);
  color: var(--muted-strong);
}

body.premium-site.premium-booking-page .booking-consent-mark {
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

body.premium-site.premium-booking-page .booking-consent input:checked + .booking-consent-mark {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

body.premium-site.premium-booking-page :is(.saved-profile-block, .saved-phone-block, .booking-result, .empty-state, .service-card) {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

body.premium-site.premium-booking-page .service-card.active {
  border-color: var(--accent);
  background: #eef2ec;
}

body.premium-site.premium-booking-page .client-cabinet-icon,
body.premium-site.premium-booking-page .icon-action {
  border: 1px solid var(--line);
  background: #e9ece6;
  color: var(--accent);
  box-shadow: none;
}

body.premium-site.premium-booking-page .booking-status {
  background: #e4eee7;
  color: var(--accent) !important;
}

body.premium-site.premium-booking-page .success-dialog::backdrop {
  background: rgba(16, 30, 25, .66);
}

/* Photo-led SEO service pages */
body.premium-site.seo-service-page .service-detail-shade {
  background:
    linear-gradient(90deg, rgba(15, 35, 29, .92), rgba(15, 35, 29, .73) 43%, rgba(15, 35, 29, .3) 76%, rgba(15, 35, 29, .58)),
    linear-gradient(180deg, rgba(15, 35, 29, .06), rgba(15, 35, 29, .42));
}

body.premium-site.seo-service-page .service-detail-shade::after {
  background: linear-gradient(180deg, transparent, rgba(15, 35, 29, .84) 60%, #f5f4ef 100%);
}

body.premium-site.seo-service-page .service-detail-hero :is(h1, p, a, span) {
  color: #fff;
}

body.premium-site.seo-service-page .service-price-row {
  border: 0;
  background: none;
  box-shadow: none;
  color: #fff;
}

body.premium-site.seo-service-page .service-price-row :is(span, strong, small) {
  color: #fff;
  text-shadow: none;
}

body.premium-site.seo-service-page .service-detail-section,
body.premium-site.seo-service-page :is(.service-detail-points, .service-detail-steps) {
  border-color: var(--line);
}

body.premium-site.seo-service-page :is(.service-detail-points li, .service-detail-steps li, .premium-faq-list details, .service-detail-note > div) {
  border-color: var(--line);
  background: var(--surface);
  box-shadow: none;
  color: var(--text);
}

body.premium-site.seo-service-page :is(.service-detail-points li + li, .service-detail-steps li + li) {
  border-color: var(--line);
}

body.premium-site.seo-service-page :is(.service-detail-points strong, .service-detail-steps strong, .service-detail-note strong) {
  color: var(--accent);
}

body.premium-site.seo-service-page :is(.service-detail-points span, .service-detail-steps span, .service-detail-note p, .premium-faq-list p) {
  color: var(--muted);
}

body.premium-site.seo-service-page .premium-faq-list summary,
body.premium-site.seo-service-page .premium-faq-list summary svg {
  color: var(--text);
}

body.premium-site.seo-service-page .service-detail-final {
  border-color: var(--line);
}

/* Legal copy */
body.premium-site.legal-page :is(.legal-main p, .legal-main li) {
  color: var(--muted-strong);
}

body.premium-site.legal-page .legal-main :is(h1, h2, h3) {
  color: var(--text);
}

body.premium-site:not(.admin-page) .tone-word::after {
  color: var(--accent);
}

@media (max-width: 980px) {
  body.premium-site:not(.admin-page) .site-header-global {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
  }

  body.premium-site:not(.admin-page) .site-header-global .site-nav,
  body.premium-site:not(.admin-page) .site-header-global .header-booking {
    display: none;
  }

  body.premium-site:not(.admin-page) .site-menu-toggle {
    display: grid;
    place-items: center;
    justify-self: end;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
    color: var(--accent);
  }

  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph,
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph::before,
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph::after {
    color: var(--accent);
  }

  body.premium-site:not(.admin-page) .site-menu {
    position: fixed;
    top: calc(max(14px, env(safe-area-inset-top)) + 76px);
    left: max(16px, calc((100vw - 1180px) / 2));
    right: max(16px, calc((100vw - 1180px) / 2));
    z-index: 45;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-strong);
    box-shadow: 0 16px 40px rgba(32, 43, 40, .12);
  }

  body.premium-site:not(.admin-page) .site-menu:not([hidden]) {
    display: grid;
  }

  body.premium-site:not(.admin-page) .site-menu a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 16px;
    text-decoration: none;
  }

  body.premium-site:not(.admin-page) .site-menu a:last-child {
    border-bottom: 0;
  }
}

/* The same luminous material is used for navigation, choices, trust and forms. */
body.premium-site:not(.admin-page) {
  --glass-fill:
    radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .96), transparent 49%),
    linear-gradient(145deg, rgba(255, 254, 250, .83), rgba(239, 245, 238, .66));
  --glass-border: rgba(255, 255, 255, .86);
  --glass-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .94),
    0 0 0 1px rgba(45, 76, 57, .09),
    0 18px 42px rgba(32, 43, 40, .085);
}

body.premium-site:not(.admin-page) :is(
  .liquid-glass,
  .catalog-service,
  .portfolio-proof-card,
  .contacts-page-directory .contact-line,
  .booking-fields-card,
  .booking-followup-note,
  .client-cabinet-head,
  .booking-lookup,
  .booking-result,
  .notice-banner,
  .service-detail-points li,
  .service-detail-steps li,
  .premium-faq-list details,
  .service-detail-note > div
) {
  border: 1px solid var(--glass-border);
  background: var(--glass-fill);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}

body.premium-site:not(.admin-page) .site-header-global.liquid-glass,
body.premium-site.seo-service-page .site-header:not(.site-header-global) {
  overflow: visible;
  border: 1px solid var(--glass-border);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255, 254, 250, .97), rgba(242, 247, 241, .91));
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
  backdrop-filter: blur(24px) saturate(130%);
}

body.premium-site.seo-service-page .site-header-global.liquid-glass {
  background: linear-gradient(145deg, #fffefa, #edf3ec);
}

@media (min-width: 981px) {
  body.premium-site.seo-service-page .site-header-global:has(.header-booking) {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(16px, 2vw, 28px);
  }

  body.premium-site.seo-service-page .site-header-global:has(.header-booking) .site-nav {
    justify-self: center;
  }
}

body.premium-site:not(.admin-page) .site-menu.liquid-glass:not([hidden]) {
  border: 1px solid var(--glass-border);
  background: var(--glass-fill);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
  backdrop-filter: blur(24px) saturate(130%);
}

body.premium-site:not(.admin-page) :is(.premium-button-primary, .primary-action),
body.premium-site:not(.admin-page) #bookingLookupForm > .primary-action,
body.premium-site.seo-service-page .site-header-global .header-booking,
body.premium-site.seo-service-page .site-header:not(.site-header-global) .header-booking {
  min-height: 58px;
  padding-inline: 25px;
  border: 1px solid rgba(23, 59, 52, .8);
  border-radius: var(--radius-button);
  background: linear-gradient(135deg, #2f6255 0%, #244c43 53%, #173b34 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .24),
    0 10px 24px rgba(24, 61, 49, .17);
  color: #fff;
  filter: none;
}

body.premium-site:not(.admin-page) :is(.premium-button-primary, .primary-action):not(:disabled):hover,
body.premium-site:not(.admin-page) #bookingLookupForm > .primary-action:not(:disabled):hover,
body.premium-site.seo-service-page .site-header-global .header-booking:hover,
body.premium-site.seo-service-page .site-header:not(.site-header-global) .header-booking:hover {
  border-color: #173b34;
  background: linear-gradient(135deg, #244c43 0%, #173b34 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 14px 28px rgba(24, 61, 49, .22);
  filter: none;
}

body.premium-site.seo-service-page .site-header-global .header-booking {
  min-height: 44px;
  padding-inline: 18px;
}

body.premium-site:not(.admin-page) .premium-button-glass {
  min-height: 58px;
  padding-inline: 25px;
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-button);
  background: linear-gradient(145deg, rgba(255, 254, 250, .9), rgba(238, 244, 237, .73));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .98),
    0 0 0 1px rgba(45, 76, 57, .09),
    0 9px 23px rgba(32, 43, 40, .08);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
  color: var(--accent);
}

body.premium-site:not(.admin-page) .premium-button-glass:hover {
  border-color: rgba(36, 76, 67, .32);
  background: linear-gradient(145deg, rgba(255, 254, 250, .96), rgba(229, 239, 228, .82));
  box-shadow: 0 12px 28px rgba(32, 43, 40, .11);
}

body.premium-site.service-directory-page .service-directory-hero::before {
  background:
    radial-gradient(circle at 85% 10%, rgba(105, 149, 118, .17), transparent 42%),
    linear-gradient(125deg, rgba(238, 244, 235, .8), transparent 74%);
}

body.premium-site.service-directory-page .catalog-categories button {
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: var(--radius-button);
  background: linear-gradient(145deg, rgba(255, 254, 250, .76), rgba(232, 240, 231, .64));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 0 0 1px rgba(45, 76, 57, .08);
}

body.premium-site.service-directory-page .catalog-categories button:is(.active, :hover) {
  border-color: var(--accent);
  background: linear-gradient(135deg, #2f6255, #244c43 64%, #173b34);
  box-shadow: 0 8px 18px rgba(24, 61, 49, .13);
}

body.premium-site.service-directory-page .catalog-service {
  border-radius: var(--radius-card);
}

body.premium-site.service-directory-page .catalog-service:hover,
body.premium-site.contacts-page .contacts-page-directory .contact-line:hover {
  border-color: rgba(255, 255, 255, .96);
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 255, 255, .98), transparent 50%),
    linear-gradient(145deg, rgba(255, 254, 250, .93), rgba(233, 241, 232, .78));
  box-shadow:
    inset 0 1px 0 #fff,
    0 0 0 1px rgba(36, 76, 67, .15),
    0 22px 44px rgba(32, 43, 40, .12);
}

body.premium-site.portfolio-page .portfolio-proof-card,
body.premium-site.contacts-page .contacts-page-directory .contact-line,
body.premium-site.premium-booking-page :is(.booking-fields-card, .client-cabinet-head, .booking-lookup),
body.premium-site.seo-service-page :is(.service-detail-points li, .service-detail-steps li, .premium-faq-list details) {
  border-radius: var(--radius-card);
}

body.premium-site.premium-booking-page :is(.booking-fields-card.liquid-glass, .booking-followup-note.liquid-glass, .client-cabinet-head.liquid-glass, .booking-lookup.liquid-glass, .notice-banner.liquid-glass) {
  border-radius: var(--radius-card);
}

body.premium-site.portfolio-page .portfolio-cta {
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-card);
  background:
    radial-gradient(circle at 82% 10%, rgba(187, 213, 192, .36), transparent 46%),
    linear-gradient(145deg, rgba(255, 254, 250, .91), rgba(233, 241, 231, .76));
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

body.premium-site.premium-booking-page :is(input, select, textarea, .date-shell, .select-shell, .phone-shell, .contact-input-shell) {
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: var(--radius-control);
  background: linear-gradient(145deg, rgba(255, 254, 250, .94), rgba(247, 249, 245, .9));
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(45, 76, 57, .1);
}

body.premium-site.premium-booking-page :is(.date-shell, .select-shell, .phone-shell, .contact-input-shell):focus-within {
  border-color: rgba(36, 76, 67, .45);
  background: #fffefa;
  box-shadow: 0 0 0 3px var(--focus), inset 0 1px 0 #fff;
}

body.premium-site:not(.admin-page) .premium-footer-complete {
  border-top: 1px solid rgba(255, 255, 255, .8);
  background: linear-gradient(145deg, rgba(235, 242, 233, .9), rgba(227, 237, 228, .82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}

@media (prefers-reduced-transparency: reduce) {
  body.premium-site:not(.admin-page) .liquid-glass {
    background: var(--surface);
  }
}

/* Final shared shape, accessibility and mobile rendering rules. */
body.premium-site.portfolio-page :is(.portfolio-hero-media, .portfolio-studio-photo) {
  border-radius: var(--radius-card);
}
body.premium-site:not(.admin-page) .site-menu.liquid-glass { border-radius: 14px; }
body.premium-site.seo-service-page .service-detail-hero :is(a, button):focus-visible {
  outline-color: #dff0e4;
}
@media (max-width: 760px) {
  body.premium-site:not(.admin-page) .site-header-global {
    top: calc(14px + env(safe-area-inset-top, 0px));
    -webkit-backdrop-filter: blur(14px) saturate(125%);
    backdrop-filter: blur(14px) saturate(125%);
  }
  body.premium-site:not(.admin-page) :is(.catalog-service, .portfolio-proof-card, .contact-line, .booking-fields-card, .booking-followup-note, .client-cabinet-head, .booking-lookup, .booking-result, .notice-banner, .service-detail-points li, .service-detail-steps li, .premium-faq-list details, .service-detail-note > div, .portfolio-cta) {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body.premium-site:not(.admin-page) .premium-footer-complete {
    padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
  }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.premium-site:not(.admin-page) :is(.liquid-glass, .catalog-service, .portfolio-proof-card, .contact-line, .service-detail-points li, .service-detail-steps li, .premium-faq-list details, .service-detail-note > div, .portfolio-cta, .premium-button-glass) {
    background: #fffefa;
  }
}
@media (prefers-reduced-transparency: reduce) {
  body.premium-site:not(.admin-page) :is(.liquid-glass, .catalog-service, .portfolio-proof-card, .contact-line, .service-detail-points li, .service-detail-steps li, .premium-faq-list details, .service-detail-note > div, .portfolio-cta, .premium-button-glass, .site-header-global, .site-menu) {
    background: #fffefa;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
@media (max-width: 980px) {
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph {
    position: relative; display: block; width: 20px; height: 2px;
    border-radius: 999px; background: currentColor; font-size: 0; line-height: 0;
  }
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph::before,
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph::after {
    content: ""; position: absolute; left: 0; width: 20px; height: 2px;
    border-radius: 999px; background: currentColor;
    transition: transform .2s ease, top .2s ease;
  }
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph::before { top: -6px; }
  body.premium-site:not(.admin-page) .site-menu-toggle .menu-glyph::after { top: 6px; }
  body.premium-site:not(.admin-page) .site-menu-toggle[aria-expanded="true"] .menu-glyph { background: transparent; }
  body.premium-site:not(.admin-page) .site-menu-toggle[aria-expanded="true"] .menu-glyph::before { top: 0; transform: rotate(45deg); }
  body.premium-site:not(.admin-page) .site-menu-toggle[aria-expanded="true"] .menu-glyph::after { top: 0; transform: rotate(-45deg); }
}
