/*
 * POSUD.CO.UA visual recovery — Theme 1.12.2
 * Narrow, last-loaded presentation layer over the preserved 1.11/1.12
 * content, catalogue and SEO architecture.
 */

:root {
  --canvas: #fbfaf7;
  --surface: #ffffff;
  --surface-warm: #f3ece2;
  --surface-warm-soft: #f8f3ec;
  --ink: #2e2925;
  --muted: #6a5f57;
  --forest: #2f4a3c;
  --forest-dark: #23392f;
  /* Slightly deeper clay accent: the previous #b96545 fell below 4.5:1 for
     small labels on the warm paper while this keeps the same visual family. */
  --terracotta: #a95538;
  --terracotta-soft: #d9a088;
  --amber: #c99756;
  --line: #ded5cb;
  --shadow-soft: 0 10px 28px rgba(50, 42, 36, .055);
  --shadow-hover: 0 16px 34px rgba(50, 42, 36, .09);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --motion-fast: 180ms;
  --motion-base: 320ms;
  --motion-slow: 680ms;
  --motion-ease: cubic-bezier(.22, .61, .36, 1);

  /* Existing components continue to consume these established aliases. */
  --paper: var(--canvas);
  --white: var(--surface);
  --cream: var(--surface-warm);
  --red: var(--terracotta);
  --gold: var(--amber);
  --green: var(--forest);
  --forest-2: var(--forest-dark);
  --blue: #73867c;
}

html { scroll-padding-top: calc(var(--header-height, 88px) + 16px); }

body.family-site {
  color: var(--ink);
  background: var(--canvas);
}

