/* ==========================================================================
   Clearline Commerce — design system
   Tokens come from theme.json (--wp--preset--*). This file styles what
   theme.json can't reach: WooCommerce components, cards, chips, panels.
   ========================================================================== */
:root {
  --cl-accent: #D9A93B; --cl-accent-hover: #C3942A; --cl-accent-ink: #16202B;
  --cl-accent-text: #7A5C0B; --cl-accent-text-hover: #5E4708;
  --cl-r-sm: 6px; --cl-r-md: 10px; --cl-r-lg: 14px;
  --cl-shadow: var(--wp--preset--shadow--card);
  --cl-ease: cubic-bezier(.2,.7,.2,1);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
:focus-visible { outline: 2px solid var(--wp--preset--color--cobalt); outline-offset: 3px; border-radius: 3px; }
::selection { background: var(--wp--preset--color--cobalt); color: #fff; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* Forms (global) */
input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea {
  font: inherit; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-sm); padding: .8rem .95rem; width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
input:not([type=checkbox]):not([type=radio]):not([type=submit]):focus, select:focus, textarea:focus {
  outline: none; border-color: var(--wp--preset--color--cobalt); box-shadow: 0 0 0 3px rgba(217,169,59,.3);
}
.wp-block-search__button { border-radius: var(--cl-r-sm); }

/* ------------------------------------------------------------- Header */
.clearline-announce { background: var(--wp--preset--color--ink); color: #fff; font-size: var(--wp--preset--font-size--xs); padding: .5rem 1rem; }
.clearline-announce p { margin: 0; letter-spacing: .01em; }
.clearline-announce a { color: #fff; }
.clearline-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--base); border-bottom: 1px solid var(--wp--preset--color--line); }
.clearline-header .wp-block-navigation a { padding: .35rem 0; border-bottom: 2px solid transparent; transition: border-color .15s; }
.clearline-header .wp-block-navigation a:hover, .clearline-header .wp-block-navigation .current-menu-item > a { border-bottom-color: var(--wp--preset--color--ink); }
.clearline-header .wc-block-mini-cart__button, .clearline-header .wc-block-customer-account__account-icon { color: var(--wp--preset--color--ink); }
.wc-block-mini-cart__badge { background: var(--cl-accent); color: var(--cl-accent-ink); border: 0; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open a { font-size: 1.25rem; font-weight: 600; }

/* ------------------------------------------------------------- Buttons */
.wp-element-button, .wp-block-button__link, .button, .wc-block-components-button { transition: background-color .15s var(--cl-ease), transform .15s var(--cl-ease), box-shadow .15s; }
.wp-element-button:active, .wp-block-button__link:active { transform: translateY(1px); }
.is-style-outline-ink .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--ink); }
.is-style-outline-ink .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; }
.is-style-ghost .wp-block-button__link { background: transparent; color: var(--cl-accent-text); padding-left: 0; padding-right: 0; text-decoration: underline; text-underline-offset: .2em; }
.is-style-ghost .wp-block-button__link:hover { background: transparent; color: var(--cl-accent-text-hover); }

/* ------------------------------------------------------- Block styles */
.is-style-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); padding: 1.75rem; }
.is-style-panel { background: var(--wp--preset--color--glacier); border-radius: var(--cl-r-lg); padding: clamp(1.5rem, 4vw, 3rem); }
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 1.75rem; margin-bottom: .5rem; }
.is-style-checks li::before, .clearline-trust li::before {
  content: ""; position: absolute; left: 0; top: .3em; width: 1rem; height: 1rem; background: var(--wp--preset--color--verified);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 0a10 10 0 100 20 10 10 0 000-20zm-1.6 14.4L4 10l1.4-1.4 3 3 6.2-6.2L16 6.8z%27/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 0a10 10 0 100 20 10 10 0 000-20zm-1.6 14.4L4 10l1.4-1.4 3 3 6.2-6.2L16 6.8z%27/%3E%3C/svg%3E") center/contain no-repeat;
}
.is-style-data table { border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.is-style-data th { text-align: left; font-weight: 600; background: var(--wp--preset--color--glacier); }
.is-style-data td, .is-style-data th { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: .7rem .9rem; }
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-details summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font-weight: 400; font-size: 1.4rem; line-height: 1; color: var(--cl-accent-text); transition: transform .2s var(--cl-ease); }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--muted); }

/* --------------------------------------------------------- Stat strip */
.clearline-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.5rem 2rem; }
.clearline-stats strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; font-weight: 700; letter-spacing: -.02em; line-height: 1; margin-bottom: .35rem; }
.clearline-stats span { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* ---------------------------------------------------- Product cards */
.wc-block-product-template, .products-block-post-template { gap: 2rem 1.5rem !important; }
.wc-block-product-template .wc-block-product, .products-block-post-template > li { text-align: left; }
.wc-block-components-product-image { position: relative; display: block; margin-bottom: .85rem !important; border-radius: var(--cl-r-md); overflow: hidden; background: var(--wp--preset--color--glacier); }
.wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; transition: transform .5s var(--cl-ease), opacity .3s; }
.wc-block-components-product-image .clearline-hover-img { position: absolute; inset: 0; opacity: 0; }
.wc-block-product:hover .has-hover-img .clearline-hover-img { opacity: 1; }
.wc-block-product:hover .wc-block-components-product-image img:first-of-type { transform: scale(1.03); }
.clearline-chip { position: absolute; left: .75rem; bottom: .75rem; display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .6rem .3rem .5rem; background: color-mix(in srgb, var(--wp--preset--color--base) 94%, transparent); color: var(--wp--preset--color--ink); font-size: .72rem; font-weight: 600; letter-spacing: .01em; border-radius: 999px; box-shadow: 0 1px 2px rgba(22,32,43,.12); }
.clearline-chip::before { content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: var(--wp--preset--color--verified); box-shadow: 0 0 0 3px rgba(30,127,92,.18); }
.wc-block-product .wp-block-post-title { margin: 0 0 .2rem !important; line-height: 1.35; }
.wc-block-product .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 600; }
.wc-block-product .wp-block-post-title a:hover { color: var(--cl-accent-text); }
.wc-block-components-product-rating { margin: 0 0 .25rem !important; }
.wc-block-components-product-price { margin: 0 0 .75rem !important; font-weight: 600; }
.wc-block-components-product-price del { color: var(--wp--preset--color--muted); font-weight: 400; margin-right: .35rem; }
.wc-block-components-product-price ins { text-decoration: none; }
.wc-block-components-product-sale-badge, .onsale { position: absolute; top: .75rem; right: .75rem; background: var(--wp--preset--color--ink) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-weight: 600 !important; font-size: .72rem !important; padding: .3rem .6rem !important; text-transform: none !important; letter-spacing: .01em; }
.wc-block-components-product-button { margin: 0 !important; }
.wc-block-components-product-button .wp-block-button__link { width: 100%; text-align: center; border-radius: var(--cl-r-sm); background: var(--wp--preset--color--glacier-deep); color: var(--wp--preset--color--ink); font-weight: 600; padding: .7rem 1rem; }
.wc-block-components-product-button .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; }
.wc-block-components-product-button .wp-block-button__link.added { background: var(--wp--preset--color--verified); color: #fff; }
.wc-block-components-product-button .added_to_cart { display: none; }

/* Shop archive */
.clearline-shop-head { align-items: baseline; }
.wc-block-catalog-sorting .wc-block-components-select select, .woocommerce-ordering select { width: auto; padding: .55rem 2rem .55rem .8rem; font-size: var(--wp--preset--font-size--small); }
.wc-block-product-filters { font-size: var(--wp--preset--font-size--small); }
.wc-block-product-filters h3, .wc-block-product-filters .wp-block-heading { font-size: var(--wp--preset--font-size--small); font-weight: 700; margin: 0 0 .5rem; }
.wc-block-product-filter { padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.wc-block-product-filter-checkbox-list__label { padding: .25rem 0; }
.wc-block-product-filter-price-slider__range { color: var(--wp--preset--color--cobalt); }
.wc-block-product-filter-active__chips .wc-block-components-chip { border-radius: 999px; }
.wc-block-product-filters-overlay-navigation .wc-block-product-filters__open-overlay { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-sm); padding: .55rem .9rem; background: var(--wp--preset--color--base); }

/* ---------------------------------------------------- Single product */
.clearline-product .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; margin: 0 0 .5rem; }
.clearline-product .wc-block-components-product-rating { margin-bottom: .75rem !important; }
.clearline-product .wc-block-components-product-price, .clearline-product .price { font-size: 1.6rem; font-weight: 700; color: var(--wp--preset--color--ink); margin: 0 0 1rem !important; }
.clearline-product .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--muted); font-size: 1.0625rem; max-width: 48ch; }
.clearline-product .wc-block-add-to-cart-form, .clearline-product form.cart { margin-top: 1.5rem; }
.clearline-product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.clearline-product form.cart .quantity { display: flex; }
.clearline-product form.cart .quantity .qty { width: 5.5rem; text-align: center; padding: .9rem .5rem; }
.clearline-product form.cart .single_add_to_cart_button { flex: 1 1 200px; padding: 1rem 1.5rem; font-size: 1.05rem; border-radius: var(--cl-r-sm); }
.clearline-product form.cart.variations_form { display: block; }
.clearline-product form.cart .variations td, .clearline-product form.cart .variations th { padding: .35rem 0; border: 0; }
.clearline-product form.cart .variations label { font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.clearline-product .woocommerce-variation-add-to-cart { display: flex; gap: .75rem; }
.clearline-product .reset_variations { font-size: var(--wp--preset--font-size--xs); }
.clearline-product .product_meta { display: none; }
.clearline-product .stock.in-stock { color: var(--wp--preset--color--verified); font-weight: 500; font-size: var(--wp--preset--font-size--small); }
.clearline-product .stock.out-of-stock { color: var(--wp--preset--color--alert); }
.clearline-product .woocommerce-product-details__short-description { color: var(--wp--preset--color--muted); }

/* Gallery */
.clearline-product .wc-block-product-image-gallery, .woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery img, .wc-block-product-gallery img { border-radius: var(--cl-r-lg); background: var(--wp--preset--color--glacier); }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: .6rem; margin-top: .75rem; }
.woocommerce-product-gallery .flex-control-thumbs li { width: 72px !important; float: none !important; }
.woocommerce-product-gallery .flex-control-thumbs li img { border-radius: var(--cl-r-sm); opacity: .5; transition: opacity .15s; }
.woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: .85; }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; box-shadow: 0 0 0 2px var(--wp--preset--color--ink); }
.woocommerce-product-gallery__trigger { top: 1rem !important; right: 1rem !important; border-radius: 50%; }

/* Trust strip */
.clearline-trust { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem .75rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.clearline-trust li { position: relative; padding-left: 1.5rem; }
@media (max-width: 480px) { .clearline-trust { grid-template-columns: 1fr; } }

/* COA panel — the memorable thing on the page */
.clearline-coa { margin-top: 1.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); overflow: hidden; }
.clearline-coa__head { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; background: var(--wp--preset--color--glacier); border-bottom: 1px solid var(--wp--preset--color--line); }
.clearline-coa__title { font-weight: 700; font-size: var(--wp--preset--font-size--small); display: flex; align-items: center; gap: .5rem; }
.clearline-coa__title::before { content: ""; width: 1rem; height: 1rem; border-radius: 50%; background: var(--wp--preset--color--verified); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 0a10 10 0 100 20 10 10 0 000-20zm-1.6 14.4L4 10l1.4-1.4 3 3 6.2-6.2L16 6.8z%27/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 0a10 10 0 100 20 10 10 0 000-20zm-1.6 14.4L4 10l1.4-1.4 3 3 6.2-6.2L16 6.8z%27/%3E%3C/svg%3E") center/contain no-repeat; }
.clearline-coa__link { font-size: var(--wp--preset--font-size--xs); font-weight: 600; }
.clearline-coa__grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.clearline-coa__grid > div { padding: .8rem 1rem; border-right: 1px solid var(--wp--preset--color--line); }
.clearline-coa__grid > div:last-child { border-right: 0; }
.clearline-coa__grid dt { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); margin-bottom: .15rem; }
.clearline-coa__grid dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Details / tabs / reviews */
.clearline-product-details { margin-top: var(--wp--preset--spacing--50); }
.woocommerce-tabs ul.tabs { display: flex; gap: 1.75rem; border-bottom: 1px solid var(--wp--preset--color--line); padding: 0; margin: 0 0 1.75rem; overflow-x: auto; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; white-space: nowrap; }
.woocommerce-tabs ul.tabs li a { padding: .75rem 0; color: var(--wp--preset--color--muted); font-weight: 500; font-size: var(--wp--preset--font-size--small); }
.woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--ink); box-shadow: inset 0 -2px 0 var(--wp--preset--color--ink); }
.woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce-Reviews .commentlist { list-style: none; padding: 0; }
.woocommerce-Reviews .comment_container { display: flex; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.woocommerce-Reviews .comment_container img.avatar { width: 40px; height: 40px; border-radius: 50%; }
.woocommerce-Reviews .meta { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.star-rating, .wc-block-components-product-rating__stars { color: var(--wp--preset--color--amber); }
#review_form .comment-form-rating .stars a { color: var(--wp--preset--color--amber); }
.wp-block-woocommerce-related-products h2, .wp-block-woocommerce-product-details h2 { margin-bottom: 1.25rem; }

/* Sticky add-to-cart bar */
.clearline-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: color-mix(in srgb, var(--wp--preset--color--base) 96%, transparent); backdrop-filter: blur(10px); border-top: 1px solid var(--wp--preset--color--line); box-shadow: 0 -8px 30px rgba(22,32,43,.08); transform: translateY(100%); transition: transform .3s var(--cl-ease); }
.clearline-sticky-atc.is-visible { transform: translateY(0); }
.clearline-sticky-atc__inner { max-width: 1240px; margin: 0 auto; padding: .65rem 1.5rem; display: flex; align-items: center; gap: 1rem; }
.clearline-sticky-atc__inner img { width: 48px; height: 48px; border-radius: var(--cl-r-sm); object-fit: cover; background: var(--wp--preset--color--glacier); }
.clearline-sticky-atc__meta { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.clearline-sticky-atc__name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clearline-sticky-atc__price { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.clearline-sticky-atc__btn { text-decoration: none; white-space: nowrap; color: var(--cl-accent-ink); }
@media (max-width: 600px) { .clearline-sticky-atc__inner { padding-inline: 1rem; } .clearline-sticky-atc__inner img { display: none; } }

/* ------------------------------------------------- Free-shipping bar */
.clearline-ship { padding: .9rem 1rem; margin-bottom: 1rem; background: var(--wp--preset--color--glacier); border-radius: var(--cl-r-md); font-size: var(--wp--preset--font-size--small); }
.clearline-ship p { margin: 0 0 .5rem; font-weight: 500; }
.clearline-ship__bar { height: 6px; background: var(--wp--preset--color--glacier-deep); border-radius: 999px; overflow: hidden; }
.clearline-ship__bar span { display: block; height: 100%; background: var(--wp--preset--color--cobalt); border-radius: 999px; transition: width .4s var(--cl-ease); }
.clearline-ship.is-complete p { color: var(--wp--preset--color--verified); }
.clearline-ship.is-complete .clearline-ship__bar span { background: var(--wp--preset--color--verified); }

/* ---------------------------------------------------- Mini-cart drawer */
.wc-block-mini-cart__drawer { font-family: inherit; }
.wc-block-mini-cart__title { font-family: var(--wp--preset--font-family--display); font-weight: 700; }
.wc-block-components-drawer__close { border-radius: 50%; }
.wc-block-mini-cart__footer { background: var(--wp--preset--color--glacier); }
.wc-block-mini-cart__footer .wc-block-components-button { border-radius: var(--cl-r-sm) !important; }
.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart { background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--ink) !important; border: 1px solid var(--wp--preset--color--line) !important; }
.wc-block-cart-item__image img { border-radius: var(--cl-r-sm); background: var(--wp--preset--color--glacier); }

/* ------------------------------------------------------ Cart & checkout */
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--cl-accent) !important; color: var(--cl-accent-ink) !important; border-radius: var(--cl-r-sm) !important; font-weight: 600 !important; }
.wc-block-components-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--cl-accent-hover) !important; }
.wc-block-components-checkout-place-order-button { padding: 1rem 1.5rem !important; font-size: 1.05rem !important; }
.wc-block-components-text-input input, .wc-block-components-select select, .wc-block-components-textarea textarea, .wc-block-components-combobox-control input { border: 1px solid var(--wp--preset--color--line) !important; border-radius: var(--cl-r-sm) !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-combobox-control input:focus { border-color: var(--wp--preset--color--cobalt) !important; box-shadow: 0 0 0 3px rgba(217,169,59,.3); }
.wc-block-components-sidebar .wc-block-components-order-summary, .wc-block-cart__sidebar, .wc-block-checkout__sidebar { background: var(--wp--preset--color--glacier); border-radius: var(--cl-r-lg); padding: 1.5rem; }
.wc-block-components-order-summary-item__image img { border-radius: var(--cl-r-sm); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.35rem; }
.wc-block-checkout__form .wc-block-components-checkout-step__title { font-family: var(--wp--preset--font-family--display); font-weight: 700; }
.wc-block-components-checkout-step__description { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--wp--preset--color--line) !important; }
.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--wp--preset--color--cobalt) !important; box-shadow: 0 0 0 1px var(--wp--preset--color--cobalt); }
.wc-block-components-radio-control__input:checked { border-color: var(--wp--preset--color--cobalt) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--wp--preset--color--cobalt) !important; }
.wc-block-components-notice-banner { border-radius: var(--cl-r-md); }
.wc-block-components-notice-banner.is-success { border-color: var(--wp--preset--color--verified); }
.wc-block-cart-items { font-size: var(--wp--preset--font-size--small); }
.wc-block-cart-items__header { color: var(--wp--preset--color--muted); }
.wc-block-cart-item__product .wc-block-components-product-name { font-weight: 600; color: var(--wp--preset--color--ink); text-decoration: none; }
.wc-block-cart-item__remove-link { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.wc-block-components-quantity-selector { border-radius: var(--cl-r-sm); }
.wc-block-components-express-payment__title, .wc-block-components-checkout-order-summary__title { font-family: var(--wp--preset--font-family--display); }
.clearline-checkout-lock { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); margin: 0; }
.clearline-checkout-lock::before { content: ""; display: inline-block; width: .8rem; height: .8rem; margin-right: .35rem; vertical-align: -1px; background: var(--wp--preset--color--verified); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M5 8V6a5 5 0 0110 0v2h1a1 1 0 011 1v9a1 1 0 01-1 1H4a1 1 0 01-1-1V9a1 1 0 011-1h1zm2 0h6V6a3 3 0 00-6 0v2z%27/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M5 8V6a5 5 0 0110 0v2h1a1 1 0 011 1v9a1 1 0 01-1 1H4a1 1 0 01-1-1V9a1 1 0 011-1h1zm2 0h6V6a3 3 0 00-6 0v2z%27/%3E%3C/svg%3E") center/contain no-repeat; }
.wc-block-order-confirmation-status { font-size: 1.0625rem; }

/* My account */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .6rem .9rem; border-radius: var(--cl-r-sm); color: var(--wp--preset--color--ink); text-decoration: none; font-size: var(--wp--preset--font-size--small); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--wp--preset--color--glacier); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content { padding-left: 1rem; }
.woocommerce-form-login, .woocommerce-form-register { border: 1px solid var(--wp--preset--color--line) !important; border-radius: var(--cl-r-md) !important; padding: 1.75rem !important; }
table.shop_table { border: 0 !important; border-radius: 0 !important; }
table.shop_table td, table.shop_table th { border-color: var(--wp--preset--color--line) !important; padding: .8rem !important; }

