/* Readable type and semantic accents across the three existing palettes. */
body.family-site {
  --text-accent: #814027;
  --text-link: #294e40;
  --price-ink: #843645;
  --muted: #62584f;
  --font-interface: "Manrope", Arial, sans-serif;
  --font-heading: "Prata", Georgia, serif;
  font-family: var(--font-interface);
}
body.family-site.plf-theme-sunset { --text-accent: #6b3425; --text-link: #244a4a; --price-ink: #244a4a; --muted: #49382b; }
body.family-site.plf-theme-evening { --text-accent: #efbd88; --text-link: #b9ddce; --price-ink: #f4c27f; --muted: #c8bdb0; }

/* Editorial headings keep Prata; product names and buying information use Manrope. */
body.family-site .catalog-product-page #product-title {
  font-family: var(--font-interface) !important;
  font-size: clamp(24px, 2.15vw, 32px) !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: -.025em !important;
  text-wrap: pretty;
}
body.family-site :is(.catalog-product-copy h4, .search-product-copy h3, .home-pick-name, .catalog-product-related h3) {
  font-family: var(--font-interface) !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
  letter-spacing: -.01em !important;
}
body.family-site :is(.catalog-product-copy footer strong, .search-product-footer strong, .home-pick-price, .catalog-product-related strong) {
  color: var(--price-ink) !important;
  font-family: var(--font-interface) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
}
body.family-site .catalog-product-page .catalog-product-price {
  color: var(--price-ink) !important;
  font-family: var(--font-interface) !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums;
}
body.family-site :is(.catalog-product-description, .catalog-product-description p, .basic-content, .single-news-content, .ploc-policy) {
  color: var(--ink) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
body.family-site :is(.catalog-product-details dt, .catalog-product-details dd) { font-size: 14px; line-height: 1.6; }
body.family-site :is(.catalog-product-code, .catalog-sort-control > span, .plf-review-note, .plf-review-rating-label) {
  color: var(--muted) !important;
  opacity: 1;
  font-size: 12px !important;
  line-height: 1.5;
}
body.family-site :is(.catalog-card-availability, .catalog-product-availability) { color: #195c2d !important; font-size: 13px !important; font-weight: 650; }
body.family-site .catalog-product-availability strong { color: inherit !important; }
body.family-site.plf-theme-evening :is(.catalog-card-availability, .catalog-product-availability) { color: #b2e7bc !important; }
body.family-site :is(.catalog-card-availability, .catalog-product-availability).is-unavailable { color: #8e2936 !important; }
body.family-site.plf-theme-evening :is(.catalog-card-availability, .catalog-product-availability).is-unavailable { color: #ffabb4 !important; }

/* Text accents are separate from button fills: light accents cannot become white-on-gold buttons. */
body.family-site :is(.text-link, .about-benefit-label, .ploc-policy-intro, .about-card-link) { color: var(--text-accent); }
body.family-site :is(.contacts .eyebrow, .contact-details > div > span, .catalog-product-main > .eyebrow,
.catalog-product-details .eyebrow, .search-intro .eyebrow, .catalog-subcategory-guide-heading .eyebrow,
.assortment-category-content-heading .eyebrow, .assortment-category-products .eyebrow, .home-shop-model-copy .eyebrow,
.about-visit-copy .eyebrow, .about-gifts .eyebrow, .about-heading-light .eyebrow) { color: var(--text-accent) !important; }
body.family-site :is(.ploc-policy a, .about-gifts-copy a, .about-contact-list a, .home-quick-subcategories a,
.home-picks-all, .home-category-more > summary) { color: var(--text-link) !important; }
body.family-site :is(.about-gifts-copy p, .about-help-copy p, .empty-offers p) { color: var(--muted); }
body.family-site .about-brand-list li { color: var(--ink) !important; background: var(--surface) !important; }
body.family-site .about-brand-list a { color: inherit !important; }
body.family-site .about-card-link { background: var(--surface) !important; color: var(--text-link) !important; }
body.family-site .assortment-related { background: var(--surface-warm) !important; color: var(--ink) !important; }
body.family-site .assortment-related :is(h2, a) { color: var(--ink) !important; }
body.family-site .assortment-related .eyebrow { color: var(--text-accent) !important; }
body.family-site.plf-theme-sunset :is(.single-header time, .single-header .back-link, .gallery-heading span, .assortment-category-products li > span) { color: var(--text-accent) !important; }
body.family-site .catalog-filter-panel { background: var(--surface); color: var(--ink); }
body.family-site .catalog-filter-panel small { color: var(--muted); opacity: 1; }
body.family-site .plf-review-form { background: var(--surface) !important; color: var(--ink); }
body.family-site :is(.plf-review-jump-stars, .plf-review-display-stars, .plf-review-empty-icon) { color: var(--text-accent); }
body.family-site .plf-review-stars label span { color: var(--muted); }
body.family-site .plf-review-stars label:is(.is-filled, :has(input:checked)) span { color: var(--text-accent); }
body.family-site .pagination .page-numbers.current { color: var(--surface); background: var(--ink); }
body.family-site .footer-identity > p { color: #c7d0ca; opacity: 1; font-size: 12px; }
body.family-site :is(input, textarea, select) { font-family: var(--font-interface); }
body.family-site :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
body.family-site .nav-search button { color: #fff !important; }

@media (max-width: 700px) {
  body.family-site .catalog-product-page #product-title { font-size: 24px !important; line-height: 1.38 !important; }
  body.family-site :is(.catalog-product-copy h4, .search-product-copy h3, .home-pick-name) { font-size: 14px !important; line-height: 1.5 !important; }
  body.family-site :is(.catalog-product-copy footer strong, .search-product-footer strong, .home-pick-price) { font-size: 20px !important; }
  body.family-site .catalog-product-page .catalog-product-price { font-size: 30px !important; }
  body.family-site :is(.plf-review-field input, .plf-review-field textarea, .ploc-form input, .ploc-form select, .ploc-form textarea) { font-size: 16px; }
}
/* Components which previously retained fixed light/dark colours. */
body.family-site.plf-theme-sunset { --text-link: #193e3e; }
body.family-site .about-brand-list a { background: var(--surface) !important; }
body.family-site.plf-theme-sunset .about-online :is(h2, p, label, a:not(.button)) { color: var(--ink) !important; }
body.family-site.plf-theme-sunset .about-online .eyebrow { color: var(--text-accent) !important; }
body.family-site .about-page :is(.about-benefit-label, .eyebrow:not(.light)) { color: var(--text-accent) !important; }
body.family-site .about-page p > a:not(.button) { color: var(--text-link) !important; }
body.family-site .home-shop-model-links b { color: var(--text-accent); }
body.family-site.home .gallery-header .eyebrow { color: var(--text-accent) !important; }
body.family-site .catalog-filter-panel > summary { background: var(--surface); }
body.family-site.plf-theme-sunset .catalog-product-availability { background: #e4f0dc !important; color: #195c2d !important; }
body.family-site .assortment-category-contact .eyebrow { color: #f1d49e; }
body.family-site.plf-theme-sunset :is(.gallery-heading .eyebrow, .gallery-albums-header .eyebrow, .section-heading .eyebrow) { color: var(--text-accent) !important; }
body.family-site.plf-theme-light .about-online :is(h2, p, label, a:not(.button)) { color: #fffaf2 !important; }
body.family-site .hero-kicker > span { color: #f4d5a2; }
/* Secondary navigation and labels remain readable at mobile sizes. */
body.family-site .availability-band .eyebrow { color: #f1d49e !important; }
body.family-site.plf-theme-sunset .availability-band .eyebrow { color: var(--text-accent) !important; }
body.family-site.plf-theme-sunset :is(.archive-heading .eyebrow, .album-heading span) { color: var(--text-accent) !important; }
body.family-site.home .family-hero .hero-kicker span { color: #f4d5a2 !important; }
body.family-site.home .family-hero .button-outline-light b { color: inherit !important; }
@media (max-width: 767px) {
  body.family-site .mobile-bottom-nav :is(a, .plf-saved-open) > span:not([data-saved-count]):not(.ploc-cart-count) { font-size: 10px !important; line-height: 1.25 !important; }
  body.family-site .mobile-bottom-nav a[aria-current],
  body.family-site .mobile-bottom-nav a.is-active { color: var(--text-accent) !important; }
}
/* Checkout uses the same hierarchy without changing order behaviour. */
body.family-site { --checkout-fill: #865022; --checkout-hover: #6c3e18; }
body.family-site.plf-theme-sunset { --checkout-fill: #244a4a; --checkout-hover: #193838; }
body.family-site.plf-theme-evening { --checkout-fill: #355e4e; --checkout-hover: #294c3f; }
body.family-site :is(.ploc-order-card header p, .ploc-cart-items-section > header p) { color: var(--text-accent) !important; font-size: 12px; }
body.family-site .ploc-cart-item-copy h3 { font: 650 15px/1.5 var(--font-interface); color: var(--ink); }
body.family-site :is(.ploc-cart-item-copy p, .ploc-form-note, .ploc-checkout-terms p) { color: var(--muted); font-size: 13px; line-height: 1.6; }
body.family-site :is(.ploc-cart-items-section > header button, .ploc-cart-item-aside button) { color: var(--text-accent); font-size: 12px; }
body.family-site :is(.ploc-continue-link, .ploc-consent a, .ploc-checkout-terms a) { color: var(--text-link) !important; }
body.family-site .ploc-order-card label > span { font-size: 13px; line-height: 1.5; }
body.family-site .ploc-consent span { font-size: 13px !important; line-height: 1.6; }
body.family-site .ploc-cart-item-aside strong { color: var(--price-ink); font: 800 21px/1.25 var(--font-interface); font-variant-numeric: tabular-nums; }
body.family-site .ploc-order-total strong { color: var(--price-ink); font: 800 30px/1.25 var(--font-interface); font-variant-numeric: tabular-nums; }
body.family-site :is(.ploc-submit-button, .ploc-primary-button) { background: var(--checkout-fill) !important; color: #fff !important; font-size: 14px; }
body.family-site :is(.ploc-submit-button, .ploc-primary-button):hover { background: var(--checkout-hover) !important; }
body.family-site .ploc-order-card :is(input, select, textarea) { font-size: 16px; }
body.family-site .plf-reviews .eyebrow { color: var(--text-accent) !important; }
body.family-site.plf-theme-sunset .album-heading span { color: var(--ink) !important; }
body.family-site.plf-theme-evening .button.button-outline-light b { color: inherit !important; }
