/* Logo-led harmony: literal sampled letter colors in fine decorative accents.
   Layout, photography and application behavior remain unchanged. */
body.pastel-theme {
  --ink: #2b3035;
  --muted: #5c636b;
  --pink: #007a76;
  --pink-dark: #006560;
  --soft: #f6f7f7;
  --cream: #ffffff;
  --line: #e2e6e7;
  --white: #ffffff;
  --pastel-peach: #f6f7f7;
  --pastel-lavender: #f6f7f7;
  --pastel-mint: #eaf6f4;
  --pastel-sky: #f6f7f7;
  --pastel-focus: #007a76;
  --halloween-plum: #007a76;
  --halloween-plum-hover: #006560;
  --halloween-orange: #007a76;
  --halloween-peach: #f6f7f7;
  background-color: #ffffff;
  color: #2b3035;
}
body.pastel-theme ::selection { background: #dce1e3; color: #2b3035; }
body.pastel-theme .site-header,
body.pastel-theme .brand { background-color: #ffffff; }
body.pastel-theme .preview-bar { background-color: #f6f7f7; color: #2b3035; }

/* Keep the existing 1px search border and 1px focus outline unchanged. */
body.pastel-theme .search { background-color: #ffffff; border-color: #7b858b; }
body.pastel-theme .search:focus-within { border-color: #007a76; outline-color: #007a76; }
body.pastel-theme .search input { color: #2b3035; }
body.pastel-theme .search input::placeholder { color: #5c636b; }
body.pastel-theme .search #search-submit,
body.pastel-theme .search #search-submit:hover { background-color: transparent; color: #000000; }
body.pastel-theme .search .filters-toggle { background-color: transparent; color: #000000; }
body.pastel-theme .search .filters-toggle:hover,
body.pastel-theme .search .filters-toggle[aria-expanded=true] { background-color: #f6f7f7; color: #000000; }
body.pastel-theme .search .filters-toggle circle { fill: #ffffff; }
body.pastel-theme .search .menu-toggle { background-color: #ffffff; border-color: #7b858b; color: #000000; }
body.pastel-theme .search .menu-toggle:hover,
body.pastel-theme .search .menu-toggle[aria-expanded=true] { background-color: #ffffff; border-color: #7b858b; color: #000000; }
body.pastel-theme .filters-count { background-color: #007a76; color: #ffffff; }
body.pastel-theme .header-chat > svg { color: #007a76; }
body.pastel-theme .header-chat strong { color: #2b3035; }
body.pastel-theme .header-chat > span:first-of-type { color: #5c636b; }

/* One functional accent; neutral surfaces keep the logo and photos prominent. */
body.pastel-theme .button-dark,
body.pastel-theme .product-detail-contact { background-color: #007a76; border-color: #006560; color: #ffffff; }
body.pastel-theme .button-dark:hover,
body.pastel-theme .product-detail-contact:hover { background-color: #006560; border-color: #006560; color: #ffffff; }
body.pastel-theme .button-light,
body.pastel-theme .product-detail-back { background-color: #ffffff; border-color: #007a76; color: #006560; }
body.pastel-theme .button-light:hover,
body.pastel-theme .product-detail-back:hover { background-color: #f6f7f7; border-color: #007a76; color: #006560; }
body.pastel-theme .product-contact,
body.pastel-theme .text-link,
body.pastel-theme .stores-shortcut { color: #006560; }
body.pastel-theme .product-contact:hover { color: #2b3035; }
body.pastel-theme .product-contact { border-top-color: #e2e6e7; }
body.pastel-theme .demo-only,
body.pastel-theme .demo-only:hover { color: #5c636b; border-top-color: #e2e6e7; }

/* One text-only category row; one shared logo accent, independent of category. */
body.pastel-theme .category-tile { --category-accent: #007a76; background-color: transparent; color: #2b3035; }
body.pastel-theme .category-tile:hover { background-color: transparent; color: #2b3035; border-bottom-color: #007a76; }
body.pastel-theme .category-tile[aria-pressed=true] { background-color: transparent; color: #2b3035; border-bottom-color: #007a76; }
body.pastel-theme .mobile-menu,
body.pastel-theme .catalog-filters { background-color: #ffffff; color: #2b3035; border-color: #e2e6e7; }
body.pastel-theme .menu-close { background-color: #ffffff; color: #2b3035; border-color: #7b858b; }
body.pastel-theme .drawer-category:hover,
body.pastel-theme .drawer-links a:hover { background-color: #f6f7f7; color: #2b3035; }
body.pastel-theme .drawer-category[aria-pressed=true] { background-color: #007a76; border-color: #006560; color: #ffffff; }
body.pastel-theme .drawer-links { border-top-color: #e2e6e7; }
body.pastel-theme .filter-chip { background-color: #eaf6f4; border-color: #007a76; color: #006560; }
body.pastel-theme .filter-chip:hover { background-color: #e7f0ef; color: #006560; }
body.pastel-theme #catalog-filters .filter-control select { background-color: #ffffff; color: #2b3035; border-color: #7b858b; }
body.pastel-theme .filter-control label,
body.pastel-theme .filters-help,
body.pastel-theme .filters-result-count { color: #5c636b; }

/* Quiet, readable information surfaces. */
body.pastel-theme .demo-catalog-notice,
body.pastel-theme .product-detail-notice,
body.pastel-theme .product-detail-notice-demo,
body.pastel-theme .product-detail-missing { background-color: #f6f7f7; border-color: #e2e6e7; color: #2b3035; }
body.pastel-theme .demo-catalog-notice strong,
body.pastel-theme .product-detail-notice-title,
body.pastel-theme .product-detail-notice-demo .product-detail-notice-title { color: #2b3035; }
body.pastel-theme .product-detail-notice-copy,
body.pastel-theme .product-detail-notice-demo .product-detail-notice-copy { color: #5c636b; }
body.pastel-theme .catalog-heading h2,
body.pastel-theme .product-detail-title,
body.pastel-theme .product-body h3,
body.pastel-theme .product-price,
body.pastel-theme .product-detail-price { color: #2b3035; }
body.pastel-theme .catalog-heading .eyebrow { color: #5c636b; }
body.pastel-theme .catalog-note { background-color: #f6f7f7; color: #5c636b; }

/* Product photography and original multicolor logo remain untouched. */
body.pastel-theme .product-card { background-color: #ffffff; border-color: #e2e6e7; }
body.pastel-theme .product-image,
body.pastel-theme .demo-placeholder,
body.pastel-theme .product-card-demo:nth-child(n) .demo-placeholder,
body.pastel-theme .product-detail-media,
body.pastel-theme .product-detail-placeholder { background-color: #ffffff; }
body.pastel-theme .product-tag,
body.pastel-theme .product-tag-demo,
body.pastel-theme .product-detail-tag-demo { background-color: #f1f3f4; color: #5c636b; }
body.pastel-theme .product-tag-reference,
body.pastel-theme .product-detail-tag-reference { background-color: #eaf6f4; color: #006560; }
body.pastel-theme .price-note,
body.pastel-theme .product-price span,
body.pastel-theme .product-details,
body.pastel-theme .demo-category-name,
body.pastel-theme .demo-image-caption,
body.pastel-theme .product-detail-placeholder-caption { color: #5c636b; }
body.pastel-theme .product-card-demo .price-note,
body.pastel-theme .product-detail-view[data-demo='true'] .product-detail-price-note { color: #5c636b; }
body.pastel-theme .demo-category-icon { background-color: #f6f7f7; color: #5c636b; }
body.pastel-theme .empty-state { background-color: #ffffff; border-color: #7b858b; }
body.pastel-theme .empty-symbol { color: #007a76; }
body.pastel-theme .product-detail-view { --detail-ink: #2b3035; --detail-muted: #5c636b; --detail-line: #e2e6e7; --detail-orange: #007a76; }
body.pastel-theme .product-detail-trail > li + li::before { color: #5c636b; }
body.pastel-theme .product-detail-enlarge-link,
body.pastel-theme .product-detail-eyebrow { color: #006560; }
body.pastel-theme .product-detail-placeholder-mark { background-color: #f6f7f7; border-color: #7b858b; }
body.pastel-theme .product-detail-placeholder-mark > span { border-color: #007a76; }
body.pastel-theme .product-detail-image-link:focus-visible,
body.pastel-theme .product-detail-title-link:focus-visible { outline-color: #007a76; }

/* Neutral help and footer surfaces, with functional turquoise links. */
body.pastel-theme .help-section { background-color: #f6f7f7; color: #2b3035; }
body.pastel-theme .help-symbol,
body.pastel-theme .help-section .eyebrow,
body.pastel-theme .help-section h2,
body.pastel-theme .help-section p:last-child { color: #2b3035; }
body.pastel-theme .help-section a:focus-visible { outline-color: #2b3035; }
body.pastel-theme .store-list article > span:first-child { color: #006560; }
body.pastel-theme .store-list article > span:last-child { color: #5c636b; }
body.pastel-theme .site-footer { background-color: #f6f7f7; border-color: #e2e6e7; color: #2b3035; }
body.pastel-theme .footer-brand { background-color: transparent; }
body.pastel-theme .footer-main > p,
body.pastel-theme .footer-bottom { color: #5c636b; }
body.pastel-theme .footer-bottom { border-color: #e2e6e7; }
body.pastel-theme .footer-bottom a,
body.pastel-theme .footer-main a:hover { color: #006560; }

@media (forced-colors: active) {
  body.pastel-theme .search { background-color: Canvas; border-color: CanvasText; }
  body.pastel-theme .search:focus-within { border-color: Highlight; outline-color: Highlight; }
  body.pastel-theme .category-tile:hover,
  body.pastel-theme .category-tile[aria-pressed=true] { color: Highlight; border-bottom-color: Highlight; }
  body.pastel-theme .button-dark,
  body.pastel-theme .button-dark:hover,
  body.pastel-theme .product-detail-contact,
  body.pastel-theme .product-detail-contact:hover { background-color: ButtonFace; border-color: ButtonText; color: ButtonText; }
}

/* Retained quiet notice treatment, where present. */
body.pastel-theme .demo-catalog-notice {
  background: #f6f7f7;
  border-color: #e2e6e7;
  color: #5c636b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  padding: 10px 12px;
}
body.pastel-theme .demo-catalog-notice strong {
  color: #5c636b;
  font-weight: 400;
}

/* Color emoji fonts ignore CSS color; neutralize only this existing decoration. */
body.pastel-theme .help-symbol { filter: grayscale(1); }

/* Approved logo spectrum. These light colors are decorative, not text/focus. */
body.pastel-theme {
  --logo-rainbow: linear-gradient(100deg, #fc6e30 0%, #faad02 16.667%, #fc3c7a 33.333%, #02d3cb 50%, #a75ddf 66.667%, #93c62d 83.333%, #19acf1 100%);
}
body.pastel-theme .search,
body.pastel-theme .search:focus-within {
  border-color: transparent;
  background-image: linear-gradient(#ffffff, #ffffff), var(--logo-rainbow);
  background-origin: padding-box, border-box;
  background-clip: padding-box, border-box;
}
body.pastel-theme .search:focus-within { outline-color: #006560; }
body.pastel-theme .search .menu-toggle,
body.pastel-theme .search .menu-toggle:hover,
body.pastel-theme .search .menu-toggle[aria-expanded=true] { background-color: #ffffff; border-color: #e2e6e7; color: #000000; }
body.pastel-theme .menu-rainbow-mark { display: block; width: 22px; height: 22px; fill: none; stroke-linecap: round; }
body.pastel-theme .menu-rainbow-outline { stroke: #2b3035; stroke-width: 3; }
body.pastel-theme .menu-rainbow-color { stroke: url(#menu-logo-spectrum); stroke-width: 2; }
body.pastel-theme .category-tile[aria-pressed=true],
body.pastel-theme .category-tile[aria-pressed=true]:hover {
  border-bottom-color: transparent;
  background-color: transparent;
  background-image: var(--logo-rainbow);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 3px;
  background-origin: border-box;
  background-clip: border-box;
}
body.pastel-theme #catalog-filters .filter-control input { border-color: #7b858b; }
body.pastel-theme .back-to-top { background-color: #ffffff; border-color: #006560; color: #006560; }
body.pastel-theme .back-to-top:hover { background-color: #f1f3f4; }
body.pastel-theme .back-to-top:focus-visible { outline-color: #006560; }
@media (forced-colors: active) {
  body.pastel-theme .search,
  body.pastel-theme .search:focus-within { background-image: none; border-color: CanvasText; }
  body.pastel-theme .search:focus-within { outline-color: Highlight; }
  body.pastel-theme .category-tile[aria-pressed=true],
  body.pastel-theme .category-tile[aria-pressed=true]:hover { background-image: none; border-bottom-color: Highlight; }
  body.pastel-theme .menu-rainbow-outline,
  body.pastel-theme .menu-rainbow-color { stroke: ButtonText; }
  body.pastel-theme .back-to-top { background-color: ButtonFace; border-color: ButtonText; color: ButtonText; }
}