/* Notices (classic) */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top: 0; border-left: 3px solid var(--wp--preset--color--verified); background: var(--wp--preset--color--glacier); border-radius: var(--cl-r-sm); }
.woocommerce-error { border-left-color: var(--wp--preset--color--alert); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--wp--preset--color--verified); }
.woocommerce-message .button { background: var(--wp--preset--color--ink); color: #fff; border-radius: var(--cl-r-sm); }

/* -------------------------------------------------------------- Footer */
.clearline-compliance { max-width: 1240px; margin: 0 auto; padding: 1rem 1.5rem; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); text-align: center; }
.clearline-footer { background: var(--wp--preset--color--glacier); border-top: 1px solid var(--wp--preset--color--line); font-size: var(--wp--preset--font-size--small); }
.clearline-footer a { color: var(--wp--preset--color--ink); text-decoration: none; }
.clearline-footer a:hover { color: var(--cl-accent-text); }
.clearline-footer .wp-block-heading { font-size: var(--wp--preset--font-size--small); font-weight: 700; margin-bottom: .75rem; }
.clearline-footer ul { list-style: none; padding: 0; margin: 0; }
.clearline-footer li { margin-bottom: .45rem; }
.clearline-footer .wp-block-separator { border-color: var(--wp--preset--color--line); }
.clearline-payments { display: flex; gap: .4rem; }
.clearline-payments span { display: inline-block; padding: .2rem .5rem; border: 1px solid var(--wp--preset--color--line); border-radius: 4px; background: var(--wp--preset--color--base); font-size: .7rem; font-weight: 600; letter-spacing: .02em; color: var(--wp--preset--color--muted); }

/* Editor niceties */
.editor-styles-wrapper .clearline-header { position: static; }

/* ------------------------------------------------ Valhalla home sections */
.cl-notice-wrap { max-width: 1240px; margin: 1.25rem auto 0; padding: 0 var(--wp--preset--spacing--30); }
.cl-notice { border: 1px solid var(--cl-notice-line, #F1D48A); border-left: 4px solid var(--cl-accent); background: var(--cl-notice-bg, #FFF8E6); color: var(--wp--preset--color--ink); border-radius: var(--cl-r-md); padding: .85rem 1.1rem; font-size: var(--wp--preset--font-size--small); }
.cl-notice p { margin: 0; display: inline; }
.cl-notice p + p { display: block; margin-top: .4rem; }
.cl-notice ul, .cl-notice ol { margin: .4rem 0 0 1.2rem; }
.cl-notice--info { --cl-notice-line: #BFD0F5; --cl-notice-bg: #EEF3FF; }
.cl-notice--success { --cl-notice-line: #B7E1CB; --cl-notice-bg: #EAF7F0; }
[data-theme="dark"] .cl-notice--info { --cl-notice-line: #2D4A8A; --cl-notice-bg: #14203A; }
[data-theme="dark"] .cl-notice--success { --cl-notice-line: #1F5E42; --cl-notice-bg: #10261C; }
.cl-eyebrow { font-family: var(--wp--preset--font-family--display); font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cl-accent-text); margin: 0 0 .75rem; }
.cl-hero { text-align: center; }
.cl-hero .cl-eyebrow { text-align: center; }
.cl-hero h1 { max-width: 15ch; margin-inline: auto; margin-bottom: 1.25rem; }
.cl-hero .cl-lead { max-width: 46ch; margin: 0 auto 2rem; font-size: 1.2rem; line-height: 1.5; }
.cl-hero .wp-block-buttons { margin-bottom: 0; }
.cl-badges { display: flex !important; flex-wrap: wrap; justify-content: center; gap: .6rem 2rem; margin: 1.75rem 0 0; padding: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.cl-badges li { margin: 0; padding-left: 1.5rem; }
/* section rhythm */
.cl-section > .cl-eyebrow + h2 { margin-top: 0; }
.cl-section h2 { max-width: 24ch; margin-bottom: .75rem; }
.cl-section .cl-intro { max-width: 68ch; margin-bottom: 2rem; }
.cl-section .wp-block-columns { margin-top: 1.75rem; }
.cl-num { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .85rem; letter-spacing: .08em; color: var(--cl-accent-text); margin: 0 0 .75rem; }
.cl-numcard h3 { margin-bottom: .5rem; }
.cl-catgrid { gap: 1rem; }
.cl-cat { transition: border-color .15s, box-shadow .15s, transform .15s var(--cl-ease); }
.cl-cat:hover { border-color: var(--wp--preset--color--ink); box-shadow: var(--cl-shadow); transform: translateY(-2px); }
.cl-cat h3 { font-size: 1.1rem; margin-bottom: .25rem; }
.cl-cat h3 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.cl-cat .cl-browse { margin: .75rem 0 0; font-weight: 600; }
.cl-coa-card { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-lg); overflow: hidden; box-shadow: var(--cl-shadow); background: var(--wp--preset--color--base); font-size: var(--wp--preset--font-size--small); }
.cl-coa-head { display: flex; justify-content: space-between; align-items: center; padding: 1.1rem 1.25rem; background: var(--wp--preset--color--glacier); border-bottom: 1px solid var(--wp--preset--color--line); }
.cl-coa-head small { display: block; color: var(--wp--preset--color--muted); font-size: .78rem; }
.cl-coa-head strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; font-weight: 700; margin: .1rem 0; }
.cl-pass { background: var(--wp--preset--color--verified); color: #fff; font-weight: 600; font-size: .75rem; padding: .35rem .7rem; border-radius: 999px; white-space: nowrap; }
.cl-coa-row { display: flex; justify-content: space-between; padding: .75rem 1.25rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.cl-coa-row > span:first-child { color: var(--wp--preset--color--muted); }
.cl-coa-row strong { font-variant-numeric: tabular-nums; }
.cl-coa-row em { font-style: normal; font-weight: 700; font-size: .7rem; color: var(--wp--preset--color--verified); margin-left: .5rem; letter-spacing: .04em; }
.cl-coa-foot { display: flex; gap: 2.5rem; padding: .9rem 1.25rem; background: var(--wp--preset--color--glacier); }
.cl-coa-foot small { display: block; color: var(--wp--preset--color--muted); font-size: .78rem; }
.cl-rnotice { border-left: 3px solid var(--wp--preset--color--amber); }
.cl-rnotice h3 { margin-bottom: .5rem; }
.cl-cta { background: var(--cl-cta-bg, var(--wp--preset--color--ink)); border-radius: var(--cl-r-lg); color: #fff; border: 1px solid transparent; }
.cl-cta h2, .cl-cta .wp-block-heading { color: #fff !important; }
.cl-cta .wp-block-button:not(.is-style-outline-base) .wp-block-button__link { background: var(--cl-accent) !important; color: var(--cl-accent-ink) !important; }
[data-theme="dark"] .cl-cta { border-color: color-mix(in srgb, var(--cl-accent) 45%, transparent); }
.cl-cta h2 { max-width: 22ch; margin-inline: auto; margin-bottom: 1.5rem; }
.is-style-outline-base .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.7); }
.is-style-outline-base .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); }
.cl-cta-fine { color: rgba(255,255,255,.65); margin-top: 1.25rem; }
.cl-trust4 { border-top: 1px solid var(--wp--preset--color--line); margin-top: var(--wp--preset--spacing--50); }
.cl-trust4 strong { font-size: 1.15rem; }
.cl-21 { display: inline-block; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--base); border-radius: 999px; padding: .2rem .65rem; font-size: .75rem; font-weight: 700; }
.clearline-footer h4 { font-size: var(--wp--preset--font-size--small); font-weight: 700; margin-bottom: .75rem; }

.cl-coa-card strong, .cl-coa-row strong, .clearline-coa__grid dd, .wc-block-components-product-price, .price { font-variant-numeric: tabular-nums; }
.cl-coa-head strong { font-family: var(--wp--preset--font-family--display); }
.cl-cat h3, .cl-numcard h3 { font-family: var(--wp--preset--font-family--display); font-weight: 600; letter-spacing: -.01em; }
.wc-block-mini-cart__title, .clearline-footer .wp-block-site-title, .clearline-header .wp-block-site-title { font-family: var(--wp--preset--font-family--display); font-weight: 700; }
.clearline-announce { font-family: var(--wp--preset--font-family--display); letter-spacing: .02em; }

/* ------------------------------------------------------ Mode toggle */
.cl-mode { appearance: none; background: transparent; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; color: var(--wp--preset--color--ink); cursor: pointer; padding: 0; transition: background .15s, border-color .15s; }
.cl-mode:hover { background: var(--wp--preset--color--glacier); border-color: var(--wp--preset--color--muted); }
.cl-mode svg { display: block; }
.cl-mode .cl-mode__moon { display: none; }
[data-theme="dark"] .cl-mode .cl-mode__sun { display: none; }
[data-theme="dark"] .cl-mode .cl-mode__moon { display: block; }
.wp-block-site-logo img { display: block; height: auto; }
.clearline-header .wp-block-site-logo { margin: -6px 0; }

/* ------------------------------------------------------ Dark palette */
:root[data-theme="dark"], [data-theme="dark"] body, [data-theme="dark"] .editor-styles-wrapper {
  --wp--preset--color--base: #0F1419;
  --wp--preset--color--glacier: #161C24;
  --wp--preset--color--glacier-deep: #222B36;
  --wp--preset--color--line: #2A3441;
  --wp--preset--color--muted: #9AA7B5;
  --wp--preset--color--ink: #F2F5F8;
  --wp--preset--color--cobalt: #E0B44A;
  --wp--preset--color--cobalt-dark: #EDC463;
  --cl-accent: #E0B44A; --cl-accent-hover: #EDC463; --cl-accent-ink: #16202B;
  --cl-accent-text: #E4B54B; --cl-accent-text-hover: #F0C866;
  --wp--preset--color--verified: #3ECF8E;
  --wp--preset--color--amber: #E6B04A;
  --wp--preset--shadow--card: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -8px rgba(0,0,0,.6);
  --cl-notice-bg: #1E1A10; --cl-notice-line: #4A3F1E;
  --cl-cta-bg: #171D25;
  color-scheme: dark;
}
[data-theme="dark"] body { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); }
[data-theme="dark"] .wp-element-button, [data-theme="dark"] .wp-block-button__link, [data-theme="dark"] .wc-block-components-button, [data-theme="dark"] .wc-block-components-checkout-place-order-button { background: var(--cl-accent) !important; color: var(--cl-accent-ink) !important; }
[data-theme="dark"] .wp-element-button:hover, [data-theme="dark"] .wp-block-button__link:hover { background: var(--cl-accent-hover) !important; }
[data-theme="dark"] .is-style-outline-ink .wp-block-button__link { background: transparent !important; color: var(--wp--preset--color--ink) !important; }
[data-theme="dark"] .is-style-outline-ink .wp-block-button__link:hover { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--base) !important; }
[data-theme="dark"] .wc-block-components-product-button .wp-block-button__link { background: var(--wp--preset--color--glacier-deep) !important; color: var(--wp--preset--color--ink) !important; }
[data-theme="dark"] .wc-block-components-product-button .wp-block-button__link:hover { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--base) !important; }
[data-theme="dark"] .clearline-announce { background: #000; }
[data-theme="dark"] .onsale, [data-theme="dark"] .wc-block-components-product-sale-badge { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--base) !important; }
[data-theme="dark"] .woocommerce-message .button { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
[data-theme="dark"] .wc-block-mini-cart__drawer, [data-theme="dark"] .wc-block-components-drawer, [data-theme="dark"] .wc-block-components-drawer__screen-overlay { color: var(--wp--preset--color--ink); }
[data-theme="dark"] .wc-block-components-drawer { background: var(--wp--preset--color--base); }
[data-theme="dark"] .wc-block-components-text-input input, [data-theme="dark"] .wc-block-components-select select, [data-theme="dark"] .wc-block-components-textarea textarea, [data-theme="dark"] .wc-block-components-combobox-control input, [data-theme="dark"] .wc-block-components-quantity-selector { background: var(--wp--preset--color--glacier) !important; color: var(--wp--preset--color--ink) !important; }
[data-theme="dark"] .wc-block-components-text-input label, [data-theme="dark"] .wc-block-components-select label { color: var(--wp--preset--color--muted); }
[data-theme="dark"] .wc-block-components-radio-control__option, [data-theme="dark"] .wc-block-components-radio-control-accordion-option, [data-theme="dark"] .wc-block-components-notice-banner, [data-theme="dark"] .wc-block-components-panel { background: var(--wp--preset--color--glacier); color: var(--wp--preset--color--ink); }
[data-theme="dark"] .wc-block-components-order-summary-item, [data-theme="dark"] .wc-block-components-totals-item, [data-theme="dark"] .wc-block-cart-items td, [data-theme="dark"] .wc-block-cart-items th { color: var(--wp--preset--color--ink); }
[data-theme="dark"] .woocommerce-form-login, [data-theme="dark"] .woocommerce-form-register { background: var(--wp--preset--color--glacier); }
[data-theme="dark"] .wc-block-components-product-image img, [data-theme="dark"] .woocommerce-product-gallery img { background: var(--wp--preset--color--glacier-deep); }
[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); }
[data-theme="dark"] .wp-block-navigation__responsive-container-close, [data-theme="dark"] .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--ink); }
[data-theme="dark"] .cl-cta { color: #fff; }
[data-theme="dark"] .is-style-outline-base .wp-block-button__link { background: transparent !important; }
[data-theme="dark"] ::selection { background: var(--cl-accent); color: #0F1419; }

/* ------------------------------------------- Hero texture (faint vial pattern) */
.is-style-hero-texture { position: relative; isolation: isolate; border-radius: var(--cl-r-lg); overflow: hidden; }
.is-style-hero-texture::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--wp--preset--color--base) url("../img/hero-texture.jpg") center / 900px repeat; opacity: 1; }
.is-style-hero-texture::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(ellipse at center, var(--wp--preset--color--base) 0%, color-mix(in srgb, var(--wp--preset--color--base) 96%, transparent) 30%, color-mix(in srgb, var(--wp--preset--color--base) 55%, transparent) 62%, transparent 100%); }
[data-theme="dark"] .is-style-hero-texture::before { background-image: url("../img/hero-texture-dark.jpg"); }
@media (max-width: 700px) { .is-style-hero-texture::before { background-size: 560px; } }