::selection { color: #fff; background: var(--terracotta); }

:where(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 3px;
}

.eyebrow,
.catalog-product-label,
.catalog-product-code { color: var(--terracotta); }

.section-heading > p,
.split-heading > p,
.catalog-browser-heading > p,
.catalog-products-heading > p,
.breadcrumb,
.catalog-product-description,
.about-heading-copy,
.about-heading > p,
.about-help-copy > p,
.about-brands-copy > p,
.about-online-copy > p,
.about-visit-lead { color: var(--muted); }

/* Header */
.site-header {
  border-bottom: 1px solid rgba(222, 213, 203, .92);
  background: rgba(255, 255, 255, .96);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.site-header::after {
  height: 1px;
  background: var(--terracotta);
  opacity: .42;
}

.brand,
.site-nav a,
.header-phone,
.menu-toggle { color: var(--forest-dark); }

.brand small,
.header-phone span,
.nav-aside > p,
.nav-aside > span { color: var(--muted); }

.header-search {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.header-search:focus-within {
  border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(47, 74, 60, .1);
}

.header-search button,
.nav-search button { color: #fff; background: var(--forest); }

.site-nav a[aria-current="page"]::after,
.site-nav a:hover::after,
.site-nav a:focus-visible::after { background: var(--terracotta); }

.mobile-bottom-nav {
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 -8px 24px rgba(46, 41, 37, .07);
  backdrop-filter: blur(12px);
}

.mobile-bottom-nav a[aria-current="page"] { color: var(--terracotta); }

/* Actions: green leads; warm colour is a supporting accent. */
.button {
  border-radius: var(--radius-sm);
  transition: color var(--motion-fast) ease, background-color var(--motion-fast) ease,
    border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease,
    transform var(--motion-fast) ease;
}

body.family-site .button-primary,
body.family-site .button-dark,
body.family-site .ploc-add-to-cart-button {
  color: #fff;
  border-color: var(--forest);
  background: var(--forest);
  box-shadow: 0 7px 18px rgba(47, 74, 60, .16);
}

body.family-site .button-primary:hover,
body.family-site .button-primary:focus-visible,
body.family-site .button-dark:hover,
body.family-site .button-dark:focus-visible,
body.family-site .ploc-add-to-cart-button:hover,
body.family-site .ploc-add-to-cart-button:focus-visible {
  border-color: var(--forest-dark);
  background: var(--forest-dark);
  box-shadow: 0 9px 22px rgba(35, 57, 47, .22);
}

.button-outline,
.about-button-outline,
.button-route {
  color: var(--forest);
  border-color: var(--forest);
  background: transparent;
}

.button-outline:hover,
.button-outline:focus-visible,
.about-button-outline:hover,
.about-button-outline:focus-visible,
.button-route:hover,
.button-route:focus-visible {
  color: var(--forest-dark);
  border-color: var(--forest);
  background: var(--surface-warm-soft);
}

.text-link,
.catalog-category-link,
.catalog-product-copy footer a,
.catalog-product-title-link:hover,
.catalog-product-title-link:focus-visible { color: var(--terracotta); }

/* Real image colour is preserved. */
.hero-image,
.about-hero-image,
.subpage-hero-image,
.assortment-category-hero-image,
.lesya-band > img,
.about-help-image img,
.gallery-photo img,
.about-gallery-photo img,
.assortment-bg,
.catalog-category-image img,
.catalog-subcategory-image img,
.catalog-product-image img,
.catalog-product-visual img,
.news-image img { filter: none; }

.has-product-photo .catalog-product-image img,
.has-product-photo .catalog-product-visual img,
.catalog-product-page.has-product-photo .catalog-product-photo-button img {
  filter: none !important;
  object-fit: contain;
  object-position: center;
}

/* Bound both image dimensions: desktop height:auto otherwise lets portrait
   uploads overflow the fixed frame. Also override legacy Product Photos zoom. */
body.family-site .catalog-product-item.has-product-photo .catalog-product-image {
  position: relative;
  padding: 0 !important;
}

body.family-site .catalog-product-item.has-product-photo .catalog-product-image img {
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  padding: 0;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

body.family-site.home .gallery-section .gallery-grid .gallery-photo img {
  filter: none !important;
}

/* Homepage hero: finite, commercial and distinct from inner pages. */
body.family-site.home .family-hero {
  height: 620px;
  min-height: 620px;
  max-height: 620px;
  background: #4a4038;
}

body.family-site.home .family-hero .hero-image {
  filter: none;
  object-position: 50% 48% !important;
}

body.family-site.home .family-hero .hero-shade {
  background: linear-gradient(90deg, rgba(31, 27, 24, .82) 0%, rgba(31, 27, 24, .65) 40%, rgba(31, 27, 24, .22) 68%, rgba(31, 27, 24, .02) 100%) !important;
}

body.family-site.home .family-hero .hero-content {
  width: min(calc(100% - 64px), 1480px);
  max-width: none;
  padding-top: calc(var(--header-height) + 36px);
  padding-bottom: 54px;
}

body.family-site.home .family-hero .hero-title {
  max-width: 780px;
  margin: 13px 0 18px;
  color: #fff;
  font-family: "Prata", Georgia, serif;
  font-size: clamp(54px, 5.2vw, 68px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.03em;
  text-transform: none;
  text-wrap: balance;
}

body.family-site.home .family-hero .hero-copy {
  max-width: 640px;
  margin-top: 0;
  color: rgba(255, 255, 255, .88);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.62;
}

body.family-site.home .family-hero .hero-kicker,
body.family-site.home .family-hero .hero-address span { color: #f0c39e; }

body.family-site.home .family-hero .hero-address {
  padding: 7px 10px;
  border: 1px solid rgba(255, 250, 242, .18);
  border-radius: 999px;
  color: rgba(255, 250, 242, .88);
  background: rgba(31, 24, 20, .5);
  box-shadow: 0 4px 14px rgba(20, 15, 12, .1);
  backdrop-filter: blur(8px);
  text-shadow: 0 1px 5px rgba(20, 15, 12, .34);
}

body.family-site.home .family-hero .hero-address span {
  color: #f0c39e;
}

body.family-site.home .family-hero .hero-actions { margin-top: 26px; gap: 12px; }

body.family-site.home .family-hero .button-outline-light {
  color: #fff;
  border-color: rgba(255, 255, 255, .68);
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(6px);
}

body.family-site.home .family-hero .button-outline-light:hover,
body.family-site.home .family-hero .button-outline-light:focus-visible {
  color: var(--forest-dark);
  background: var(--surface-warm-soft);
}

/* Homepage light rhythm */
body.family-site.home main { background: var(--canvas); }

body.family-site.home .assortment,
body.family-site.home .homepage-featured,
body.family-site.home .news-section { background: var(--surface); }

body.family-site.home .assortment,
body.family-site.home .homepage-featured,
body.family-site.home .news-section {
  margin-top: 34px;
  padding-inline: clamp(20px, 2.2vw, 34px);
  border: 1px solid rgba(222, 213, 203, .78);
  border-radius: var(--radius-lg);
}

.assortment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  border: 0;
}

.assortment-item {
  min-height: 310px;
  padding: 184px 22px 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.assortment-item::before {
  top: auto;
  right: 20px;
  bottom: 22px;
  width: auto;
  height: auto;
  content: "→";
  color: var(--terracotta);
  border: 0;
  font-size: 20px;
  transform: none;
  opacity: 1;
}

.assortment-item::after { height: 3px; background: var(--terracotta); }

.assortment-bg {
  inset: 0 0 auto;
  width: 100%;
  height: 160px;
  object-fit: cover;
  opacity: 1;
  filter: none;
}

.assortment-item:hover .assortment-bg { opacity: 1; transform: scale(1.02); }

.assortment-item h3 {
  margin: 0 34px 9px 0;
  font-family: "Lora", Georgia, serif;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.28;
}

.assortment-item p {
  margin: 0 28px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.58;
}

.catalog-product-item,
.catalog-category-card,
.catalog-subcategory-card,
.news-card {
  border-color: var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: transform var(--motion-base) var(--motion-ease),
    box-shadow var(--motion-base) var(--motion-ease), border-color var(--motion-base) ease;
}

.catalog-product-image,
.catalog-category-image,
.catalog-subcategory-image,
.catalog-product-visual { background: var(--surface); }

.catalog-product-copy footer strong,
.catalog-product-price { color: var(--forest); }

.home-shop-model {
  margin-top: 34px;
  padding-inline: clamp(32px, 5vw, 76px);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface-warm-soft);
}

.home-shop-model-copy h2 {
  max-width: 600px;
  margin: 10px 0 18px;
  font-family: "Prata", Georgia, serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: balance;
}

.home-shop-model-copy > p:last-child { max-width: 600px; color: var(--muted); }
.home-shop-model-links { display: grid; border-top: 1px solid var(--line); }

.home-shop-model-links a {
  position: relative;
  padding: 21px 54px 21px 4px;
  display: grid;
  gap: 4px;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}

.home-shop-model-links span {
  font-family: "Lora", Georgia, serif;
  font-size: 21px;
  font-weight: 600;
}

.home-shop-model-links small { color: var(--muted); font-size: 13px; }

.home-shop-model-links b {
  position: absolute;
  top: 50%;
  right: 10px;
  color: var(--terracotta);
  font-size: 20px;
  transform: translateY(-50%);
  transition: transform var(--motion-fast) ease;
}

body.family-site.home .gallery-section {
  width: min(calc(100% - 48px), 1480px);
  margin: 34px auto;
  padding: clamp(34px, 5vw, 70px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface-warm-soft);
  color: var(--ink);
}

body.family-site.home .gallery-header { margin-bottom: 30px; }
body.family-site.home .gallery-header .eyebrow { color: var(--terracotta); }
body.family-site.home .gallery-header > p { color: var(--muted); }

body.family-site.home .gallery-grid {
  grid-template-columns: 1.2fr .8fr .8fr;
  grid-template-rows: 380px;
  gap: 12px;
}

.gallery-photo,
.about-gallery-photo {
  border-radius: var(--radius-md);
  background: var(--surface-warm);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

body.family-site.home .gallery-section .button-outline-light {
  color: #fff;
  border-color: var(--forest);
  background: var(--forest);
}

body.family-site.home .gallery-section .button-outline-light:hover,
body.family-site.home .gallery-section .button-outline-light:focus-visible {
  border-color: var(--forest-dark);
  background: var(--forest-dark);
}

/* Compact, light Lesya editorial card. */
body.family-site.home .lesya-band {
  width: min(calc(100% - 48px), 1480px);
  min-height: 390px;
  height: 390px;
  margin: 34px auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface-warm);
  color: var(--ink);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

body.family-site.home .lesya-band > img {
  inset: 0 auto 0 0;
  width: 48%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center !important;
  filter: none;
}

body.family-site.home .lesya-overlay { display: none; }

body.family-site.home .lesya-content {
  width: 52%;
  max-width: none;
  margin-left: 48%;
  padding: clamp(42px, 5vw, 74px);
  color: var(--ink);
}

body.family-site.home .lesya-content .eyebrow { color: var(--terracotta); }

body.family-site.home .lesya-band blockquote {
  margin: 18px 0 16px;
  padding: 6px 0 6px 24px;
  border-left: 3px solid var(--terracotta);
}

body.family-site.home .lesya-band blockquote p {
  color: var(--ink);
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.2;
}

body.family-site.home .lesya-band blockquote cite,
body.family-site.home .lesya-note { color: var(--muted); }

.contacts { background: var(--surface); }

.contacts-compact {
  width: min(calc(100% - 48px), 1480px);
  max-width: 1480px;
  margin: 34px auto;
  padding: clamp(52px, 6vw, 78px);
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(36px, 7vw, 86px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface-warm-soft);
}

.contacts-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.contact-details > div { border-color: var(--line); }
.contact-details span { color: var(--terracotta); }

/* About: one green commercial block; all trust/content sections stay light. */
.about-page { background: var(--canvas); }

.about-hero {
  min-height: 520px;
  background: #4a4038;
}

.about-hero-image {
  object-position: 67% center;
  filter: none;
}

.about-hero-shade {
  background: linear-gradient(90deg, rgba(33, 29, 25, .88) 0%, rgba(33, 29, 25, .68) 44%, rgba(33, 29, 25, .22) 76%, rgba(33, 29, 25, .04) 100%);
}

.about-hero h1 {
  max-width: 920px;
  font-size: clamp(46px, 4.8vw, 60px);
  line-height: 1.08;
}

.about-hero .eyebrow { color: #efc19c; }

.about-hero .button-outline-light {
  color: #fff;
  border-color: rgba(255, 255, 255, .68);
  background: rgba(255, 255, 255, .06);
}

.about-categories,
.about-gallery,
.about-faq,
.about-visit { background: var(--surface); }

.about-category-card {
  min-height: 104px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: none;
}

.about-category-card:nth-child(4n + 2),
.about-category-card:nth-child(4n + 3),
.about-category-card:nth-child(4n + 4) { background: var(--surface-warm-soft); }

.about-category-card h3 {
  font-family: "Lora", Georgia, serif;
  font-size: 20px;
  font-weight: 600;
}

.about-card-link { color: var(--terracotta); }

.about-benefits {
  padding: 96px 0;
  border-block: 1px solid var(--line);
  background: var(--canvas);
  color: var(--ink);
}

.about-heading-light h2 { color: var(--ink); }

.about-benefit-grid {
  gap: 14px;
  border: 0;
}

.about-benefit {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.about-benefit-icon {
  color: var(--terracotta);
  border-color: rgba(185, 101, 69, .34);
  background: var(--surface-warm-soft);
}

.about-benefit-label { color: var(--terracotta) !important; }

.about-benefit h3 {
  color: var(--ink);
  font-family: "Lora", Georgia, serif;
  font-weight: 600;
}

.about-benefit p:last-child { color: var(--muted); }

.about-help { background: var(--surface-warm-soft); }
.about-help-image img,
.about-gallery-photo img { filter: none; }
.about-brands { background: var(--surface-warm); }

.about-brand-list li {
  color: var(--forest-dark);
  border-color: var(--line);
  background: rgba(255, 255, 255, .72);
}

.about-online {
  background: var(--forest-dark);
  color: #fff;
}

.about-search {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .08);
}

.about-search input,
.catalog-sort-control select,
.mobile-search-panel input,
.nav-search input {
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.about-gifts { background: var(--surface); }

.about-gifts-inner {
  border-color: var(--line);
  background: var(--surface-warm-soft);
}

.about-faq-item { border-color: var(--line); }
.about-faq-item[open] { border-color: var(--terracotta); }

.about-love {
  padding: 76px 0;
  border-block: 1px solid var(--line);
  background: var(--surface-warm-soft);
  color: var(--ink);
}

.about-love h2,
.about-love p:not(.eyebrow),
.about-love p:last-child { color: var(--ink); }

.about-map {
  border-color: var(--line);
  background: var(--surface-warm);
  box-shadow: var(--shadow-soft);
}

/* Assortment overview: compact light hero with photo held to the right. */
.assortment-overview-page .page-hero {
  min-height: 400px;
  background: var(--surface-warm-soft);
  color: var(--ink);
}

.assortment-overview-page .page-hero > img {
  object-position: 74% center !important;
  filter: none;
}

.assortment-overview-page .page-hero-shade {
  background: linear-gradient(90deg, rgba(251, 250, 247, 1) 0%, rgba(251, 250, 247, .98) 42%, rgba(251, 250, 247, .64) 58%, rgba(251, 250, 247, .02) 82%);
}

.assortment-overview-page .page-hero-content {
  padding-top: 54px;
  padding-bottom: 54px;
  color: var(--ink);
}

.assortment-overview-page .page-hero .eyebrow { color: var(--terracotta); }

.assortment-overview-page .page-hero h1 {
  max-width: 620px;
  color: var(--ink);
  font-size: clamp(46px, 5vw, 62px);
  line-height: 1.06;
  text-transform: none;
}

.assortment-overview-page .page-hero-content > p:last-child {
  max-width: 610px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.assortment-overview-page .catalog-category-grid { gap: 16px; }
.assortment-overview-page .catalog-category-card { background: var(--surface); }

.assortment-overview-page .catalog-category-body h3 {
  font-family: "Lora", Georgia, serif;
  font-weight: 600;
}

/* Main category: compact dark-on-photo hero. */
.assortment-category-page .assortment-category-hero {
  padding: 0;
}

.assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
  min-height: 340px;
  background: #4a4038;
}

.assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero-shade {
  background: linear-gradient(90deg, rgba(31, 27, 24, .82) 0%, rgba(31, 27, 24, .62) 42%, rgba(31, 27, 24, .17) 72%, rgba(31, 27, 24, .02) 100%);
}

.assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-intro-inner {
  padding-top: 36px;
  padding-bottom: 38px;
}

.assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero h1 {
  max-width: 760px;
  font-size: clamp(40px, 5vw, 54px);
}

/* Subcategory: short light header; products follow immediately. */
.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero {
  min-height: 220px;
  background: var(--surface-warm-soft);
}

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero-image {
  left: auto;
  width: 56%;
  opacity: 1;
  object-position: center;
  filter: none;
}

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero-shade {
  background: linear-gradient(90deg, var(--surface-warm-soft) 0%, var(--surface-warm-soft) 36%, color-mix(in srgb, var(--surface-warm-soft) 88%, transparent) 49%, color-mix(in srgb, var(--surface-warm-soft) 12%, transparent) 74%, transparent 100%);
}

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-intro-inner {
  padding-top: 24px;
  padding-bottom: 26px;
  color: var(--ink);
}

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .breadcrumb,
.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .breadcrumb a,
.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-lead { color: var(--muted); }

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .eyebrow { color: var(--terracotta); }

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero h1 {
  max-width: 720px;
  color: var(--ink);
  font-size: clamp(34px, 4.2vw, 48px);
}

.assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-lead {
  max-width: 660px;
  font-size: 15px;
}

.catalog-browser {
  padding-top: 64px;
  background: var(--canvas);
}

.is-subcategory-page .catalog-browser { padding-top: 38px; }

.catalog-subcategory-card.is-active {
  color: var(--ink);
  border-color: var(--forest);
  background: var(--surface-warm);
}

.catalog-subcategory-card.is-active .catalog-subcategory-copy strong { color: var(--forest); }
.catalog-subcategory-card.is-active .catalog-subcategory-copy small { color: var(--muted); }
.catalog-subcategory-card.is-active .catalog-subcategory-copy b { color: var(--terracotta); }

.catalog-pagination a[aria-current="page"] {
  color: #fff;
  border-color: var(--forest);
  background: var(--forest);
}

.catalog-pagination a:hover,
.catalog-pagination a:focus-visible {
  color: #fff;
  border-color: var(--forest);
  background: var(--forest);
}

.assortment-category-content,
.catalog-subcategory-guide {
  border-color: var(--line);
  background: var(--surface-warm-soft);
}

.assortment-focus { background: var(--surface); }
.assortment-related,
.availability-band { background: var(--forest); }

body.family-site.plf-theme-sunset .availability-band :is(h2, p) {
  color: var(--ink);
}

/* Product detail */
.catalog-product-hero {
  padding-top: 54px;
  background: var(--surface);
}

.catalog-product-layout { align-items: start; }

.catalog-product-visual {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.catalog-product-page.has-product-photo .catalog-product-visual,
.catalog-product-page.has-product-photo .catalog-product-visual img {
  min-height: 360px;
  max-height: 520px;
}

.catalog-product-main h1 { font-size: clamp(34px, 4vw, 52px); }

/* Keep the correction choice readable and tappable in the existing search design. */
.search-spelling-note a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: .18em; }

.catalog-product-pickup,
.catalog-product-contact,
.catalog-product-details dl,
.catalog-product-related-grid { border-color: var(--line); }

.catalog-product-pickup {
  border-radius: 999px;
  background: var(--surface-warm-soft);
}

.catalog-product-contact-actions:first-child { margin-top: 0; }

.catalog-product-details { background: var(--canvas); }
.catalog-product-related { background: var(--surface-warm-soft); }

.catalog-product-related-grid a:hover,
.catalog-product-related-grid a:focus-visible { background: var(--surface); }

/* Footer remains the persistent dark anchor. */
.site-footer {
  color: #fff;
  border-top: 3px solid var(--terracotta);
  background: var(--forest-dark) !important;
}

.site-footer a:hover,
.site-footer a:focus-visible { color: #f0c39e; }

/* Selective progressive motion. Content is visible until JS opts in. */
html.plf-site-scroll-motion [data-site-reveal] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity var(--motion-slow) var(--motion-ease) var(--reveal-delay, 0ms),
    transform var(--motion-slow) var(--motion-ease) var(--reveal-delay, 0ms);
}

html.plf-site-scroll-motion [data-site-reveal].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html.plf-image-copy-motion body.family-site .family-hero .hero-image,
html.plf-image-copy-motion body.family-site .page-hero > img,
html.plf-image-copy-motion body.family-site .about-hero-image {
  filter: none;
  animation: plf-recovery-image-settle 680ms var(--motion-ease) both;
}

@keyframes plf-recovery-image-settle {
  from { transform: scale(1.02); }
  to { transform: scale(1); }
}

@media (hover: hover) and (pointer: fine) {
  .button:hover { transform: translateY(-2px); }

  .catalog-product-item:hover,
  .catalog-category-card:hover,
  .catalog-subcategory-card:hover,
  .news-card:hover,
  .assortment-item:hover,
  .about-gallery-photo:hover,
  .gallery-photo:hover {
    transform: translateY(-3px);
    border-color: #cabdb0;
    box-shadow: var(--shadow-hover);
  }

  .catalog-product-item:hover .catalog-product-image img,
  .catalog-category-card:hover .catalog-category-image img,
  .catalog-subcategory-card:hover .catalog-subcategory-image img,
  .gallery-photo:hover img,
  .about-gallery-photo:hover img { transform: scale(1.02); }

  .home-shop-model-links a:hover b,
  .home-shop-model-links a:focus-visible b { transform: translate(4px, -50%); }
}

@media (max-width: 1100px) {
  .assortment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .home-shop-model,
  .contacts-compact { grid-template-columns: 1fr; }

  body.family-site.home .family-hero {
    height: 560px !important;
    min-height: 560px !important;
    max-height: 560px !important;
  }

  body.family-site.home .family-hero .hero-image {
    object-position: 74% 30% !important;
    transform: none !important;
  }

  body.family-site.home .family-hero .hero-shade {
    background: linear-gradient(180deg, rgba(31, 27, 24, .02) 0%, rgba(31, 27, 24, .08) 32%, rgba(31, 27, 24, .64) 62%, rgba(31, 27, 24, .94) 100%) !important;
  }

  body.family-site.home .family-hero .hero-content {
    justify-content: flex-end !important;
    padding: 0 0 30px !important;
  }

  .about-hero { min-height: 520px; }

  .about-hero-shade {
    background: linear-gradient(180deg, rgba(31, 27, 24, .12) 0%, rgba(31, 27, 24, .5) 50%, rgba(31, 27, 24, .94) 100%);
  }

  .assortment-overview-page .page-hero { min-height: 380px; }

  .assortment-overview-page .page-hero-shade {
    background: linear-gradient(90deg, rgba(251, 250, 247, .98) 0%, rgba(251, 250, 247, .9) 64%, rgba(251, 250, 247, .28) 100%);
  }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 12px; }

  body.family-site.home .family-hero {
    height: 470px !important;
    min-height: 470px !important;
    max-height: 470px !important;
    background: #3b2a21;
  }

  body.family-site.home .family-hero .hero-image {
    inset: 0 0 auto !important;
    height: 285px !important;
    object-position: 50% 48% !important;
  }

  body.family-site.home .family-hero .hero-shade {
    background: linear-gradient(180deg, rgba(31, 24, 20, .03) 0%, rgba(31, 24, 20, .08) 34%, rgba(31, 24, 20, .78) 56%, rgba(31, 24, 20, .98) 74%, rgba(31, 24, 20, .99) 100%) !important;
  }

  body.family-site.home .family-hero .hero-content {
    width: calc(100% - 32px) !important;
    padding: 0 0 18px !important;
  }

  body.family-site.home .family-hero .hero-kicker {
    margin-bottom: 8px !important;
    color: #f0c39e !important;
  }

  body.family-site.home .family-hero .hero-title {
    margin: 0 0 10px;
    padding-left: 0;
    border-left: 0;
    color: #fff;
    font-size: clamp(32px, 9.2vw, 40px) !important;
    line-height: 1.08 !important;
  }

  body.family-site.home .family-hero .hero-lead,
  body.family-site.home .family-hero .hero-copy {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.family-site.home .family-hero .hero-actions .button-primary {
    border-color: var(--forest) !important;
    background: var(--forest) !important;
  }

  body.family-site.home .assortment,
  body.family-site.home .homepage-featured,
  body.family-site.home .news-section,
  .contacts-compact {
    width: calc(100% - 24px);
    margin: 24px auto 0;
    padding: 42px 14px;
    border-radius: 18px;
  }

  body.family-site.home .assortment .section-heading,
  body.family-site.home .homepage-featured .section-heading {
    gap: 14px;
    margin-bottom: 24px;
  }

  body.family-site.home #assortment-title {
    --compact-mobile-heading-size: 24px;
    font-size: var(--compact-mobile-heading-size) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em;
  }

  body.family-site.home #featured-title {
    --compact-mobile-heading-size: 30px;
    font-size: var(--compact-mobile-heading-size) !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em;
  }

  .home-shop-model {
    width: calc(100% - 24px);
    margin: 24px auto 0;
    padding: 48px 20px;
    gap: 28px;
    border-radius: 18px;
  }

  body.family-site.home #home-shop-model-title {
    --compact-mobile-heading-size: 28px;
    margin: 8px 0 14px;
    font-size: var(--compact-mobile-heading-size) !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em;
  }

  /* Turn the previous dark Lesya wall into a light photo + copy card. */
  body.family-site.home .lesya-band {
    display: grid !important;
    grid-template-rows: 210px auto;
    height: auto !important;
    max-height: none !important;
    border: 1px solid var(--line) !important;
    background: var(--surface-warm) !important;
    color: var(--ink) !important;
  }

  body.family-site.home .lesya-band > img {
    position: relative;
    inset: auto !important;
    width: 100% !important;
    height: 210px !important;
    object-position: 58% 45% !important;
  }

  body.family-site.home .lesya-content {
    padding: 24px 20px 26px !important;
    color: var(--ink) !important;
  }

  body.family-site.home .lesya-content .eyebrow {
    display: block !important;
    color: var(--terracotta) !important;
  }

  body.family-site.home .lesya-band blockquote {
    margin: 10px 0 !important;
    padding: 0 0 0 14px !important;
    border-left-color: var(--terracotta) !important;
  }

  body.family-site.home .lesya-band blockquote p {
    color: var(--ink) !important;
    font-size: 23px !important;
    line-height: 1.26 !important;
  }

  body.family-site.home .lesya-band blockquote cite,
  body.family-site.home .lesya-note { color: var(--muted) !important; }

  .contacts-compact { grid-template-columns: 1fr; gap: 30px; }
  .contacts-actions .button { flex: 1 1 100%; }

  .about-hero { min-height: 500px; }
  .about-hero-content { padding-top: 34px; padding-bottom: 34px; }
  .about-hero h1 { font-size: clamp(32px, 9.5vw, 40px); }
  .about-benefits,
  .about-love { padding: 68px 0; }
  .about-benefit-grid { gap: 10px; }

  .assortment-overview-page .page-hero {
    min-height: 360px !important;
    height: 360px !important;
  }

  .assortment-overview-page .page-hero-content {
    padding-top: 94px !important;
    padding-bottom: 32px !important;
  }

  .assortment-overview-page .page-hero h1 { font-size: clamp(38px, 12vw, 48px); }

  .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
    min-height: 330px;
  }

  .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-intro-inner {
    padding: 22px 18px 24px;
  }

  .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero h1 {
    font-size: clamp(32px, 9vw, 42px);
  }

  .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-lead {
    font-size: 14px;
    line-height: 1.48;
  }

  .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero-shade {
    background: linear-gradient(180deg, rgba(31, 27, 24, .06) 0%, rgba(31, 27, 24, .52) 48%, rgba(31, 27, 24, .92) 100%);
  }

  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero {
    min-height: 230px !important;
  }

  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero-image {
    width: 70%;
    opacity: 1;
  }

  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-intro-inner {
    padding: 22px 18px 24px;
  }

  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero h1 {
    font-size: clamp(30px, 9vw, 38px);
    margin-top: 8px;
    margin-bottom: 12px;
  }

  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .breadcrumb { margin-bottom: 14px; }
  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .eyebrow { margin-bottom: 8px; }

  .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-lead {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .catalog-browser,
  .is-subcategory-page .catalog-browser { padding-top: 38px; }

  .catalog-product-page.has-product-photo .catalog-product-visual,
  .catalog-product-page.has-product-photo .catalog-product-visual img { min-height: 280px; }
}

@media (max-width: 390px) {
  body.family-site.home .family-hero .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }

  body.family-site.home .family-hero .hero-actions .button { font-size: 11px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    transition-delay: 0ms !important;
  }

  html.plf-site-scroll-motion [data-site-reveal],
  html.plf-site-scroll-motion [data-site-reveal].is-revealed {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 359px) {
  body.family-site.home #assortment-title { --compact-mobile-heading-size: 22px; }
  body.family-site.home #featured-title { --compact-mobile-heading-size: 26px; }
  body.family-site.home #home-shop-model-title { --compact-mobile-heading-size: 20px; }
}

/* 1.12.2 — photo header, calmer homepage rhythm and a homier About page. */
body.plf-header-photo .site-header {
  border-bottom-color: rgba(255, 248, 238, .22);
  box-shadow: 0 8px 26px rgba(25, 20, 16, .14);
  backdrop-filter: blur(14px) saturate(.92);
}

body.plf-header-over-media .site-header {
  background: linear-gradient(90deg, rgba(28, 23, 19, .78), rgba(35, 28, 23, .66) 55%, rgba(28, 23, 19, .76));
}

body.plf-header-photo-strip .site-header {
  border-bottom-color: rgba(222, 213, 203, .9);
  background: rgba(251, 247, 239, .97);
  box-shadow: 0 7px 22px rgba(46, 41, 37, .07);
}

body.plf-header-photo .site-header::after { display: none; }

body.plf-header-photo .site-nav a,
body.plf-header-photo .header-phone,
body.plf-header-photo .menu-toggle { color: #fffaf2; }

body.family-site.plf-header-over-media .site-header .site-nav .nav-links a {
  color: #fffaf2 !important;
  text-shadow: 0 1px 10px rgba(18, 14, 12, .35);
}

body.family-site.plf-header-photo-strip .site-header .site-nav .nav-links a,
body.family-site.plf-header-photo-strip .header-phone,
body.family-site.plf-header-photo-strip .menu-toggle {
  color: var(--forest-dark) !important;
  text-shadow: none;
}

body.family-site.plf-header-photo-strip .header-phone span { color: var(--muted); }

body.plf-header-photo .site-nav a {
  text-shadow: 0 1px 10px rgba(18, 14, 12, .35);
}

body.plf-header-photo .site-nav a[aria-current="page"]::after,
body.plf-header-photo .site-nav a:hover::after,
body.plf-header-photo .site-nav a:focus-visible::after { background: #efbd94; }

body.plf-header-photo .header-phone {
  padding: 9px 0 9px 18px;
  border-left-color: rgba(255, 250, 242, .3);
}

body.plf-header-photo .header-phone span { color: rgba(255, 250, 242, .72); }

body.plf-header-photo .brand {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.plf-header-photo .brand img {
  opacity: .9;
  filter: brightness(0) saturate(100%) invert(92%) sepia(11%) saturate(567%) hue-rotate(343deg) brightness(105%) contrast(93%);
}

body.plf-header-photo-strip .brand {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.family-site .footer-brand {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.family-site .footer-brand img {
  width: 176px !important;
  height: auto !important;
  opacity: .72;
  filter: brightness(0) invert(1) !important;
}

body.plf-header-photo .header-search {
  border-color: rgba(255, 250, 242, .42);
  background: rgba(255, 250, 242, .9);
  box-shadow: 0 7px 22px rgba(25, 20, 16, .1);
}

body.plf-header-photo .header-search:focus-within {
  border-color: #efbd94;
  box-shadow: 0 0 0 3px rgba(239, 189, 148, .2), 0 7px 22px rgba(25, 20, 16, .1);
}

body.plf-header-over-media .subpage-main { padding-top: 0; }

body.plf-header-over-media .page-hero-content {
  padding-top: calc(var(--header-height) + 52px);
}

body.plf-header-over-media .about-hero { min-height: 632px; }

body.plf-header-over-media .about-hero-content {
  padding-top: calc(var(--header-height) + 40px);
  padding-bottom: 44px;
}

body.plf-header-over-media .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
  min-height: 452px;
}

body.plf-header-over-media .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-intro-inner {
  padding-top: calc(var(--header-height) + 34px);
}

body.plf-header-over-media .assortment-overview-page .page-hero { min-height: 480px; }

/* Let the homepage photograph continue beneath the desktop header. */
body.family-site.home .family-hero { padding-top: 0; }

body.family-site.home .family-hero .hero-image,
body.family-site.home .family-hero .hero-shade {
  inset: 0;
  height: 100%;
}

body.family-site.home .family-hero .hero-content {
  padding-top: calc(var(--header-height) + 24px);
  padding-bottom: 32px;
}

body.family-site.home .family-hero .hero-title {
  max-width: 720px;
  margin: 9px 0 14px;
  font-size: clamp(48px, 4.35vw, 58px);
  line-height: 1.045;
}

body.family-site.home .family-hero .hero-title span { display: block; }

body.family-site.home .family-hero .hero-copy {
  max-width: 610px;
  font-size: clamp(15px, 1.12vw, 17px);
  line-height: 1.52;
}

body.family-site.home .family-hero .hero-actions {
  margin-top: 18px;
  gap: 10px;
}

body.family-site.home .family-hero .hero-actions .button {
  min-height: 46px;
  padding: 11px 19px;
}

/* Homepage density: smaller headings, shorter cards and closer sections. */
body.family-site.home .assortment,
body.family-site.home .homepage-featured,
body.family-site.home .news-section {
  margin-top: 22px;
  padding: 44px clamp(20px, 2.2vw, 34px) 38px !important;
}

body.family-site.home .section-heading {
  gap: clamp(28px, 5vw, 72px);
  margin-bottom: 26px !important;
}

body.family-site.home .section-heading h2,
body.family-site.home .news-heading h2 {
  max-width: 780px;
  font-size: clamp(36px, 3.45vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body.family-site.home .assortment-grid {
  gap: 14px !important;
}

body.family-site.home .assortment-grid .assortment-item {
  min-height: 0 !important;
  height: auto !important;
  grid-template-rows: auto auto !important;
  padding: 0 0 12px !important;
  border-radius: 15px !important;
}

body.family-site.home .assortment-grid .assortment-bg {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
}

body.family-site.home .assortment-grid .assortment-item-caption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 3px;
  padding: 22px 12px 10px;
  background: linear-gradient(180deg, transparent, rgba(24, 17, 12, .82) 45%);
}

body.family-site.home .assortment-grid .assortment-item h3 {
  position: static !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(14px, 1.2vw, 17px) !important;
  line-height: 1.18 !important;
  text-shadow: 0 1px 5px rgba(20, 14, 10, .82);
}

body.family-site.home .assortment-grid .assortment-item p {
  margin: 9px 12px 0 !important;
  display: -webkit-box;
  overflow: hidden;
  font-size: 11px !important;
  line-height: 1.35 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.family-site.home .assortment .section-action,
body.family-site.home .homepage-featured .section-action {
  margin-top: 22px !important;
}

body.family-site.home .section-action .button,
body.family-site.home .news-footer .button { min-height: 46px; }

body.family-site.home .home-shop-model {
  margin-top: 22px;
  padding: 54px clamp(32px, 4.6vw, 68px) !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 4.8vw, 68px);
}

body.family-site.home .home-shop-model-copy h2 {
  max-width: 650px;
  font-size: clamp(36px, 3.4vw, 46px);
  line-height: 1.08;
}

body.family-site.home .home-shop-model-links a { padding-block: 17px; }
body.family-site.home .gallery-section,
body.family-site.home .lesya-band,
body.family-site.home .contacts-compact { margin-block: 22px; }

body.family-site.home .gallery-section {
  padding: clamp(30px, 4vw, 54px);
}

body.family-site.home .gallery-grid { grid-template-rows: 310px; }

body.family-site.home .lesya-band {
  min-height: 350px;
  height: 350px;
}

body.family-site.home .lesya-content { padding: clamp(34px, 4vw, 56px); }

body.family-site.home .news-grid { gap: 14px; border: 0; }
body.family-site.home .news-card { border: 1px solid var(--line); }
body.family-site.home .news-body { padding: 22px; }
body.family-site.home .news-body h3 { margin-block: 10px; font-size: 20px; }
body.family-site.home .news-card-featured .news-body h3 { font-size: 24px; }
body.family-site.home .news-body p { margin-bottom: 16px; }
body.family-site.home .news-footer { margin-top: 22px !important; }

body.family-site.home .contacts-compact {
  padding: clamp(42px, 5vw, 62px);
}

/* About page: warm paper, ceramic medallions and softer household character. */
.about-categories {
  background:
    radial-gradient(circle at 14% 18%, rgba(185, 101, 69, .08), transparent 24%),
    radial-gradient(circle at 88% 76%, rgba(47, 74, 60, .07), transparent 27%),
    #fbf6ef;
}

.about-category-card {
  min-height: 112px;
  padding: 20px 18px 20px 21px;
  border-color: #e2d3c2;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(247, 238, 227, .9));
  box-shadow: 0 10px 25px rgba(75, 55, 39, .055), inset 0 1px rgba(255, 255, 255, .82);
}

.about-category-card:nth-child(4n + 2) {
  background: linear-gradient(135deg, #fff8ee, #f1e1cb);
}

.about-category-card:nth-child(4n + 3) {
  background: linear-gradient(135deg, #fffaf2, #ecebe2);
}

.about-category-card:nth-child(4n + 4) {
  background: linear-gradient(135deg, #faf8ef, #e6ece3);
}

.about-category-card::after { display: none; }

.about-category-card h3 {
  font-size: 19px;
  line-height: 1.18;
}

.about-category-card p { line-height: 1.45; }

.about-card-link {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(185, 101, 69, .26);
  border-radius: 50%;
  color: var(--terracotta);
  background: rgba(255, 250, 242, .72);
  box-shadow: inset 0 1px rgba(255, 255, 255, .8);
}

.about-category-card:nth-child(4n + 4) .about-card-link {
  color: var(--forest);
  border-color: rgba(47, 74, 60, .24);
}

.about-benefits {
  padding: 82px 0;
  border: 0;
  background:
    radial-gradient(circle at 8% 16%, rgba(201, 151, 86, .1), transparent 25%),
    radial-gradient(circle at 90% 82%, rgba(47, 74, 60, .08), transparent 27%),
    #f5eee4;
}

.about-benefit-grid { gap: 14px; }

.about-benefit {
  padding: 27px;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 17px;
  border-color: #e0d3c5;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(249, 243, 235, .9));
  box-shadow: 0 12px 28px rgba(70, 52, 39, .06), inset 0 1px rgba(255, 255, 255, .84);
}

.about-benefit:nth-child(3n + 2) {
  background: linear-gradient(145deg, #fffaf3, #edf0e9);
}

.about-benefit-icon {
  width: 44px;
  height: 44px;
  color: var(--terracotta);
  border-color: rgba(185, 101, 69, .28);
  background: #f8e9dc;
  box-shadow: inset 0 1px rgba(255, 255, 255, .85);
}

.about-benefit:nth-child(even) .about-benefit-icon {
  color: var(--forest);
  border-color: rgba(47, 74, 60, .24);
  background: #e9eee8;
}

.about-benefit-label {
  color: var(--terracotta) !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: none;
}

.about-benefit h3 { margin: 6px 0 9px; }

/* A shared, restrained editorial scale keeps long Ukrainian headings readable. */
body.family-site .about-page h2 {
  font-size: clamp(34px, 3.25vw, 48px);
  line-height: 1.1;
  letter-spacing: -.02em;
  text-wrap: balance;
}

/* Two-font hierarchy: decorative only where hierarchy needs it. */
body.family-site h1,
body.family-site h2 {
  font-family: "Prata", Georgia, serif;
  font-weight: 400;
}

body.family-site h3,
body.family-site h4,
body.family-site .assortment-item h3,
body.family-site .home-shop-model-links span,
body.family-site .about-category-card h3,
body.family-site .about-benefit h3,
body.family-site .catalog-category-body h3,
body.family-site .catalog-subcategory-body h3,
body.family-site .news-body h3 {
  font-family: "Manrope", Arial, sans-serif;
  letter-spacing: -.015em;
}

body.family-site .eyebrow {
  font-family: "Manrope", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .11em;
}

body.family-site .news-body h3,
body.family-site .catalog-category-body h3,
body.family-site .catalog-subcategory-body h3 { font-weight: 600; }

body.family-site.plf-header-over-media .page-hero h1 {
  max-width: 780px;
  font-size: clamp(44px, 4.35vw, 60px) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}

body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero h1 {
  font-size: clamp(40px, 4.1vw, 52px) !important;
}

body.family-site .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero h1 {
  font-size: clamp(34px, 3.65vw, 46px) !important;
}

body.family-site .ploc-cart-hero h1 {
  font-size: clamp(48px, 4.35vw, 60px) !important;
  line-height: 1.04 !important;
}

body.family-site.home .gallery-header h2,
body.family-site.home .contacts-compact h2 {
  font-size: clamp(36px, 3.2vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em;
  text-wrap: balance;
}

body.family-site .assortment-overview-page .assortment-page .section-heading h2 {
  font-size: clamp(36px, 3.5vw, 48px) !important;
  line-height: 1.1 !important;
}

body.family-site .assortment-overview-page .assortment-page .section-heading {
  margin-bottom: 24px;
}

body.family-site .assortment-overview-page .assortment-index-copy {
  max-width: 760px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

body.family-site .assortment-category-page h2 {
  font-size: clamp(34px, 3.35vw, 46px) !important;
  line-height: 1.12 !important;
  text-wrap: balance;
}

body.family-site .contacts h2 {
  font-size: clamp(36px, 3.35vw, 46px) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}

/* The orders plugin styles cart badges as grids, so explicitly preserve the
   native hidden state when the cart is empty. */
body.family-site [data-ploc-cart-count][hidden] {
  display: none !important;
}

@media (min-width: 821px) {
  body.plf-header-photo .header-inner { gap: clamp(14px, 1.35vw, 24px); }
  body.plf-header-photo .brand img { width: 158px; height: 66px; }
  body.plf-header-photo .site-nav .nav-links { gap: clamp(13px, 1.05vw, 22px); }
  body.plf-header-photo .site-nav .nav-links a { font-size: clamp(11px, .7vw, 13px); }
}

@media (max-width: 900px) {
  body.family-site.home .family-hero .hero-title span { display: inline; }

  body.plf-header-over-media .about-hero {
    min-height: 588px;
  }

  body.plf-header-over-media .about-hero-content {
    padding-top: calc(var(--header-height) + 28px);
  }
}

@media (max-width: 820px) {
  body.plf-header-photo-strip .site-header {
    background: rgba(251, 247, 239, .98);
  }

  body.plf-header-over-media .site-header {
    background: linear-gradient(90deg, rgba(28, 23, 19, .8), rgba(38, 30, 24, .64) 55%, rgba(28, 23, 19, .76));
  }

  body.plf-header-photo.menu-open .site-nav {
    color: var(--ink);
    background: #fbf7ef !important;
  }

  body.plf-header-photo.menu-open .site-nav a { color: var(--ink); text-shadow: none; }

  body.plf-header-photo .brand { padding: 3px 8px; border-radius: 12px; }
  body.plf-header-photo .brand img { width: 118px; height: 44px; }

  body.plf-header-over-media .page-hero-content {
    padding-top: calc(var(--header-height) + 42px) !important;
  }
}

@media (max-width: 767px) {
  body.family-site .site-header,
  body.family-site.home .site-header {
    display: block !important;
    width: 0;
    height: 0;
    min-height: 0;
    border: 0;
    background: transparent !important;
    box-shadow: none;
    backdrop-filter: none;
    pointer-events: none;
  }

  body.family-site .header-inner {
    width: 0;
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: block;
  }

  body.family-site .brand,
  body.family-site .header-search,
  body.family-site .header-phone {
    display: none !important;
  }

  body.family-site .menu-toggle {
    position: fixed;
    z-index: 1002;
    top: 10px;
    left: 10px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(47, 74, 60, .18);
    border-radius: 50%;
    color: var(--forest-dark);
    background: rgba(251, 247, 239, .78);
    box-shadow: 0 7px 20px rgba(35, 28, 23, .12);
    backdrop-filter: blur(13px) saturate(.94);
    pointer-events: auto;
  }

  body.family-site .menu-label { display: none; }

  body.family-site .menu-glyph {
    position: relative;
    width: 18px;
    height: 14px;
  }

  body.family-site .menu-glyph::before,
  body.family-site .menu-glyph i {
    position: absolute;
    left: 0;
    width: 18px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
    content: "";
    transition: top .22s ease, opacity .18s ease, transform .22s ease;
  }

  body.family-site .menu-glyph::before { top: 0; }
  body.family-site .menu-glyph i:first-child { top: 6px; }
  body.family-site .menu-glyph i:last-child { top: 12px; }

  body.family-site.menu-open .menu-toggle {
    color: #fffaf2;
    border-color: rgba(255, 250, 242, .28);
    background: rgba(47, 74, 60, .92);
  }

  body.family-site.menu-open .menu-glyph::before { opacity: 0; }
  body.family-site.menu-open .menu-glyph i:first-child { top: 6px; transform: rotate(45deg); }
  body.family-site.menu-open .menu-glyph i:last-child { top: 6px; transform: rotate(-45deg); }

  body.family-site .site-nav {
    position: fixed !important;
    z-index: 1001 !important;
    inset: 0 !important;
    box-sizing: border-box;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0;
    padding: 66px 18px calc(88px + env(safe-area-inset-bottom));
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px;
    align-content: start;
    overflow-y: auto;
    color: var(--ink);
    background: rgba(248, 242, 233, .78) !important;
    box-shadow: inset 0 -1px rgba(47, 74, 60, .12);
    backdrop-filter: blur(18px) saturate(.92);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-14px) scale(.99);
    transform-origin: top left;
    transition: opacity .26s ease, visibility .26s ease, transform .32s var(--motion-ease);
  }

  body.family-site.menu-open .site-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    background: rgba(248, 242, 233, .78);
    transform: none;
  }

  body.family-site .site-nav .nav-links {
    display: grid;
    gap: 0;
  }

  body.family-site .site-nav .nav-links a,
  body.family-site.plf-header-over-media .site-header .site-nav .nav-links a,
  body.family-site.plf-header-photo-strip .site-header .site-nav .nav-links a {
    min-height: 45px;
    padding: 8px 4px;
    display: flex;
    gap: 8px;
    align-items: center;
    color: var(--ink) !important;
    border-bottom: 1px solid rgba(106, 95, 87, .16);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.18;
    text-shadow: none;
  }

  body.family-site .site-nav .nav-links .ploc-cart-nav-link [data-ploc-cart-count] {
    position: static;
    margin-left: 2px;
    flex: 0 0 auto;
  }

  body.family-site .site-nav .nav-links [data-ploc-cart-count][hidden] {
    display: none !important;
  }

  body.family-site .site-nav .nav-aside {
    display: none !important;
  }

  body.family-site .subpage-main {
    padding-top: 0 !important;
  }

  body.family-site.plf-header-over-media .page-hero-content {
    padding-top: 42px !important;
  }

  body.family-site.plf-header-over-media .about-hero {
    min-height: 500px;
  }

  body.family-site.plf-header-over-media .about-hero-content {
    padding-top: 34px;
  }

  body.family-site.home .family-hero {
    height: 438px !important;
    min-height: 438px !important;
    max-height: 438px !important;
  }

  body.family-site.home .family-hero .hero-image {
    inset: 0 0 auto !important;
    height: 270px !important;
    object-position: 50% 46% !important;
  }

  body.family-site.home .family-hero .hero-title {
    margin-bottom: 8px;
    font-size: clamp(29px, 8.65vw, 35px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em;
  }

  body.family-site.home .family-hero .hero-copy {
    font-size: 12.5px;
    line-height: 1.42;
  }

  body.family-site.home .family-hero .hero-actions {
    margin-top: 12px !important;
    gap: 8px !important;
  }

  body.family-site.home .family-hero .hero-actions .button {
    min-height: 43px !important;
    padding: 9px 10px !important;
    font-size: 10.5px !important;
  }

  body.family-site.home .assortment,
  body.family-site.home .homepage-featured,
  body.family-site.home .news-section,
  body.family-site.home .contacts-compact {
    width: calc(100% - 24px);
    margin: 16px auto 0;
    padding: 29px 12px !important;
  }

  body.family-site.home .section-heading,
  body.family-site.home .assortment .section-heading,
  body.family-site.home .homepage-featured .section-heading,
  body.family-site.home .news-section .section-heading {
    gap: 10px !important;
    margin-bottom: 18px !important;
  }

  body.family-site.home .section-heading > p,
  body.family-site.home .news-heading > p {
    font-size: 12px;
    line-height: 1.45;
  }

  body.family-site.home #featured-title,
  body.family-site.home .news-heading h2 {
    font-size: 27px !important;
    line-height: 1.08 !important;
  }

  body.family-site.home .assortment-grid {
    gap: 9px !important;
  }

  body.family-site.home .assortment-grid .assortment-item {
    padding: 0 !important;
    border-radius: 12px !important;
  }

  body.family-site.home .assortment-grid .assortment-item-caption {
    padding: 18px 8px 7px;
  }

  body.family-site.home .assortment-grid .assortment-item h3 {
    font-size: 13px !important;
  }

  body.family-site.home .assortment-grid .assortment-item p { display: none !important; }

  body.family-site.home .assortment .section-action,
  body.family-site.home .homepage-featured .section-action {
    margin-top: 17px !important;
  }

  body.family-site.home .home-shop-model {
    width: calc(100% - 24px);
    margin: 16px auto 0;
    padding: 31px 17px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px;
  }

  body.family-site.home .home-shop-model-copy,
  body.family-site.home .home-shop-model-links {
    width: 100%;
    min-width: 0;
  }

  body.family-site.home #home-shop-model-title {
    margin-block: 6px 11px;
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  body.family-site.home .home-shop-model-copy > p:last-child {
    font-size: 12.5px;
    line-height: 1.5;
  }

  body.family-site.home .home-shop-model-links a { padding-block: 14px; }
  body.family-site.home .home-shop-model-links span { font-size: 18px; }

  body.family-site.home .gallery-section {
    margin: 16px auto !important;
  }

  body.family-site.home .lesya-band {
    width: calc(100% - 24px);
    margin: 16px auto !important;
    display: block;
  }

  body.family-site.home .lesya-phase-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
  }

  body.family-site.home .lesya-content {
    position: absolute !important;
    z-index: 2;
    inset: auto 0 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 16px 16px !important;
    overflow: hidden;
    color: #fffaf2;
    background: transparent;
  }

  body.family-site.home .lesya-content .eyebrow,
  body.family-site.home .lesya-band blockquote,
  body.family-site.home .lesya-band blockquote p,
  body.family-site.home .lesya-band blockquote cite,
  body.family-site.home .lesya-note {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.family-site.home .lesya-band blockquote p {
    font-size: 19px !important;
    line-height: 1.22 !important;
  }

  body.family-site.home .lesya-note {
    margin-top: 9px !important;
    padding-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.family-site.home .news-grid {
    gap: 10px;
  }

  body.family-site.home .news-image,
  body.family-site.home .news-card-featured .news-image {
    aspect-ratio: 16 / 9;
  }

  body.family-site.home .news-body { padding: 17px; }
  body.family-site.home .news-body h3,
  body.family-site.home .news-card-featured .news-body h3 { font-size: 19px; }
  body.family-site.home .news-body p { margin-bottom: 12px; }
  body.family-site.home .news-footer { margin-top: 17px !important; }

  body.family-site.home .contacts-compact { gap: 24px; }

  body.plf-header-over-media .about-hero {
    min-height: 568px;
  }

  body.plf-header-over-media .about-hero-content {
    padding-top: calc(var(--header-height) + 25px);
    padding-bottom: 30px;
  }

  .about-categories,
  .about-benefits { padding-block: 54px; }

  .about-category-card {
    min-height: 0;
    padding: 15px 13px 15px 15px;
    border-radius: 17px;
  }

  .about-category-card h3 {
    font-size: 16.5px;
    line-height: 1.16;
  }

  .about-category-card p {
    font-size: 11.5px;
    line-height: 1.4;
  }

  .about-card-link { width: 30px; height: 30px; }

  .about-benefit {
    padding: 21px 17px;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 13px;
    border-radius: 18px;
  }

  .about-benefit-icon { width: 40px; height: 40px; }

  body.family-site .about-hero h1 {
    font-size: clamp(31px, 8.7vw, 34px);
    line-height: 1.08;
  }

  body.family-site .about-page h2 {
    font-size: clamp(28px, 8vw, 31px);
    line-height: 1.1;
    letter-spacing: -.025em;
  }

  body.family-site .about-benefit h3 {
    font-size: 18px;
    line-height: 1.28;
  }

  body.family-site .assortment-overview-page .assortment-page .section-heading h2,
  body.family-site .assortment-category-page h2,
  body.family-site .contacts h2 {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  body.family-site .assortment-overview-page .assortment-index-copy {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.42;
  }

  body.family-site.plf-header-over-media .page-hero h1,
  body.family-site .assortment-overview-page .page-hero h1 {
    font-size: var(--mobile-page-hero-title-size, 38px) !important;
    line-height: 1.07 !important;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero h1 {
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  body.family-site .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero h1 {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  body.family-site .ploc-cart-hero h1 {
    font-size: 48px !important;
  }

  body.family-site.home .contacts-compact h2 {
    font-size: 30px !important;
    line-height: 1.08 !important;
  }
}

/* 1.12.2 mobile hero calm-down: preserve the full copy in the document while
   giving the photography, title and actions a clearer visual hierarchy. */
@media (max-width: 767px) {
  body.family-site.home .family-hero {
    height: 404px !important;
    min-height: 404px !important;
    max-height: 404px !important;
  }

  body.family-site.home .family-hero .hero-image {
    height: 248px !important;
    object-position: 52% 45% !important;
  }

  body.family-site.home .family-hero .hero-content {
    width: calc(100% - 30px) !important;
    padding: 86px 0 18px !important;
  }

  body.family-site.home .family-hero .hero-kicker {
    margin-bottom: 5px !important;
    font-size: 8.5px !important;
    letter-spacing: .12em !important;
    white-space: nowrap;
  }

  body.family-site.home .family-hero .hero-title {
    margin: 4px 0 7px !important;
    font-size: clamp(27px, 7.8vw, 31px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.03em !important;
  }

  body.family-site.home .family-hero .hero-copy {
    display: -webkit-box;
    max-width: 390px;
    overflow: hidden;
    font-size: 11.5px !important;
    line-height: 1.38 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.family-site.home .family-hero .hero-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr);
    width: 100%;
    max-width: 390px;
    margin-top: 9px !important;
    gap: 7px !important;
  }

  body.family-site.home .family-hero .hero-actions .button {
    width: 100%;
    min-width: 0;
    min-height: 39px !important;
    padding: 8px 7px !important;
    font-size: 9.5px !important;
    line-height: 1.18 !important;
  }

  body.family-site.plf-header-over-media .about-hero {
    min-height: 456px !important;
  }

  body.family-site.plf-header-over-media .about-hero-content {
    padding: 58px 14px 26px !important;
  }

  body.family-site .about-hero-content .eyebrow {
    margin-bottom: 7px !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
  }

  body.family-site .about-hero h1 {
    max-width: 430px;
    margin-bottom: 0 !important;
    font-size: clamp(27px, 7.65vw, 31px) !important;
    line-height: 1.055 !important;
    letter-spacing: -.025em !important;
  }

  body.family-site .about-hero-lead {
    display: -webkit-box;
    max-width: 430px;
    margin-top: 13px !important;
    overflow: hidden;
    font-size: 12px !important;
    line-height: 1.42 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  body.family-site .about-hero-copy {
    display: none;
  }

  body.family-site .about-hero .about-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
    width: 100%;
    max-width: 430px;
    margin-top: 13px !important;
    gap: 7px !important;
  }

  body.family-site .about-hero .about-actions .button {
    width: 100%;
    min-height: 40px !important;
    padding: 8px 7px !important;
    font-size: 9.5px !important;
    line-height: 1.18 !important;
  }
}

@media (min-width: 1024px) {
  body.family-site.home .assortment-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px !important;
  }

  body.family-site.home .assortment-grid .assortment-item p {
    margin: 8px 12px 0 !important;
    font-size: 11px !important;
  }
}

/* Evening inner-page heroes share the homepage's darker autumn language. */
body.family-site.plf-header-over-media .page-hero-light {
  color: #fff;
  background: #35271f;
}

body.family-site.plf-header-over-media .page-hero-light .page-hero-shade {
  background: linear-gradient(90deg, rgba(27, 20, 16, .84) 0%, rgba(34, 25, 20, .7) 38%, rgba(39, 28, 22, .34) 66%, rgba(39, 28, 22, .08) 100%) !important;
}

body.family-site.plf-header-over-media .page-hero-light .page-hero-content,
body.family-site.plf-header-over-media .page-hero-light h1 {
  color: #fff !important;
}

body.family-site.plf-header-over-media .page-hero-light .eyebrow {
  color: #efbd94 !important;
}

body.family-site.plf-header-over-media .page-hero-light .page-hero-content > p:last-child {
  color: rgba(255, 250, 244, .86) !important;
}

/* A restrained shared fade makes every inner hero settle into the paper in
   the same way as the homepage, without washing out the photograph. */
/* Keep the shop heading and actions above the decorative backdrop blur. */
body.family-site .about-hero-content {
  position: relative;
  z-index: 2;
}

body.family-site.plf-header-over-media .page-hero-fade,
body.family-site.plf-header-over-media .about-hero-fade {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 92px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(247, 242, 233, .12) 42%, var(--paper) 100%);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000);
  mask-image: linear-gradient(180deg, transparent, #000);
}

/* Shared inner-hero frame. The wide photographs are composed for this crop,
   so page changes no longer alter the apparent camera distance. */
@media (min-width: 901px) {
  body.family-site.plf-header-over-media .page-hero,
  body.family-site.plf-header-over-media .assortment-overview-page .page-hero,
  body.family-site.plf-header-over-media .about-hero {
    height: 480px !important;
    min-height: 480px !important;
  }

  body.family-site.plf-header-over-media .page-hero > img,
  body.family-site.plf-header-over-media .about-hero-image {
    object-fit: cover !important;
    transform: none !important;
  }

  body.family-site.plf-header-over-media .about-hero-content {
    padding-top: calc(var(--header-height) + 28px);
    padding-bottom: 30px;
  }
}

/* 1.16.8 — category Hero copy stays legible in every color phase, while the
   visible four-level breadcrumb becomes one quiet contextual back link. */
body.family-site .assortment-category-page .assortment-category-hero {
  --plf-category-hero-copy: #fff8ec;
  --plf-category-hero-muted: rgba(255, 248, 236, .88);
  --plf-category-hero-accent: #f2c47b;
  --plf-category-hero-back-bg: rgba(20, 24, 21, .3);
  --plf-category-hero-back-line: rgba(255, 248, 236, .32);
  --plf-category-hero-text-shadow: 0 2px 18px rgba(12, 16, 14, .48);
  --plf-category-hero-shade: linear-gradient(90deg, rgba(24, 28, 24, .68) 0%, rgba(24, 28, 24, .48) 28%, rgba(24, 28, 24, .16) 54%, rgba(24, 28, 24, 0) 72%);
}

body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
  --plf-desktop-hero-shade: var(--plf-category-hero-shade);
}

body.family-site.plf-theme-sunset .assortment-category-page .assortment-category-hero {
  --plf-category-hero-copy: #fff7e9;
  --plf-category-hero-muted: rgba(255, 247, 233, .88);
  --plf-category-hero-accent: #ffd18a;
  --plf-category-hero-back-bg: rgba(66, 37, 22, .28);
  --plf-category-hero-back-line: rgba(255, 221, 168, .34);
  --plf-category-hero-text-shadow: 0 2px 18px rgba(47, 25, 15, .5);
  --plf-category-hero-shade: linear-gradient(90deg, rgba(63, 37, 24, .66) 0%, rgba(63, 37, 24, .46) 28%, rgba(63, 37, 24, .15) 54%, rgba(63, 37, 24, 0) 72%);
}

body.family-site.plf-theme-evening .assortment-category-page .assortment-category-hero {
  --plf-category-hero-copy: #fff5e4;
  --plf-category-hero-muted: rgba(255, 245, 228, .87);
  --plf-category-hero-accent: #efbd72;
  --plf-category-hero-back-bg: rgba(8, 20, 22, .38);
  --plf-category-hero-back-line: rgba(225, 238, 232, .28);
  --plf-category-hero-text-shadow: 0 2px 20px rgba(4, 12, 14, .62);
  --plf-category-hero-shade: linear-gradient(90deg, rgba(9, 23, 25, .72) 0%, rgba(9, 23, 25, .5) 28%, rgba(9, 23, 25, .17) 54%, rgba(9, 23, 25, 0) 72%);
}

body.family-site .assortment-category-page.is-subcategory-page:not(.has-category-photo-hero) .assortment-category-hero {
  --plf-category-hero-copy: var(--ink);
  --plf-category-hero-muted: var(--muted);
  --plf-category-hero-accent: var(--terracotta);
  --plf-category-hero-back-bg: rgba(255, 255, 255, .56);
  --plf-category-hero-back-line: rgba(83, 66, 50, .2);
  --plf-category-hero-text-shadow: none;
}

body.family-site .assortment-category-hero h1 {
  color: var(--plf-category-hero-copy);
  text-shadow: var(--plf-category-hero-text-shadow);
}

body.family-site .assortment-category-hero .eyebrow {
  color: var(--plf-category-hero-accent);
  text-shadow: var(--plf-category-hero-text-shadow);
}

body.family-site .assortment-category-hero .assortment-category-lead {
  color: var(--plf-category-hero-muted);
  text-shadow: var(--plf-category-hero-text-shadow);
}

.assortment-category-back {
  margin: 0 0 18px;
}

.assortment-category-back a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid var(--plf-category-hero-back-line);
  border-radius: 999px;
  background: var(--plf-category-hero-back-bg);
  color: var(--plf-category-hero-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: var(--plf-category-hero-text-shadow);
  backdrop-filter: blur(5px);
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.assortment-category-back a:hover,
.assortment-category-back a:focus-visible {
  border-color: var(--plf-category-hero-accent);
  color: var(--plf-category-hero-copy);
  background: rgba(20, 24, 21, .46);
}

.assortment-category-back a:focus-visible {
  outline: 2px solid var(--plf-category-hero-accent);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
    --plf-category-hero-shade: linear-gradient(0deg, rgba(18, 24, 22, .88) 0%, rgba(18, 24, 22, .68) 39%, rgba(18, 24, 22, .2) 66%, rgba(18, 24, 22, .03) 100%);
  }

  body.family-site.plf-theme-sunset .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
    --plf-category-hero-shade: linear-gradient(0deg, rgba(57, 34, 22, .86) 0%, rgba(57, 34, 22, .64) 39%, rgba(57, 34, 22, .19) 66%, rgba(57, 34, 22, .03) 100%);
  }

  body.family-site.plf-theme-evening .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero {
    --plf-category-hero-shade: linear-gradient(0deg, rgba(7, 20, 23, .91) 0%, rgba(7, 20, 23, .7) 39%, rgba(7, 20, 23, .22) 66%, rgba(7, 20, 23, .04) 100%);
  }

  .assortment-category-back {
    margin-bottom: 14px;
  }

  .assortment-category-back a {
    max-width: min(100%, 320px);
    font-size: 10px;
  }
}

/* 1.16.7 — keep category SEO copy visible without competing with the photo. */
@media (min-width: 768px) {
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero .assortment-category-lead {
    max-width: 720px;
    color: rgba(255, 255, 255, .82);
    font-size: 16px;
    line-height: 1.5;
  }
}


@media (max-width: 767px) {
  body.family-site.plf-header-over-media .page-hero {
    height: 360px !important;
    min-height: 360px !important;
  }

  body.family-site.plf-header-over-media .page-hero-light .page-hero-shade {
    background: linear-gradient(180deg, rgba(28, 21, 17, .16) 0%, rgba(30, 22, 18, .46) 42%, rgba(28, 20, 16, .88) 100%) !important;
  }

}

body.family-site.home .assortment-grid .assortment-item:nth-child(n+7) {
  display: grid !important;
}

@media (min-width: 1024px) {
  body.family-site.home .assortment-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Theme 1.12.3 — the search action follows the rounded search field instead
   of leaving a square green corner at the right edge. */
body.family-site .header-search {
  overflow: hidden;
}

body.family-site .header-search button {
  border-radius: 0 11px 11px 0;
}

/* About density: keep every useful/SEO paragraph, but remove the old
   presentation-sized empty fields between the actual content blocks. */
body.family-site .about-page .about-section,
body.family-site .about-page .about-benefits,
body.family-site .about-page .about-faq,
body.family-site .about-page .about-visit {
  min-height: 0;
  padding-block: 64px !important;
}

body.family-site .about-page .about-heading {
  margin-bottom: 30px;
}

body.family-site .about-page .about-help-image {
  min-height: 540px;
}

body.family-site .about-page .about-help-copy {
  padding-block: 62px;
}

body.family-site .about-page .about-brands,
body.family-site .about-page .about-online,
body.family-site .about-page .about-love {
  min-height: 0;
  padding-block: 62px !important;
}

body.family-site .about-page .about-gifts-inner {
  padding-block: 52px;
}

body.family-site .about-page .about-map {
  height: 440px;
}

/* Compact public preference control beside the desktop phone. Both palette
   colours are permanently visible; the knob only marks the active side. */
.header-theme-switcher {
  grid-column: 4;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fffaf2;
}

.header-theme-switcher > span {
  color: rgba(255, 255, 255, .62);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.header-theme-toggle {
  position: relative;
  width: 48px;
  min-width: 48px;
  height: 26px;
  min-height: 26px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: linear-gradient(90deg, #f5eadc 0 50%, #cf8452 50% 100%);
  box-shadow: inset 0 0 0 2px rgba(35, 52, 43, .32);
  cursor: pointer;
}

.header-theme-toggle::after {
  position: absolute;
  content: "";
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(55, 40, 30, .18);
  border-radius: 50%;
  background: #fffaf3;
  box-shadow: 0 2px 7px rgba(20, 29, 24, .36);
  transform: translateX(0);
  transition: transform 180ms ease, background-color 180ms ease;
}

.header-theme-toggle[aria-checked="true"]::after {
  background: #ffe9cd;
  transform: translateX(22px);
}

.header-theme-toggle:hover,
.header-theme-toggle:focus-visible {
  outline: 2px solid #f0c39e;
  outline-offset: 3px;
}

/* Optional site-wide Sunset palette. Every rule is body-scoped, so the Light
   setting remains exactly the neutral design above when the class is absent. */
body.family-site.plf-theme-sunset {
  --canvas: #cf9560;
  --surface: #e7bd8e;
  --surface-warm: #bd7749;
  --surface-warm-soft: #dba66f;
  --paper: #cf9560;
  --white: #e7bd8e;
  --cream: #dba66f;
  --ink: #2d2119;
  --muted: #493326;
  --line: rgba(83, 53, 31, .25);
  --shadow-soft: 0 11px 28px rgba(64, 39, 24, .09);
  --shadow-hover: 0 17px 36px rgba(64, 39, 24, .14);
  color: var(--ink);
  background:
    radial-gradient(circle at 76% 2%, rgba(246, 190, 104, .65) 0, rgba(225, 155, 84, .3) 25%, transparent 48%),
    linear-gradient(145deg, #d8a672 0%, #cb8c57 50%, #b97043 100%) fixed !important;
}

body.family-site.plf-theme-sunset main,
body.family-site.plf-theme-sunset .subpage-main,
body.family-site.plf-theme-sunset .about-page,
body.family-site.plf-theme-sunset .assortment-overview-page,
body.family-site.plf-theme-sunset .search-page,
body.family-site.plf-theme-sunset .catalog-product-page {
  background: transparent !important;
}

body.family-site.plf-theme-sunset main > section:not(.family-hero):not(.about-hero):not(.page-hero):not(.assortment-category-hero):not(.catalog-product-hero):not(.gallery-section),
body.family-site.plf-theme-sunset .section,
body.family-site.plf-theme-sunset .archive-section,
body.family-site.plf-theme-sunset .about-section,
body.family-site.plf-theme-sunset .about-benefits,
body.family-site.plf-theme-sunset .about-brands,
body.family-site.plf-theme-sunset .about-online,
body.family-site.plf-theme-sunset .about-gifts,
body.family-site.plf-theme-sunset .about-faq,
body.family-site.plf-theme-sunset .about-love,
body.family-site.plf-theme-sunset .about-visit,
body.family-site.plf-theme-sunset .contacts,
body.family-site.plf-theme-sunset .catalog-browser,
body.family-site.plf-theme-sunset .catalog-subcategory-guide,
body.family-site.plf-theme-sunset .assortment-category-details,
body.family-site.plf-theme-sunset .assortment-category-content,
body.family-site.plf-theme-sunset .assortment-related,
body.family-site.plf-theme-sunset .catalog-product-details,
body.family-site.plf-theme-sunset .catalog-product-related,
body.family-site.plf-theme-sunset .search-intro,
body.family-site.plf-theme-sunset .search-products,
body.family-site.plf-theme-sunset .search-suggestions,
body.family-site.plf-theme-sunset .search-publications {
  background: transparent !important;
}

body.family-site.plf-theme-sunset.home .assortment,
body.family-site.plf-theme-sunset.home .homepage-featured,
body.family-site.plf-theme-sunset.home .home-shop-model,
body.family-site.plf-theme-sunset.home .gallery-section,
body.family-site.plf-theme-sunset.home .news-section,
body.family-site.plf-theme-sunset.home .contacts-compact,
body.family-site.plf-theme-sunset .about-gifts-inner,
body.family-site.plf-theme-sunset .empty-offers,
body.family-site.plf-theme-sunset .availability-band-inner,
body.family-site.plf-theme-sunset .search-contact-inner {
  border-color: var(--line) !important;
  background: rgba(235, 190, 143, .5) !important;
  box-shadow: var(--shadow-soft);
}

body.family-site.plf-theme-sunset.home #gallery.gallery-section {
  background: #c98350 !important;
}

body.family-site.plf-theme-sunset.home .gallery-section .gallery-header .eyebrow,
body.family-site.plf-theme-sunset.home .gallery-section .gallery-header > p,
body.family-site.plf-theme-sunset.home .gallery-section .gallery-header p:not(.eyebrow) {
  color: #4e3425;
}

body.family-site.plf-theme-sunset.home .gallery-section .gallery-photo img,
body.family-site.plf-theme-sunset .gallery-archive .gallery-photo img {
  filter: brightness(.8) saturate(.9) sepia(.1) contrast(1.04);
}

body.family-site.plf-theme-sunset .gallery-archive .album-preview {
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(190, 117, 70, .54);
}

body.family-site.plf-theme-sunset .gallery-archive .album-preview + .album-preview {
  border-top: 1px solid var(--line);
}

body.family-site.plf-theme-sunset.home .lesya-band {
  border-color: var(--line);
  background: rgba(225, 168, 111, .62);
}

body.family-site.plf-theme-sunset.home .lesya-content .eyebrow {
  color: #542f23;
}

body.family-site.plf-theme-sunset .assortment-item,
body.family-site.plf-theme-sunset .catalog-category-card,
body.family-site.plf-theme-sunset .catalog-product-item,
body.family-site.plf-theme-sunset .search-product-item,
body.family-site.plf-theme-sunset .search-category-link,
body.family-site.plf-theme-sunset .search-result-item,
body.family-site.plf-theme-sunset .news-card,
body.family-site.plf-theme-sunset .about-category-card,
body.family-site.plf-theme-sunset .about-benefit,
body.family-site.plf-theme-sunset .about-faq-item,
body.family-site.plf-theme-sunset .catalog-product-visual,
body.family-site.plf-theme-sunset .catalog-product-details dl,
body.family-site.plf-theme-sunset .catalog-product-related-grid a {
  border-color: var(--line) !important;
  background: rgba(243, 210, 173, .76) !important;
  box-shadow: var(--shadow-soft);
}

body.family-site.plf-theme-sunset .about-category-card:nth-child(4n + 2),
body.family-site.plf-theme-sunset .about-category-card:nth-child(4n + 3),
body.family-site.plf-theme-sunset .about-category-card:nth-child(4n + 4),
body.family-site.plf-theme-sunset .about-benefit:nth-child(3n + 2) {
  background: rgba(231, 181, 132, .7) !important;
}

body.family-site.plf-theme-sunset .about-online {
  color: #fff8ec;
  background: rgba(91, 51, 31, .22) !important;
}

body.family-site.plf-theme-sunset .about-search {
  border-color: rgba(255, 248, 236, .34);
  background: rgba(76, 44, 29, .16);
}

body.family-site.plf-theme-sunset .about-brand-list li,
body.family-site.plf-theme-sunset .brands-line,
body.family-site.plf-theme-sunset .catalog-product-pickup,
body.family-site.plf-theme-sunset .catalog-products-note,
body.family-site.plf-theme-sunset .search-products-note {
  border-color: var(--line);
  background: rgba(244, 213, 177, .62);
}

/* Keep the companion cart plugin inside the selected site palette even when
   only the theme package is updated. */
body.family-site.plf-theme-sunset .ploc-cart-page {
  --ploc-paper: #cf9560;
  --ploc-cream: #dba66f;
  --ploc-line: rgba(83, 53, 31, .25);
  --ploc-muted: #654b38;
  background: transparent;
}

body.family-site.plf-theme-sunset .ploc-cart-hero-fade {
  background: linear-gradient(180deg, transparent 0%, rgba(207, 149, 96, .12) 42%, #cf9560 100%);
}

body.family-site.plf-theme-sunset .ploc-order-card,
body.family-site.plf-theme-sunset .ploc-cart-empty,
body.family-site.plf-theme-sunset .ploc-checkout-terms,
body.family-site.plf-theme-sunset .ploc-cart-item-image {
  border-color: var(--ploc-line);
  background: rgba(243, 210, 173, .76);
}

body.family-site.plf-theme-sunset .hero-fade,
body.family-site.plf-theme-sunset .page-hero-fade,
body.family-site.plf-theme-sunset .about-hero-fade {
  background: linear-gradient(180deg, transparent 0%, rgba(207, 149, 96, .12) 42%, #cf9560 100%) !important;
}

body.family-site.plf-theme-sunset .mobile-bottom-nav,
body.family-site.plf-theme-sunset .mobile-search-panel,
body.family-site.plf-theme-sunset .contact-dialog-panel {
  background: rgba(239, 207, 169, .96) !important;
}

@media (max-width: 767px) {
  body.family-site .page-hero-content > p:last-child,
  body.family-site .about-hero-content > p:not(.eyebrow),
  body.family-site .assortment-category-lead {
    max-width: 34em;
    font-size: 12.5px !important;
    line-height: 1.42 !important;
  }

  body.family-site .assortment-overview-page .catalog-category-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  body.family-site .assortment-overview-page .catalog-category-image {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 2;
    background: var(--surface-warm);
  }

  body.family-site .assortment-overview-page .catalog-category-image img {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    object-fit: cover;
    transform: none;
  }

  body.family-site .about-page .about-section,
  body.family-site .about-page .about-benefits,
  body.family-site .about-page .about-faq,
  body.family-site .about-page .about-visit,
  body.family-site .about-page .about-brands,
  body.family-site .about-page .about-online,
  body.family-site .about-page .about-love {
    padding-block: 42px !important;
  }

  body.family-site .about-page .about-help-image {
    min-height: 0;
    height: 290px;
  }

  body.family-site .about-page .about-help-copy {
    padding-block: 42px;
  }

  body.family-site .about-page .about-gifts-inner {
    padding-block: 36px;
  }

  body.family-site .about-page .about-map {
    height: 340px;
  }

}

@media (min-width: 1101px) {
  body.family-site { --header-height: 96px; }

  body.family-site .header-inner {
    grid-template-columns: clamp(152px, 10vw, 190px) minmax(430px, auto) minmax(170px, 1fr) 90px 166px;
    grid-template-rows: 1fr;
    gap: clamp(8px, .8vw, 16px);
  }

  body.family-site.plf-header-photo .brand img { width: 150px; height: 62px; }
  body.family-site.plf-header-photo .site-nav .nav-links { gap: clamp(10px, .75vw, 16px); }
  body.family-site .brand { grid-column: 1; grid-row: 1; }
  body.family-site .site-nav { grid-column: 2; grid-row: 1; align-self: center; }
  body.family-site .header-search { grid-column: 3; grid-row: 1; }
  body.family-site .header-theme-switcher { grid-column: 4; grid-row: 1; }
  body.family-site .header-phone { grid-column: 5; grid-row: 1; }
}

@media (min-width: 821px) and (max-width: 1100px) {
  body.family-site { --header-height: 92px; }

  body.family-site .header-inner {
    grid-template-columns: 170px minmax(0, 1fr) 56px 160px;
    grid-template-rows: 1fr;
    gap: 14px;
  }

  body.family-site .brand { grid-column: 1; grid-row: 1; }
  body.family-site .site-nav { grid-column: 2; grid-row: 1; }
  body.family-site .header-search { display: none; }
  body.family-site .header-theme-switcher { grid-column: 3; grid-row: 1; }
  body.family-site .header-theme-switcher > span { display: none; }
  body.family-site .header-phone { grid-column: 4; grid-row: 1; }
}

@media (max-width: 820px) {
  body.family-site .header-theme-switcher {
    position: fixed;
    z-index: 1002;
    top: 17px;
    right: 12px;
    display: inline-flex;
    pointer-events: auto;
  }

  body.family-site .header-theme-switcher > span { display: none; }
}

@media (hover: hover) and (pointer: fine) {
  body.family-site.home .family-hero .hero-actions .button:hover,
  body.family-site.home .family-hero .hero-actions .button:focus-visible {
    transform: none;
  }
}

/* Theme 1.14.0 — three aligned lighting states. The composition and crop stay
   fixed while only the photographed light and the site palette cross-fade. */
.theme-hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.theme-hero-layer {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1000ms ease-in-out;
}

.theme-hero-layer img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: var(--hero-position-desktop, center);
  transform: none !important;
  animation: none !important;
}

body.plf-theme-light .theme-hero-layer[data-hero-theme="light"],
body.plf-theme-sunset .theme-hero-layer[data-hero-theme="sunset"],
body.plf-theme-evening .theme-hero-layer[data-hero-theme="evening"] {
  z-index: 1;
  opacity: 1;
}

/* Category cards reuse the square category Hero exports and follow the same
   morning / golden / evening phase without another asset set. */
.category-card-theme-layer {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1000ms ease-in-out;
}

.category-card-theme-layer img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

body.plf-theme-light .category-card-theme-layer[data-card-theme="light"],
body.plf-theme-sunset .category-card-theme-layer[data-card-theme="sunset"],
body.plf-theme-evening .category-card-theme-layer[data-card-theme="evening"] {
  z-index: 1;
  opacity: 1;
}

body.family-site.home .family-hero .theme-hero-media.hero-image {
  inset: 0;
  height: 100%;
}

body.family-site.home .family-hero .theme-hero-layer img {
  object-position: 50% 48% !important;
}

body.family-site .page-hero .page-hero-media {
  z-index: 0;
}

body.family-site .page-hero .theme-hero-layer img {
  object-position: var(--hero-position-desktop, center);
}

body.family-site .about-hero .theme-hero-media.about-hero-image {
  z-index: -2;
}

body.family-site .about-hero .theme-hero-layer img {
  object-position: 62% center;
}

body.family-site .ploc-cart-hero .theme-hero-media.ploc-cart-hero-media {
  z-index: 0;
}

body.family-site .ploc-cart-hero .theme-hero-layer img {
  object-position: center 52%;
}

/* Compact three-way theme control. */
.header-theme-switcher {
  gap: 7px;
}

.header-theme-options {
  min-width: 92px;
  height: 32px;
  padding: 3px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: rgba(23, 29, 28, .46);
  box-shadow: inset 0 0 0 1px rgba(18, 21, 20, .12), 0 4px 14px rgba(14, 18, 17, .14);
  backdrop-filter: blur(10px);
}

.header-theme-option {
  width: 26px;
  min-width: 26px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  color: rgba(255, 250, 242, .65);
  background: transparent;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.header-theme-option svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-theme-option:hover,
.header-theme-option:focus-visible {
  color: #fffaf2;
  transform: translateY(-1px);
}

.header-theme-option:focus-visible {
  outline: 2px solid #efbd86;
  outline-offset: 3px;
}

.header-theme-option[aria-pressed="true"] {
  color: #33251d;
  background: #fff7e9;
  box-shadow: 0 2px 7px rgba(15, 18, 17, .3);
}

body.family-site.plf-header-photo-strip:not(.plf-theme-evening) .header-theme-switcher > span {
  color: var(--muted);
}

body.family-site.plf-header-photo-strip:not(.plf-theme-evening) .header-theme-options {
  border-color: var(--line);
  background: var(--surface-warm-soft);
  box-shadow: none;
}

body.family-site.plf-header-photo-strip:not(.plf-theme-evening) .header-theme-option {
  color: var(--muted);
}

body.family-site.plf-header-photo-strip:not(.plf-theme-evening) .header-theme-option[aria-pressed="true"] {
  color: #fff;
  background: var(--forest);
}

@media (min-width: 1101px) {
  body.family-site .header-inner {
    grid-template-columns: clamp(152px, 10vw, 190px) minmax(430px, auto) minmax(170px, 1fr) 118px 166px;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  body.family-site .header-inner {
    grid-template-columns: 170px minmax(0, 1fr) 104px 160px;
  }
}

@media (max-width: 820px) {
  body.family-site .header-theme-switcher {
    top: 14px;
    right: 10px;
  }

  body.family-site .header-theme-options {
    min-width: 98px;
    height: 36px;
  }

  body.family-site .header-theme-option {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
  }

  body.family-site .page-hero .theme-hero-layer img {
    object-position: var(--hero-position-mobile, var(--hero-position-desktop, center));
  }

  body.family-site .about-hero .theme-hero-layer img {
    object-position: 68% center;
  }
}

@media (max-width: 767px) {
  body.family-site.home .family-hero .theme-hero-media.hero-image {
    inset: 0 0 auto !important;
    height: 248px !important;
  }
}

/* Evening uses a cool graphite-blue canvas so the window light belongs to
   dusk, with honey reserved for the small warm wall lamps and actions. */
body.family-site.plf-theme-evening {
  --canvas: #151d22;
  --surface: #202b31;
  --surface-warm: #26343a;
  --surface-warm-soft: #2c3a40;
  --paper: #151d22;
  --white: #202b31;
  --cream: #26343a;
  --ink: #f4eee5;
  --muted: #c8bdb0;
  --forest: #355e4e;
  --forest-dark: #27493d;
  --terracotta: #e3a264;
  --terracotta-soft: #e8b783;
  --amber: #f0bd75;
  --red: #e3a264;
  --gold: #f0bd75;
  --green: #88a798;
  --forest-2: #6f9181;
  --blue: #8ea4ad;
  --line: rgba(235, 220, 199, .18);
  --shadow-soft: 0 12px 30px rgba(3, 10, 13, .2);
  --shadow-hover: 0 18px 38px rgba(3, 10, 13, .3);
  color: var(--ink);
  background:
    radial-gradient(circle at 78% 0, rgba(58, 83, 94, .46) 0, rgba(35, 53, 61, .22) 28%, transparent 52%),
    linear-gradient(145deg, #1b272d 0%, #151d22 54%, #10171b 100%) fixed !important;
}

body.family-site.plf-theme-evening main,
body.family-site.plf-theme-evening .subpage-main,
body.family-site.plf-theme-evening .about-page,
body.family-site.plf-theme-evening .assortment-overview-page,
body.family-site.plf-theme-evening .search-page,
body.family-site.plf-theme-evening .catalog-product-page,
body.family-site.plf-theme-evening .ploc-cart-page {
  color: var(--ink);
  background: transparent !important;
}

body.family-site.plf-theme-evening main > section:not(.family-hero):not(.about-hero):not(.page-hero):not(.assortment-category-hero):not(.catalog-product-hero):not(.gallery-section),
body.family-site.plf-theme-evening .section,
body.family-site.plf-theme-evening .archive-section,
body.family-site.plf-theme-evening .about-section,
body.family-site.plf-theme-evening .about-benefits,
body.family-site.plf-theme-evening .about-brands,
body.family-site.plf-theme-evening .about-online,
body.family-site.plf-theme-evening .about-gifts,
body.family-site.plf-theme-evening .about-faq,
body.family-site.plf-theme-evening .about-love,
body.family-site.plf-theme-evening .about-visit,
body.family-site.plf-theme-evening .contacts,
body.family-site.plf-theme-evening .catalog-browser,
body.family-site.plf-theme-evening .catalog-subcategory-guide,
body.family-site.plf-theme-evening .assortment-category-details,
body.family-site.plf-theme-evening .assortment-category-content,
body.family-site.plf-theme-evening .assortment-related,
body.family-site.plf-theme-evening .catalog-product-details,
body.family-site.plf-theme-evening .catalog-product-related,
body.family-site.plf-theme-evening .search-intro,
body.family-site.plf-theme-evening .search-products,
body.family-site.plf-theme-evening .search-suggestions,
body.family-site.plf-theme-evening .search-publications {
  color: var(--ink);
  background: transparent !important;
}

body.family-site.plf-theme-evening :is(h1, h2, h3, h4),
body.family-site.plf-theme-evening :is(.section-heading, .split-heading, .about-heading, .catalog-browser-heading, .catalog-products-heading) {
  color: var(--ink);
}

body.family-site.plf-theme-evening :is(.section-heading, .split-heading, .about-heading, .catalog-browser-heading, .catalog-products-heading) > p,
body.family-site.plf-theme-evening :is(.breadcrumb, .catalog-product-description, .about-heading-copy, .about-visit-lead) {
  color: var(--muted);
}

body.family-site.plf-theme-evening.home .assortment,
body.family-site.plf-theme-evening.home .homepage-featured,
body.family-site.plf-theme-evening.home .home-shop-model,
body.family-site.plf-theme-evening.home .news-section,
body.family-site.plf-theme-evening.home .contacts-compact,
body.family-site.plf-theme-evening .about-gifts-inner,
body.family-site.plf-theme-evening .empty-offers,
body.family-site.plf-theme-evening .availability-band-inner,
body.family-site.plf-theme-evening .search-contact-inner {
  border-color: var(--line) !important;
  color: var(--ink);
  background: rgba(32, 43, 49, .82) !important;
  box-shadow: var(--shadow-soft);
}

body.family-site.plf-theme-evening.home #gallery.gallery-section {
  border-color: var(--line) !important;
  color: var(--ink);
  background: #1c292f !important;
}

body.family-site.plf-theme-evening.home .gallery-section .gallery-header :is(.eyebrow, h2, p),
body.family-site.plf-theme-evening .gallery-archive :is(h2, h3, p) {
  color: var(--ink);
}

body.family-site.plf-theme-evening.home .gallery-section .gallery-header .eyebrow {
  color: var(--terracotta);
}

body.family-site.plf-theme-evening.home .gallery-section .gallery-photo img,
body.family-site.plf-theme-evening .gallery-archive .gallery-photo img {
  filter: brightness(.86) saturate(.9) contrast(1.04);
}

body.family-site.plf-theme-evening .gallery-archive .album-preview {
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(32, 43, 49, .78);
  box-shadow: var(--shadow-soft);
}

body.family-site.plf-theme-evening.home .lesya-band {
  border-color: var(--line);
  color: var(--ink);
  background: rgba(39, 52, 58, .9);
}

body.family-site.plf-theme-evening .assortment-item,
body.family-site.plf-theme-evening .catalog-category-card,
body.family-site.plf-theme-evening .catalog-product-item,
body.family-site.plf-theme-evening .search-product-item,
body.family-site.plf-theme-evening .search-category-link,
body.family-site.plf-theme-evening .search-result-item,
body.family-site.plf-theme-evening .news-card,
body.family-site.plf-theme-evening .about-category-card,
body.family-site.plf-theme-evening .about-benefit,
body.family-site.plf-theme-evening .about-faq-item,
body.family-site.plf-theme-evening .catalog-product-visual,
body.family-site.plf-theme-evening .catalog-product-details dl,
body.family-site.plf-theme-evening .catalog-product-related-grid a,
body.family-site.plf-theme-evening .ploc-order-card,
body.family-site.plf-theme-evening .ploc-cart-empty,
body.family-site.plf-theme-evening .ploc-checkout-terms,
body.family-site.plf-theme-evening .ploc-cart-item-image {
  border-color: var(--line) !important;
  color: var(--ink);
  background: rgba(38, 52, 58, .9) !important;
  box-shadow: var(--shadow-soft);
}

body.family-site.plf-theme-evening .about-category-card:nth-child(4n + 2),
body.family-site.plf-theme-evening .about-category-card:nth-child(4n + 3),
body.family-site.plf-theme-evening .about-category-card:nth-child(4n + 4),
body.family-site.plf-theme-evening .about-benefit:nth-child(3n + 2) {
  background: rgba(44, 60, 66, .92) !important;
}

body.family-site.plf-theme-evening :is(.about-category-card, .about-benefit, .about-faq-item, .catalog-product-item, .search-product-item, .news-card) p,
body.family-site.plf-theme-evening :is(.catalog-product-meta, .catalog-product-code, .catalog-product-stock, .search-result-meta) {
  color: var(--muted);
}

body.family-site.plf-theme-evening .about-online,
body.family-site.plf-theme-evening .about-search {
  border-color: var(--line);
  color: var(--ink);
  background: rgba(24, 35, 40, .86) !important;
}

body.family-site.plf-theme-evening .about-brand-list li,
body.family-site.plf-theme-evening .brands-line,
body.family-site.plf-theme-evening .catalog-product-pickup,
body.family-site.plf-theme-evening .catalog-products-note,
body.family-site.plf-theme-evening .search-products-note {
  border-color: var(--line);
  color: var(--ink);
  background: rgba(43, 58, 64, .86);
}

body.family-site.plf-theme-evening :is(input, select, textarea),
body.family-site.plf-theme-evening .about-search input,
body.family-site.plf-theme-evening .ploc-order-card :is(input, select, textarea) {
  border-color: var(--line);
  color: var(--ink);
  background: #1a252a;
}

body.family-site.plf-theme-evening :is(input, textarea)::placeholder {
  color: #a99e92;
  opacity: 1;
}

body.family-site.plf-theme-evening .button-outline,
body.family-site.plf-theme-evening .about-button-outline,
body.family-site.plf-theme-evening .button-route {
  border-color: var(--terracotta);
  color: #f1bd81;
}

body.family-site.plf-theme-evening .button-outline:hover,
body.family-site.plf-theme-evening .button-outline:focus-visible,
body.family-site.plf-theme-evening .about-button-outline:hover,
body.family-site.plf-theme-evening .about-button-outline:focus-visible,
body.family-site.plf-theme-evening .button-route:hover,
body.family-site.plf-theme-evening .button-route:focus-visible {
  border-color: var(--amber);
  color: #151d22;
  background: var(--amber);
}

body.family-site.plf-theme-evening .ploc-cart-page {
  --ploc-paper: #151d22;
  --ploc-cream: #26343a;
  --ploc-ink: #f4eee5;
  --ploc-muted: #c8bdb0;
  --ploc-line: rgba(235, 220, 199, .18);
  --ploc-red: #e3a264;
  --ploc-forest: #355e4e;
}

body.family-site.plf-theme-evening .family-hero .hero-shade,
body.family-site.plf-theme-evening .page-hero .page-hero-shade,
body.family-site.plf-theme-evening .about-hero .about-hero-shade,
body.family-site.plf-theme-evening .ploc-cart-hero .ploc-cart-hero-shade {
  background: linear-gradient(90deg, rgba(14, 20, 24, .9) 0%, rgba(16, 23, 27, .62) 42%, rgba(18, 25, 29, .18) 74%, rgba(18, 25, 29, .04) 100%) !important;
}

@media (max-width: 767px) {
  body.family-site.plf-theme-evening .family-hero .hero-shade,
  body.family-site.plf-theme-evening .page-hero .page-hero-shade,
  body.family-site.plf-theme-evening .about-hero .about-hero-shade,
  body.family-site.plf-theme-evening .ploc-cart-hero .ploc-cart-hero-shade {
    background: linear-gradient(180deg, rgba(14, 20, 24, .12) 0%, rgba(15, 22, 26, .58) 43%, rgba(15, 22, 26, .94) 100%) !important;
  }
}

body.family-site.plf-theme-evening .hero-fade,
body.family-site.plf-theme-evening .page-hero-fade,
body.family-site.plf-theme-evening .about-hero-fade,
body.family-site.plf-theme-evening .ploc-cart-hero-fade {
  background: linear-gradient(180deg, transparent 0%, rgba(21, 29, 34, .12) 42%, #151d22 100%) !important;
}

body.family-site.plf-theme-evening .site-header,
body.family-site.plf-theme-evening .mobile-bottom-nav,
body.family-site.plf-theme-evening .mobile-search-panel,
body.family-site.plf-theme-evening .contact-dialog-panel {
  border-color: var(--line);
  color: var(--ink);
  background: rgba(19, 28, 32, .96) !important;
}

body.family-site.plf-theme-evening.plf-header-photo-strip :is(.brand, .site-nav a, .header-phone, .menu-toggle),
body.family-site.plf-theme-evening .mobile-bottom-nav a,
body.family-site.plf-theme-evening .contact-dialog-panel {
  color: var(--ink);
}

body.family-site.plf-theme-evening.plf-header-photo-strip .site-header .site-nav .nav-links a,
body.family-site.plf-theme-evening.plf-header-photo-strip .header-phone,
body.family-site.plf-theme-evening.plf-header-photo-strip .menu-toggle {
  color: var(--ink) !important;
}

body.family-site.plf-theme-evening.plf-header-photo-strip .header-phone span {
  color: var(--muted);
}

body.family-site.plf-theme-evening.plf-header-photo-strip .brand img {
  opacity: .9;
  filter: brightness(0) saturate(100%) invert(92%) sepia(11%) saturate(567%) hue-rotate(343deg) brightness(105%) contrast(93%);
}

body.family-site.plf-theme-evening .header-search,
body.family-site.plf-theme-evening .nav-search > div {
  border-color: var(--line);
  background: #1d292e;
}

body.family-site.plf-theme-evening .menu-toggle {
  border-color: var(--line);
  color: var(--ink);
  background: rgba(24, 35, 40, .86);
}

body.family-site,
body.family-site main,
body.family-site .section,
body.family-site .archive-section,
body.family-site .mobile-bottom-nav,
body.family-site .site-header {
  transition: color 1000ms ease-in-out, background-color 1000ms ease-in-out, border-color 1000ms ease-in-out, box-shadow 1000ms ease-in-out;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
}

/* Theme 1.16.0 — the desktop artwork is authored for the genuinely visible
   area below the fixed header. The quiet wall extension is part of the image,
   so cover no longer enlarges the photographed composition or hides its lamps. */
@media (min-width: 768px) {
  body.family-site.home .family-hero .theme-hero-media.hero-image,
  body.family-site .page-hero .theme-hero-media,
  body.family-site .about-hero .theme-hero-media.about-hero-image,
  body.family-site .ploc-cart-hero .theme-hero-media.ploc-cart-hero-media {
    inset: var(--header-height) 0 0;
    width: 100%;
    height: auto;
  }

  body.family-site.home .family-hero .theme-hero-layer img,
  body.family-site .page-hero .theme-hero-layer img,
  body.family-site .about-hero .theme-hero-layer img,
  body.family-site .ploc-cart-hero .theme-hero-layer img {
    object-fit: cover !important;
    object-position: right center !important;
    transform: none !important;
  }
}

/* Give the desktop navigation the room recovered from the oversized search
   field. The compact/tablet header remains unchanged. */
@media (min-width: 1500px) {
  body.family-site .header-inner {
    grid-template-columns: clamp(152px, 10vw, 180px) minmax(570px, 1fr) clamp(260px, 19vw, 340px) 118px 160px;
  }

  body.family-site .header-search {
    width: 100%;
    max-width: 340px;
    justify-self: end;
  }

  body.family-site .site-nav {
    width: 100%;
    min-width: 0;
    padding-right: clamp(22px, 1.7vw, 32px);
    justify-self: stretch;
  }

  body.family-site .site-nav .nav-links {
    width: 100%;
    justify-content: flex-start;
    gap: clamp(14px, .95vw, 20px);
  }
}

/* Product view: keep imperfect supplier photographs slightly smaller and let
   the two actions sit directly in the content instead of on a ruled panel. */
@media (min-width: 841px) {
  body.family-site .catalog-product-layout {
    grid-template-columns: minmax(340px, .76fr) minmax(420px, 1.24fr);
    gap: clamp(32px, 4vw, 64px);
  }

  body.family-site .catalog-product-page.has-product-photo .catalog-product-visual {
    width: min(100%, 520px);
    min-height: 320px;
    max-height: 440px;
    justify-self: start;
  }

  body.family-site .catalog-product-page.has-product-photo .catalog-product-visual img,
  body.family-site .catalog-product-page.has-product-photo .catalog-product-photo-button {
    min-height: 320px;
    max-height: 440px;
  }

  body.family-site .catalog-product-contact,
  body.family-site.plf-theme-sunset .catalog-product-contact,
  body.family-site.plf-theme-evening .catalog-product-contact {
    margin-top: 22px;
    padding-top: 0;
    border: 0;
    background: transparent !important;
    box-shadow: none;
  }

  body.family-site .catalog-product-contact-actions {
    margin-top: 0;
  }
}

/* Prices, category captions and small option labels need explicit evening
   colours because several older components used fixed light-theme inks. */
body.family-site.plf-theme-evening :is(
  .catalog-category-body h3,
  .catalog-product-copy h4,
  .catalog-product-copy h4 a,
  .search-product-copy h3,
  .search-product-copy h3 a,
  .catalog-subcategory-copy h3,
  .catalog-subcategory-copy h3 a
) {
  color: #f4eee5 !important;
}

body.family-site.plf-theme-evening :is(
  .catalog-category-body > p,
  .catalog-category-caption,
  .catalog-category-body li,
  .catalog-subcategory-copy p,
  .catalog-subcategory-copy small,
  .catalog-product-summary,
  .catalog-product-availability
) {
  color: #d8cec2 !important;
}

body.family-site.plf-theme-evening .catalog-category-body li {
  border-color: rgba(235, 220, 199, .26) !important;
  background: rgba(20, 29, 34, .34);
}

body.family-site.plf-theme-evening :is(
  .catalog-product-price,
  .catalog-product-copy footer strong,
  .search-product-footer strong,
  .catalog-product-related-grid strong,
  .promotion-grid .offer-card strong,
  .promo-price,
  .ploc-cart-item-aside strong,
  .ploc-order-total strong
) {
  color: #f4c27f !important;
}

@media (max-width: 767px) {
  body.family-site .mobile-bottom-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.family-site .mobile-bottom-nav a {
    padding-inline: 0 !important;
    font-size: 9px !important;
  }
}

/* The old decorative gallery veils remained light on top of the sunset and
   evening surfaces. Remove both veils and use the same panel surface as the
   neighbouring homepage sections in every theme. */
body.family-site.home #gallery.gallery-section::before,
body.family-site.home #gallery.gallery-section::after {
  content: none !important;
  background: none !important;
  background-image: none !important;
}

body.family-site.plf-theme-sunset.home #gallery.gallery-section {
  border-color: var(--line) !important;
  background: rgba(235, 190, 143, .5) !important;
}

body.family-site.plf-theme-evening.home #gallery.gallery-section {
  border-color: var(--line) !important;
  background: rgba(32, 43, 49, .82) !important;
}

/* Mobile Hero media must cover the complete Hero. Mobile-specific artwork
   provides the wider composition; never shorten the image layer and expose a
   flat colour field below it. */
@media (max-width: 767px) {
  body.family-site.home .family-hero .theme-hero-media.hero-image {
    inset: 0 !important;
    width: 100%;
    height: 100% !important;
  }

  body.family-site .assortment-overview-page .page-hero {
    --mobile-page-hero-title-size: 34px;
  }

  body.family-site :is(.page-hero, .about-hero, .ploc-cart-hero) .theme-hero-media {
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

/* Theme 1.16.1 final Hero type scale. All page families now use the same
   restrained rhythm, leaving more of the approved photography visible. */
@media (min-width: 768px) {
  body.family-site.home .family-hero .hero-title {
    max-width: 660px;
    font-size: clamp(40px, 3.6vw, 52px) !important;
    line-height: 1.055 !important;
  }

  body.family-site.plf-header-over-media .page-hero h1,
  body.family-site .about-hero h1,
  body.family-site .ploc-cart-hero h1 {
    max-width: 690px;
    font-size: clamp(38px, 3.45vw, 52px) !important;
    line-height: 1.065 !important;
  }

  body.family-site.home .family-hero .hero-copy,
  body.family-site .page-hero-content > p:last-child,
  body.family-site .about-hero-lead,
  body.family-site .ploc-cart-hero-copy > span {
    max-width: 590px;
    font-size: clamp(13px, .92vw, 15px) !important;
    line-height: 1.48 !important;
  }

  /* Desktop-only editorial scale. Archive headings were much larger than the
     rest of the site, especially the gallery title and album name. */
  body.family-site .archive-section .archive-heading h2 {
    max-width: 1100px;
    font-size: clamp(38px, 3.4vw, 52px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.02em;
    text-wrap: balance;
  }

  body.family-site .gallery-archive .album-heading h2 {
    max-width: 1250px;
    font-size: clamp(32px, 2.7vw, 44px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.018em;
    text-wrap: balance;
  }
}

@media (max-width: 767px) {
  body.family-site.home .family-hero .hero-title {
    max-width: 330px;
    font-size: clamp(25px, 7.25vw, 29px) !important;
    line-height: 1.055 !important;
  }

  body.family-site.plf-header-over-media .page-hero h1,
  body.family-site .assortment-overview-page .page-hero h1,
  body.family-site .about-hero h1,
  body.family-site .ploc-cart-hero h1 {
    --mobile-page-hero-title-size: 31px;
    max-width: 340px;
    font-size: clamp(27px, 7.7vw, 31px) !important;
    line-height: 1.065 !important;
  }

  body.family-site .assortment-overview-page .page-hero h1,
  body.family-site .about-hero h1 {
    font-size: clamp(26px, 7.25vw, 29px) !important;
  }

  body.family-site.home .family-hero .hero-copy,
  body.family-site .page-hero-content > p:last-child,
  body.family-site .about-hero-lead,
  body.family-site .ploc-cart-hero-copy > span {
    max-width: 32em;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-hero-layer,
  .category-card-theme-layer {
    transition: none !important;
  }

  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: .01ms;
  }
}

/* Theme 1.16.2 desktop hero framing. The photographs are exported at the
   exact visible media ratio, so only a narrow colour bridge is needed at the
   lower edge and the photographed tableware remains in frame. */
@media (min-width: 901px) {
  body.family-site.plf-header-over-media .page-hero-fade,
  body.family-site.plf-header-over-media .about-hero-fade,
  body.family-site.home .family-hero .hero-fade {
    height: 28px;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
  }

  body.family-site.home .family-hero .hero-kicker span {
    width: auto;
    height: auto;
    border: 0;
    color: var(--terracotta);
    font-size: 1.15em;
    line-height: 1;
    transform: none;
  }

  body.family-site .about-hero h1 {
    max-width: 600px;
    font-size: clamp(34px, 3vw, 46px) !important;
  }
}

/* Theme 1.16.5 — lively three-phase editorial scenes and a wider, denser
   desktop About layout. The accepted phone layout stays intact. */
.theme-photo-media {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.theme-photo-layer {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1000ms ease-in-out;
}

.theme-photo-layer img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  animation: none;
}

body.plf-theme-light .theme-photo-layer[data-hero-theme="light"],
body.plf-theme-sunset .theme-photo-layer[data-hero-theme="sunset"],
body.plf-theme-evening .theme-photo-layer[data-hero-theme="evening"] {
  z-index: 1;
  opacity: 1;
}

body.family-site.home .lesya-band {
  position: relative;
}

body.family-site .about-help-image {
  position: relative;
}

body.family-site.plf-theme-evening .about-help-copy > p:not(.eyebrow) {
  color: var(--muted);
}

body.family-site.plf-theme-evening .about-help-copy strong {
  color: var(--ink);
}

@media (min-width: 901px) {
  body.family-site.home .lesya-phase-media {
    position: absolute;
    inset: 0 auto 0 0;
    width: 52%;
    height: 100%;
  }

  body.family-site.home .lesya-content {
    box-sizing: border-box;
    width: 48%;
    margin-left: 52%;
    padding: 32px clamp(28px, 2.6vw, 44px);
  }

  body.family-site.home .lesya-band blockquote {
    margin-block: 14px;
    padding-left: 20px;
  }

  body.family-site.home .lesya-band blockquote p {
    width: 100%;
    max-width: none;
    font-size: clamp(28px, 2vw, 36px);
    line-height: 1.16;
    letter-spacing: -.018em;
  }

  body.family-site.home .lesya-band blockquote cite,
  body.family-site.home .lesya-note {
    font-size: 12px;
    line-height: 1.45;
  }

  body.family-site.home .lesya-quote-desktop {
    display: inline-block;
    white-space: nowrap;
  }

  body.family-site.home .lesya-note {
    white-space: nowrap;
  }

  body.family-site .about-page .about-shell {
    width: min(calc(100% - 64px), 1560px);
  }

  body.family-site .about-page .about-section,
  body.family-site .about-page .about-benefits,
  body.family-site .about-page .about-faq,
  body.family-site .about-page .about-visit {
    padding-block: 52px !important;
  }

  body.family-site .about-page .about-heading {
    margin-bottom: 24px;
  }

  body.family-site .about-page .about-help {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: stretch;
  }

  body.family-site .about-page .about-help-image {
    min-height: 0;
    aspect-ratio: 3 / 2;
    min-width: 0;
    width: 100%;
  }

  body.family-site .about-page .about-help-copy {
    min-width: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px clamp(34px, 3.6vw, 68px);
  }

  body.family-site .about-page .about-help-copy h2,
  body.family-site .about-page .about-help-copy > p:not(.eyebrow) {
    max-width: 760px;
  }

  body.family-site .about-page .about-help-copy .about-help-intro {
    margin-top: 22px;
    font-size: 18px;
  }

  body.family-site .about-page .about-help-copy > p:not(.eyebrow) {
    margin-top: 14px;
    line-height: 1.58;
  }

  body.family-site .about-page .about-faq {
    padding-block: 48px !important;
  }

  body.family-site .about-page .about-faq-inner {
    display: block;
  }

  body.family-site .about-page .about-faq-inner > .about-heading,
  body.family-site .about-page .about-faq-list {
    width: min(100%, 1220px);
    margin-inline: auto;
  }

  body.family-site .about-page .about-faq-inner > .about-heading {
    margin-bottom: 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
  }

  body.family-site .about-page .about-faq-inner > .about-heading h2 {
    font-size: clamp(36px, 3vw, 46px);
  }

  body.family-site .about-page .about-faq-list {
    border-top: 0;
  }

  body.family-site .about-page .about-faq-item summary {
    min-height: 66px;
    padding-block: 18px;
  }
}

@media (min-width: 901px) and (max-width: 1599px) {
  body.family-site .about-page .about-help-image {
    aspect-ratio: auto;
  }

  body.family-site .about-page .about-help-phase-media {
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 900px) {
  /* The inherited blurred edge panels appear a moment after the mobile Hero
     loads. Mobile artwork already fills the frame, so no synthetic edge blur
     is needed in any of the three day phases. */
  body.family-site.home .family-hero::before,
  body.family-site.home .family-hero::after {
    content: none !important;
    display: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body.family-site.home .lesya-phase-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 767px) {
  /* A calmer mobile menu: the page remains softly visible behind the panel,
     while the navigation labels no longer dominate the whole screen. */
  body.family-site .site-nav,
  body.family-site.menu-open .site-nav {
    background: var(--plf-mobile-menu-bg, rgba(248, 242, 233, .70)) !important;
    -webkit-backdrop-filter: blur(16px) saturate(.9);
    backdrop-filter: blur(16px) saturate(.9);
  }

  body.family-site.plf-theme-sunset .site-nav,
  body.family-site.plf-theme-sunset.menu-open .site-nav {
    --plf-mobile-menu-bg: rgba(239, 207, 169, .88);
  }

  body.family-site.plf-theme-evening .site-nav,
  body.family-site.plf-theme-evening.menu-open .site-nav {
    --plf-mobile-menu-bg: rgba(19, 28, 32, .90);
  }

  body.family-site .site-nav .nav-links a,
  body.family-site.plf-header-over-media .site-header .site-nav .nav-links a,
  body.family-site.plf-header-photo-strip .site-header .site-nav .nav-links a {
    min-height: 42px;
    padding-block: 7px;
    font-size: 17px;
    line-height: 1.2;
  }

  /* One clean separator: the glyph itself must not also receive the old
     bordered, rotated square treatment on the compact homepage kicker. */
  body.family-site.home .family-hero .hero-kicker span {
    display: inline;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    color: var(--terracotta);
    font-size: 1em;
    line-height: 1;
    transform: none;
  }

  /* The themed help photograph is a full-width mobile row. Explicit sizing
     prevents the image column from retaining a narrow desktop track. */
  body.family-site .about-page .about-help {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  body.family-site .about-page .about-help-image,
  body.family-site .about-page .about-help-phase-media {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }

  body.family-site .about-page .about-help-phase-media .theme-photo-layer img {
    object-position: center center !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-photo-layer {
    transition: none;
  }
}

/* 1.16.6 — desktop Hero photographs should remain visible. The generated
   compositions already reserve a calm left field for copy, so only a light
   veil is needed there; phone overlays remain exactly as approved. */
@media (min-width: 901px) {
  body.family-site {
    --plf-desktop-hero-shade: linear-gradient(90deg, rgba(22, 20, 18, .44) 0%, rgba(22, 20, 18, .24) 25%, rgba(22, 20, 18, .07) 48%, rgba(22, 20, 18, 0) 68%);
  }

  body.family-site.plf-theme-evening {
    --plf-desktop-hero-shade: linear-gradient(90deg, rgba(13, 18, 21, .52) 0%, rgba(13, 18, 21, .30) 25%, rgba(13, 18, 21, .09) 48%, rgba(13, 18, 21, 0) 68%);
  }

  body.family-site.home:is(.plf-theme-light, .plf-theme-sunset, .plf-theme-evening) .family-hero .hero-shade,
  body.family-site.plf-header-over-media:is(.plf-theme-light, .plf-theme-sunset, .plf-theme-evening) .page-hero .page-hero-shade,
  body.family-site:is(.plf-theme-light, .plf-theme-sunset, .plf-theme-evening) .about-hero .about-hero-shade,
  body.family-site:is(.plf-theme-light, .plf-theme-sunset, .plf-theme-evening) .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero-shade,
  body.family-site:is(.plf-theme-light, .plf-theme-sunset, .plf-theme-evening) .ploc-cart-hero .ploc-cart-hero-shade {
    background: var(--plf-desktop-hero-shade) !important;
  }
}

/* 1.16.8 final cascade lock — keep the phase-specific copy palette newer
   than legacy category typography without adding another important layer. */
body.family-site .assortment-category-page .assortment-category-hero h1 {
  color: var(--plf-category-hero-copy);
}

body.family-site .assortment-category-page .assortment-category-hero .eyebrow {
  color: var(--plf-category-hero-accent);
}

body.family-site .assortment-category-page .assortment-category-hero .assortment-category-lead,
body.family-site .assortment-category-page .assortment-category-back a {
  color: var(--plf-category-hero-muted);
}

/* 1.16.8 category Hero library — category scenes are authored at the real
   visible desktop ratio. The phone artwork is a controlled square crop from
   the same master. Copy sits compactly at the bottom of the photograph; a
   separate panel created too much empty space on short phone screens. */
body.family-site .assortment-category-hero.has-theme-category-hero {
  --plf-category-mobile-panel: #17272c;
}

body.family-site.plf-theme-sunset .assortment-category-hero.has-theme-category-hero {
  --plf-category-mobile-panel: #593724;
}

body.family-site.plf-theme-evening .assortment-category-hero.has-theme-category-hero {
  --plf-category-mobile-panel: #0d2024;
}

body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-hero-media {
  z-index: 0;
}

body.family-site .assortment-category-hero.has-theme-category-hero .theme-hero-layer img {
  object-position: right center;
}

@media (min-width: 901px) {
  body.family-site.plf-header-over-media .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero {
    height: calc(var(--header-height) + 398px);
    min-height: calc(var(--header-height) + 398px);
  }

  body.family-site.plf-header-over-media .assortment-category-hero.has-theme-category-hero .assortment-category-hero-media {
    inset: var(--header-height) 0 0;
    width: 100%;
    height: auto;
  }

  body.family-site.plf-header-over-media .assortment-category-hero.has-theme-category-hero .theme-hero-layer img {
    object-fit: cover;
    object-position: right center;
  }
}

@media (max-width: 900px) {
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero {
    display: flex;
    align-items: flex-end;
    height: 460px;
    min-height: 460px;
    background: var(--plf-category-mobile-panel);
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-hero-media {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-hero-shade {
    inset: 0;
    height: 100%;
    background: linear-gradient(180deg, rgba(14, 22, 21, .03) 0%, rgba(14, 22, 21, .08) 42%, rgba(14, 22, 21, .74) 72%, rgba(14, 22, 21, .94) 100%);
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-intro-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 460px;
    padding: 214px 18px 20px;
    padding-right: 18px;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero h1 {
    margin-top: 7px;
    margin-bottom: 9px;
    font-size: clamp(29px, 8.4vw, 36px);
    line-height: 1.04;
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-lead {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 0;
    color: var(--plf-category-hero-muted);
    font-size: 12.5px;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}

@media (max-width: 380px) {
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero,
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-intro-inner {
    height: 440px;
    min-height: 440px;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-intro-inner {
    padding-top: 202px;
  }
}

/* 1.16.14 — the desktop homepage gets the slightly broader editorial frame
   already felt on the About page, while inner-page headers stay untouched. */
@media (min-width: 1320px) {
  body.family-site.home .header-inner,
  body.family-site.home .family-hero .hero-content {
    width: min(calc(100% - 40px), 1540px);
  }

  body.family-site.home .header-inner {
    grid-template-columns: clamp(152px, 10vw, 180px) minmax(590px, 1fr) clamp(280px, 20vw, 360px) 118px 160px;
  }

  body.family-site.home .family-hero .hero-title {
    max-width: 700px;
  }

  body.family-site.home .family-hero .hero-copy {
    max-width: 620px;
  }
}

/* 1.16.14 — mobile subcategory rail uses an honest half-photo/half-label
   split. Product thumbnails fill their half instead of floating as a tiny
   picture inside a large pale text panel. */
@media (max-width: 767px) {
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
    display: grid;
    min-height: 136px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 136px;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-image img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy {
    min-width: 0;
    padding: 14px 12px;
    justify-content: center;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy strong {
    font-size: 16px;
    line-height: 1.2;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy b {
    padding-top: 7px;
    font-size: 10px;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-card.is-active::after {
    right: auto;
    left: 8px;
  }
}

@media (max-width: 360px) {
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
    flex-basis: min(84vw, 272px);
    min-height: 128px;
    grid-template-rows: 128px;
  }

  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy strong {
    font-size: 14px;
  }
}

/* 1.16.10 — one coherent 3:2 category crop is reused by overview cards,
   homepage cards and the phone Hero. */
body.family-site.home .assortment-grid .assortment-bg {
  position: relative;
  inset: auto;
  display: block;
  overflow: hidden;
  width: 100%;
  background: var(--surface-warm);
}

body.family-site.home .assortment-grid .assortment-bg .category-card-theme-layer,
body.family-site.home .assortment-grid .assortment-bg .category-card-theme-layer img {
  width: 100%;
  height: 100%;
}

body.family-site .assortment-overview-page .catalog-category-image {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

body.family-site .assortment-overview-page .catalog-category-image .category-card-theme-layer img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

/* 1.16.12 — phone category copy stays on the photograph instead of becoming
   a separate empty-looking panel. The back action sits above the product
   focus, while the short visible description remains indexable. */
@media (max-width: 900px) {
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero {
    position: relative;
    display: block;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--plf-category-mobile-panel);
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    overflow: hidden;
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .theme-hero-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-hero-shade {
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    background: linear-gradient(180deg, rgba(12, 18, 18, .06) 0%, rgba(12, 18, 18, .08) 42%, rgba(12, 18, 18, .58) 70%, rgba(12, 18, 18, .92) 100%);
    pointer-events: none;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-intro-inner {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    height: 100%;
    min-height: 0;
    padding: 0 16px 14px;
    color: var(--plf-category-hero-copy);
    background: transparent;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-back {
    position: absolute;
    top: 14px;
    left: 16px;
    margin: 0;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .eyebrow {
    display: none;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero h1 {
    position: absolute;
    right: 16px;
    bottom: 61px;
    left: 16px;
    max-width: 16ch;
    margin: 0;
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.05;
  }

  body.family-site .assortment-category-hero.has-theme-category-hero .assortment-category-lead {
    position: absolute;
    right: 16px;
    bottom: 14px;
    left: 16px;
    display: -webkit-box;
    overflow: hidden;
    width: auto;
    max-width: none;
    margin: 0;
    font-size: 10.5px;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (max-width: 380px) {
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-intro-inner {
    padding-inline: 14px;
  }

  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero h1,
  body.family-site .assortment-category-page:is(:not(.is-subcategory-page), .has-category-photo-hero) .assortment-category-hero.has-theme-category-hero .assortment-category-lead {
    right: 14px;
    left: 14px;
  }
}

/* 1.17.0 — visible subcategory choices, with progressive disclosure on phones. */
body.family-site .catalog-subcategory-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  scroll-snap-type: none;
}

body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 112px 1fr;
  min-height: 0;
  width: auto;
  color: var(--ink);
}

body.family-site .catalog-subcategory-grid .catalog-subcategory-image {
  height: 112px;
  min-height: 0;
  width: 100%;
  aspect-ratio: auto;
}

body.family-site .catalog-subcategory-grid .catalog-subcategory-copy {
  min-width: 0;
  padding: 12px;
}

body.family-site .catalog-subcategory-grid .catalog-subcategory-copy strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

body.family-site .catalog-subcategory-grid .catalog-subcategory-copy small { display: none; }
body.family-site .catalog-subcategory-grid .catalog-subcategory-copy b {
  color: var(--ink);
  font-size: 10px;
  padding-top: 8px;
}

body.family-site .catalog-subcategory-grid .catalog-subcategory-card.is-active {
  border-color: var(--subcategory-selection, var(--forest)) !important;
  box-shadow: none !important;
}

/* Draw above the image too: an inset shadow behind an opaque photo is hidden. */
body.family-site .catalog-subcategory-grid .catalog-subcategory-card.is-active::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid var(--subcategory-selection, var(--forest));
  border-radius: inherit;
  z-index: 3;
  pointer-events: none;
}

/* Keep the photo and caption calm in each phase, including the selected card. */
body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
  background: var(--subcategory-surface, var(--surface));
}
body.family-site.plf-theme-sunset .catalog-subcategory-grid .catalog-subcategory-card {
  --subcategory-surface: #faf3e9;
}
body.family-site.plf-theme-evening .catalog-subcategory-grid .catalog-subcategory-card {
  --subcategory-surface: #26343a;
  --subcategory-selection: #b4c8b5;
}

body.family-site .catalog-subcategory-card.is-active::after {
  position: absolute;
  top: 7px;
  left: 8px;
  right: auto;
  content: 'Обрано';
  padding: 3px 7px;
  border-radius: 999px;
  background: #f4eadc;
  color: #263d31;
  font-size: 9px;
  font-weight: 800;
}

body.family-site .catalog-subcategories-toggle { margin-top: 12px; }
body.family-site .catalog-subcategories-toggle[hidden] { display: none; }

body.family-site .assortment-category-page.has-category-photo-hero .assortment-category-hero.has-theme-category-hero > .assortment-category-back {
  position: absolute;
  z-index: 3;
  top: calc(var(--header-height) + 22px);
  left: max(24px, calc((100% - 1320px) / 2));
  margin: 0;
}
body.family-site .has-category-photo-hero .assortment-category-back a {
  min-height: 36px;
  padding: 8px 12px;
}
@media (max-width: 900px) {
  body.family-site .assortment-category-page.has-category-photo-hero .assortment-category-hero.has-theme-category-hero > .assortment-category-back {
    top: 64px;
    left: 14px;
  }
  body.family-site .has-category-photo-hero .assortment-category-back a { min-height: 40px; }
}

@media (max-width: 767px) {
  body.family-site .catalog-subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 336px; margin-left: auto; margin-right: auto; }
  body.family-site .catalog-browser { padding-top: 22px; }
  body.family-site .catalog-browser-heading { margin-bottom: 14px; }
  body.family-site .catalog-browser-heading h2 { font-size: 24px; line-height: 1.2; margin-bottom: 0; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card { grid-template-rows: auto 1fr; border-radius: 14px; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-image { height: auto; aspect-ratio: 3 / 2; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-image img { padding: 0; object-fit: contain; transform: none; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy { padding: 9px 10px; justify-content: flex-start; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy strong { font-size: 13px; line-height: 1.3; font-weight: 500; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy b { margin-top: auto; padding-top: 6px; font-weight: 500; }
  body.family-site .catalog-subcategories-toggle { width: 100%; min-height: 44px; }
  body.family-site .catalog-subcategory-grid.is-collapsed .catalog-subcategory-card:nth-child(n+7):not(.is-active) { display: none; }
}

/* 1.20.1 — fit desktop illustrations without empty square letterboxing. */
@media (min-width: 768px) {
  body.family-site .catalog-browser { padding-top: 24px; }
  body.family-site .catalog-browser-heading { margin-bottom: 16px; }
  body.family-site .catalog-browser-heading h2 {
    font-size: clamp(26px, 2.5vw, 34px);
    line-height: 1.2;
    margin-bottom: 0;
  }
  body.family-site .catalog-subcategory-grid {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    align-items: stretch;
    justify-content: start;
  }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
    grid-template-rows: auto 1fr;
    border-radius: 14px;
  }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-image {
    height: auto;
    aspect-ratio: 3 / 2;
  }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-image img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: contain;
    object-position: center;
    transform: none;
  }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy { padding: 10px 14px; }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy strong {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.35;
  }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-copy b { padding-top: 6px; }
  body.family-site .catalog-products-panel {
    margin-top: 24px;
    padding-top: 24px;
  }
}

/* 1.17.0 — comfortable product photos without enlarging small supplier images.
   Main photo only: preserve the gallery strip and full-size lightbox. */
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual {
  box-sizing: border-box;
  width: min(100%, 340px);
  max-width: 340px;
  min-height: 0;
  max-height: none;
  height: auto;
  aspect-ratio: auto;
  justify-self: start;
}

body.family-site .catalog-product-page.has-product-photo .catalog-product-visual > .catalog-product-photo-button {
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 1 / 1;
}

body.family-site .catalog-product-page.has-product-photo .catalog-product-visual > .catalog-product-photo-button > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

@media (min-width: 841px) {
  body.family-site .catalog-product-page.has-product-photo .catalog-product-layout {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  }
}

@media (max-width: 840px) {
  body.family-site .catalog-product-page.has-product-photo .catalog-product-visual {
    width: min(100%, 280px);
    max-width: 280px;
    justify-self: center;
  }
}

/* 1.17.3 — reviewed characteristics and compact editorial navigation. */
.catalog-product-details dt, .catalog-product-details dd { min-width: 0; overflow-wrap: anywhere; }
.news-catalog-links { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.news-catalog-links h2 { margin: 0 0 16px; font-size: 24px; }
.news-catalog-links > div { display: flex; flex-wrap: wrap; gap: 12px; }
.news-catalog-links .button { white-space: normal; text-align: center; }

/* Root scroll padding already clears the desktop header; avoid counting it twice. */
body.family-site .catalog-products-panel { scroll-margin-top: 16px; }
@media (max-width: 900px) {
  body.family-site .catalog-products-panel { scroll-margin-top: 76px; }
}

/* 1.17.4 — buyer audit: readable search, consent and empty states. */
body.family-site .search-product-item > .search-product-copy:first-child { grid-column: 1 / -1; }
body.family-site .catalog-sort-form { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
body.family-site .catalog-sort-submit[hidden] { display: none; }
body.family-site .catalog-photo-notice {
  position: absolute; z-index: 2; inset: auto 0 0;
  margin: 0; padding: 8px 12px; text-align: center;
  font-size: 13px; line-height: 1.5; color: var(--ink); background: var(--surface-warm);
}
body.family-site .catalog-product-visual:has(.catalog-photo-notice) { position: relative; }
body.family-site .empty-offers-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner {
  width: min(420px, calc(100vw - 24px)) !important;
  box-sizing: border-box; color: var(--ink); background: var(--surface);
  border: 1px solid var(--line); border-radius: 18px; padding: 20px;
  box-shadow: 0 8px 36px rgba(0, 0, 0, .15);
}
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; min-width: 0; }
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
  width: 100%; box-sizing: border-box;
  font-size: 12px; line-height: 1.4;
  min-width: 0; min-height: 44px; height: auto; padding: 6px;
  white-space: nowrap; border-radius: 10px;
  border: 1px solid var(--line); background: var(--surface-warm); color: var(--ink);
}
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-accept { background: var(--forest); border-color: var(--forest); color: #fff; }
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-message, .cmplz-title, .cmplz-header) { color: var(--ink); min-width: 0; }
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: 13px; line-height: 1.5; }
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-message, .cmplz-links) a { color: var(--ink); text-decoration: underline; }
body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { color: var(--ink); }
@media (max-width: 767px) {
  body.family-site .search-intro { padding: 88px 16px 22px !important; }
  body.family-site .search-intro h1 { font-size: 28px !important; line-height: 1.2; margin: 0 0 10px; }
  body.family-site .search-intro .eyebrow { display: none; }
  body.family-site .search-intro .site-search-form { margin-top: 16px; }
  body.family-site .search-products { padding: 24px 16px 32px !important; }
  body.family-site .search-section-heading { display: block; margin-bottom: 16px; }
  body.family-site .search-section-heading h2 { font-size: 25px; line-height: 1.25; }
  body.family-site .search-section-heading .eyebrow { display: none; }
  body.family-site .search-section-heading > p { margin: 10px 0 0; font-size: 13px; }
  body.family-site .search-products-status { margin: 0 0 12px; }
  body.family-site .search-product-grid { gap: 12px; border: 0; }
  body.family-site .search-product-item { border: 1px solid var(--line); border-radius: 14px; }
  body.family-site .search-product-copy h3 { overflow-wrap: anywhere; }
  body.family-site :is(.gallery-section, .gallery-archive) { padding-top: 28px; }
  body.family-site .gallery-archive h2 { font-size: clamp(26px, 7vw, 34px) !important; line-height: 1.25; }
  body.family-site .gallery-archive :is(.archive-heading, .album-heading) { margin-bottom: 20px; }
  body.family-site .gallery-archive h3 { font-size: 23px; line-height: 1.3; }
  body.family-site .empty-offers { padding: 24px 20px; gap: 20px; }
  body.family-site .empty-offers-mark { display: none; }
  body.family-site .cmplz-cookiebanner {
    left: 12px !important; right: 12px !important;
    bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important; max-width: none !important;
    max-height: calc(100dvh - 170px); overflow-y: auto; padding: 16px;
    margin: 0 !important; transform: none !important;
  }
  body.family-site #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { width: 100%; margin: 0; font-size: 11px; }
  body.family-site .cmplz-cookiebanner .cmplz-message { max-height: 24vh; overflow-y: auto; }
}
/* Mobile home: retain the full editorial frame and keep product names readable. */
@media (max-width: 900px) {
  body.family-site.home .lesya-band { height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; display: block !important; background: var(--surface, #fffaf3) !important; }
  body.family-site.home .lesya-phase-media { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; aspect-ratio: 1915 / 821; }
  body.family-site.home .lesya-phase-media img { object-fit: contain !important; transform: none !important; object-position: center !important; }
  body.family-site.home .lesya-overlay { display: none !important; }
}
@media (max-width: 767px) {
  body.family-site.home .homepage-featured-grid { display: grid !important; grid-template-columns: none !important; grid-auto-flow: column !important; grid-auto-columns: calc((100% - 12px) / 2) !important; gap: 12px !important; align-items: stretch !important; overflow-x: auto !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-item { width: auto !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; border-radius: 12px !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-image { height: 108px !important; min-height: 108px !important; padding: 8px !important; box-sizing: border-box !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-image img { object-fit: contain !important; transform: none !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-copy { padding: 12px 10px !important; gap: 8px !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-copy h4 { font-size: 13px !important; font-weight: 500 !important; line-height: 1.35 !important; height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; display: block !important; margin: 0 !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-title-link { display: block !important; -webkit-line-clamp: unset !important; max-height: none !important; overflow: visible !important; overflow-wrap: anywhere; }
  body.family-site.home .homepage-featured-grid .catalog-product-code { font-size: 10px !important; margin: 0 0 8px !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-copy footer { padding-top: 8px !important; }
  body.family-site.home .homepage-featured-grid .catalog-product-copy footer strong { font-size: 17px !important; }
}

/* 1.18.2 — preserve the mobile artwork's light; shade only the lower copy. */
@media (max-width: 767px) {
  body.family-site.home .family-hero .hero-shade {
    background: linear-gradient(180deg, transparent 0%, transparent 48%, rgba(14, 20, 22, .22) 68%, rgba(14, 20, 22, .65) 100%) !important;
    animation: none !important;
  }
  body.family-site.home .family-hero :is(.hero-title, .hero-kicker, .hero-copy) {
    text-shadow: 0 1px 3px rgba(0, 0, 0, .8), 0 2px 12px rgba(0, 0, 0, .45);
  }
}

/* 1.18.0 — shared readability and a quieter mobile editorial rhythm. */
body.family-site :is(.assortment-item > p, .basic-content, .single-news-content) { color: var(--ink) !important; }
body.family-site :is(.catalog-products-phone, .catalog-inquiry-link, .catalog-delivery-link) {
  color: var(--ink); text-decoration: underline; text-underline-offset: 4px;
}
body.family-site .catalog-inquiry-link { display: inline-block; margin-top: 12px; font-size: 13px; line-height: 1.5; }
body.family-site .catalog-delivery-link { display: inline-block; margin-top: 16px; font-size: 14px; line-height: 1.5; }
body.family-site .page-hero.page-hero-compact { min-height: 240px !important; height: auto !important; padding-block: 112px 40px !important; }
body.family-site .page-hero-compact .page-hero-content { width: min(100% - 40px, 980px); padding: 0 !important; margin: auto; }
body.family-site .page-hero-compact h1 { font-size: clamp(28px, 3vw, 40px) !important; }
@media (max-width: 767px) {
  body.family-site.home .family-hero .hero-title {
    max-width: 350px; font-size: clamp(23px, 6vw, 27px) !important;
    line-height: 1.12 !important; letter-spacing: -.025em; text-wrap: balance;
  }
  body.family-site.home .family-hero .hero-copy { font-size: 12px !important; line-height: 1.45 !important; margin-top: 12px !important; }
  body.family-site.home .lesya-content {
    position: relative !important; inset: auto !important; padding: 12px 14px !important;
    background: var(--surface) !important; color: var(--ink) !important;
  }
  body.family-site.home .lesya-band blockquote { padding: 0 !important; background: none; text-shadow: none; }
  body.family-site.home .lesya-band blockquote p { color: var(--ink) !important; font-size: 14px !important; line-height: 1.45 !important; text-shadow: none !important; }
  body.family-site.home .lesya-band blockquote cite { color: var(--muted) !important; font-size: 9px !important; text-shadow: none !important; }
  body.family-site.home .lesya-note { display: none !important; }
  body.family-site.home .news-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
  body.family-site.home .news-card,
  body.family-site.home .news-card:not(.news-card-featured) {
    display: grid; grid-template-columns: 96px minmax(0, 1fr);
    grid-column: auto; align-items: start; padding: 12px; gap: 12px;
  }
  body.family-site.home .news-card .news-image,
  body.family-site.home .news-card:not(.news-card-featured) .news-image {
    width: 96px; height: 96px !important; min-height: 0;
    aspect-ratio: 1 !important; border-radius: 9px; overflow: hidden;
  }
  body.family-site.home .news-card .news-image img { object-fit: cover; }
  body.family-site.home .news-card .news-body,
  body.family-site.home .news-card:not(.news-card-featured) .news-body { padding: 0; min-width: 0; }
  body.family-site.home .news-card .news-body h3,
  body.family-site.home .news-card:not(.news-card-featured) .news-body h3 { font-size: 15px; line-height: 1.4; margin: 6px 0; }
  body.family-site.home .news-card .news-body > p { display: none; }
  body.family-site.home .news-card .news-date { font-size: 9px; letter-spacing: .08em; }
  body.family-site.home .news-card .text-link { margin-top: 8px; font-size: 12px; }
  body.family-site .catalog-product-main h1 { font-size: clamp(23px, 5.9vw, 28px) !important; line-height: 1.22 !important; overflow-wrap: break-word; margin-bottom: 14px; }
  body.family-site .page-hero.page-hero-compact { min-height: 180px !important; padding-block: 82px 28px !important; }
  body.family-site .page-hero-compact .page-hero-content { width: calc(100% - 32px); }
  body.family-site .page-hero-compact h1 { font-size: 27px !important; }
}

body.family-site .ploc-policy {
  --ploc-ink: var(--ink); --ploc-red: var(--terracotta);
  --ploc-muted: var(--muted); --ploc-line: var(--line);
}
body.family-site .hero-copy-mobile { display: none; }
@media (min-width: 768px) { body.family-site .about-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  body.family-site.home .news-grid .news-card { min-height: 0; }
  body.family-site.home .hero-copy-full { display: none; }
  body.family-site.home .hero-copy-mobile { display: inline; }
  body.family-site.home .news-body time { font-size: 9px; letter-spacing: .07em; }
}

/* Eight products in a single rail: four desktop cards, two on phones. */
body.family-site.home .homepage-featured-grid {
  display: grid !important;
  grid-template-columns: none !important;
  grid-template-rows: 1fr;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 54px) / 4) !important;
  gap: 18px !important;
  margin-inline: 0;
  padding: 2px 0 12px !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
body.family-site.home .homepage-featured-grid .catalog-product-item {
  display: flex;
  width: auto !important;
  min-width: 0 !important;
  scroll-snap-align: start;
}
.homepage-featured-controls { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin:0 0 16px; }
.homepage-featured-controls[hidden] { display:none; }
.homepage-featured-controls span { margin-right:6px; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.homepage-featured-controls button { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--surface,#fffdf7); color:var(--forest,#365641); cursor:pointer; font-size:23px; }
.homepage-featured-controls button:disabled { opacity:.35; cursor:default; }
.homepage-featured-controls button:focus-visible, #homepage-featured-products:focus-visible { outline:3px solid var(--forest,#365641); outline-offset:3px; }
@media (max-width:767px) {
  body.family-site.home .homepage-featured-grid { grid-auto-columns:calc((100% - 12px) / 2) !important; gap:12px !important; }
}

/* 1.23.0 — compact product details and accessible linked media. */
.catalog-product-image[href]:focus-visible, .about-faq-item a:focus-visible { outline: 3px solid var(--forest); outline-offset: 3px; }
.about-faq-item a { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
@media (max-width: 480px) {
  body.family-site .catalog-product-page .catalog-product-visual { margin-bottom: 0; }
  body.family-site .catalog-product-page .catalog-product-layout { gap: 20px; }
}

/* Existing-style catalog controls: native disclosure, keyboard and no-JS support. */
.catalog-filter-panel{margin:0 0 1.25rem;border:1px solid #ded8cd;border-radius:12px;padding:0 1rem;color:inherit}
.catalog-filter-panel>summary{min-height:48px;display:list-item;padding:12px 4px;cursor:pointer;font-weight:700}
.catalog-filters-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;padding:8px 0 16px}
.catalog-filters-form fieldset{min-width:0;margin:0;padding:0;border:0}
.catalog-filters-form legend{font-weight:700;margin-bottom:8px}
.catalog-filter-values{max-height:232px;overflow:auto;overscroll-behavior:contain}
.catalog-filter-values label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:.9rem}
.catalog-filter-values input{width:18px;height:18px;accent-color:#2d4b3e;flex-shrink:0}
.catalog-filter-values small,.catalog-filters-form fieldset>small{opacity:.75}
.catalog-filter-price label,.catalog-filter-range>label{display:inline-flex;flex-direction:column;gap:6px;width:calc(50% - 8px);margin-right:5px}
.catalog-filter-price input,.catalog-filter-range>label input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #b9b5aa;border-radius:6px;padding:8px;background:transparent;color:inherit;font:inherit}
.catalog-filter-context-hint{grid-column:1/-1;margin:0;font-size:.9rem}
.catalog-filter-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.catalog-filter-actions .button,
.catalog-sort-submit{border:1px solid #203b31!important;background:#2d4b3e!important;color:#fff!important;text-shadow:none!important}
.catalog-filter-actions .button:hover,
.catalog-sort-submit:hover{background:#203b31!important;color:#fff!important}
.catalog-filter-actions .button:focus-visible,
.catalog-sort-submit:focus-visible{outline:3px solid #b8793d!important;outline-offset:3px}
.catalog-filter-actions>a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
.catalog-filter-empty{padding:16px 0}
@media(max-width:600px){.catalog-filters-form{grid-template-columns:1fr}.catalog-filter-actions .button{width:100%}}

/* Owner-approved compact catalog: categories and buying tools close to products. */
body.family-site .catalog-browser{padding-top:18px!important}
body.family-site .catalog-products-panel{margin-top:12px!important;padding-top:14px!important}
body.family-site .is-subcategory-page .catalog-products-heading{display:none}
.catalog-toolbar{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin-bottom:12px}
.catalog-toolbar .catalog-filter-panel{grid-column:1/-1;grid-row:1;margin:0;padding:0;border:0}
.catalog-toolbar .catalog-filter-panel>summary{box-sizing:border-box;width:calc(50% - 6px);min-height:48px;padding:12px 14px;border:1px solid var(--line,#ded8cd);border-radius:9px;background:var(--surface-warm,#f6f3ee);font-size:14px;list-style:inside}
body.family-site .catalog-toolbar .catalog-sort-form{grid-column:2;grid-row:1;position:relative;z-index:1;display:block;margin:0;min-width:0}
.catalog-toolbar .catalog-sort-control{display:flex;flex-direction:column;gap:0;width:100%;margin:0}
.catalog-toolbar .catalog-sort-control>span{position:absolute;left:12px;top:4px;font-size:10px;line-height:12px;pointer-events:none;opacity:.7}
.catalog-toolbar .catalog-sort-control select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:48px;min-height:48px;padding:15px 24px 3px 12px;border-radius:9px;font-size:13px}
.catalog-toolbar .catalog-filters-form{padding:16px;margin-top:10px;border:1px solid var(--line,#ded8cd);border-radius:10px}
body.family-site .catalog-products-status{margin:8px 0 12px;font-size:13px}
@media(max-width:767px){
 body.family-site .assortment-category-page .assortment-category-hero{min-height:190px!important;height:auto!important;padding-top:72px!important;padding-bottom:18px!important}
 body.family-site .assortment-category-page .assortment-category-intro-inner{padding-top:10px!important;padding-bottom:0!important}
 body.family-site .assortment-category-page .assortment-category-intro-inner .eyebrow{display:none}
 body.family-site .assortment-category-page .assortment-category-hero h1{font-size:27px!important;line-height:1.2!important;margin-bottom:8px!important}
 body.family-site .assortment-category-page .assortment-category-lead{font-size:13px!important;line-height:1.45!important;margin:0!important}
 body.family-site .catalog-browser{padding-top:12px!important}
 body.family-site .catalog-browser-inner{width:auto!important;margin-inline:16px!important;padding-inline:0!important}
 body.family-site .catalog-products-panel{margin-top:4px!important;padding-top:8px!important}
 body.family-site .catalog-products-heading{margin-bottom:10px}
 body.family-site .catalog-browser .catalog-product-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 body.family-site .catalog-browser .catalog-product-item{display:grid!important;grid-template-columns:minmax(108px,35%) minmax(0,1fr)!important;gap:12px!important;min-height:144px!important;height:auto!important;padding:10px!important;border-radius:12px!important;align-items:center;box-shadow:none}
 body.family-site .catalog-browser .catalog-product-image{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;border-radius:9px;align-self:start;overflow:hidden}
 body.family-site .catalog-browser .catalog-product-image img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;padding:5px!important;box-sizing:border-box}
 body.family-site .catalog-browser .catalog-product-copy{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;gap:6px 8px!important;padding:0!important;min-width:0;align-items:center}
 body.family-site .catalog-browser .catalog-product-copy :is(.catalog-product-label,.catalog-product-summary){display:none!important}
 body.family-site .catalog-browser .catalog-product-copy h4{grid-column:1/-1;grid-row:1;font-size:14px!important;line-height:1.4!important;font-weight:600!important;margin:0!important;min-height:0!important;height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}
 body.family-site .catalog-browser .catalog-product-copy .catalog-product-code{grid-column:1/-1;grid-row:2;margin:0!important;font-size:11px!important;line-height:1.3!important}
 body.family-site .catalog-browser .catalog-product-copy footer{grid-column:1;grid-row:3;margin:0!important;padding:2px 0!important;border:0!important}
 body.family-site .catalog-browser .catalog-product-copy footer strong{font-size:19px!important;line-height:1.2!important}
 body.family-site .catalog-browser .ploc-add-button{grid-column:2;grid-row:3;position:relative;width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:10px!important;border-radius:9px!important}
 body.family-site .catalog-browser .ploc-add-button span{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 body.family-site .catalog-browser .ploc-add-button b{display:none}
 body.family-site .catalog-browser .ploc-add-button::after{content:"";width:22px;height:22px;display:block;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.5 12h11l2-8H6M9 20h.01M18 20h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
}
/* Owner reference: quieter product typography, clear buying cues, existing warm palette. */
body.family-site .catalog-product-item .catalog-product-copy h4,
body.family-site .catalog-product-page #product-title{font-family:Manrope,Arial,sans-serif!important;font-weight:650!important;letter-spacing:-.02em!important;text-wrap:pretty}
body.family-site .catalog-product-item .catalog-product-copy h4{font-size:15px!important;line-height:1.45!important}
body.family-site .catalog-product-page #product-title{font-size:clamp(23px,2.1vw,32px)!important;line-height:1.3!important;margin:0 0 16px!important}
body.family-site .catalog-product-item footer strong,
body.family-site .catalog-product-page .catalog-product-price{font-family:Manrope,Arial,sans-serif!important;font-weight:800!important;font-variant-numeric:tabular-nums;letter-spacing:-.035em!important;color:var(--ink)!important}
body.family-site .catalog-product-item footer strong{font-size:22px!important;line-height:1.2!important}
body.family-site .catalog-product-page .catalog-product-price{font-size:32px!important;line-height:1.2!important;margin:14px 0!important}
body.family-site .catalog-product-item{border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:0 2px 8px rgba(46,41,37,.035)!important}
body.family-site .catalog-product-item .catalog-product-image{background:#fff!important}
body.family-site .catalog-product-item .catalog-product-code{font-size:11px!important;color:var(--muted)!important;line-height:1.4!important}
body.family-site .catalog-card-availability,
body.family-site .catalog-product-availability{display:flex;align-items:center;gap:7px;color:#397044!important;font:600 12px/1.4 Manrope,Arial,sans-serif!important;margin:8px 0!important}
body.family-site .catalog-card-availability::before,
body.family-site .catalog-product-availability::before{content:"";width:14px;height:14px;flex:0 0 14px;box-sizing:border-box;border:1.5px solid currentColor;border-radius:50%;background:radial-gradient(circle,currentColor 0 2.5px,transparent 3px)}
body.family-site .catalog-product-availability{font-size:14px!important;margin:12px 0 18px!important}
body.family-site .catalog-product-item .ploc-add-button,
body.family-site .catalog-product-contact-actions .ploc-add-button{background:#965d27!important;border:1px solid #875221!important;color:#fff!important;min-height:48px!important;border-radius:9px!important;font:700 14px/1.2 Manrope,Arial,sans-serif!important;box-shadow:0 2px 3px rgba(98,57,22,.1)!important;transition:background .15s,box-shadow .15s}
body.family-site .catalog-product-item .ploc-add-button:hover,
body.family-site .catalog-product-contact-actions .ploc-add-button:hover{background:#7e4b1f!important;box-shadow:0 3px 8px rgba(98,57,22,.16)!important}
body.family-site .catalog-product-item .ploc-add-button:focus-visible,
body.family-site .catalog-product-contact-actions .ploc-add-button:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
body.family-site .catalog-product-item .ploc-add-button b,
body.family-site .catalog-product-contact-actions .ploc-add-button b{display:none}
body.family-site .catalog-product-item .ploc-add-button::after,
body.family-site .catalog-product-contact-actions .ploc-add-button::after{content:"";flex:0 0 21px;width:21px;height:21px;display:block;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.5 12h11l2-8H6M9 20h.01M18 20h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
body.family-site .catalog-product-contact-actions .button-route{background:transparent!important;color:var(--muted)!important;border:0!important;box-shadow:none!important;font-size:13px!important;padding:8px 0!important;min-height:44px!important;text-decoration:underline;text-underline-offset:3px}
body.family-site .catalog-product-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;margin:0 0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--forest);font:700 14px/1.3 Manrope,Arial,sans-serif;text-decoration:none}
.catalog-product-back:hover{background:var(--surface-warm)!important}
.catalog-product-back:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
body.family-site.home .home-shopping-benefits{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:20px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-bottom:1px solid var(--line)}
.home-shopping-benefits a{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;min-height:48px}
.home-shopping-benefits svg{width:28px;height:28px;flex:0 0 28px;color:var(--forest)}
.home-shopping-benefits strong{display:block;font:700 13px/1.4 Manrope,Arial,sans-serif}
.home-shopping-benefits small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}
.home-shopping-benefits a:focus-visible,.home-all-categories:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
body.family-site.home .assortment{padding-top:30px!important;padding-bottom:32px!important}
body.family-site.home .assortment .section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px!important}
.home-all-categories{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid var(--forest);border-radius:9px;background:var(--forest);color:#fff!important;font:700 13px/1.4 Manrope,Arial,sans-serif;text-decoration:none}
.home-all-categories:hover{background:var(--forest-dark);color:#fff!important}
body.family-site.home .assortment-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
body.family-site.home .assortment-grid .assortment-item:nth-child(n+7){display:grid!important}
body.family-site.home .assortment-grid .assortment-item{border-radius:10px!important}
body.family-site.home .assortment-grid .assortment-item h3{font-family:Manrope,Arial,sans-serif!important;font-weight:700!important;line-height:1.35!important;letter-spacing:0!important}
body.family-site.home .assortment-item-count{display:block;margin:0;color:#fff;font:700 11px/1.35 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.03em;text-shadow:0 1px 5px rgba(20,14,10,.82)}
body.family-site .catalog-category-count{margin:0 0 7px!important;color:var(--forest)!important;font:700 12px/1.35 Manrope,Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:767px){
 body.family-site .catalog-browser .catalog-product-item{grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;padding:12px!important;gap:14px!important}
 body.family-site .catalog-browser .catalog-product-copy{grid-template-columns:minmax(0,1fr) 48px!important;gap:7px 8px!important}
 body.family-site .catalog-browser .catalog-product-copy h4{font-size:14px!important;line-height:1.4!important}
 body.family-site .catalog-browser .catalog-card-availability{grid-column:1;grid-row:4;font-size:11px!important;margin:0!important}
 body.family-site .catalog-browser .catalog-product-copy footer{grid-row:3;padding-top:4px!important}
 body.family-site .catalog-browser .ploc-add-button{grid-row:3/5;align-self:end;width:48px!important;height:48px!important}
 body.family-site .catalog-browser .catalog-product-copy footer strong{font-size:21px!important}
 body.family-site .catalog-product-page .catalog-product-breadcrumbs{font-size:11px!important;margin-bottom:14px!important}
 body.family-site .catalog-product-page .catalog-product-layout{gap:20px!important}
 body.family-site .catalog-product-main>.eyebrow{display:none}
 body.family-site .catalog-product-contact-actions .ploc-add-button{flex:1;justify-content:center}
 body.family-site.home .home-shopping-benefits{width:calc(100% - 32px);grid-template-columns:1fr 1fr;gap:12px 16px;padding:16px 0}
 .home-shopping-benefits a{gap:8px}
 .home-shopping-benefits svg{width:24px;height:24px;flex-basis:24px}
 .home-shopping-benefits strong{font-size:11px}
 .home-shopping-benefits small{font-size:10px}
 body.family-site.home .assortment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 body.family-site.home .assortment .section-heading{align-items:start;gap:10px}
 body.family-site.home .assortment .section-heading h2{font-size:24px!important;line-height:1.25!important}
 body.family-site.home .assortment .section-heading .eyebrow{display:none}
 .home-all-categories{font-size:11px}
}
body.family-site.home :is(.assortment,.homepage-featured) .section-heading h2{font-size:clamp(24px,2.5vw,34px)!important;line-height:1.25!important;letter-spacing:-.02em!important}
body.family-site.plf-theme-evening :is(.catalog-card-availability,.catalog-product-availability){color:#a3d6a9!important}
body.family-site :is(.catalog-card-availability,.catalog-product-availability).is-unavailable{color:#b42332!important}
body.family-site.plf-theme-evening :is(.catalog-card-availability,.catalog-product-availability).is-unavailable{color:#ff8d96!important}
body.family-site :is(.catalog-card-availability,.catalog-product-availability).is-unavailable::before{background:none!important}

body.family-site .catalog-product-identifiers{display:flex;flex-wrap:wrap;gap:6px 20px;margin:10px 0 14px}
body.family-site .catalog-product-identifiers .catalog-product-code{display:flex;flex-wrap:wrap;gap:5px;margin:0!important;color:var(--muted)!important;font:500 13px/1.5 Manrope,Arial,sans-serif!important;letter-spacing:0!important;overflow-wrap:anywhere}
body.family-site .catalog-product-identifiers strong{font:600 13px/1.5 Manrope,Arial,sans-serif!important;color:var(--ink)!important}

body.family-site .catalog-product-contact{border:0!important;padding-top:0!important;margin-top:16px!important;background:transparent!important;box-shadow:none!important}
body.family-site .catalog-product-contact-actions{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px!important}
body.family-site .catalog-product-contact-actions .ploc-add-button{width:auto!important;flex:1;justify-content:center;min-width:130px;padding:14px 16px!important}
body.family-site .catalog-purchase-quantity{display:flex;align-items:center;flex:0 0 auto;height:50px;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
body.family-site .catalog-purchase-quantity[hidden]{display:none}
.catalog-purchase-quantity button{width:44px;height:48px;border:0;background:transparent;color:var(--ink);font:500 23px/1 Manrope,Arial,sans-serif;cursor:pointer}
.catalog-purchase-quantity button:disabled{opacity:.35;cursor:default}
.catalog-purchase-quantity input{width:34px!important;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);font:700 16px/1 Manrope,Arial,sans-serif;text-align:center;appearance:textfield;-moz-appearance:textfield}
.catalog-purchase-quantity input::-webkit-inner-spin-button,.catalog-purchase-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.catalog-purchase-quantity :is(input,button):focus-visible{outline:2px solid var(--forest);outline-offset:-3px}
body.family-site .catalog-product-contact-actions .button-route{flex-basis:100%;text-align:left;justify-content:start;min-height:32px!important}
body.family-site .catalog-product-availability::before{width:18px;height:18px;flex-basis:18px;border:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22Zm-1.5 16L5 11.5 6.5 10l4 4 7-7L19 8.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
body.family-site :is(.catalog-card-availability,.catalog-product-availability){color:#237a38!important}
body.family-site.plf-theme-evening :is(.catalog-card-availability,.catalog-product-availability){color:#90dfa3!important}
body.family-site :is(.catalog-card-availability,.catalog-product-availability).is-unavailable{color:#b42332!important}
body.family-site.plf-theme-evening :is(.catalog-card-availability,.catalog-product-availability).is-unavailable{color:#ff8d96!important}
/* Match filter disclosure to the neighbouring sort arrow. */
.catalog-toolbar .catalog-filter-panel>summary{display:flex!important;align-items:center;justify-content:space-between;gap:10px;list-style:none!important}
.catalog-toolbar .catalog-filter-panel>summary::-webkit-details-marker{display:none}
.catalog-toolbar .catalog-filter-panel>summary::marker{content:""}
.catalog-toolbar .catalog-filter-panel>summary::after{content:"";width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 1px 0 8px;transition:transform .15s}
.catalog-toolbar .catalog-filter-panel[open]>summary::after{transform:rotate(225deg);margin-top:4px}
/* Compact purchase action keeps the same footprint after adding. */
body.family-site .catalog-product-contact-actions .ploc-add-button{flex:0 1 144px!important;width:144px!important;min-width:130px!important;max-width:144px!important;margin-left:auto!important;min-height:44px!important;height:44px!important;padding:10px 14px!important;font-size:13px!important;white-space:nowrap}
body.family-site .catalog-product-contact-actions{gap:10px!important;justify-content:flex-start!important}
body.family-site .catalog-purchase-quantity{height:44px}
.catalog-purchase-quantity button{height:42px}
body.family-site .catalog-product-page #product-title{hyphens:none!important;word-break:normal!important}


#catalog-product-results{scroll-margin-top:16px}
@media(max-width:767px){#catalog-product-results{scroll-margin-top:76px}}
/* Clear information typography; decorative hero and Lesya headings stay distinct. */
body.family-site .about-page :is(h2,h3),
body.family-site .contacts h2{font-family:Manrope,Arial,sans-serif!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.02em!important;hyphens:none!important}
body.family-site .about-page h2,body.family-site .contacts h2{font-size:clamp(25px,2.5vw,34px)!important}
body.family-site .about-page h3{font-size:18px!important;line-height:1.4!important}
body.family-site :is(.about-contact-list dd,.about-contact-list dd a,.contact-details strong,.contact-details strong a){font-family:Manrope,Arial,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:1.65!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}
body.family-site :is(.about-contact-list dt,.contact-details>div>span){font-family:Manrope,Arial,sans-serif!important;font-size:11px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:.07em!important}
body.family-site :is(.about-visit-lead,.contacts-lead){font-family:Manrope,Arial,sans-serif!important;font-size:15px!important;line-height:1.65!important}
@media(max-width:767px){body.family-site .about-page h2,body.family-site .contacts h2{font-size:26px!important;line-height:1.3!important}body.family-site .about-page h3{font-size:17px!important}}

/* Owner review: compact cards, wider desktop pages, benefits on the hero. */
body.family-site.home .family-hero .hero-address{display:none!important}
body.family-site.home .family-hero .home-shopping-benefits{position:absolute;z-index:4;left:50%;bottom:16px;transform:translateX(-50%);width:min(1440px,calc(100% - 64px));margin:0;padding:10px 18px;box-sizing:border-box;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(35,31,26,.48);backdrop-filter:blur(4px);gap:16px}
body.family-site.home .family-hero .home-shopping-benefits a{color:#fff;min-height:44px;gap:10px}
body.family-site.home .family-hero .home-shopping-benefits svg{color:#eed2ad;width:24px;height:24px;flex-basis:24px}
body.family-site.home .family-hero .home-shopping-benefits small{color:#f0e6da}
body.family-site.home .family-hero .home-shopping-benefits a:focus-visible{outline-color:#fff}
body.family-site.home :is(.assortment,.homepage-featured){margin-top:12px!important;padding:20px 24px!important}
body.family-site.home :is(.assortment,.homepage-featured) .section-heading{margin-bottom:12px!important;gap:12px!important}
body.family-site.home .homepage-featured-mobile-cue{display:none!important}
body.family-site.home .homepage-featured-controls{margin:0 0 8px;gap:8px}
body.family-site.home .homepage-featured .section-action{margin-top:10px!important;margin-bottom:0!important}
body.family-site.home .homepage-featured-grid{padding-bottom:4px!important;gap:12px!important}
body.family-site.home .homepage-featured-grid .catalog-product-item{height:auto!important;min-height:0!important;border-radius:12px!important}
body.family-site.home .homepage-featured-grid .catalog-product-image{height:126px!important;min-height:0!important;padding:8px!important;box-sizing:border-box!important}
body.family-site.home .homepage-featured-grid .catalog-product-copy{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto auto 44px;align-content:start;align-items:center;flex:none!important;min-height:0!important;height:auto!important;padding:10px!important;gap:5px 6px!important}
body.family-site.home .homepage-featured-grid .catalog-product-label{display:none!important}
body.family-site.home .homepage-featured-grid .catalog-product-copy h4{grid-column:1/-1;min-height:38px!important;height:38px!important;margin:0!important;font-size:13px!important;line-height:19px!important;font-weight:600!important;overflow:hidden!important}
body.family-site.home .homepage-featured-grid .catalog-product-title-link{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2!important;overflow:hidden!important;max-height:38px!important}
body.family-site.home .homepage-featured-grid .catalog-product-code{grid-column:1/-1;font-size:10px!important;line-height:14px!important;margin:0!important}
body.family-site.home .homepage-featured-grid .catalog-card-availability{grid-column:1/-1;font-size:11px!important;line-height:16px!important;margin:0!important}
body.family-site.home .homepage-featured-grid .catalog-product-copy footer{grid-column:1;grid-row:4;margin:0!important;padding:0!important;border:0!important}
body.family-site.home .homepage-featured-grid .catalog-product-copy footer strong{font-size:20px!important;line-height:1.2!important}
body.family-site.home .homepage-featured-grid .ploc-add-button{grid-column:2;grid-row:4;min-width:44px!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;justify-content:center;gap:0!important}
body.family-site.home .homepage-featured-grid .ploc-add-button span{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:821px){
 body.family-site{--header-height:86px;font-size:14px}
 body.family-site :is(.section,.catalog-browser-inner,.assortment-category-intro-inner,.catalog-product-hero-inner,.catalog-product-layout,.archive-section,.about-section,.contacts-inner){width:min(1660px,calc(100% - 64px))!important;max-width:1660px!important;margin-inline:auto}
 body.family-site .section{padding-block:32px}
 body.family-site .section-heading{margin-bottom:20px!important}
 body.family-site .section-heading h2{font-size:clamp(28px,2.65vw,40px)!important;line-height:1.2!important}
 body.family-site .header-inner{width:min(1660px,calc(100% - 48px))!important;min-height:86px!important;gap:12px!important}
 body.family-site .brand img{width:135px!important;height:56px!important}
 body.family-site .site-nav .nav-links{gap:12px!important}
 body.family-site .site-nav .nav-links a{font-size:12px!important}
 body.family-site .family-hero{height:clamp(440px,60svh,540px)!important;min-height:440px!important;max-height:540px!important}
 body.family-site.home .family-hero .hero-content{width:min(1660px,calc(100% - 64px))!important;padding-top:calc(var(--header-height) + 16px)!important;padding-bottom:104px!important}
 body.family-site.home .family-hero .hero-title{font-size:clamp(36px,3.3vw,47px)!important}
 body.family-site .assortment-overview-page .page-hero{min-height:320px!important}
 body.family-site .catalog-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
 body.family-site .catalog-category-card{grid-column:auto!important;min-height:0!important}
 body.family-site .catalog-category-image{height:160px!important;min-height:0!important}
 body.family-site .catalog-category-body{padding:16px!important}
 body.family-site .catalog-category-body h3{font-size:22px!important;line-height:1.25!important}
 body.family-site .catalog-browser .catalog-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
 body.family-site .catalog-browser .catalog-products-panel{padding-top:12px!important;margin-top:12px!important}
}
@media(min-width:1280px){
 body.family-site.home .assortment-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 body.family-site.home .homepage-featured-grid{grid-auto-columns:calc((100% - 48px)/5)!important}
 body.family-site .catalog-browser .catalog-product-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 body.family-site .header-inner{grid-template-columns:145px minmax(420px,1fr) minmax(190px,280px) 100px 145px!important}
}
@media(max-width:767px){
 body.family-site.home .family-hero{height:540px!important;min-height:540px!important;max-height:540px!important}
 body.family-site.home .family-hero .hero-content{padding-bottom:140px!important}
 body.family-site.home .family-hero .home-shopping-benefits{width:calc(100% - 24px);bottom:12px;padding:8px 10px;gap:6px 10px;grid-template-columns:1fr 1fr}
 body.family-site.home .family-hero .home-shopping-benefits strong{font-size:10px}
 body.family-site.home .family-hero .home-shopping-benefits small{font-size:10px;margin-top:1px}
 body.family-site.home .family-hero .home-shopping-benefits svg{width:20px;height:20px;flex-basis:20px}
 body.family-site.home :is(.assortment,.homepage-featured){width:calc(100% - 20px)!important;padding:14px 10px!important;margin-top:10px!important}
 body.family-site.home :is(.assortment,.homepage-featured) .section-heading h2{font-size:23px!important}
 body.family-site.home .homepage-featured-controls{margin-top:-4px;margin-bottom:6px}
 body.family-site.home .homepage-featured-grid .catalog-product-image{height:74px!important;min-height:0!important;padding:5px!important}
 body.family-site.home .homepage-featured-grid .catalog-product-copy{padding:7px!important;gap:3px 4px!important}
 body.family-site.home .homepage-featured-grid .catalog-product-copy h4{height:34px!important;min-height:34px!important;font-size:12px!important;line-height:17px!important}
 body.family-site.home .homepage-featured-grid .catalog-product-title-link{max-height:34px!important}
 body.family-site.home .homepage-featured-grid .catalog-product-copy footer strong{font-size:17px!important}
 body.family-site .catalog-browser .catalog-product-item{padding:8px!important;gap:10px!important;min-height:0!important;grid-template-columns:84px minmax(0,1fr)!important}
 body.family-site .catalog-browser .catalog-product-image{height:92px!important;min-height:0!important;align-self:center}
 body.family-site .catalog-browser .catalog-product-copy h4{font-size:13px!important;line-height:1.3!important}
 body.family-site .catalog-browser .catalog-product-copy .catalog-product-title-link{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden!important}
 body.family-site .catalog-browser .catalog-product-copy{gap:4px 6px!important}
 body.family-site .catalog-browser .catalog-product-copy footer strong{font-size:18px!important}
}
/* Final density target from owner: about 20%, without scaling touch targets. */
@media(min-width:821px){
 body.family-site{--header-height:77px;font-size:14px}
 body.family-site :is(.section,.catalog-browser-inner,.assortment-category-intro-inner,.catalog-product-hero-inner,.catalog-product-layout,.archive-section,.about-section,.contacts-inner){width:min(1720px,calc(100% - 48px))!important;max-width:1720px!important}
 body.family-site .header-inner{width:min(1720px,calc(100% - 40px))!important;min-height:77px!important}
 body.family-site .brand img{width:120px!important;height:50px!important}
 body.family-site .site-nav .nav-links{gap:10px!important}
 body.family-site .site-nav .nav-links a{font-size:11.5px!important}
 body.family-site .section{padding-block:28px}
 body.family-site .section-heading h2{font-size:clamp(26px,2.4vw,36px)!important}
 body.family-site.home .family-hero{height:clamp(390px,56svh,480px)!important;min-height:390px!important;max-height:480px!important}
 body.family-site.home .family-hero .hero-content{width:min(1720px,calc(100% - 48px))!important;padding-top:calc(var(--header-height) + 10px)!important;padding-bottom:98px!important}
 body.family-site.home .family-hero .hero-title{font-size:clamp(34px,3vw,43px)!important}
 body.family-site .page-hero h1{font-size:clamp(32px,3vw,42px)!important}
 body.family-site .assortment-category-intro-inner h1{font-size:clamp(30px,2.8vw,40px)!important}
 body.family-site .catalog-product-layout{gap:32px!important}
 body.family-site .catalog-category-body h3{font-size:20px!important}
}
/* Remove inherited image flex-basis and card gap that kept cards tall. */
body.family-site.home .homepage-featured-grid .catalog-product-item{gap:0!important}
body.family-site.home .homepage-featured-grid .catalog-product-image{flex:none!important;height:90px!important;min-height:0!important}
body.family-site.home .homepage-featured .section-heading{display:flex!important;justify-content:space-between;align-items:end;flex-wrap:wrap}
body.family-site.home .homepage-featured .section-heading .homepage-featured-controls{margin:0;flex-shrink:0}
@media(min-width:821px){
 body.family-site .header-search{width:100%!important;min-width:0!important;max-width:100%!important}
 body.family-site .header-theme-switcher{gap:4px!important;min-width:0!important;justify-self:end}
 body.family-site .header-theme-switcher>span{display:none}
 body.family-site.home .homepage-featured-grid .catalog-product-copy{padding:8px!important;gap:3px 5px!important}
}
@media(max-width:767px){
 body.family-site.home .homepage-featured-grid .catalog-product-image{height:74px!important;flex:none!important}
 body.family-site.home .homepage-featured .section-heading>div:first-child{flex:1;min-width:180px}
 body.family-site.home .homepage-featured .section-heading .homepage-featured-controls{margin-left:auto}
}
/* Five fixed featured products; no horizontal rail or scrollbar. */
body.family-site.home .homepage-featured-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:auto!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;border:0!important}
body.family-site.home .homepage-featured-grid .catalog-product-item{background:var(--surface,#fffdf9)!important;box-shadow:0 2px 8px rgba(60,42,26,.04)!important}
body.family-site.home .homepage-featured-grid .catalog-product-image{height:132px!important;padding:2px!important;background:#fff!important}
body.family-site.home .homepage-featured-grid .catalog-product-image img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important}
@media(min-width:821px){
 body.family-site.home :is(.gallery-section,.lesya-band,.contacts-compact,.home-shop-model){width:min(1720px,calc(100% - 48px))!important;max-width:1720px!important;margin:14px auto!important;box-sizing:border-box}
 body.family-site.home .gallery-section{padding:24px!important}
 body.family-site.home :is(.gallery-header,.gallery-grid,.gallery-footer){width:100%!important;max-width:none!important;margin-inline:0!important}
 body.family-site.home .gallery-header{margin-bottom:16px!important}
 body.family-site.home .gallery-header h2{font-size:clamp(26px,2.4vw,36px)!important;line-height:1.2!important}
 body.family-site.home .gallery-grid{height:300px!important;grid-template-rows:144px 144px!important;gap:12px!important}
 body.family-site.home .gallery-photo{min-height:0!important;height:100%!important}
 body.family-site.home .lesya-band{display:grid!important;grid-template-columns:52% 48%;height:auto!important;min-height:280px!important;padding:0!important}
 body.family-site.home .lesya-phase-media{position:absolute!important;inset:0 auto 0 0!important;width:52%!important;height:100%!important}
 body.family-site.home .lesya-content{position:relative!important;inset:auto!important;grid-column:2;min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:26px 30px!important;overflow:visible!important;box-sizing:border-box}
 body.family-site.home .lesya-content :is(blockquote,blockquote p,cite,.lesya-note,.eyebrow){width:auto!important;max-width:100%!important;white-space:normal!important;overflow:visible!important}
 body.family-site.home .lesya-quote-desktop{display:inline!important;white-space:normal!important}
 body.family-site.home .lesya-band blockquote p{font-size:clamp(24px,2.2vw,32px)!important;line-height:1.25!important}
 body.family-site.home .lesya-band blockquote cite{font-size:11px!important}
 body.family-site.home .contacts-compact,body.family-site.home .home-shop-model{padding:24px!important;gap:32px!important}
 body.family-site.home :is(.contacts-compact,.home-shop-model) h2{font-size:clamp(26px,2.4vw,36px)!important;line-height:1.2!important}
 body.family-site.home .news-section{padding:24px!important}
 body.family-site.home .news-card .news-body{padding:18px!important}
 body.family-site.home .news-card .news-body h3{font-size:18px!important;line-height:1.35!important}
 body.family-site.home .footer-inner{width:min(1720px,calc(100% - 48px))!important;max-width:1720px!important}
}
@media(max-width:767px){
 body.family-site.home .homepage-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:10px!important}
 body.family-site.home .homepage-featured-grid .catalog-product-image{height:88px!important;padding:2px!important}
 body.family-site.home :is(.gallery-section,.lesya-band,.contacts-compact,.home-shop-model){width:calc(100% - 20px)!important;max-width:100%!important;margin:12px auto!important;box-sizing:border-box}
 body.family-site.home .gallery-section,body.family-site.home .contacts-compact{padding:14px!important}
 body.family-site.home :is(.gallery-header,.contacts-compact,.home-shop-model) h2{font-size:23px!important;line-height:1.3!important}
}
/* Product overview: balanced desktop columns and nearby photographed suggestions. */
@media(min-width:821px){
 body.family-site .site-nav .nav-links a{font-size:13px!important}
 body.family-site .catalog-product-page .catalog-product-hero{padding:24px 0!important}
 body.family-site .catalog-product-page .catalog-product-layout{width:100%!important;max-width:none!important;margin:0!important;grid-template-columns:minmax(240px,340px) minmax(0,1fr)!important;gap:28px!important}
 body.family-site .catalog-product-main h1{font-size:clamp(24px,2.1vw,32px)!important;line-height:1.25!important;margin:8px 0 16px!important}
 body.family-site .catalog-product-main{min-width:0!important;max-width:none!important}
 body.family-site .catalog-product-description{margin:14px 0 0!important}
 body.family-site .catalog-product-contact{margin:12px 0!important;padding:0!important}
 body.family-site .catalog-product-page .catalog-product-details{padding:24px 0!important}
 body.family-site .catalog-product-details-inner{width:min(1720px,calc(100% - 48px))!important;max-width:1720px!important;margin:auto!important}
 body.family-site .catalog-product-details h2{font-size:28px!important;margin:8px 0 18px!important}
 body.family-site .catalog-product-details dl{max-width:960px!important}
}
@media(min-width:1180px){
 body.family-site .site-nav .nav-links{gap:16px!important}
 body.family-site .site-nav .nav-links a{font-size:14px!important}
}
body.family-site .catalog-product-layout .catalog-product-related{min-width:0;padding:16px!important;border:1px solid var(--line);border-radius:14px;background:var(--surface-warm-soft)}
body.family-site .catalog-product-layout .catalog-product-related-inner{width:100%!important;padding:0!important;margin:0!important}
body.family-site .catalog-product-layout .catalog-product-related header{margin:0 0 12px!important}
body.family-site .catalog-product-layout .catalog-product-related h2{font-family:var(--font-body,Arial,sans-serif);font-size:18px!important;margin:0!important}
body.family-site .catalog-product-layout .catalog-product-related .eyebrow{display:none}
body.family-site .catalog-product-layout .catalog-product-related-grid{display:grid;grid-template-columns:1fr!important;gap:12px!important;border:0!important}
body.family-site .catalog-product-layout .catalog-product-related-grid article{min-width:0}
body.family-site .catalog-product-layout .catalog-product-related-grid a{display:grid!important;grid-template-columns:84px minmax(0,1fr);gap:6px 10px;padding:8px!important;border:0!important;border-radius:8px}
body.family-site .catalog-product-layout .catalog-product-related-grid img{grid-row:1/3;width:84px!important;height:100px!important;object-fit:contain!important;padding:0!important;background:#fff}
body.family-site .catalog-product-layout .catalog-product-related-grid span{display:none}
body.family-site .catalog-product-layout .catalog-product-related-grid h3{font-size:13px!important;line-height:1.35!important;margin:0!important;align-self:end}
body.family-site .catalog-product-layout .catalog-product-related-grid strong{font-size:18px!important;margin:0!important;align-self:start}
@media(min-width:1280px){
 body.family-site .catalog-product-page .catalog-product-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr) minmax(240px,300px)!important}
}
@media(min-width:821px) and (max-width:1279px){
 body.family-site .catalog-product-layout .catalog-product-related{grid-column:1/-1}
 body.family-site .catalog-product-layout .catalog-product-related-grid{grid-template-columns:1fr 1fr!important}
}
@media(min-width:768px) and (max-width:1100px){
 body.family-site.home .homepage-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
 body.family-site .catalog-product-page .catalog-product-hero{padding-bottom:18px!important}
 body.family-site .catalog-product-page .catalog-product-details{padding:20px 0!important}
}
/* Keep the lower homepage and recommendation rows at the same compact scale. */
body.family-site .catalog-product-layout .catalog-product-related-grid :is(article,a){min-height:0!important;height:auto!important}
body.family-site .catalog-product-layout .catalog-product-related-grid article{border:0!important}
@media(min-width:821px){
 body.family-site.home .news-section h2{font-size:clamp(26px,2.4vw,36px)!important;line-height:1.2!important}
 body.family-site.home .news-section .news-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
 body.family-site.home .news-section .news-card{grid-column:auto!important;min-height:0!important}
 body.family-site.home .news-section .news-card img{height:180px!important;width:100%!important;object-fit:cover!important}
 body.family-site.home .news-section .news-card h3{font-size:18px!important;line-height:1.35!important}
}
body.family-site .catalog-product-layout .catalog-product-related-grid{gap:8px!important}
body.family-site .catalog-product-layout .catalog-product-related-grid a{background:var(--surface,#fffdf9);padding:8px!important;box-shadow:0 2px 8px rgba(50,40,30,.04)}
body.family-site .catalog-product-layout .catalog-product-related-grid img{height:84px!important;margin:0!important;border-radius:6px}
body.family-site .catalog-product-layout .catalog-product-related-grid strong{color:var(--ink,#302b25)!important}
body.family-site .catalog-product-layout .catalog-product-related-grid :is(article,a)::before,body.family-site .catalog-product-layout .catalog-product-related-grid :is(article,a)::after{display:none!important}
@media(min-width:821px){
 body.family-site .catalog-toolbar .catalog-filters-form{width:min(100%,calc(var(--filter-column-count,3) * 220px + 32px));box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}
body.family-site .catalog-product-layout .catalog-product-related-grid h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:54px}
@media(min-width:1280px){
 body.family-site .catalog-product-layout .catalog-product-related{margin-top:-80px!important}
 body.family-site .catalog-product-breadcrumbs{padding-right:330px}
}
@media(min-width:821px){
 body.family-site.home .news-section .news-card{display:flex!important;flex-direction:column!important;gap:0!important;height:auto!important}
 body.family-site.home .news-section .news-card .news-image{height:160px!important;min-height:0!important;max-height:160px!important;flex:0 0 160px!important;aspect-ratio:auto!important;margin:0!important;padding:0!important}
 body.family-site.home .news-section .news-card .news-image img{height:100%!important;min-height:0!important;width:100%!important;display:block!important}
 body.family-site.home .news-section .news-card .news-body{padding:14px!important;min-height:0!important;gap:8px!important;flex:1!important}
 body.family-site.home .news-section .news-card .news-body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:8px 0!important}
 body.family-site.home .news-section .news-card .news-body h3{font-size:16px!important;margin:8px 0!important}
 body.family-site.home .news-section .news-header{margin-bottom:16px!important}
}
.hero-intro-mobile{display:none}
/* Mobile hero: approved family and held bowl above the copy, pottery foreground below. */
@media(max-width:767px){
 body.family-site.home .family-hero{display:grid!important;grid-template-columns:100%!important;grid-template-rows:auto auto!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;background:var(--surface,#fbf8f2)!important;overflow:hidden!important}
 body.family-site.home .family-hero .theme-hero-media.hero-image{position:relative!important;inset:auto!important;grid-area:1/1!important;order:0!important;flex:none!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important}
 body.family-site.home .family-hero .theme-hero-layer{inset:0!important;width:100%!important;height:100%!important}
 body.family-site.home .family-hero .theme-hero-layer img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:right center!important;transform:none!important}
 body.family-site.home .family-hero :is(.hero-shade,.hero-ornament,.hero-fade,.hero-address){display:none!important}
 body.family-site.home .family-hero .hero-content{position:relative!important;inset:auto!important;order:1!important;grid-area:1/1!important;align-self:end!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:8px 14px 10px!important;z-index:2;background:linear-gradient(180deg,rgba(26,30,25,0) 0%,rgba(26,30,25,.5) 28%,rgba(26,30,25,.84) 100%)!important;box-sizing:border-box!important;transform:none!important;color:var(--ink,#302b25)!important;text-shadow:none!important}
 body.family-site.home .family-hero .hero-kicker{display:flex!important;flex-wrap:wrap!important;gap:4px 7px!important;font-size:8px!important;line-height:1.4!important;letter-spacing:.03em!important;margin:0 0 5px!important;color:#ead2ac!important}
 body.family-site.home .family-hero .hero-title{font-size:22px!important;line-height:1.1!important;margin:0 0 5px!important;color:#fffaf0!important;text-shadow:none!important}
 body.family-site.home .family-hero .hero-copy{display:none!important;padding:0!important;font-size:12px!important;line-height:1.35!important;margin:0 0 6px!important;color:#fffaf0!important;opacity:1!important;text-shadow:none!important}
 body.family-site.home .family-hero .hero-actions{display:flex!important;flex-direction:row!important;gap:8px!important;margin:0!important;flex-wrap:nowrap!important}
 body.family-site.home .family-hero .hero-actions .button{min-height:44px!important;padding:10px 12px!important;font-size:11px!important;width:auto!important;min-width:0!important;flex:1 1 0!important}
 body.family-site.home .family-hero .hero-actions .button-outline-light{color:#fffaf0!important;border-color:rgba(255,250,240,.6)!important;background:transparent!important}
 body.family-site.home .family-hero .home-shopping-benefits{position:relative!important;inset:auto!important;order:2!important;grid-area:2/1!important;transform:none!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:8px 14px 10px!important;grid-template-columns:1fr 1fr!important;gap:8px 10px!important;border:0!important;border-top:0!important;border-radius:0!important;box-shadow:none!important;background:var(--hero-benefits-bg)!important;backdrop-filter:none!important}
 body.family-site.home .family-hero .home-shopping-benefits a{color:var(--hero-benefits-ink)!important;gap:7px!important;flex-direction:row!important;align-items:center!important}
 body.family-site.home .family-hero .home-shopping-benefits svg{color:var(--hero-benefits-icon)!important}
 body.family-site.home .family-hero .home-shopping-benefits strong{font-size:11px!important;line-height:1.3!important}
 body.family-site.home .family-hero .home-shopping-benefits small{display:block!important;font-size:10.5px!important;line-height:1.3!important}
 body.family-site.home.plf-theme-evening .family-hero :is(.hero-content,.hero-title,.hero-copy,.hero-actions .button-outline-light){color:#f2e9dc!important}
 body.family-site.home.plf-theme-evening .family-hero{background:#202b2d!important}
 body.family-site.home.plf-theme-evening .family-hero .hero-kicker{color:#dcb589!important}
}

@media(max-width:359px){
 body.family-site.home .family-hero .theme-hero-media.hero-image{min-height:0!important}
 body.family-site.home .family-hero .hero-title{font-size:20px!important}
}

@media(max-width:767px){
 body.family-site.home .family-hero .hero-intro-mobile{display:block;grid-column:1/-1;margin:0 0 2px;font-size:12px;line-height:1.35;color:var(--hero-benefits-ink)}
 body.family-site.home .family-hero .home-shopping-benefits svg{width:16px;height:16px}
}

/* About: compact brand labels on phones, retaining every brand. */
@media (max-width: 767px) {
  body.family-site .about-page .about-hero-lead { display: block; -webkit-line-clamp: unset; max-height: none; overflow: visible; }
  .about-page .about-brand-list { gap: 6px; }
  .about-page .about-brand-list li { padding: 6px 9px; font-family: inherit; font-size: 12px; line-height: 1.4; }
}

/* Keep the mobile category invitation on two balanced lines. */
@media(max-width:767px){
 body.family-site.home #assortment > .section-heading{display:block!important;position:relative}
 body.family-site.home #assortment > .section-heading > div{width:100%!important;max-width:none!important}
 body.family-site.home #assortment-title{max-width:none!important;font-size:24px!important;line-height:1.15!important}
 body.family-site.home .assortment-title-start{display:block;white-space:nowrap}
 body.family-site.home #assortment .home-all-categories{position:static;margin-top:12px;font-size:12px;min-height:42px;display:inline-flex;align-items:center}
}

/* The mobile service strip follows the selected lighting theme. */
@media(max-width:767px){
 body.family-site.home .family-hero{--hero-benefits-bg:#f4eadc;--hero-benefits-ink:#302b25;--hero-benefits-icon:#77572d}
 body.family-site.home.plf-theme-sunset .family-hero{--hero-benefits-bg:#e6b777;--hero-benefits-ink:#35291e;--hero-benefits-icon:#644323}
 body.family-site.home.plf-theme-evening .family-hero{--hero-benefits-bg:#202b2d;--hero-benefits-ink:#f2e9dc;--hero-benefits-icon:#dec299}
 body.family-site.home .family-hero .home-shopping-benefits :is(strong,small){color:var(--hero-benefits-ink)!important;opacity:1}
 body.family-site.home.plf-theme-evening #assortment .home-all-categories{color:#e6c99d!important}
}

/* Phase-aware desktop surfaces: the old navigation carried its own white fill. */
:root { --font-interface: "Manrope", Arial, sans-serif; --font-heading: "Prata", Georgia, serif; }
body.family-site :is(button, input, select, textarea, .site-nav, .catalog-category-body h3, .catalog-subcategory-copy strong, .news-body h3) { font-family: var(--font-interface); }
body.family-site :is(.catalog-product-copy h4, .search-product-copy h3, .news-body h3) { font-weight: 600; line-height: 1.4; }
body.family-site :is(.page-hero h1, .assortment-category-intro-inner h1) { font-family: var(--font-heading); font-weight: 400; letter-spacing: -.02em; }
body.family-site :is(.catalog-product-copy footer, .search-product-footer, .catalog-category-count) { font-variant-numeric: tabular-nums; }
@media(min-width: 768px){
 body.family-site .site-header .site-nav { background: transparent !important; }
}
body.family-site.plf-theme-evening .plf-reviews-write { color: var(--ink); }
@media(max-width:767px){
 body.family-site.plf-theme-sunset { --canvas:#dca064; --surface:#f0cca3; --surface-warm:#eec18d; --surface-warm-soft:#f7dfc1; --ink:#35291e; --muted:#63503c; --line:#bb8657; }
}

/* Keep the brand legible over the photo and service labels on two lines. */
body.family-site.home .family-hero .hero-kicker{color:#fffaf0!important;text-shadow:0 1px 3px #151b17;font-weight:700}
@media(max-width:767px){
 body.family-site.home .family-hero .hero-kicker{width:fit-content!important;max-width:100%;font-size:8px!important;padding:3px 5px;background:rgba(18,25,21,.72);border-radius:4px;gap:4px!important}
 body.family-site.home .family-hero .home-shopping-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:8px!important}
 body.family-site.home .family-hero .home-shopping-benefits a{gap:5px!important;min-width:0}
 body.family-site.home .family-hero .home-shopping-benefits a>span{flex:1;min-width:0}
 body.family-site.home .family-hero .home-shopping-benefits svg{flex:0 0 14px!important;width:14px!important;height:14px!important;min-width:14px!important}
 body.family-site.home .family-hero .home-shopping-benefits :is(strong,small){display:block!important;white-space:nowrap}
 body.family-site.home .family-hero .hero-intro-mobile{font-size:clamp(10px,2.75vw,12px)}
 body.family-site.home .family-hero .hero-intro-mobile span{display:block;white-space:nowrap}
}

/* Category cards: the caption already sits on the photo, so no footer strip is needed. */
body.family-site.home .assortment-grid .assortment-item {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-color: rgba(95, 64, 38, .2) !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
body.family-site.home .assortment-grid .assortment-item:nth-child(n+7) {
  display: block !important;
}
body.family-site.home .assortment-grid .assortment-bg {
  display: block;
  transform: none !important;
}
body.family-site.home .assortment-grid .category-card-theme-layer img {
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
}
body.family-site.home .assortment-grid .assortment-item:focus-visible {
  outline: 2px solid #b78552;
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  body.family-site.home .assortment-grid .assortment-item:hover,
  body.family-site.home .assortment-grid .assortment-item:focus-visible {
    transform: translateY(-3px);
    border-color: #b78552 !important;
    box-shadow: 0 14px 30px rgba(60, 35, 17, .2), 0 0 0 1px rgba(183, 133, 82, .32);
  }
  body.family-site.home .assortment-grid .assortment-item:hover .category-card-theme-layer img,
  body.family-site.home .assortment-grid .assortment-item:focus-visible .category-card-theme-layer img {
    transform: scale(1.035);
  }
}

/* Keep the chosen subcategory apparent; hover signals the other cards are links. */
body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
body.family-site .catalog-subcategory-grid .catalog-subcategory-card.is-active {
  box-shadow: 0 0 0 2px var(--subcategory-selection, var(--forest)), 0 8px 20px rgba(48, 33, 22, .12) !important;
}
body.family-site .catalog-subcategory-grid .catalog-subcategory-card:focus-visible {
  outline: 2px solid var(--subcategory-selection, var(--forest));
  outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) {
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card:not(.is-active):hover {
    transform: translateY(-2px);
    border-color: var(--subcategory-selection, var(--forest));
    box-shadow: 0 10px 24px rgba(48, 33, 22, .16);
  }
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card:not(.is-active):hover .catalog-subcategory-image img {
    transform: scale(1.025);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.family-site.home .assortment-grid .assortment-item,
  body.family-site.home .assortment-grid .category-card-theme-layer img,
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card {
    transition: none;
  }
  body.family-site.home .assortment-grid .assortment-item:hover,
  body.family-site .catalog-subcategory-grid .catalog-subcategory-card:hover {
    transform: none;
  }
}
