/* AMBIENT-LIGHT-03A.3: theme catalog presentation only.
   Palette inherited from lkkb-ambient-light.css. No HOME/footer rules. */
body:is(#category, #search, #product, #module-leoproductsearch-productsearch) {
  --lkkb-ambient-panel: #e3dce7;
  --lkkb-ambient-panel-soft: #ece6ef;
  --lkkb-ambient-line: #c7bccd;
  color: var(--lkkb-ambient-text);
  background-color: var(--lkkb-ambient-base);
  background-image:
    radial-gradient(ellipse 85% 1100px at 0 0, rgba(204, 156, 171, .26), transparent 80%),
    radial-gradient(ellipse 95% 1400px at 100% 28%, rgba(174, 155, 193, .30), transparent 80%),
    radial-gradient(ellipse 100% 1200px at 0 65%, rgba(212, 177, 183, .26), transparent 80%),
    radial-gradient(ellipse 90% 1100px at 100% 100%, rgba(182, 170, 194, .28), transparent 80%);
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #header,
body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #header .cus-sticky {
  background-color: var(--lkkb-ambient-base);
  background-image:
    radial-gradient(ellipse at 0 0, rgba(204, 156, 171, .23), transparent 85%),
    radial-gradient(ellipse at 100% 100%, rgba(174, 155, 193, .20), transparent 85%);
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #header .box-voganav2::before,
body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #wrapper {
  background-color: transparent;
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #header #leo_search_block_top {
  background-color: transparent;
  padding-block: 0;
  margin-block: 8px;
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) .breadcrumb,
body#category .block-category.card {
  background-color: transparent;
}

@media (min-width: 1280px) {
  body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #header .box-vogatop2 :is(.h-logo, .popup-over > a.popup-title, .wislish-button > a.ap-btn-wishlist, .blockcart > .header, .userinfo-selector > button.popup-title) {
    height: 68px;
    line-height: 68px;
  }
}

/* Existing grid, image proportions and color swatches are preserved. */
body:is(#category, #search, #module-leoproductsearch-productsearch) #products .thumbnail-container {
  background-color: var(--lkkb-ambient-card);
  height: auto;
}

body:is(#category, #search, #module-leoproductsearch-productsearch) #products .product-meta {
  padding: 14px;
}

body:is(#category, #search, #module-leoproductsearch-productsearch) #products .product-title,
body:is(#category, #search, #module-leoproductsearch-productsearch) #products .product-title a {
  color: var(--lkkb-ambient-text);
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-height: none;
  height: auto;
  -webkit-line-clamp: unset;
  line-height: 1.4;
}

body:is(#category, #search, #module-leoproductsearch-productsearch) :is(.products-selection .select-title, .dropdown-menu, .pagination .page-list, .page-not-found) {
  background-color: var(--lkkb-ambient-card);
  color: var(--lkkb-ambient-text);
}

/* Surface hierarchy: continuous ambient canvas, transparent navigation,
   translucent secondary details, off-white product cards. No full-column fill. */
body:is(#category, #search, #product, #module-leoproductsearch-productsearch) :is(#left-column, .sidebar .block:not(.ApImage), #search_filters_wrapper, #search_filters, .block-categories .title_block, .block-categories .block_content, .block-categories ul, .block-categories li, #search_filters .facets-title, #search_filters .facet, #search_filters .facet-title, #search_filters .title, #search_filter_controls) {
  background-color: transparent;
  color: var(--lkkb-ambient-text);
  border-color: var(--lkkb-ambient-line);
}

/* The mobile filter is an overlay, not a structural column: keep its own
   opaque mineral surface and sticky controls. Specificity matches custom.css. */
@media (max-width: 767px) {
  body#category:has(#main.lkkb-listing) .sidebar #search_filters_wrapper,
  body:is(#category, #search, #product, #module-leoproductsearch-productsearch) .sidebar #search_filters_wrapper,
  body#category:has(#main.lkkb-listing) .sidebar #search_filter_controls,
  body:is(#category, #search, #product, #module-leoproductsearch-productsearch) .sidebar #search_filter_controls {
    background-color: var(--lkkb-ambient-panel-soft);
  }
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) .block-categories .category-sub-menu li::after {
  background-color: var(--lkkb-ambient-line);
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #search_filters .facet-label a {
  color: #413849;
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) #search_filters .magnitude {
  color: #62566b;
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) :is(.pagination, .active_filters) {
  background-color: transparent;
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) .active_filters .filter-block {
  background-color: var(--lkkb-ambient-panel-soft);
  color: var(--lkkb-ambient-text);
}

body:is(#category, #search, #module-leoproductsearch-productsearch) #products .button-container.cart > a.btn-product {
  min-height: 44px;
}

/* Product forms retain all native checked/disabled/validation behavior.
   Do not recolor .color, .input-color, images or selection indicators. */
body#product .lkkb-product-detail :is(.product-tabs .tab-content, .product-information, .product-additional-info),
body#product .blockreassurance_product {
  background-color: rgba(248, 246, 248, .32);
  color: var(--lkkb-ambient-text);
  border-color: var(--lkkb-ambient-line);
}

/* theme.css:20987-20989 paints these full-width sections pure white.
   Let the ambient background continue; only their product cards stay light. */
body#product :is(.category-products, .product-accessories, .viewed-products),
body#product .product-tabs .nav-tabs,
body#product .product-tabs .nav-link {
  background-color: transparent;
}

body#product :is(.category-products, .product-accessories, .viewed-products) .thumbnail-container {
  background-color: var(--lkkb-ambient-card);
}

body#product .lkkb-product-detail :is(.product-prices, .product-variants-item .control-label, .product-description, .product-features),
body#product .blockreassurance_product :is(p, span) {
  color: var(--lkkb-ambient-text);
}

body#product .lkkb-product-detail :is(select, input:not([type=radio]):not([type=checkbox]):not([type=hidden])) {
  background-color: var(--lkkb-ambient-card);
  color: var(--lkkb-ambient-text);
  border-color: #8b7c93;
}

body:is(#category, #search, #product, #module-leoproductsearch-productsearch) :is(#header, #content-wrapper, #left-column) :is(a, button, input, select):focus-visible {
  /* Required against theme.css .btn:focus outline:none !important. */
  outline: 2px solid var(--lkkb-ambient-focus) !important;
  outline-offset: 3px;
}

/* Rich text from product_lang can carry pasted white inline backgrounds.
   Override only explicit white on editorial text/table markup. Never target
   all descendants, form controls, swatches, buttons or arbitrary color panels.
   !important is required to beat the verified inline background-color. */
body#product :is(.description-short, .product-description) :is(p, h1, h2, h3, h4, h5, h6, span, strong, em, ul, ol, li, blockquote, table, tbody, tr, td, th):is([style*="background-color:#ffffff" i], [style*="background-color: #ffffff" i], [style*="background-color:#fff;" i], [style*="background-color: #fff;" i], [style*="background-color: rgb(255, 255, 255)" i], [style*="background-color: white" i]) {
  background-color: transparent !important;
}
