@font-face {
  font-family: "Manrope";
  src: url("/assets/fonts/Manrope-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/CormorantGaramond-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
:root {
  --ink: #17191B;
  --deep: #17191B;
  --stone: #17191B;
  --gold: #B9955C;
  --sand: #F7F4EE;
  --paper: #F7F4EE;
  --porcelain: #F7F4EE;
  --mist: #F7F4EE;
  --moss: #17191B;
  --clay: #17191B;
  --plum: #17191B;
  --green: #17191B;
  --line: rgb(23 25 27 / 16%);
  --focus: #B9955C;
  --text-secondary: rgb(23 25 27 / 72%);
  --text-on-dark: rgb(247 244 238 / 82%);
  --muted: var(--text-secondary);
  --font-sans: "Manrope", Arial, sans-serif;
  --font-serif: "Cormorant Garamond", Georgia, serif;
  --soft-shadow: 0 12px 32px rgb(23 25 27 / 5%);
}
body { font-family: var(--font-sans); }
body:not(.admin-page) :is(h1, h2, h3), .home-product-body h3 {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -.025em;
}
.site-header { background: rgb(23 25 27 / 97%); border-bottom-color: rgb(185 149 92 / 24%); }
.site-header .header-action--design { color: var(--sand); background: var(--stone); border-color: rgb(185 149 92 / 50%); }
.site-header .header-action--design:hover { background: var(--ink); }
.site-header .nav-link, .nav-links a { font-size: 13px; }
.hero { height: auto; min-height: 660px; max-height: none; }
.hero-picture { width: 59%; }
.hero-image { object-position: 48% center; }
.hero-shade {
  background: linear-gradient(90deg, transparent 48%, rgb(23 25 27 / 35%) 55%, #17191B 60%);
}
.hero-inner { width: min(1440px, calc(100% - 64px)); grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: 0; padding: 64px 0; }
.hero-content { grid-column: 2; max-width: 610px; padding-left: 30px; }
.hero .eyebrow { color: var(--gold); font-size: 11px; letter-spacing: .16em; }
.hero h1 { font-size: clamp(42px, 4.1vw, 64px) !important; line-height: 1.02; text-wrap: balance; }
.hero-copy { max-width: 545px; color: var(--sand); font-size: 15px; line-height: 1.85; }
.hero-logo { display: none; }
.hero-actions { margin-top: 32px; }
.hero-actions .button { min-height: 52px; padding: 15px 26px; border-radius: 3px; font-size: 13px; }
.hero .button-primary { color: var(--ink); background: var(--gold); box-shadow: none; }
.hero .button-secondary { border-color: rgb(247 244 238 / 40%); background: transparent; }
.section-band { padding-top: 84px; padding-bottom: 84px; }
.section-heading { gap: 28px; }
.section-heading h2 { font-size: clamp(38px, 4vw, 58px) !important; }
.section-heading p { font-size: 14px; line-height: 1.8; }
.catalog-section { background: var(--paper); }
.home-catalog-sections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 32px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.home-catalog-sections a { display: flex; align-items: start; gap: 13px; min-width: 0; padding: 22px 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgb(247 244 238 / 35%); transition: background .18s, color .18s; }
.home-catalog-sections a:last-child { grid-column: span 2; }
.home-catalog-sections a > span:nth-child(2) { flex: 1; min-width: 0; }
.home-catalog-sections .section-number { color: var(--ink); font-size: 10px; line-height: 2; }
.home-catalog-sections strong { display: block; font-size: 13px; font-weight: 600; line-height: 1.55; }
.home-catalog-sections small { display: block; margin-top: 7px; color: rgb(23 25 27 / 72%); font-size: 11px; line-height: 1.6; }
.home-catalog-sections a:hover { color: var(--paper); background: var(--stone); }
.home-catalog-sections a:hover :is(small, .section-number) { color: var(--sand); }
.home-product-media { border: 1px solid var(--line); border-radius: 3px; }
.home-product-body h3 { font-size: 27px; }
.home-product-body .eyebrow { color: var(--ink); font-size: 10px; }
.home-product-price { color: var(--ink); font-size: 14px; }
.catalog-section .section-action .button { color: var(--paper); background: var(--ink); border-radius: 3px; box-shadow: none; }
.new-products { color: var(--paper); background: var(--stone); }
.new-products .section-heading p { color: var(--sand); }
.new-products .spotlight-card { background: var(--ink); border-color: rgb(247 244 238 / 18%); border-radius: 3px; box-shadow: none; }
.new-products .spotlight-card p { color: var(--sand); font-size: 12px; line-height: 1.8; }
.new-products .spotlight-card span { color: var(--gold); font-size: 10px; }
.new-products .spotlight-card h3 { font-size: 28px; }
.benefits { color: var(--ink); background: var(--sand); }
.benefits .section-heading p { color: rgb(23 25 27 / 72%); }
.benefits .eyebrow { color: var(--ink); }
.benefit-card { border: 1px solid rgb(23 25 27 / 20%); border-radius: 3px; background: transparent; box-shadow: none; }
.benefit-card h3 { color: var(--ink); font-size: 23px; }
.benefit-icon { color: var(--ink); }
.gallery-section { background: var(--paper); }
.gallery-item { border-radius: 3px; }
.custom-panel { background: var(--ink); }
.custom-panel img { border-radius: 3px; }
.business, .business-card { background: var(--stone); }
.business-card { border: 1px solid rgb(185 149 92 / 35%); border-radius: 3px; }
.business-card p { color: var(--sand); }
.about { background: var(--sand); }
.about img { border-radius: 3px; }
.site-footer { background: var(--ink); }
/* Catalog-only surfaces: retain the existing forms, controls and commerce drawers. */
.catalog-page, .product-page { color: var(--ink); background: var(--paper); }
.catalog-page {
  --catalog-border: rgb(23 25 27 / 18%);
  --catalog-border-strong: rgb(23 25 27 / 35%);
  --catalog-panel: #F7F4EE;
  --catalog-panel-selected: #F7F4EE;
  --catalog-muted: rgb(23 25 27 / 72%);
}
.catalog-hero { max-width: none; margin-bottom: 28px; padding: 30px 0 34px; border-bottom: 1px solid var(--line); }
.catalog-hero h1 { font-size: clamp(44px, 5vw, 68px) !important; line-height: 1.05; }
.catalog-sections { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.catalog-sections a { display: inline-flex; gap: 14px; align-items: center; padding: 11px 15px; border: 1px solid var(--line); border-radius: 2px; color: var(--stone); font-size: 12px; line-height: 1.6; }
.catalog-sections a span { color: rgb(23 25 27 / 72%); font-size: 10px; }
.catalog-sections a:hover, .catalog-sections a[aria-current] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.catalog-sections a:hover span, .catalog-sections a[aria-current] span { color: var(--sand); }
.catalog-filters { border-radius: 3px; }
.catalog-filter-group legend { font-size: 13px; }
.catalog-filter-group label { font-size: 12px; line-height: 1.6; }
.catalog-legacy-categories { margin: 0 0 24px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.catalog-legacy-categories summary { margin-bottom: 12px; cursor: pointer; color: rgb(23 25 27 / 72%); font-size: 12px; }
.catalog-card { border-radius: 3px; box-shadow: none; }
.catalog-card-media { border-radius: 3px; background: var(--sand); }
.catalog-card-body h2 { font-size: 27px; }
.catalog-card-category { color: var(--ink); font-size: 10px; }
.catalog-card-price { color: var(--ink); font-size: 15px; }
.catalog-support { color: var(--ink); background: var(--sand); border-radius: 3px; }
.catalog-support h2, .catalog-related-categories h2, .catalog-faq h2 { font-size: 38px; }
@media (max-width: 1100px) {
  .home-catalog-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-content { max-width: 620px; padding-left: 20px; }
  .hero-shade { background: linear-gradient(90deg, transparent 45%, #17191B 59%); }
}
@media (max-width: 760px) {
  .hero { display: block; min-height: 0; height: auto; max-height: none; }
  .hero-picture { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .hero-image { display: block; object-fit: cover; }
  .hero-shade { display: none; }
  .hero-content { grid-column: 1; padding-left: 0; max-width: 100%; }
  .hero-inner { width: calc(100% - 36px); grid-template-columns: minmax(0, 1fr); padding: 32px 0 48px; }
  .hero h1 { font-size: clamp(43px, 8.5vw, 64px) !important; }
  .hero-copy { max-width: 460px; font-size: 13px; }
  .hero-actions .button { flex: 0 1 auto; width: 100%; }
  .section-band, .benefits { padding: 56px 18px; }
  .home-catalog-sections a { padding: 18px 12px; gap: 9px; }
  .home-catalog-sections strong { font-size: 12px; }
  .home-catalog-sections small { font-size: 10px; }
  .home-catalog-grid { gap: 22px 12px; margin-top: 28px; }
  .home-product-body h3 { font-size: 23px; }
  .catalog-shell { width: calc(100% - 32px); }
  .catalog-hero { padding-top: 15px; }
  .catalog-sections { gap: 6px; }
  .catalog-sections a { padding: 9px 11px; font-size: 11px; gap: 8px; }
  .catalog-card-body h2 { font-size: 23px; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 40px !important; }
  .home-catalog-sections { grid-template-columns: 1fr; }
  .home-catalog-sections a:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .home-catalog-sections a { transition: none; }
}

body .site-header .nav-links > a, body .site-header .nav-group-toggle { font-family: var(--font-sans); font-weight: 600; }

/* Public surfaces use graphite, warm gold and ivory; media keeps its original colors. */
.site-header .brand-logo { height: 66px; }
.site-footer .footer-brand img { width: 210px; height: auto; }
.site-header :is(.header-login,.header-cart-icon,.header-cart-compact,.nav-toggle,.mobile-header-cta) { color: var(--paper); }
.site-header :is(.header-action--design,.mobile-header-cta) { border-color: var(--gold); background: transparent; }
.site-header .nav-links { background-color: var(--ink); }
.site-header .nav-dropdown a { color: var(--paper); }
.site-header .nav-category-child { color: rgb(247 244 238 / 80%) !important; }
.site-footer .footer-socials a, .site-footer .footer-column h2 { color: var(--gold); }
:is(.reviews,.cms-articles,.seo-section,.commercial-process,.commercial-faq,.city-about,.city-faq) { background: var(--paper); }
:is(.contact,.contacts,.commercial-hero,.city-hero,.commercial-cta,.city-cta) { background: var(--ink); color: var(--paper); }
:is(.contact,.contacts,.commercial-hero,.city-hero,.commercial-cta,.city-cta) .eyebrow { color: var(--gold); }
:is(.gallery-label,.custom-point,.business-card,.about-copy,.contact-copy) .eyebrow { color: var(--gold); }
:is(.about,.benefits,.catalog-section,.gallery-section) .eyebrow { color: var(--ink); }
:is(.catalog-filters,.catalog-search,.catalog-sort,.catalog-custom-select .custom-select-menu,.catalog-filter-drawer,.catalog-support,.catalog-card,.commercial-card,.cms-review-card,.cms-article-card) { color: var(--ink); border-color: var(--line); background-color: var(--paper); }
:is(.catalog-search input,.catalog-sort select,.catalog-filter-group label,.catalog-custom-select .custom-select-trigger,.catalog-custom-select .custom-select-option,.catalog-card-body,.catalog-active-filters button) { color: var(--ink); }
:is(.catalog-search svg,.catalog-availability,.catalog-stock,.catalog-card-category,.catalog-card-link,.catalog-empty) { color: var(--ink); stroke: currentColor; }
.catalog-custom-select .custom-select-trigger::after { border-color: var(--gold); }
.catalog-filter-group input { accent-color: var(--ink); }
.catalog-filter-group input:checked { background-color: var(--ink); border-color: var(--ink); }
:is(.catalog-active-filters button,.catalog-custom-select .custom-select-option):is(:hover,:focus-visible,[aria-selected="true"]) { color: var(--ink); background: rgb(185 149 92 / 20%); }
:is(.catalog-filter-apply,.catalog-filters-toggle,.catalog-card-add,.catalog-add-to-cart,.order-button) { color: var(--paper); background: var(--ink); border-color: var(--gold); }
.catalog-breadcrumbs, .catalog-subtitle, .catalog-card-description { color: var(--muted); }
@media (min-width: 1281px) {
  .site-header .nav-links { background: transparent; }
  .site-header .nav-dropdown { background: var(--paper); border-color: var(--line); }
  .site-header .nav-dropdown a, .site-header .nav-category-child { color: var(--ink) !important; }
  .site-header .nav-dropdown a:is(:hover,:focus-visible) { color: var(--ink); background: rgb(185 149 92 / 18%); }
}
@media (max-width: 560px) {
  .site-header .brand-logo { width: 52px; height: 52px; }
}
/* Keep marketplace and social links recognizable within the public palette. */
.site-header :is(.header-flowwow,.mobile-header-flowwow) { background: transparent; border: 1px solid var(--gold); }
.site-header :is(.social-link-telegram,.social-link-vk) img { filter: grayscale(1); }
.site-header :is(.social-link-telegram,.social-link-vk) { border-color: rgb(247 244 238 / 35%); }