/* About page helpers */
.cl-page-hero h1 { max-width: 18ch; margin-inline: auto; }
.cl-center { text-align: center; margin-inline: auto; }
.cl-checks-2col { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .5rem 2rem; }
.cl-list-x { list-style: none; padding: 0; }
.cl-list-x li { position: relative; padding-left: 1.75rem; margin-bottom: .5rem; }
.cl-list-x li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1rem; height: 1rem; background: var(--wp--preset--color--alert); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 0a10 10 0 100 20 10 10 0 000-20zm3.5 12.1l-1.4 1.4L10 11.4l-2.1 2.1-1.4-1.4L8.6 10 6.5 7.9l1.4-1.4L10 8.6l2.1-2.1 1.4 1.4L11.4 10z%27/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 0a10 10 0 100 20 10 10 0 000-20zm3.5 12.1l-1.4 1.4L10 11.4l-2.1 2.1-1.4-1.4L8.6 10 6.5 7.9l1.4-1.4L10 8.6l2.1-2.1 1.4 1.4L11.4 10z%27/%3E%3C/svg%3E") center/contain no-repeat; }
[data-theme="dark"] .cl-list-x li::before { background: #F27C6B; }
.cl-eyebrow-light { color: rgba(255,255,255,.7); }
.cl-section .cl-intro + .cl-intro { margin-top: -1rem; }
.cl-section .is-style-panel { margin-top: 1.5rem; }

/* FAQ page */
.cl-faq-page .cl-section h2 { font-size: var(--wp--preset--font-size--large); margin-bottom: .25rem; }
/* Contact form */
.cl-form { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-lg); padding: 1.75rem; background: var(--wp--preset--color--base); }
.cl-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 600px) { .cl-form__row { grid-template-columns: 1fr; } }
.cl-form p { margin: 0 0 1rem; }
.cl-form label { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 600; margin-bottom: .35rem; }
.cl-form label span { color: var(--wp--preset--color--alert); }
.cl-form__note { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); background: var(--wp--preset--color--glacier); padding: .75rem 1rem; border-radius: var(--cl-r-sm); }
.cl-form button { width: 100%; }
.cl-hp { position: absolute; left: -9999px; }
.cl-form-msg { padding: .9rem 1.1rem; border-radius: var(--cl-r-md); margin-bottom: 1rem; font-size: var(--wp--preset--font-size--small); border-left: 3px solid var(--wp--preset--color--verified); background: var(--wp--preset--color--glacier); }
.cl-form-msg--err { border-left-color: var(--wp--preset--color--alert); }
/* COA registry */
.cl-coa-search input { max-width: 420px; }
.cl-table-wrap { overflow-x: auto; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); }
.cl-coa-table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.cl-coa-table th { text-align: left; font-weight: 600; background: var(--wp--preset--color--glacier); padding: .8rem 1rem; border-bottom: 1px solid var(--wp--preset--color--line); white-space: nowrap; }
.cl-coa-table td { padding: .8rem 1rem; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.cl-coa-table tr:last-child td { border-bottom: 0; }
.cl-coa-table td a { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ink); }
.cl-coa-table code { font-family: var(--wp--preset--font-family--display); font-variant-numeric: tabular-nums; background: var(--wp--preset--color--glacier); padding: .15rem .45rem; border-radius: 4px; font-size: .85em; }
.cl-coa-btn { display: inline-block; background: var(--cl-accent); color: var(--cl-accent-ink) !important; padding: .35rem .7rem; border-radius: 4px; font-size: .8rem; }
.cl-coa-pending { display: inline-block; border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--muted); padding: .3rem .7rem; border-radius: 999px; font-size: .78rem; }
.cl-coa-empty, .cl-coa-none { color: var(--wp--preset--color--muted); }
@media (max-width: 700px) { .cl-coa-table thead { display: none; } .cl-coa-table tr { display: block; padding: .5rem 0; } .cl-coa-table td { display: flex; gap: 1rem; border: 0; padding: .3rem 1rem; } .cl-coa-table td::before { content: attr(data-label); flex: 0 0 90px; color: var(--wp--preset--color--muted); font-size: .8rem; } .cl-coa-table tr + tr { border-top: 1px solid var(--wp--preset--color--line); } }

/* Trust strip: kill layout blockGap so all four columns share a baseline */
.clearline-stats > * { margin: 0 !important; }
/* Category tile icons */
.cl-cat-icon { display: block; width: 48px; height: 48px; color: var(--cl-accent-text); margin-bottom: .9rem; }
.cl-cat-icon svg { width: 100%; height: 100%; }
/* Two-column hero with optional image slot; centered fallback when the slot is empty */
.cl-hero-cols { text-align: left; }
.cl-hero-cols .cl-eyebrow, .cl-hero-cols h1, .cl-hero-cols .cl-lead { text-align: left; margin-left: 0; }
.cl-hero-cols .wp-block-buttons { justify-content: flex-start; }
.cl-hero-cols .cl-badges { justify-content: flex-start; }
.cl-hero-cols .cl-hero-img img { border-radius: var(--cl-r-lg); width: 100%; height: auto; }
.cl-hero-cols .cl-hero-img figure { margin: 0; }
.cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols { display: block; text-align: center; }
.cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols .wp-block-column { flex-basis: 100% !important; }
.cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols .cl-eyebrow, .cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols h1, .cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols .cl-lead { text-align: center; margin-inline: auto; }
.cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols .wp-block-buttons, .cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols .cl-badges { justify-content: center; }
.cl-hero:not(:has(.cl-hero-img img)) .cl-hero-img { display: none; }
@media (max-width: 781px) { .cl-hero-cols .cl-hero-img { margin-top: 1.5rem; } }
/* Featured products cards */
.cl-featured .wc-block-product { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); padding: .75rem; }
.cl-featured .wc-block-components-product-image { border-radius: var(--cl-r-sm); }
.cl-featured .wp-block-post-excerpt { margin: 0 0 .35rem !important; }
.cl-featured .wp-block-post-excerpt__excerpt { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); margin: 0; }
.cl-featured .wp-block-post-excerpt__more-text { display: none; }
/* Sample COA label */
.cl-coa-sample { background: var(--wp--preset--color--muted); color: #fff; font-weight: 600; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; padding: .3rem .6rem; border-radius: 999px; margin-right: .5rem; }

.cl-coa-card--link { display: block; text-decoration: none; color: inherit; transition: transform .15s var(--cl-ease), box-shadow .15s; }
.cl-coa-card--link:hover { transform: translateY(-2px); box-shadow: 0 12px 32px -10px rgba(22,32,43,.2); color: inherit; }
.cl-coa-open { margin-left: auto; align-self: end; font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--cl-accent-text); }

/* ============ 1.7.0 ============ */
/* S1 unified scale + measure */
.cl-eyebrow { font-size: .75rem; }
.cl-hero h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }
.cl-page-hero h1 { font-size: var(--wp--preset--font-size--xx-large); }
.wp-block-post-content > p, .cl-section > p, .cl-intro { max-width: 68ch; }
.wp-block-columns .is-style-card p, .cl-catgrid .is-style-card p, .cl-numcard p:not(.cl-num) { font-size: 1rem; }
.cl-lead { font-size: 1.2rem; }
.cl-gold { color: var(--cl-gold-display); }
:root { --cl-gold-display: #A67C1C; }
[data-theme="dark"] { --cl-gold-display: #E4B54B; }
/* S2 one primary button everywhere */
.wc-block-components-product-button .wp-block-button__link, .products .product .button, .wc-block-grid__product-add-to-cart .wp-block-button__link { background: var(--cl-accent) !important; color: var(--cl-accent-ink) !important; }
.wc-block-components-product-button .wp-block-button__link:hover, .products .product .button:hover { background: var(--cl-accent-hover) !important; color: var(--cl-accent-ink) !important; }
[data-theme="dark"] .wc-block-components-product-button .wp-block-button__link { background: var(--cl-accent) !important; color: var(--cl-accent-ink) !important; }
[data-theme="dark"] .wc-block-components-product-button .wp-block-button__link:hover { background: var(--cl-accent-hover) !important; color: var(--cl-accent-ink) !important; }
.wc-block-components-product-button .wp-block-button__link.added { background: var(--wp--preset--color--verified) !important; color: #fff !important; }
/* S3 dismissable notice */
.cl-notice { position: relative; padding-right: 2.75rem; }
.cl-notice__close { position: absolute; top: .55rem; right: .6rem; width: 28px; height: 28px; border: 0; background: transparent; color: var(--wp--preset--color--muted); font-size: 1.25rem; line-height: 1; cursor: pointer; border-radius: 50%; }
.cl-notice__close:hover { background: rgba(0,0,0,.06); color: var(--wp--preset--color--ink); }
/* SH1 shop spacing */
.cl-shop main { padding-top: var(--wp--preset--spacing--20) !important; }
.cl-shop h1 { margin-bottom: .5rem; }
/* SH3 stock badge */
.cl-stock { position: absolute; top: .75rem; left: .75rem; font-size: .7rem; font-weight: 600; letter-spacing: .02em; padding: .25rem .55rem; border-radius: 999px; background: color-mix(in srgb, var(--wp--preset--color--base) 94%, transparent); color: var(--wp--preset--color--verified); box-shadow: 0 1px 2px rgba(22,32,43,.12); }
.cl-stock--backorder { color: var(--wp--preset--color--amber); }
.cl-stock--out { color: var(--wp--preset--color--alert); }
/* SH4 defensive: never clip a card title */
.wc-block-product, .wc-block-product-template li { overflow: visible; }
.wc-block-product .wp-block-post-title { text-indent: 0; margin-left: 0 !important; padding-left: 0 !important; overflow: visible; }
.wc-block-product .wp-block-post-title a { display: inline; overflow-wrap: anywhere; }
/* SH5 pagination */
.wp-block-query-pagination { margin-top: 2.5rem; gap: .35rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 .8rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-sm); text-decoration: none; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.wp-block-query-pagination .page-numbers.current { background: var(--cl-accent); border-color: var(--cl-accent); color: var(--cl-accent-ink); font-weight: 600; }
.wp-block-query-pagination a:hover { border-color: var(--wp--preset--color--ink); }
.wp-block-query-pagination .page-numbers.dots { border: 0; }
/* SH6 price slider + filter inputs */
.wc-block-product-filter-price-slider input[type=range], .wc-block-price-slider input[type=range] { accent-color: var(--cl-accent); }
.wc-block-product-filter-price-slider__range { --range-color: var(--cl-accent); }
.wc-block-product-filter-price-slider__range::-webkit-slider-thumb, .wc-block-price-filter__range-input::-webkit-slider-thumb { background: var(--cl-accent) !important; border: 2px solid var(--wp--preset--color--base) !important; box-shadow: 0 0 0 1px var(--cl-accent-hover) !important; }
.wc-block-product-filter-price-slider__range::-moz-range-thumb { background: var(--cl-accent) !important; border: 2px solid var(--wp--preset--color--base) !important; }
.wc-block-product-filter-price-slider__range-progress, .wc-block-price-slider__range-progress { background: var(--cl-accent) !important; }
.wc-block-product-filter-price-slider__content input[type=text], .wc-block-product-filter-price-slider__content input[type=number], .wc-block-price-filter__amount { border: 1px solid var(--wp--preset--color--line) !important; border-radius: var(--cl-r-sm) !important; background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--ink) !important; font-size: var(--wp--preset--font-size--small) !important; padding: .5rem .6rem !important; }
/* P2 spec block */
.cl-specs { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); overflow: hidden; margin: 0 0 2rem; }
.cl-specs__head { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; background: var(--wp--preset--color--glacier); border-bottom: 1px solid var(--wp--preset--color--line); font-weight: 700; font-size: var(--wp--preset--font-size--small); }
.cl-specs__head a { font-size: var(--wp--preset--font-size--xs); font-weight: 600; }
.cl-specs dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin: 0; }
.cl-specs dl > div { padding: .8rem 1rem; border-bottom: 1px solid var(--wp--preset--color--line); border-right: 1px solid var(--wp--preset--color--line); }
.cl-specs dt { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); margin-bottom: .15rem; }
.cl-specs dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; font-size: var(--wp--preset--font-size--small); }
/* P4 backorder date */
.cl-restock { display: block; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
/* P5 sticky bar safe area */
.clearline-sticky-atc__inner { padding-bottom: calc(.65rem + env(safe-area-inset-bottom)); }
body.single-product.cl-sticky-on { padding-bottom: 5rem; }
/* F2 FAQ jump links + search */
.cl-faq-nav { position: sticky; top: 72px; z-index: 5; background: color-mix(in srgb, var(--wp--preset--color--base) 94%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--wp--preset--color--line); padding: .75rem 0; margin-bottom: 1rem; }
.cl-faq-nav__inner { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.cl-faq-nav__links { display: flex; gap: .35rem; flex-wrap: wrap; }
.cl-faq-nav__links a { font-size: var(--wp--preset--font-size--xs); font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .35rem .75rem; }
.cl-faq-nav__links a:hover { border-color: var(--wp--preset--color--ink); }
.cl-faq-nav select { display: none; width: 100%; }
.cl-faq-nav input[type=search] { margin-left: auto; max-width: 320px; padding: .55rem .8rem; font-size: var(--wp--preset--font-size--small); }
@media (max-width: 700px) { .cl-faq-nav__links { display: none; } .cl-faq-nav select { display: block; } .cl-faq-nav input[type=search] { max-width: none; margin: 0; } }
.cl-faq-page .cl-section { padding-left: 0; padding-right: 0; }
.cl-faq-page .cl-section h2, .cl-faq-page .wp-block-details { max-width: none; margin-left: 0; margin-right: 0; }
.cl-faq-page [hidden] { display: none !important; }
/* C1 email never wraps */
.cl-email { font-size: var(--wp--preset--font-size--medium); font-weight: 600; white-space: nowrap; overflow-wrap: normal; word-break: keep-all; }
/* C2 inquiry chips */
.cl-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.25rem; }
.cl-chips button { border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); border-radius: 999px; padding: .45rem .9rem; font: inherit; font-size: var(--wp--preset--font-size--small); font-weight: 500; cursor: pointer; }
.cl-chips button[aria-pressed=true] { background: var(--cl-accent); border-color: var(--cl-accent); color: var(--cl-accent-ink); font-weight: 600; }
/* S5 signup */
.cl-signup { background: var(--wp--preset--color--glacier); border-top: 1px solid var(--wp--preset--color--line); }
.cl-signup__inner { max-width: 1240px; margin: 0 auto; padding: 2rem var(--wp--preset--spacing--30); display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cl-signup__copy h3 { margin: 0 0 .2rem; font-size: var(--wp--preset--font-size--large); }
.cl-signup__copy p { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.cl-signup form { display: flex; gap: .5rem; flex: 0 1 460px; }
.cl-signup input[type=email] { flex: 1; }
.cl-signup__msg { font-size: var(--wp--preset--font-size--small); margin: .5rem 0 0; color: var(--wp--preset--color--verified); }
/* S4 footer trust line */
.cl-footer-trust { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }

.cl-page-hero--left { text-align: left; }
.cl-page-hero--left .cl-eyebrow, .cl-page-hero--left h1, .cl-page-hero--left .cl-lead { text-align: left; margin-left: 0; }
.cl-page-hero--left .cl-lead { max-width: 60ch; }
.clearline-footer .cl-email { font-weight: 500; }

/* ============ 1.7.1 staging fixes ============ */
/* Inputs never overflow their box (price filter max input was covering the first product title) */
input, select, textarea, button { box-sizing: border-box; }
.wc-block-product-filter-price-slider__content input, .wc-block-product-filter-price-slider__left, .wc-block-product-filter-price-slider__right { min-width: 0; max-width: 100%; }
/* Signup: input and button on one line */
.cl-signup__inner > div:last-child { flex: 0 1 460px; min-width: 0; }
.cl-signup form { display: flex; gap: .5rem; width: 100%; }
.cl-signup input[type=email] { flex: 1 1 auto; min-width: 0; width: auto; }
.cl-signup form button { white-space: nowrap; }
@media (max-width: 600px) { .cl-signup form { flex-direction: column; } }
/* Outline button on dark surfaces (CTA band) stays white in both modes */
.is-style-outline-base .wp-block-button__link, [data-theme="dark"] .is-style-outline-base .wp-block-button__link { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.7); }
.is-style-outline-base .wp-block-button__link:hover, [data-theme="dark"] .is-style-outline-base .wp-block-button__link:hover { background: #fff !important; color: #16202B !important; }
/* Hero texture: fainter in dark mode so the label text isn't legible */
[data-theme="dark"] .is-style-hero-texture::before { opacity: .55; }
[data-theme="dark"] .is-style-hero-texture::after { background: radial-gradient(ellipse at center, var(--wp--preset--color--base) 0%, color-mix(in srgb, var(--wp--preset--color--base) 97%, transparent) 35%, color-mix(in srgb, var(--wp--preset--color--base) 70%, transparent) 65%, color-mix(in srgb, var(--wp--preset--color--base) 30%, transparent) 100%); }
/* Product tabs: WooCommerce block-theme stylesheet was winning; restore the underline style */
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs, .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; gap: 1.75rem; border-bottom: 1px solid var(--wp--preset--color--line) !important; padding: 0 !important; margin: 0 0 1.75rem !important; background: none !important; }
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; }
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li a, .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .75rem 0 !important; color: var(--wp--preset--color--muted) !important; font-weight: 500 !important; background: none !important; }
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--ink) !important; box-shadow: inset 0 -2px 0 var(--cl-accent) !important; }
.woocommerce-tabs .panel { color: var(--wp--preset--color--ink); }

/* FAQ nav: opaque, full width, one row */
.cl-faq-nav { background: var(--wp--preset--color--base); backdrop-filter: none; -webkit-backdrop-filter: none; top: 64px; padding: .75rem 0; box-shadow: 0 8px 16px -12px rgba(0,0,0,.25); }
.cl-faq-nav__inner { flex-wrap: nowrap; }
.cl-faq-nav__links { flex: 1 1 auto; min-width: 0; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.cl-faq-nav__links::-webkit-scrollbar { display: none; }
.cl-faq-nav__links a { white-space: nowrap; }
.cl-faq-nav input[type=search] { flex: 0 0 260px; width: 260px; max-width: 260px; margin: 0; }
@media (max-width: 700px) { .cl-faq-nav__inner { flex-wrap: wrap; } .cl-faq-nav input[type=search] { flex: 1 1 100%; width: 100%; max-width: none; } }

/* Cards: equal height, button anchored to the bottom, titles reserve two lines */
.wc-block-product-template .wc-block-product, .products-block-post-template > li { display: flex; flex-direction: column; height: 100%; }
.wc-block-product-template { align-items: stretch; }
.wc-block-product .wp-block-post-title { min-height: calc(1.35em * 2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wc-block-product .wc-block-components-product-button, .products-block-post-template .wc-block-components-product-button { margin-top: auto !important; padding-top: .75rem; }
.wc-block-product .wc-block-components-product-price { margin-bottom: 0 !important; }

/* ============ 1.8.0 audit fixes ============ */
/* P0-1 mobile nav overlay */
.wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; height: 100dvh !important; overflow-y: auto !important; background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--ink) !important; padding: 5rem 2rem 2rem !important; z-index: 100000 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; gap: .25rem; }
.wp-block-navigation__responsive-container.is-menu-open a { display: block; padding: .85rem 0; font-size: 1.5rem; font-weight: 600; color: var(--wp--preset--color--ink) !important; border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-navigation__responsive-container-close { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position: absolute !important; top: 1rem !important; right: 1rem !important; width: 44px; height: 44px; display: flex !important; align-items: center; justify-content: center; color: var(--wp--preset--color--ink) !important; background: var(--wp--preset--color--glacier); border-radius: 50%; }
.wp-block-navigation__responsive-container-open { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--wp--preset--color--ink); }
/* P0-2 focus indicator, everywhere, over any reset */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, .wp-element-button:focus-visible, .wc-block-components-button:focus-visible, summary:focus-visible { outline: 2px solid var(--cl-accent) !important; outline-offset: 2px !important; box-shadow: none; }
/* P1-5 mobile: notice collapses to one line with a Details toggle; announcement hides while notice is active */
@media (max-width: 700px) {
  body.cl-notice-active .clearline-announce { display: none; }
  .cl-notice-wrap { margin-top: .75rem; }
  .cl-notice { padding: .7rem 2.5rem .7rem .9rem; }
  .cl-notice:not(.is-expanded) p { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
  .cl-notice:not(.is-expanded) p + p, .cl-notice:not(.is-expanded) ul, .cl-notice:not(.is-expanded) ol { display: none; }
  .cl-notice__more { display: inline-block; margin-top: .25rem; font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--cl-accent-text); background: none; border: 0; padding: 0; cursor: pointer; }
}
@media (min-width: 701px) { .cl-notice__more { display: none; } }
/* P1-6 PDP: per-product FAQ, link styling in trust strip */
.clearline-trust a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.cl-product-faq { margin: 0 0 2rem; }
.cl-product-faq h3 { margin-bottom: .5rem; }
.cl-product-faq details { border-bottom: 1px solid var(--wp--preset--color--line); padding: .75rem 0; }
.cl-product-faq summary { font-weight: 600; cursor: pointer; }
.cl-product-faq details p { margin: .5rem 0 0; color: var(--wp--preset--color--muted); }
/* P1-7 header search (icon expands to field) */
.clearline-header .wp-block-search__button { background: transparent; border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--ink); width: 36px; height: 36px; padding: 0; border-radius: 999px; }
.clearline-header .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper { border: 0; }
.clearline-header .wp-block-search__input { border-radius: 999px; height: 36px; padding: 0 .9rem; font-size: var(--wp--preset--font-size--small); }
/* P1-8 checkout payment panel */
.wc-block-checkout__payment-method .wc-block-components-checkout-step__content { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); padding: 1rem; background: var(--wp--preset--color--base); }
.wc-block-checkout__payment-method .wc-block-components-checkout-step__content::before { content: "Card details — encrypted and processed by our payment provider. We never store card numbers."; display: block; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); margin-bottom: .75rem; }
.wc-block-components-radio-control-accordion-content iframe, .wc-block-components-checkout-step__content iframe { border-radius: var(--cl-r-sm); }
/* P1-9 cart */
.cl-continue { display: inline-block; margin: 1rem 0 0; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
/* P1-10 notify me */
.cl-notify { margin-top: 1rem; padding: 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); background: var(--wp--preset--color--glacier); }
.cl-notify p { margin: 0 0 .5rem; font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.cl-notify form { display: flex; gap: .5rem; }
.cl-notify input[type=email] { flex: 1; min-width: 0; width: auto; }
.cl-notify .wp-element-button { white-space: nowrap; }
/* P1-11 my account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: 2.5rem; align-items: start; }
.woocommerce-account .woocommerce > *:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation { float: none !important; width: auto !important; position: sticky; top: 80px; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: .15rem; }
.woocommerce-MyAccount-navigation li a { padding: .7rem .9rem; }
.woocommerce-MyAccount-content { float: none !important; width: auto !important; padding: 0 !important; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: var(--wp--preset--font-size--large); margin: 0 0 1rem; }
.woocommerce-MyAccount-content .woocommerce-orders-table .button { padding: .45rem .8rem; font-size: var(--wp--preset--font-size--xs); border-radius: var(--cl-r-sm); margin: 0 .25rem .25rem 0; display: inline-block; }
@media (max-width: 781px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 1.25rem; }
  .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; gap: .35rem; padding-bottom: .25rem; }
  .woocommerce-MyAccount-navigation li a { white-space: nowrap; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .5rem .9rem; }
}
/* P2 tap targets */
.clearline-footer li a { display: inline-block; padding: .25rem 0; min-height: 24px; line-height: 1.5; }
.wc-block-product-filter-checkbox-list__label, .wc-block-checkbox-list__label { min-height: 28px; display: flex; align-items: center; cursor: pointer; }
.wc-block-product-filter-checkbox-list__input, .wc-block-checkbox-list__checkbox input { width: 18px; height: 18px; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { min-width: 44px; height: 44px; }
.cl-notice__close { width: 32px; height: 32px; }
/* P1-7 search results: no-results state */
.cl-search-empty { padding: 2rem; border: 1px dashed var(--wp--preset--color--line); border-radius: var(--cl-r-md); }
.cl-search-empty .cl-chips { margin-top: 1rem; }
.cl-search-empty .cl-chips a { border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .45rem .9rem; text-decoration: none; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); }

/* My Account: kill the WooCommerce clearfix pseudo-elements (they were taking grid column 1) and go wide */
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
.woocommerce-account .entry-content > .woocommerce, .woocommerce-account .wp-block-post-content > .woocommerce { max-width: var(--wp--style--global--wide-size, 1240px) !important; margin-left: auto !important; margin-right: auto !important; }
.woocommerce-MyAccount-navigation li { padding: 0 !important; margin: 0 !important; }
.woocommerce-MyAccount-navigation li a { display: block; }
.woocommerce-account .woocommerce-notices-wrapper, .woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-error { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-orders-table { width: 100%; font-size: var(--wp--preset--font-size--small); }
.woocommerce-account .woocommerce-orders-table td, .woocommerce-account .woocommerce-orders-table th { padding: .8rem .6rem !important; vertical-align: middle; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { white-space: nowrap; }
.woocommerce-EditAccountForm .form-row { margin-bottom: 1rem; }
.woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last { width: calc(50% - .5rem) !important; }
.woocommerce-EditAccountForm label { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 600; margin-bottom: .35rem; }
.woocommerce-EditAccountForm .description, .woocommerce-account .woocommerce-form-row .description { font-style: normal; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.woocommerce-EditAccountForm fieldset { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); padding: 1rem 1.25rem; margin: 1.5rem 0; }
.woocommerce-EditAccountForm legend { font-weight: 700; padding: 0 .5rem; }

/* Footer product categories (live from WooCommerce) */
.clearline-footer .cl-footer-cats ul { list-style: none; padding: 0; margin: 0; }
.clearline-footer .cl-footer-cats li { margin-bottom: .45rem; }
.clearline-footer .cl-footer-cats a { color: var(--wp--preset--color--ink); text-decoration: none; display: inline-block; padding: .25rem 0; }
.clearline-footer .cl-footer-cats a:hover { color: var(--cl-accent-text); }
.clearline-footer .wp-block-list + .cl-footer-cats, .clearline-footer .cl-footer-cats + .wp-block-list { margin-top: 0; }

/* Sections: run children flush to the wide edge instead of a centered 720px column */
.cl-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.cl-section > .cl-eyebrow { text-align: left; }
.cl-section > h2 { max-width: 24ch; }
.cl-section > .cl-intro, .cl-section > p { max-width: 68ch; }
.cl-section > .is-style-panel { max-width: none; }
/* Section header row: heading left, link right, on the same baseline as the heading */
.cl-section-head { align-items: baseline !important; margin-bottom: .5rem; }
.cl-section-head h2 { margin: 0; }
.cl-section-head p { margin: 0; }

/* Live category tiles */
.cl-catgrid--live { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
a.cl-cat { display: block; text-decoration: none; color: inherit; }
a.cl-cat h3 { font-size: 1.1rem; margin: 0 0 .25rem; font-family: var(--wp--preset--font-family--display); font-weight: 600; color: var(--wp--preset--color--ink); }
a.cl-cat .cl-cat__desc { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
a.cl-cat .cl-browse { margin: .75rem 0 0; font-weight: 600; font-size: var(--wp--preset--font-size--small); color: var(--cl-accent-text); }

/* Compact featured cards */
.cl-featured .wc-block-product { padding: .5rem .5rem .75rem; }
.cl-featured .wc-block-components-product-image { margin-bottom: .6rem !important; }
.cl-featured .wc-block-components-product-image img { aspect-ratio: 5 / 4; }
.cl-featured .wc-block-product .wp-block-post-title { min-height: 0; margin: 0 .35rem .15rem !important; font-size: var(--wp--preset--font-size--small); -webkit-line-clamp: 2; }
.cl-featured .wc-block-components-product-price { margin: 0 .35rem .6rem !important; font-size: var(--wp--preset--font-size--small); }
.cl-featured .wc-block-components-product-button { margin-top: auto !important; padding: 0 .35rem; }
.cl-featured .wc-block-components-product-button .wp-block-button__link { padding: .55rem 1rem; font-size: var(--wp--preset--font-size--small); }
.cl-featured .clearline-chip, .cl-featured .cl-stock { font-size: .65rem; padding: .2rem .45rem; }
.cl-featured .wc-block-product-template { gap: 1rem !important; }
.cl-featured.cl-section { padding-top: var(--wp--preset--spacing--40) !important; }
@media (min-width: 1100px) { .cl-featured .wc-block-product-template { grid-template-columns: repeat(4, 1fr) !important; max-width: 1080px; margin-inline: auto; } }

/* Category tiles v2: image (or icon) on top, text below */
a.cl-cat { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
a.cl-cat .cl-cat__media { display: block; aspect-ratio: 4 / 3; background: var(--wp--preset--color--glacier); overflow: hidden; }
a.cl-cat .cl-cat__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--cl-ease); }
a.cl-cat:hover .cl-cat__media img { transform: scale(1.04); }
a.cl-cat .cl-cat__media--icon { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; }
a.cl-cat .cl-cat__media--icon .cl-cat-icon { margin: 0; width: 56px; height: 56px; }
a.cl-cat .cl-cat__body { display: block; padding: 1rem 1.25rem 1.25rem; }
a.cl-cat .cl-num { display: block; margin-bottom: .35rem; }
a.cl-cat .cl-cat__title { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.05rem; color: var(--wp--preset--color--ink); margin-bottom: .2rem; line-height: 1.25; }
a.cl-cat .cl-cat__desc { display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
a.cl-cat .cl-browse { display: block; margin-top: .6rem; }
.cl-catgrid--live { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }

/* Page heroes and tinted panels: flush left inside their own box, not a centered 720px column */
.cl-page-hero.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.is-style-panel.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.cl-rnotice.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.cl-page-hero--left .cl-lead { max-width: 60ch; }
.cl-page-hero--left .cl-intro { max-width: 68ch; }
.cl-page-hero:not(.cl-page-hero--left) > * { text-align: center; margin-inline: auto !important; }
.cl-page-hero:not(.cl-page-hero--left) .cl-lead { max-width: 60ch; }
.is-style-panel p, .cl-rnotice p { max-width: 80ch; }
.cl-section > .is-style-panel, .cl-section > .cl-rnotice { margin-top: 1.5rem; }

/* Long-form reading size: 16px for page copy (About, policies), 17px stays for UI-adjacent text */
.page:not(.woocommerce-page) .wp-block-post-content > p,
.page:not(.woocommerce-page) .wp-block-post-content > ul, .page:not(.woocommerce-page) .wp-block-post-content > ol,
.cl-page-hero .cl-intro, .cl-section > .cl-intro, .cl-section > p, .is-style-panel p, .cl-rnotice p,
.cl-list-x, .cl-checks-2col { font-size: 1rem; line-height: 1.65; }
.cl-page-hero .cl-lead { font-size: 1.125rem; }

/* ============ Order confirmation ============ */
.cl-confirm.is-layout-constrained > * { max-width: var(--wp--style--global--wide-size, 1240px) !important; }
.cl-confirm__hero { text-align: left; }
.cl-confirm__hero.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; }
.cl-confirm__check { display: inline-flex; width: 48px; height: 48px; border-radius: 50%; background: var(--wp--preset--color--verified); color: #fff; align-items: center; justify-content: center; margin-bottom: 1rem; }
.cl-confirm__hero h1 { margin-bottom: .5rem; }
.cl-confirm__hero .cl-lead { max-width: 60ch; margin-bottom: 0; }
/* hide the duplicate "Order received" heading + generic thank-you from the status block */
.cl-confirm .wc-block-order-confirmation-status h1, .cl-confirm .wc-block-order-confirmation-status > p { display: none; }
.cl-confirm .wc-block-order-confirmation-status .wc-block-order-confirmation-status__failed, .cl-confirm .wc-block-order-confirmation-status .woocommerce-notice { display: block; margin-top: 1rem; }
/* summary strip as a card grid (WooCommerce puts the cells in an inner <ul>) */
.cl-confirm__summary { margin: 1.75rem auto !important; }
.cl-confirm__summary.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.cl-confirm__summary .wc-block-order-confirmation-summary { margin: 0; padding: 0; width: 100%; }
.cl-confirm__summary .wc-block-order-confirmation-summary-list { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0 !important; margin: 0; padding: 0; list-style: none; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); overflow: hidden; background: var(--wp--preset--color--base); }
.cl-confirm__summary .wc-block-order-confirmation-summary-list-item { display: block !important; margin: 0 !important; padding: 1rem 1.25rem !important; border: 0 !important; border-right: 1px solid var(--wp--preset--color--line) !important; font-size: var(--wp--preset--font-size--small); text-align: left !important; width: auto !important; flex: none !important; }
.cl-confirm__summary .wc-block-order-confirmation-summary-list-item:last-child { border-right: 0 !important; }
.cl-confirm__summary .wc-block-order-confirmation-summary-list-item__key { display: block; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); font-weight: 500; margin-bottom: .2rem; text-transform: uppercase; letter-spacing: .04em; }
.cl-confirm__summary .wc-block-order-confirmation-summary-list-item__value { display: block; font-weight: 600; word-break: break-word; }
@media (max-width: 700px) { .cl-confirm__summary .wc-block-order-confirmation-summary-list { grid-template-columns: 1fr 1fr; } .cl-confirm__summary .wc-block-order-confirmation-summary-list-item { border-bottom: 1px solid var(--wp--preset--color--line) !important; } }
/* cards */
.cl-confirm__card.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.cl-confirm__card h2, .cl-confirm__card h3 { font-size: var(--wp--preset--font-size--large); margin: 0 0 1rem; }
.cl-confirm__card .wc-block-order-confirmation-totals table { width: 100%; border: 0; font-size: var(--wp--preset--font-size--small); }
.cl-confirm__card .wc-block-order-confirmation-totals th, .cl-confirm__card .wc-block-order-confirmation-totals td { padding: .8rem 0 !important; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.cl-confirm__card .wc-block-order-confirmation-totals thead th { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.cl-confirm__card .wc-block-order-confirmation-totals tfoot th { font-weight: 500; color: var(--wp--preset--color--muted); }
.cl-confirm__card .wc-block-order-confirmation-totals tfoot tr:last-child th, .cl-confirm__card .wc-block-order-confirmation-totals tfoot tr:last-child td { font-weight: 700; font-size: 1.05rem; color: var(--wp--preset--color--ink); border-bottom: 0; }
.cl-confirm__card .wc-block-order-confirmation-totals td:last-child, .cl-confirm__card .wc-block-order-confirmation-totals th:last-child { text-align: right; }
.cl-confirm__card .wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__product a { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 600; }
.cl-confirm__card .wc-block-order-confirmation-totals .product-quantity { color: var(--wp--preset--color--muted); font-weight: 500; }
.cl-confirm__card .wc-item-meta, .cl-confirm__card .wc-block-order-confirmation-totals dl { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); margin: .25rem 0 0; }
.cl-confirm__card .wc-block-order-confirmation-shipping-address, .cl-confirm__card .wc-block-order-confirmation-billing-address { margin-bottom: 1.25rem; }
.cl-confirm__card address { font-style: normal; line-height: 1.5; font-size: var(--wp--preset--font-size--small); }
.cl-confirm__card .wc-block-order-confirmation-shipping-wrapper h2, .cl-confirm__card .wc-block-order-confirmation-billing-wrapper h2, .cl-confirm__card .wc-block-order-confirmation-additional-information h2 { font-size: var(--wp--preset--font-size--small); text-transform: uppercase; letter-spacing: .04em; color: var(--wp--preset--color--muted); margin: 0 0 .35rem; }
.cl-confirm__next { margin-top: 1.25rem; }
.cl-confirm__next.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; }
.cl-confirm__next h3 { font-size: var(--wp--preset--font-size--medium); margin-bottom: .5rem; }
.cl-confirm__next ul { font-size: var(--wp--preset--font-size--small); margin-bottom: .75rem; }
.cl-confirm__account { margin-top: 1.25rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-md); padding: 1.25rem; }
.cl-confirm__account h3 { font-size: var(--wp--preset--font-size--medium); margin: 0 0 .35rem; }
.cl-confirm__account p { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.cl-confirm__account .wc-block-components-button { width: 100%; margin-top: .5rem; }

/* confirmation polish */
.cl-confirm__check { width: 40px; height: 40px; margin-bottom: .75rem; }
.cl-confirm__hero h1 { font-size: var(--wp--preset--font-size--xx-large); }
.cl-confirm__hero .cl-lead { max-width: 56ch; font-size: 1.0625rem; }
.cl-confirm__card { padding: 1.5rem; }
.cl-confirm__card h2 { font-size: var(--wp--preset--font-size--large) !important; margin-bottom: .75rem; }
.cl-confirm__label { font-size: var(--wp--preset--font-size--xs) !important; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--muted); margin: 0 0 .4rem !important; font-weight: 600; }
.cl-confirm__card .wc-block-order-confirmation-shipping-address, .cl-confirm__card .wc-block-order-confirmation-billing-address { border: 0 !important; padding: 0 !important; margin: 0 0 1.25rem !important; font-size: var(--wp--preset--font-size--small); }
.cl-confirm__card .wc-block-order-confirmation-shipping-wrapper + .wc-block-order-confirmation-billing-wrapper { padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--line); }
.cl-confirm__card .wc-block-order-confirmation-totals .wc-item-meta li, .cl-confirm__card .wc-block-order-confirmation-totals .wc-item-meta p { font-size: var(--wp--preset--font-size--xs); margin: 0; }
.cl-confirm__card .wc-block-order-confirmation-totals .wc-item-meta strong { font-weight: 600; }
.cl-confirm__card .wc-block-order-confirmation-totals tfoot th, .cl-confirm__card .wc-block-order-confirmation-totals tfoot td { padding: .6rem 0 !important; }

/* Hero as tinted panel by default (Vial texture remains a selectable style) */
.cl-hero.is-style-panel { border-radius: var(--cl-r-lg); }
.cl-hero.is-style-panel.is-layout-constrained > * { max-width: none !important; }
/* Order confirmation: smaller scale */
.cl-confirm { --cl-confirm-pad: 1.25rem; }
.cl-confirm__hero h1 { font-size: var(--wp--preset--font-size--x-large) !important; margin-bottom: .35rem; }
.cl-confirm__hero .cl-lead { font-size: var(--wp--preset--font-size--small); max-width: 60ch; }
.cl-confirm__check { width: 32px; height: 32px; margin-bottom: .5rem; }
.cl-confirm__check svg { width: 18px; height: 18px; }
.cl-confirm__summary { margin: 1.25rem auto !important; }
.cl-confirm__summary .wc-block-order-confirmation-summary-list-item { padding: .7rem 1rem !important; font-size: var(--wp--preset--font-size--xs); }
.cl-confirm__summary .wc-block-order-confirmation-summary-list-item__value { font-size: var(--wp--preset--font-size--small); }
.cl-confirm__card { padding: var(--cl-confirm-pad); }
.cl-confirm__card .wp-block-heading, .cl-confirm__card h2.wp-block-heading { font-size: var(--wp--preset--font-size--medium) !important; font-weight: 700; margin: 0 0 .5rem !important; }
.cl-confirm__card .wc-block-order-confirmation-totals table { font-size: var(--wp--preset--font-size--xs); }
.cl-confirm__card .wc-block-order-confirmation-totals th, .cl-confirm__card .wc-block-order-confirmation-totals td { padding: .6rem 0 !important; }
.cl-confirm__card .wc-block-order-confirmation-totals tfoot tr:last-child th, .cl-confirm__card .wc-block-order-confirmation-totals tfoot tr:last-child td { font-size: var(--wp--preset--font-size--medium); }
.cl-confirm__card address, .cl-confirm__card .wc-block-order-confirmation-shipping-address, .cl-confirm__card .wc-block-order-confirmation-billing-address { font-size: var(--wp--preset--font-size--xs); line-height: 1.45; }
.cl-confirm__label { margin-bottom: .25rem !important; }
.cl-confirm__next { padding: var(--cl-confirm-pad); margin-top: 1rem; }
.cl-confirm__next h3, .cl-confirm__account h3 { font-size: var(--wp--preset--font-size--small) !important; }
.cl-confirm__next ul, .cl-confirm__next p, .cl-confirm__account p { font-size: var(--wp--preset--font-size--xs); }
.cl-confirm__account { padding: var(--cl-confirm-pad); margin-top: 1rem; }
.cl-confirm.is-layout-constrained > * { max-width: 1080px !important; }
.cl-confirm { padding-top: var(--wp--preset--spacing--40) !important; }

/* Payment loader */
.cl-pay-cover { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; gap: .75rem; background: var(--wp--preset--color--base); border-radius: var(--cl-r-md); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); transition: opacity .25s; }
.cl-pay-cover.is-done { opacity: 0; pointer-events: none; }
.cl-pay-cover__spin { width: 18px; height: 18px; border: 2px solid var(--wp--preset--color--line); border-top-color: var(--cl-accent); border-radius: 50%; animation: cl-spin .8s linear infinite; }
@keyframes cl-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cl-pay-cover__spin { animation: none; } }

.cl-confirm__title { display: flex; align-items: center; gap: .75rem; }
.cl-confirm__title .cl-confirm__check { flex: none; margin: 0; width: 34px; height: 34px; }

/* ============ Header v2 ============ */
.clearline-announce { font-family: var(--wp--preset--font-family--sans); font-size: 13px; letter-spacing: 0; padding: .4rem 0; }
.clearline-announce__inner { align-items: center; }
.clearline-announce p { margin: 0; flex: 1; text-align: center; }
.clearline-announce .cl-mode { width: 28px; height: 28px; border-color: rgba(255,255,255,.25); color: #fff; flex: none; }
.clearline-announce .cl-mode:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.5); }
.clearline-header { padding: 0; }
.clearline-header__inner { min-height: 72px; align-items: center; gap: 2rem; transition: min-height .2s var(--cl-ease); }
.clearline-header.is-compact .clearline-header__inner { min-height: 56px; }
.clearline-header__left { align-items: center; gap: 2rem; }
.cl-logo { display: inline-flex; align-items: center; line-height: 0; }
.cl-logo img { height: 40px; width: auto; transition: height .2s var(--cl-ease); }
.clearline-header.is-compact .cl-logo img { height: 32px; }
.clearline-nav { font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.clearline-nav .wp-block-navigation-item__content { padding: .35rem 0; border-bottom: 2px solid transparent; }
.clearline-nav .wp-block-navigation-item__content:hover, .clearline-nav .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--cl-accent); }
.clearline-nav .cl-shop-menu > .wp-block-navigation-item__content { font-weight: 600; }
.clearline-nav .wp-block-navigation__submenu-icon { margin-left: .2rem; }
.clearline-nav .wp-block-navigation__submenu-container { background: var(--wp--preset--color--base) !important; border: 1px solid var(--wp--preset--color--line) !important; border-radius: var(--cl-r-md); box-shadow: 0 12px 32px -12px rgba(22,32,43,.25); padding: .5rem !important; min-width: 220px !important; margin-top: .5rem; }
.clearline-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: .5rem .75rem !important; border-radius: var(--cl-r-sm); border-bottom: 0; color: var(--wp--preset--color--ink) !important; font-weight: 500; }
.clearline-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--glacier); }
.clearline-nav .wp-block-navigation__submenu-container > li:first-child .wp-block-navigation-item__content { font-weight: 600; border-bottom: 1px solid var(--wp--preset--color--line) !important; border-radius: 0; margin-bottom: .25rem; padding-bottom: .6rem !important; }
/* Actions: one icon style */
.clearline-header__actions { gap: .25rem; align-items: center; }
.clearline-header__actions > * { margin: 0 !important; }
.clearline-header__actions .wp-block-search__button, .clearline-header__actions .wc-block-customer-account__account-icon, .clearline-header__actions .wc-block-mini-cart__button { width: 40px; height: 40px; border-radius: 50%; border: 0; background: transparent; color: var(--wp--preset--color--ink); display: inline-flex; align-items: center; justify-content: center; padding: 0; transition: background .15s; }
.clearline-header__actions .wp-block-search__button:hover, .clearline-header__actions .wc-block-customer-account__account-icon:hover, .clearline-header__actions .wc-block-mini-cart__button:hover { background: var(--wp--preset--color--glacier); }
.clearline-header__actions svg { width: 22px; height: 22px; stroke-width: 1.75; }
.clearline-header__actions .wc-block-customer-account__account-icon svg, .clearline-header__actions .wc-block-mini-cart__icon { color: var(--wp--preset--color--ink); fill: none; stroke: currentColor; }
.clearline-header__actions .wc-block-mini-cart__icon path { stroke: currentColor; }
.clearline-header__actions .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper { border: 0; }
.clearline-header__actions .wp-block-search__input { border-radius: 999px; height: 36px; margin-right: .25rem; }
.wc-block-mini-cart__badge { top: 2px; right: 2px; min-width: 18px; height: 18px; font-size: 11px; font-weight: 700; }
.wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--ink); }
@media (max-width: 781px) { .clearline-header__left { gap: .75rem; } .cl-logo img { height: 34px; } .clearline-announce p { font-size: 12px; } }

/* ============ Measure + scale, 2.0.1 ============ */
/* Paragraph width caps must beat the flush-left !important rules */
.cl-section > p, .cl-section > .cl-intro, .cl-page-hero > p, .cl-page-hero > .cl-intro, .cl-page-hero > .cl-lead,
.wp-block-post-content > p, .is-style-panel > p, .cl-rnotice > p, .cl-hero-cols .cl-lead { max-width: 66ch !important; }
.cl-page-hero > .cl-lead, .cl-hero-cols .cl-lead { max-width: 56ch !important; }
.cl-hero:not(:has(.cl-hero-img img)) .cl-hero-cols .cl-lead { margin-inline: auto !important; }
/* Home hero keeps its display size; every other H1 is 40 */
.cl-hero h1 { font-size: clamp(2.25rem, 4.5vw, 3.25rem); }
/* Cards: title 18, body 15 */
.is-style-card h3, .cl-numcard h3, .cl-cat h3, .cl-confirm__card h3, .wp-block-columns .is-style-card .wp-block-heading { font-size: 1.125rem !important; line-height: 1.3; }
.is-style-card p:not(.cl-num), .cl-numcard p:not(.cl-num), .wp-block-columns .is-style-card p:not(.cl-num) { font-size: .9375rem !important; line-height: 1.55; }
/* Long-form copy 15 */
.page:not(.woocommerce-page) .wp-block-post-content > p, .cl-page-hero .cl-intro, .cl-section > .cl-intro, .cl-section > p, .is-style-panel p, .cl-rnotice p, .cl-list-x, .cl-checks-2col, .wp-block-details > :not(summary) { font-size: .9375rem !important; }
.cl-page-hero .cl-lead { font-size: 1.0625rem !important; }
.cl-eyebrow { font-size: .7rem; }
.cl-section > h2, .cl-page-hero h1 + .cl-lead { margin-top: 0; }

/* Fixed scale (fluid typography off); only H1/H2 step down on phones */
@media (max-width: 600px) { h1, .wp-block-heading.has-xx-large-font-size { font-size: 1.875rem !important; } h2, .wp-block-heading.has-x-large-font-size { font-size: 1.5rem !important; } .cl-hero h1 { font-size: 2rem !important; } }

/* ============ Compact scale, 2.1.0 ============ */
html { font-size: 16px; }
.cl-hero h1 { font-size: clamp(2rem, 3.6vw, 2.75rem) !important; }
.cl-hero .cl-lead, .cl-hero-cols .cl-lead { font-size: 1.0625rem !important; }
.cl-page-hero .cl-lead { font-size: 1rem !important; }
.cl-section > h2, .cl-section-head h2, .cl-confirm__hero h1 { font-size: 1.5rem !important; }
.cl-section > .cl-intro, .cl-section > p, .cl-page-hero .cl-intro, .is-style-panel p, .cl-rnotice p, .wp-block-details > :not(summary), .page:not(.woocommerce-page) .wp-block-post-content > p, .cl-list-x, .cl-checks-2col, .wp-block-columns p.has-text-color { font-size: .875rem !important; line-height: 1.6; }
.is-style-card h3, .cl-numcard h3, .cl-cat h3, .cl-cat__title, .wp-block-columns .is-style-card .wp-block-heading { font-size: 1rem !important; }
.is-style-card p:not(.cl-num), .cl-numcard p:not(.cl-num), .wp-block-columns .is-style-card p:not(.cl-num), .cl-cat__desc { font-size: .8125rem !important; }
.is-style-checks li, .clearline-trust li { font-size: .875rem; }
.wp-block-details summary { font-size: .9375rem; }
.cl-eyebrow { font-size: .6875rem; margin-bottom: .5rem; }
.clearline-stats strong { font-size: 1.25rem; }
.clearline-stats span { font-size: .8125rem; }
.cl-coa-card, .cl-coa-row, .cl-coa-head small, .cl-coa-foot small { font-size: .8125rem; }
.cl-coa-head strong { font-size: 1rem; }
.wp-element-button, .wp-block-button__link, .wc-block-components-button, .single-product form.cart .single_add_to_cart_button, .cl-form button, .cl-signup form button { font-size: .875rem !important; }
.single-product form.cart .single_add_to_cart_button { padding: .8rem 1.25rem; }
.clearline-product .wp-block-post-title { font-size: 1.5rem !important; }
.clearline-product .wc-block-components-product-price, .clearline-product .price { font-size: 1.25rem !important; }
.clearline-product .wp-block-post-excerpt__excerpt { font-size: .9375rem; }
.cl-shop h1 { font-size: 1.5rem !important; }
.is-style-card { padding: 1.25rem; }
.is-style-panel { padding: clamp(1.25rem, 3vw, 2rem); }
.cl-section { padding-top: var(--wp--preset--spacing--50) !important; }
.cl-hero { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--50) !important; }
.cl-signup__copy h3 { font-size: 1rem; }
.clearline-footer, .clearline-footer h4 { font-size: .8125rem; }
@media (max-width: 600px) { .cl-hero h1 { font-size: 1.75rem !important; } h1 { font-size: 1.625rem !important; } h2, .cl-section > h2 { font-size: 1.25rem !important; } }

/* ============ 2.1.2 CRO audit fixes ============ */
/* PDP on phones: cap the gallery so title, price and Add to cart land in the first viewport. */
@media (max-width: 600px) {
  .clearline-product .wp-block-woocommerce-product-image-gallery { max-width: 240px; margin-inline: auto; }
  .clearline-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image img { aspect-ratio: 1 / 1; object-fit: contain; }
  .clearline-product > .wp-block-column + .wp-block-column { margin-top: .75rem; }
  .clearline-product h1 { margin-bottom: .25rem; }
  body.cl-sticky-on main { padding-bottom: 5.5rem; } /* keep the sticky bar off the trust list */
}
/* Sticky bar: bigger tap target, busy state */
.clearline-sticky-atc__btn { min-height: 44px; display: inline-flex; align-items: center; padding-inline: 1.25rem; }
.clearline-sticky-atc__btn[aria-busy="true"] { opacity: .6; pointer-events: none; }
/* Announcement bar is a commercial claim now; give it a touch more weight */
.clearline-announce p { font-weight: 500; letter-spacing: .01em; }

/* ============ 2.1.3 Long-form pages (policies) ============ */
/* Default page template: title + copy sit at the wide (1240px) margin, flush left like About;
   reading width capped at 72ch; H2 is a section label (20px), not a display heading; copy 15px. */
.page-template-default:not(.woocommerce-page) main > .wp-block-post-title,
.page-template-default:not(.woocommerce-page) main > .wp-block-post-content,
.page-template-default:not(.woocommerce-page) main > .wp-block-post-featured-image { max-width: var(--wp--style--global--wide-size, 1240px) !important; margin-left: auto !important; margin-right: auto !important; }
.page-template-default:not(.woocommerce-page) main > .wp-block-post-title { font-size: 2rem !important; margin-bottom: .5rem; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > * { margin-left: 0 !important; margin-right: auto !important; max-width: 72ch !important; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > h2 { font-size: 1.25rem !important; line-height: 1.25; margin: 2rem 0 .5rem; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > h3 { font-size: 1.0625rem !important; margin: 1.5rem 0 .4rem; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > p,
.page-template-default:not(.woocommerce-page) .wp-block-post-content > ul,
.page-template-default:not(.woocommerce-page) .wp-block-post-content > ol { font-size: .9375rem !important; line-height: 1.6; color: var(--wp--preset--color--ink); }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > p { margin: 0 0 .9rem; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > ul,
.page-template-default:not(.woocommerce-page) .wp-block-post-content > ol { padding-left: 1.25rem; margin: 0 0 1rem; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > ul li { margin-bottom: .3rem; }
.page-template-default:not(.woocommerce-page) .wp-block-post-content > p.has-small-font-size { font-size: .8125rem !important; margin-bottom: 1.5rem; }
@media (max-width: 600px) { .page-template-default:not(.woocommerce-page) .wp-block-post-content > h2 { font-size: 1.125rem !important; } }

/* ============ 2.1.4 Valhalla backdrop (wallpaper, not art) ============ */
/* Fixed misty-water watercolor behind the whole site at 20–35% opacity with a solid wash on top.
   html carries the base colour, body goes transparent, the image lives on body::before at z -1 so
   every section, card and product photo paints over it. Remove this block to go back to flat. */
html { background: var(--wp--preset--color--base); }
body { background: transparent !important; position: relative; }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: url("../img/backdrop.jpg") center 60% / cover no-repeat;
  opacity: .45;
}
body::after {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: rgba(248, 244, 238, .55);
}
[data-theme="dark"] body::before { opacity: .36; filter: saturate(.7) brightness(.7) contrast(1.1); }
[data-theme="dark"] body::after { background: rgba(18, 16, 14, .58); }
/* z-index:-1 needs a root stacking context so the layers sit under body content, not under html */
body { isolation: isolate; }
@media (prefers-reduced-motion: no-preference) { body::before { will-change: auto; } }
@media print { body::before, body::after { display: none; } }

/* ============ 2.1.6 Backdrop exclusions ============ */
/* Flat ground on checkout (payment form) and on phones (column covers the image; fixed layers cost scroll perf on iOS). */
body.woocommerce-checkout::before, body.woocommerce-checkout::after { display: none; }
@media (max-width: 781px) { body::before, body::after { display: none; } }

/* ============ 2.1.7 Checkout trust line + search ============ */
.cl-checkout-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1.25rem; margin: .85rem 0 0; font-size: .8125rem; color: var(--wp--preset--color--muted); text-align: center; }
.cl-checkout-trust a { color: inherit; text-decoration: underline; }

/* ============ 2.1.8 Dark mode: warm product tiles ============ */
/* Packshots are on baked-in white. In dark mode give the tile a warm off-white fill and multiply
   the image over it: white pixels take the tile colour, the vial and label barely move. */
[data-theme="dark"] .wc-block-components-product-image,
[data-theme="dark"] .wc-block-grid__product-image,
[data-theme="dark"] .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image,
[data-theme="dark"] .wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-large-image,
[data-theme="dark"] .wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-thumbnails__thumbnail,
[data-theme="dark"] .wc-block-cart-item__image,
[data-theme="dark"] .wc-block-components-order-summary-item__image,
[data-theme="dark"] .wc-block-mini-cart__products-table .wc-block-cart-item__image,
[data-theme="dark"] .clearline-sticky-atc__inner img,
[data-theme="dark"] .cl-coa-table img { background: #EFEBE4; border-radius: var(--cl-r-sm, 8px); overflow: hidden; }
[data-theme="dark"] .wc-block-components-product-image img,
[data-theme="dark"] .wc-block-grid__product-image img,
[data-theme="dark"] .wp-block-woocommerce-product-image-gallery img,
[data-theme="dark"] .wc-block-cart-item__image img,
[data-theme="dark"] .wc-block-components-order-summary-item__image img,
[data-theme="dark"] .clearline-sticky-atc__inner img { mix-blend-mode: multiply; }
/* keep the hover-swap image on the same tile */
[data-theme="dark"] .wc-block-components-product-image .clearline-hover-img { mix-blend-mode: multiply; }
/* lightbox stays neutral */
[data-theme="dark"] .wc-block-product-gallery-dialog img, [data-theme="dark"] .pswp img { mix-blend-mode: normal; }
/* 2.1.8b: an earlier dark rule paints the <img> itself dark; multiply needs the warm tile under the pixels */
[data-theme="dark"] .wp-block-woocommerce-product-image-gallery img,
[data-theme="dark"] .wc-block-components-product-image img,
[data-theme="dark"] .wc-block-grid__product-image img,
[data-theme="dark"] .wc-block-cart-item__image img,
[data-theme="dark"] .wc-block-components-order-summary-item__image img,
[data-theme="dark"] .clearline-sticky-atc__inner img { background: #EFEBE4 !important; }

/* ============ 2.2.5 Dark mode: deep metallic jade backdrop (2.2.6, 2.2.8: two notches darker, tighter glint) ============ */
/* Replaces the brown dark-mode wash (2.1.4) with a deep metallic jade, NY Jets "Gotham Green"
   (#125740) territory. Light mode is untouched; checkout and phones stay flat (2.1.6).

   Three parts:
   1. body::before (the mountains) is retinted in place. brightness() runs FIRST so the light
      watercolor is pulled down before sepia(); tinting a bright image clips the red channel and
      that is what read as lime. sepia + hue-rotate(110deg) lands the midtones at hue ~160
      (jade/teal); modelled: sky ~#459179, mist ~#316D5A, ridge ~#173E32, shadow ~#021912.
   2. body::after becomes a metallic sheen with mix-blend-mode: overlay, so it multiplies the
      shadows and screens the highlights of the image underneath instead of fogging it with a
      flat tint (that fog is why the mountains disappeared in 2.2.2/2.2.3). Layers, top down:
        - brushed grain: 4px diagonal pitch, +/-4% (the "metal" texture, keep it faint)
        - gold warmth inside the main highlight, ties the metal to the brand gold
        - the sheen itself: one broad specular band at ~33% and a weaker second band at ~70%,
          shadow everywhere else (the narrow rim line was removed in 2.2.10)
        - radial vignette centred high so the hero glows and the catalogue below sits on
          deeper metal (text contrast for headings/labels placed straight on the backdrop)
   3. html ground is a near-black green (the 12% the image lets through, plus rubber-band
      overscroll on Mac). NB the theme attribute is on <html>, so this must be html[data-theme].

   To tune: image depth = brightness()/opacity; shine = the rgba alphas in the third gradient;
   texture = the .04 values in the repeating gradient. Delete this block for the brown wash. */
html[data-theme="dark"] { background: #061A13; }
[data-theme="dark"] body::before {
  opacity: .88;
  filter: brightness(.36) sepia(1) hue-rotate(110deg) saturate(1.5) contrast(1.2);
}
[data-theme="dark"] body::after {
  mix-blend-mode: overlay;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 1px, rgba(0,0,0,.04) 1px 2px, transparent 2px 4px),
    linear-gradient(115deg, transparent 25%, rgba(217,169,59,.07) 33%, transparent 42%),
    linear-gradient(115deg,
      rgba(0,0,0,.60) 0%, rgba(0,0,0,.46) 16%,
      rgba(150,235,200,.10) 28%, rgba(170,240,210,.18) 33%, rgba(160,235,205,.11) 36%,
      rgba(0,0,0,.40) 44%,
      rgba(0,0,0,.54) 58%, rgba(120,210,175,.08) 70%, rgba(0,0,0,.48) 76%, rgba(0,0,0,.66) 100%),
    radial-gradient(ellipse 120% 90% at 50% 25%, transparent 30%, rgba(0,0,0,.52) 100%);
}

/* ============ 2.2.7 Dark mode: calm catalogue, lifted muted text, green-black chrome ============ */
/* Conversion pass on the jade backdrop (2.2.5/2.2.6). Drama where the site pitches (home, about,
   lab testing, FAQ, contact); calm where the shopper decides.
   1. Muted text lifted one step (#9AA7B5 -> #B8C3CE): ~5.4:1 on mid jade, ~10:1 on cards.
   2. Header, announce bar and footer tinted toward green-black so the chrome belongs to the
      ground instead of sitting on it as neutral charcoal. Checkout header is untouched.
   3. Catalogue pages (shop, category/tag archives, product, cart, account, search) drop the
      specular band and rim: image a touch deeper, only the grain, a faint broad lift and a
      stronger vignette. Text placed straight on the backdrop (filters, result count, short
      description) no longer crosses a highlight. */
:root[data-theme="dark"], [data-theme="dark"] body, [data-theme="dark"] .editor-styles-wrapper { --wp--preset--color--muted: #B8C3CE; }
[data-theme="dark"] .clearline-header { background: #0B1714; border-bottom-color: #1B2E27; }
[data-theme="dark"] .clearline-announce { background: #030A08; }
[data-theme="dark"] .clearline-footer { background: #0B1714; border-top-color: #1B2E27; }
[data-theme="dark"] body.woocommerce-shop::before,
[data-theme="dark"] body.post-type-archive-product::before,
[data-theme="dark"] body.tax-product_cat::before,
[data-theme="dark"] body.tax-product_tag::before,
[data-theme="dark"] body.single-product::before,
[data-theme="dark"] body.woocommerce-cart::before,
[data-theme="dark"] body.woocommerce-account::before,
[data-theme="dark"] body.search::before {
  filter: brightness(.36) sepia(1) hue-rotate(110deg) saturate(1.5) contrast(1.2);
}
[data-theme="dark"] body.woocommerce-shop::after,
[data-theme="dark"] body.post-type-archive-product::after,
[data-theme="dark"] body.tax-product_cat::after,
[data-theme="dark"] body.tax-product_tag::after,
[data-theme="dark"] body.single-product::after,
[data-theme="dark"] body.woocommerce-cart::after,
[data-theme="dark"] body.woocommerce-account::after,
[data-theme="dark"] body.search::after {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 1px, rgba(0,0,0,.04) 1px 2px, transparent 2px 4px),
    linear-gradient(115deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.38) 30%, rgba(120,200,165,.06) 48%, rgba(0,0,0,.42) 66%, rgba(0,0,0,.62) 100%),
    radial-gradient(ellipse 120% 90% at 50% 20%, transparent 22%, rgba(0,0,0,.58) 100%);
}

/* ============ 2.2.9 / 2.2.10 / 2.2.11 Backdrop image: vial filling line ============ */
/* Swaps the misty-mountain watercolor for assets/img/backdrop-line-jade.jpg, an owner-supplied
   close-up render of a vial filling line that is already graded deep jade (1792x1008, 1px
   softening only). Because the image is already dark and green, dark mode bypasses the 2.2.5
   tint chain (which would crush it to black) and uses a gentle filter; the metallic sheen on
   body::after still applies. Catalogue pages get it a step darker (replaces the 2.2.7 filter for
   those pages). Light mode lifts and desaturates it into a faint warm grey under the parchment
   wash. backdrop-line.jpg (silver render, 2.2.10) and backdrop.jpg (mountains) are still in the
   theme; point background-image at either to switch back. */
body::before { background-image: url("../img/backdrop-line-jade.jpg"); background-position: center 50%; }
:root:not([data-theme="dark"]) body::before { opacity: .18; filter: sepia(.35) saturate(.45) brightness(1.45) contrast(.85); }
[data-theme="dark"] body::before { opacity: .8; filter: saturate(1.05) brightness(.85) contrast(1.05); }
[data-theme="dark"] body.woocommerce-shop::before,
[data-theme="dark"] body.post-type-archive-product::before,
[data-theme="dark"] body.tax-product_cat::before,
[data-theme="dark"] body.tax-product_tag::before,
[data-theme="dark"] body.single-product::before,
[data-theme="dark"] body.woocommerce-cart::before,
[data-theme="dark"] body.woocommerce-account::before,
[data-theme="dark"] body.search::before { filter: saturate(1) brightness(.62) contrast(1.05); }

/* ============ 2.2.12 Dark mode: deep metallic blue (replaces the jade of 2.2.5-2.2.11) ============ */
/* Same structure as the jade treatment, colours moved to a deep sapphire/steel blue. The
   backdrop-line-jade.jpg render is green, so hue-rotate(60deg) carries it to ~215 degrees
   (blue); the sheen highlights, the catalogue lift, the html ground and the header/announce/
   footer tints follow. Light mode untouched. Delete this block to return to jade. */
html[data-theme="dark"] { background: #05111C; }
[data-theme="dark"] body::before { filter: hue-rotate(60deg) saturate(1.05) brightness(.85) contrast(1.05); }
[data-theme="dark"] body.woocommerce-shop::before,
[data-theme="dark"] body.post-type-archive-product::before,
[data-theme="dark"] body.tax-product_cat::before,
[data-theme="dark"] body.tax-product_tag::before,
[data-theme="dark"] body.single-product::before,
[data-theme="dark"] body.woocommerce-cart::before,
[data-theme="dark"] body.woocommerce-account::before,
[data-theme="dark"] body.search::before { filter: hue-rotate(60deg) saturate(1) brightness(.62) contrast(1.05); }
[data-theme="dark"] body::after {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 1px, rgba(0,0,0,.04) 1px 2px, transparent 2px 4px),
    linear-gradient(115deg, transparent 25%, rgba(217,169,59,.07) 33%, transparent 42%),
    linear-gradient(115deg,
      rgba(0,0,0,.60) 0%, rgba(0,0,0,.46) 16%,
      rgba(150,200,240,.10) 28%, rgba(170,210,250,.18) 33%, rgba(160,205,245,.11) 36%,
      rgba(0,0,0,.40) 44%,
      rgba(0,0,0,.54) 58%, rgba(120,175,220,.08) 70%, rgba(0,0,0,.48) 76%, rgba(0,0,0,.66) 100%),
    radial-gradient(ellipse 120% 90% at 50% 25%, transparent 30%, rgba(0,0,0,.52) 100%);
}
[data-theme="dark"] body.woocommerce-shop::after,
[data-theme="dark"] body.post-type-archive-product::after,
[data-theme="dark"] body.tax-product_cat::after,
[data-theme="dark"] body.tax-product_tag::after,
[data-theme="dark"] body.single-product::after,
[data-theme="dark"] body.woocommerce-cart::after,
[data-theme="dark"] body.woocommerce-account::after,
[data-theme="dark"] body.search::after {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 1px, rgba(0,0,0,.04) 1px 2px, transparent 2px 4px),
    linear-gradient(115deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.38) 30%, rgba(120,175,220,.06) 48%, rgba(0,0,0,.42) 66%, rgba(0,0,0,.62) 100%),
    radial-gradient(ellipse 120% 90% at 50% 20%, transparent 22%, rgba(0,0,0,.58) 100%);
}
[data-theme="dark"] .clearline-header { background: #0A1420; border-bottom-color: #1A2A3C; }
[data-theme="dark"] .clearline-announce { background: #03080E; }
[data-theme="dark"] .clearline-footer { background: #0A1420; border-top-color: #1A2A3C; }

/* ============ 2.2.13 Reading panels on the backdrop ============ */
/* Text that people read to decide gets a translucent card in that mode's card colour (base at
   90% + hairline + blur), so its contrast no longer depends on what part of the backdrop render
   sits behind it. Scoped to three places, deliberately not to headings or the home page:
     1. product page summary column (title, price, short description, stock, buy, trust strip)
     2. shop sidebar filters
     3. content column of the default and no-title page templates (About, FAQ, Lab Testing,
        Contact, policy pages). Cart, checkout, account, landing and the front page excluded.
   On the default template the panel hugs the 72ch reading width and lines up with the title at
   the wide margin. Below 782px the backdrop is off (2.1.6), so the panels are dropped too. */
.single-product .clearline-product > .wp-block-column:last-child,
.wp-block-woocommerce-product-filters,
.page:not(.woocommerce-page):not(.home):not(.page-template-page-landing) main > .wp-block-post-content {
  background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--cl-r-md);
  padding: 1.5rem 1.75rem;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.wp-block-woocommerce-product-filters { padding: 1.25rem; }
.page-template-default:not(.woocommerce-page) main > .wp-block-post-content {
  max-width: calc(72ch + 3.5rem) !important;
  margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1240px)) / 2)) !important;
  margin-right: auto !important;
}
@media (max-width: 781px) {
  .single-product .clearline-product > .wp-block-column:last-child,
  .wp-block-woocommerce-product-filters,
  .page:not(.woocommerce-page):not(.home):not(.page-template-page-landing) main > .wp-block-post-content {
    background: none; border: 0; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}

/* ============ 2.2.14 Reading panels on the home page ============ */
/* Same translucent card as 2.2.13, on the home-page text that sat straight on the render:
     .cl-section-intro  Why Us eyebrow + heading + intro (new wrapper group in why-us.php)
     .cl-doc-copy       Batch-Level Transparency copy column (className added in documentation.php),
                        now a card beside the COA card
     .cl-section--panel the whole FAQ section incl. the accordion rows (class added in faq.php)
     .cl-trust4         the four-item trust strip (no markup change)
   Featured Products / Shop by Category heads stay bare: one bold heading each, not reading text.
   Dropped below 782px with the backdrop. */
.cl-section-intro, .cl-doc-copy, .cl-section--panel, .cl-trust4 {
  background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--cl-r-md);
  padding: 1.5rem 1.75rem !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.cl-section-intro { margin-bottom: 1.5rem; }
.cl-section-intro > :last-child, .cl-doc-copy > :last-child { margin-bottom: 0 !important; }
.cl-section-intro > .cl-intro { font-size: .875rem !important; line-height: 1.6; }
.cl-section--panel { margin-top: var(--wp--preset--spacing--60); }
.cl-trust4 { border-top: 1px solid var(--wp--preset--color--line); }
@media (max-width: 781px) {
  .cl-section-intro, .cl-doc-copy, .cl-section--panel, .cl-trust4 {
    background: none; border: 0; padding: 0 !important; -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  .cl-section--panel { padding-top: var(--wp--preset--spacing--60) !important; }
  .cl-trust4 { border-top: 1px solid var(--wp--preset--color--line); padding-top: var(--wp--preset--spacing--40) !important; }
}

/* ============ 2.2.15 Light mode only, vial-line backdrop as is ============ */
/* Dark mode and the header toggle are gone (functions.php pins data-theme="light"). The backdrop is
   assets/img/backdrop-vials.jpg (owner-supplied silver/aqua filling line, 1872x1056) shown unaltered:
   full opacity, no filter, no parchment wash. Reading panels (2.2.13/2.2.14) still sit on top.
   Checkout and phones stay flat (2.1.6). Delete this block to return to the 2.2.11 light treatment. */
.cl-mode { display: none !important; }
body::before { background-image: url("../img/backdrop-vials.jpg"); background-position: center 50%; }
:root:not([data-theme="dark"]) body::before { opacity: 1; filter: none; }
:root:not([data-theme="dark"]) body::after { background: none; mix-blend-mode: normal; }

/* ============ 2.2.16 Card borders: 3px dark turquoise ============ */
/* Every card gets the same 3px weight as the Research-Use Notice rule (.cl-rnotice), in dark
   turquoise: product cards in every grid, category tiles, numbered cards, order-confirmation
   cards (all .is-style-card) and the COA card. Hover keeps the colour. */
:root { --cl-card-line: #0E7C7B; }
.is-style-card, .is-style-card:hover, a.cl-cat:hover,
.cl-coa-card,
.wc-block-product-template .wc-block-product, .wc-block-product-template .wc-block-product:hover,
.products-block-post-template > li, .cl-featured .wc-block-product { border: 3px solid var(--cl-card-line) !important; }
.wc-block-product-template .wc-block-product, .products-block-post-template > li { background: var(--wp--preset--color--base); border-radius: var(--cl-r-md); padding: .75rem; }

/* ============ 2.2.17 Card borders on every panel ============ */
/* Extends the 2.2.16 turquoise card border to every boxed surface: the hero and the Research-Use
   Notice (both .is-style-panel; the notice loses its amber left rule), the order-confirmation
   "next" panel, and the 2.2.13/2.2.14 reading panels (product summary, shop filters, page content
   column, Why Us intro, documentation copy, FAQ section, trust strip). Reading panels are still
   dropped below 782px, where they have no box. */
.is-style-panel, .cl-rnotice,
.single-product .clearline-product > .wp-block-column:last-child,
.wp-block-woocommerce-product-filters,
.page:not(.woocommerce-page):not(.home):not(.page-template-page-landing) main > .wp-block-post-content,
.cl-section-intro, .cl-doc-copy, .cl-section--panel, .cl-trust4 { border: 3px solid var(--cl-card-line) !important; }
@media (max-width: 781px) {
  .single-product .clearline-product > .wp-block-column:last-child,
  .wp-block-woocommerce-product-filters,
  .page:not(.woocommerce-page):not(.home):not(.page-template-page-landing) main > .wp-block-post-content,
  .cl-section-intro, .cl-doc-copy, .cl-section--panel { border: 0 !important; }
  .cl-trust4 { border: 0 !important; border-top: 1px solid var(--wp--preset--color--line) !important; }
}

/* ============ 2.2.19 Announce bar: dark turquoise ============ */
/* The thin top bar (free shipping line) is the card-border turquoise instead of ink. The main
   header stays light (the 2.2.18 turquoise header was reverted). */
.clearline-announce { background: var(--cl-card-line) !important; color: #fff; }

/* ============ 2.2.20 Gold text -> dark turquoise ============ */
/* Every gold text colour (hero "Research-Grade" .cl-gold, eyebrows, ghost links, link hovers,
   FAQ "+" marks) moves to the card-border turquoise so text, borders and the announce bar share
   one accent. #0E7C7B is 4.9:1 on white. Gold stays for the logo and filled buttons (--cl-accent). */
:root { --cl-accent-text: #0E7C7B; --cl-accent-text-hover: #0A5E5D; --cl-gold-display: #0E7C7B; }

/* ============ 2.2.21 Catalogue section heads on a panel ============ */
/* Featured Products and Shop by Category heads (eyebrow + h2 + View All link) were bare on the
   busiest part of the backdrop. They are now wrapped in .cl-section-intro (featured-products.php,
   categories.php), the same frosted, turquoise-bordered panel as Why Us. */
.cl-section-intro .cl-section-head { margin-bottom: 0; }

/* ============ 2.2.22 Page titles + shop toolbar on panels; featured head width ============ */
/* Page titles and the shop results/sort row sat bare on the backdrop and washed out. Each gets the
   frosted, turquoise-bordered reading panel, hugging its text and aligned to the wide margin:
   page / search / archive / 404 / cart / account titles (h1 direct in main), the product category
   and tag head (title + description wrapper), and .clearline-shop-head on shop, category and
   search results. The Featured Products head panel narrows to the 1080px product grid under it.
   Below 782px the backdrop is off, so these panels are dropped. */
@media (min-width: 782px) {
  main > h1.wp-block-heading, main > .wp-block-query-title, main > .wp-block-post-title,
  .cl-shop > .wp-block-group.alignwide:first-child {
    width: fit-content; max-width: min(100%, var(--wp--style--global--wide-size, 1240px)) !important;
    margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1240px)) / 2)) !important;
    margin-right: auto !important;
    padding: .6rem 1.25rem !important;
    background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
    border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  }
  .cl-shop > .wp-block-group.alignwide:first-child > :last-child { margin-bottom: 0; }
  .clearline-shop-head {
    align-items: center !important; padding: .5rem 1rem;
    background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
    border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  }
  .clearline-shop-head .wc-block-product-results-count { color: var(--wp--preset--color--ink) !important; }
  .cl-featured > .cl-section-intro { max-width: 1080px !important; margin-left: auto !important; margin-right: auto !important; }
}

/* ============ 2.2.23 Product page: breadcrumb, tabs, related head on panels ============ */
/* Same frosted turquoise-bordered panel for the remaining bare text: breadcrumbs (every template
   that has them), the Description / Additional information tabs block, and the heading of the
   Related products / upsell collection. 782px and up only, like the backdrop. */
@media (min-width: 782px) {
  .wc-block-breadcrumbs, .wp-block-woocommerce-product-details,
  .wp-block-woocommerce-product-collection > h2.wp-block-heading {
    background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
    border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  }
  .wc-block-breadcrumbs, .wp-block-woocommerce-product-collection > h2.wp-block-heading {
    width: fit-content; max-width: 100% !important; margin-right: auto !important;
  }
  .wc-block-breadcrumbs { padding: .4rem .9rem; margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1240px)) / 2)) !important; }
  .wc-block-breadcrumbs .woocommerce-breadcrumb { margin: 0; color: var(--wp--preset--color--ink); }
  .wp-block-woocommerce-product-details { padding: 1.25rem 1.75rem 1.5rem; }
  .wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li:not(.active) a { color: var(--wp--preset--color--ink) !important; }
  .wp-block-woocommerce-product-collection > h2.wp-block-heading { padding: .5rem 1.25rem; }
}

/* ============ 2.2.24 COA Library ([clearline_coa_library], inc/coa-library.php) ============ */
/* Lab banner, search + category chips, one turquoise-bordered card per product with first-page
   COA thumbnails, and a <dialog> PDF viewer. Modelled on certified-pep.com/coas. */
.cl-coal { display: grid; gap: 1.5rem; }
.cl-coal__lab { display: flex; align-items: center; gap: 1rem 1.25rem; flex-wrap: wrap; padding: 1.1rem 1.25rem; background: var(--wp--preset--color--glacier); border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md); }
.cl-coal__lab-icon { flex: none; width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; background: var(--cl-card-line); color: #fff; }
.cl-coal__lab-copy { flex: 1 1 320px; }
.cl-coal__lab-copy .cl-eyebrow { margin: 0 0 .15rem; text-align: left; }
.cl-coal__lab-copy h2 { font-size: 1.15rem !important; margin: 0 0 .2rem; }
.cl-coal__lab-copy p:last-child { margin: 0; font-size: .875rem; color: var(--wp--preset--color--muted); }
.cl-coal__lab-btn { flex: none; display: inline-flex; gap: .4rem; align-items: center; padding: .7rem 1.15rem; border-radius: 999px; background: var(--cl-card-line); color: #fff !important; font-weight: 600; font-size: .875rem; text-decoration: none; }
.cl-coal__lab-btn:hover { background: #0A5E5D; }
.cl-coal__tools { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
.cl-coal__search { flex: 1 1 320px; min-width: 0; height: 46px; padding: 0 1rem; border: 2px solid var(--cl-card-line); border-radius: var(--cl-r-sm); background: var(--wp--preset--color--base); font: inherit; font-size: .9375rem; color: var(--wp--preset--color--ink); }
.cl-coal__search:focus { outline: 3px solid color-mix(in srgb, var(--cl-card-line) 35%, transparent); outline-offset: 1px; }
.cl-coal__chips { display: flex; flex-wrap: wrap; gap: .35rem; padding: .3rem; border-radius: 999px; background: color-mix(in srgb, var(--cl-card-line) 10%, var(--wp--preset--color--base)); }
.cl-coal__chips button { appearance: none; border: 0; background: transparent; padding: .45rem .85rem; border-radius: 999px; font: inherit; font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--ink); cursor: pointer; }
.cl-coal__chips button:hover { background: color-mix(in srgb, var(--cl-card-line) 14%, transparent); }
.cl-coal__chips button.is-active { background: var(--cl-card-line); color: #fff; }
.cl-coal__section[hidden], .cl-coal__card[hidden] { display: none; }
.cl-coal__cat { font-size: 1.15rem !important; margin: .5rem 0 .9rem; padding-bottom: .4rem; display: inline-block; border-bottom: 3px solid var(--cl-card-line); }
.cl-coal__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.cl-coal__card { background: var(--wp--preset--color--base); border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md); padding: .85rem; }
.cl-coal__name { font-size: .95rem !important; margin: 0 0 .7rem; line-height: 1.3; }
.cl-coal__name a { color: var(--wp--preset--color--ink); text-decoration: none; }
.cl-coal__name a:hover { color: var(--cl-accent-text); }
.cl-coal__docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.cl-coal__doc { margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.cl-coal__open { appearance: none; padding: 0; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cl-r-sm); background: #fff; cursor: zoom-in; overflow: hidden; aspect-ratio: 8.5 / 11; display: block; width: 100%; transition: border-color .15s, box-shadow .15s; }
.cl-coal__open:hover, .cl-coal__open:focus-visible { border-color: var(--cl-card-line); box-shadow: 0 0 0 2px var(--cl-card-line); }
.cl-coal__open img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.cl-coal__nothumb { display: grid; place-items: center; height: 100%; font-weight: 700; color: var(--wp--preset--color--muted); }
.cl-coal__doc figcaption { display: grid; gap: .1rem; font-size: .75rem; line-height: 1.4; color: var(--wp--preset--color--muted); }
.cl-coal__purity { font-weight: 700; font-size: .8125rem; color: var(--wp--preset--color--ink); }
.cl-coal__code { font-size: .6875rem; background: none; padding: 0; color: var(--wp--preset--color--muted); }
.cl-coal__verify { font-weight: 600; color: var(--cl-accent-text); text-decoration: none; }
.cl-coal__verify:hover { text-decoration: underline; }
.cl-coal__modal { width: min(920px, 94vw); height: min(92vh, 1200px); padding: 0; border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md); background: #fff; overflow: hidden; }
.cl-coal__modal[open] { display: flex; flex-direction: column; }
.cl-coal__modal::backdrop { background: rgba(10, 20, 24, .72); }
.cl-coal__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem .75rem .6rem 1rem; background: var(--cl-card-line); color: #fff; font-size: .875rem; }
.cl-coal__actions { display: flex; gap: .4rem; align-items: center; }
.cl-coal__actions a, .cl-coal__actions button { appearance: none; border: 1px solid rgba(255,255,255,.45); background: transparent; color: #fff !important; border-radius: 6px; padding: .35rem .7rem; font: inherit; font-size: .8125rem; text-decoration: none; cursor: pointer; }
.cl-coal__actions a:hover, .cl-coal__actions button:hover { background: rgba(255,255,255,.14); }
.cl-coal__close { font-size: 1.1rem !important; line-height: 1; padding: .3rem .6rem !important; }
.cl-coal__modal iframe { flex: 1; width: 100%; border: 0; background: #f4f4f4; }
@media (max-width: 781px) { .cl-coal__grid { grid-template-columns: 1fr; } .cl-coal__chips { border-radius: var(--cl-r-md); } }
/* 2.2.25: tighter gap between the page intro and the library, turquoise search border wins over form defaults */
.cl-page-hero:has(+ .cl-section .cl-coal) { padding-bottom: 0 !important; }
.cl-page-hero:has(+ .cl-section .cl-coal) .cl-lead { margin-bottom: 0; }
.cl-section:has(> .cl-coal) { padding-top: var(--wp--preset--spacing--30) !important; margin-top: 0 !important; }
.cl-section > .cl-coal { margin-top: 0; }
input.cl-coal__search { border: 2px solid var(--cl-card-line) !important; border-radius: var(--cl-r-sm) !important; }

/* ============ 2.2.26 Product gallery border, COA tab, COA in gallery ============ */
/* Main product image gets the 3px turquoise card border (flexslider viewport when there are
   several images, the plain wrapper when there is one); the active thumbnail ring is turquoise.
   The latest COA page joins the gallery (inc/coa-library.php) and is shown whole, not cropped. */
.woocommerce-product-gallery > .flex-viewport,
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
  border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-lg); overflow: hidden; background: #fff;
}
.woocommerce-product-gallery > .flex-viewport img, .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper img { border-radius: 0; }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { box-shadow: 0 0 0 2px var(--cl-card-line); }
.cl-coa-tab td { vertical-align: middle; }
.cl-coa-tab__links { white-space: nowrap; }
.cl-coa-tab__links a + a { margin-left: .75rem; color: var(--cl-accent-text) !important; }
.cl-coa-tab__note { margin: .75rem 0 0; font-size: .8125rem; color: var(--wp--preset--color--muted); }
.woocommerce-Tabs-panel--cl_coa h2 { font-size: 1.1rem !important; margin: 0 0 .75rem; }
/* 2.2.27: WooCommerce zeroes the thumbnail strip's top margin; give it room under the bordered frame */
.woocommerce-product-gallery .flex-control-thumbs { margin: .9rem 0 0 !important; padding: 0 !important; gap: .6rem; }

/* ============ 2.2.28 Lab Testing & COA Library (merged page) ============ */
/* /lab-testing/ (patterns/lab-testing-page.php) now carries the COA Library: hero with live
   stats ([clearline_coa_stats]), "What our certificates report" cards, a 3-step verify strip with
   the lab panel, then [clearline_coa_library banner="no"]. /coa-library/ 301s here. */
.cl-labhero .wp-block-buttons { margin-top: 1.5rem; }
.cl-labsection { scroll-margin-top: 96px; }
.cl-labsection > h2 { margin: 0 0 1.25rem; }
.cl-labsection > .cl-eyebrow { margin-bottom: .35rem; }
.cl-coastats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 2rem auto 0; max-width: 860px; border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md); background: var(--wp--preset--color--base); overflow: hidden; }
.cl-coastats > div { display: flex; flex-direction: column-reverse; gap: .2rem; padding: 1rem .75rem; text-align: center; }
.cl-coastats > div + div { border-left: 1px solid var(--wp--preset--color--line); }
.cl-coastats dd { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; font-weight: 700; line-height: 1.1; color: var(--cl-card-line); font-variant-numeric: tabular-nums; }
.cl-coastats dt { font-size: .75rem; color: var(--wp--preset--color--muted); }
.cl-labtests { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.cl-labtest { background: var(--wp--preset--color--base); border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md); padding: 1.25rem; }
.cl-labtest__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: color-mix(in srgb, var(--cl-card-line) 12%, var(--wp--preset--color--base)); color: var(--cl-card-line); margin-bottom: .9rem; }
.cl-labtest__method { margin: 0 0 .15rem; font-size: .6875rem !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cl-accent-text); }
.cl-labtest h3 { margin: 0 0 .45rem; font-size: 1.05rem !important; }
.cl-labtest p:last-child { margin: 0; font-size: .8125rem !important; line-height: 1.55; color: var(--wp--preset--color--muted); }
.cl-labverify { display: grid; grid-template-columns: 1fr minmax(260px, 340px); gap: 1rem; align-items: stretch; }
.cl-labsteps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; counter-reset: none; }
.cl-labsteps li { position: relative; background: var(--wp--preset--color--base); border: 3px solid var(--cl-card-line); border-radius: var(--cl-r-md); padding: 1.25rem; }
.cl-labsteps__n { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--cl-card-line); color: #fff; font-weight: 700; font-size: .875rem; margin-bottom: .75rem; }
.cl-labsteps h3 { margin: 0 0 .35rem; font-size: 1rem !important; }
.cl-labsteps p { margin: 0; font-size: .8125rem !important; line-height: 1.55; color: var(--wp--preset--color--muted); }
.cl-labverify__lab { display: flex; flex-direction: column; gap: .5rem; padding: 1.25rem; border-radius: var(--cl-r-md); background: var(--cl-card-line); color: #fff; }
.cl-labverify__lab p { margin: 0; font-size: .8125rem !important; line-height: 1.55; color: rgba(255,255,255,.85); }
.cl-labverify__lab .cl-labverify__name { font-family: var(--wp--preset--font-family--display); font-size: 1.1rem !important; font-weight: 700; color: #fff; }
.cl-labverify__lab .cl-coal__lab-btn { margin-top: auto; align-self: flex-start; background: #fff; color: var(--cl-card-line) !important; }
.cl-labverify__lab .cl-coal__lab-btn:hover { background: color-mix(in srgb, #fff 88%, var(--cl-card-line)); }
@media (max-width: 1000px) { .cl-labtests { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cl-labverify { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .cl-labtests, .cl-labsteps { grid-template-columns: 1fr; }
  .cl-coastats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-coastats > div:nth-child(3) { border-left: 0; }
  .cl-coastats > div:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--line); }
}
/* 2.2.29: even rhythm between the Lab Testing sections; section headings run full width */
.cl-labhero { padding-bottom: 0 !important; }
.cl-labsection { margin-top: 0 !important; padding-top: 3rem !important; }
.cl-labsection > h2 { max-width: none !important; }
.cl-labsection + .wp-block-group.cl-section { margin-top: 0 !important; padding-top: 3rem !important; }
/* 2.2.30: a product with one certificate shows it beside its details instead of half-width */
.cl-coal__docs:has(> .cl-coal__doc:only-child) { grid-template-columns: 1fr; }
.cl-coal__doc:only-child { flex-direction: row; align-items: flex-start; gap: .9rem; }
.cl-coal__doc:only-child .cl-coal__open { flex: 0 0 46%; width: 46%; }
.cl-coal__doc:only-child figcaption { gap: .3rem; padding-top: .2rem; }
.cl-coal__doc:only-child .cl-coal__purity { font-size: 1.25rem; color: var(--cl-card-line); }

/* ============ 2.2.31 Accent: turquoise -> red; bigger announce bar text ============ */
/* Card/panel borders, accent text and the announce bar all read these variables, so swapping them
   recolours everything that was #0E7C7B. #B3261E is 6.6:1 on white. Delete this block to go back. */
:root { --cl-card-line: #B3261E; --cl-accent-text: #B3261E; --cl-accent-text-hover: #8C1D18; --cl-gold-display: #B3261E; }
.cl-coal__lab-btn:hover { background: #8C1D18; }
.clearline-announce p { font-size: 15px; }
@media (max-width: 781px) { .clearline-announce p { font-size: 13px; } }

/* ============ 2.2.32 Logo reads VALHALLA AMINOS ============ */
/* assets/img/logo-horizontal-aminos.png (1134x160) replaces logo-horizontal.png in the header; it is
   ~1.6x wider, so phones get a slightly shorter logo to leave room for the menu and cart icons. */
@media (max-width: 781px) { .cl-logo img, .clearline-header.is-compact .cl-logo img { height: 28px; } }

/* ============ 2.2.36 Bigger wordmark, more room before the menu ============ */
/* logo-horizontal-v5.png (1521x160): VALHALLA AMINOS letters are 86px of the 160px height (was 63),
   so at the same 40px logo height the text reads ~35% larger. Wider gap between logo and menu on
   desktop; between 782 and 1099px the logo steps down so the nav and icons still fit on one line. */
@media (min-width: 1100px) { .clearline-header__left { gap: 3.5rem; } }
@media (min-width: 782px) and (max-width: 1099px) { .cl-logo img { height: 30px; } }

/* ============ 2.2.37 Green -> red; stock status in capitals ============ */
/* The "verified" palette green (#1E7F5C) drives the in-stock labels, checklist ticks, lot-verified
   chip, checkout lock and order-confirmation check. Redefined on body so it beats the theme.json
   value WordPress prints on :root. Stock statuses (cards and product page) read in capitals. */
body { --wp--preset--color--verified: #B3261E; }
.cl-stock, .clearline-product .stock, .wc-block-components-product-stock-indicator { text-transform: uppercase; letter-spacing: .04em; }

/* ============ 2.2.38 Footer logo = header lockup ============ */
/* parts/footer.html shows the same {{CL_LOGO}} image as the header (was the core site-logo block,
   i.e. the old stacked VALHALLA mark). Not affected by the compact-header shrink. */
.cl-logo--footer { margin-bottom: .75rem; }
.cl-logo--footer img { height: 34px; max-width: 100%; object-fit: contain; object-position: left; }

/* ============ 2.2.41 Checkout attestation ============ */
/* The Terms block above Place Order is a required checkbox (21+ / research use); mark it as required. */
.wc-block-checkout__terms .wc-block-components-checkbox__label::after { content: " *"; color: #B42318; }
.wc-block-checkout__terms { font-size: 13.5px; line-height: 1.5; }
