/* Page composition. Native Storefront/WooCommerce templates and semantics are retained. */
.col-full { max-width: 82.5rem; padding-inline: clamp(var(--merchant-space-5), 3.4vw, var(--merchant-space-12)); margin-inline: auto; }
.site-header, .woocommerce-active .site-header { padding-block: var(--merchant-space-4); border-bottom: 1px solid var(--merchant-line); }
.site-header > .col-full { display: grid; grid-template-columns: 7rem auto minmax(12rem, 1fr) auto; align-items: center; gap: var(--merchant-space-4); }
.site-header > .col-full::before, .site-header > .col-full::after { display: none; }
.woocommerce-active .site-header .site-branding, .site-header .site-branding { width: 7rem; margin: 0; }
.site-header .site-branding img { width: 7rem; max-width: 100%; }
.site-branding .custom-logo-link, .merchant-footer-navigation .custom-logo-link { display: inline-block; padding: .375rem; background: #050507; border-radius: .5rem; }
.site-header .site-description { display: none; }
.woocommerce-active .site-header .main-navigation, .site-header .main-navigation { width: auto; min-width: 0; margin: 0; float: none; clear: none; grid-column: 2; grid-row: 1; }
.site-header .secondary-navigation { margin: 0; }
.woocommerce-active .site-header .site-search { width: auto; min-width: 0; margin: 0; float: none; grid-column: 3; grid-row: 1; }
.site-search form { margin: 0; }
.site-search .widget_product_search input[type=search] { background: var(--merchant-surface); color: var(--merchant-text); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-pill); padding-left: 2.6rem; min-height: var(--merchant-control-min); padding-block: var(--merchant-control-pad-block); }
.site-search .widget_product_search input[type=search]::placeholder, .site-search .widget_product_search form::before { color: var(--merchant-muted); opacity: 1; }
.woocommerce-active .site-header .site-header-cart { width: auto; margin: 0; float: none; grid-column: 4; grid-row: 1; }
.site-header-cart .cart-contents { position: relative; display: flex; align-items: center; justify-content: center; padding: var(--merchant-space-2); min-width: 3rem; min-height: var(--merchant-control-min); }
.site-header-cart .cart-contents .count { position: absolute; top: 0; right: -.125rem; display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; min-height: 1.25rem; padding: .125rem var(--merchant-space-1); border-radius: var(--merchant-radius-pill); background: var(--merchant-button); color: var(--merchant-on-button); font: 600 .75rem/1 var(--merchant-font); opacity: 1; }
.site-header-cart .cart-contents::after { content: "\f07a"; display: flex; align-items: center; justify-content: center; float: none; width: 1.5rem; height: 1.5rem; font: 900 1.25rem/1 "Font Awesome 5 Free"; }
.site-header-cart .cart-contents, .site-header-cart:hover > li > a { color: var(--merchant-navigation); }
.site-header-cart .widget_shopping_cart { width: 20rem; left: -999rem; right: auto; border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-card); padding: var(--merchant-space-4); background: var(--merchant-surface); color: var(--merchant-on-surface); }
.site-header-cart:is(:hover, :focus-within, .focus) .widget_shopping_cart { left: auto; right: 0; }
.site-header-cart:is(:hover, :focus-within, .focus) .widget_shopping_cart .product_list_widget { height: auto; }
.site-header .product_list_widget li .quantity { color: var(--merchant-muted); }
.site-header-cart .widget_shopping_cart .buttons, .site-header-cart .widget_shopping_cart .total { background: var(--merchant-surface); color: var(--merchant-on-surface); padding: var(--merchant-space-4) 0 0; border-top: 1px solid var(--merchant-line); }
.site-header-cart .widget_shopping_cart a.button { background: var(--merchant-button); border-color: var(--merchant-button); color: var(--merchant-on-button); }
.site-header-cart .widget_shopping_cart a.button:hover { background: var(--merchant-button-hover); border-color: var(--merchant-button-hover); color: var(--merchant-on-button); }
.site-header-cart .widget_shopping_cart a.button.checkout { background: var(--merchant-button-alt); border-color: var(--merchant-button-alt); color: var(--merchant-on-button-alt); }
.site-header-cart .widget_shopping_cart a.button.checkout:hover { filter: brightness(.92); }
.site-header-cart .widget_shopping_cart:has(.widget_shopping_cart_content:empty) { display: none; }
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: var(--merchant-space-3); }
.home.page:not(.page-template-template-homepage) .site-header { margin-bottom: 0; }
.site-content { padding-top: var(--merchant-space-8); }
.site-main > .hentry { margin-bottom: 0; }
.entry-header { margin-bottom: var(--merchant-space-8); }
.entry-header h1, h1.product_title { font-weight: 600; letter-spacing: -.07rem; }
.local-demo-notice { padding: var(--merchant-control-pad-block) var(--merchant-space-4); margin: 0 0 var(--merchant-space-8); background: var(--merchant-raised); color: var(--merchant-muted); border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius); font: .75rem/1.5 var(--merchant-mono); text-align: center; }
/* Native Image + Buttons blocks: preserve the supplied banner's full aspect ratio. */
.merchant-hero { display: grid; grid-template-columns: minmax(0, 1fr); margin-block: var(--merchant-space-4) var(--merchant-space-12); border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius-card); background: var(--merchant-surface); color: var(--merchant-on-surface); }
.hentry .entry-content .merchant-hero .wp-block-image { margin: 0; min-width: 0; overflow: hidden; border-radius: var(--merchant-radius-card) var(--merchant-radius-card) 0 0; }
.merchant-hero img { display: block; margin: 0; width: 100%; height: auto; aspect-ratio: 2076 / 758; object-fit: contain; border-radius: 0; }
.merchant-hero-actions { margin: 0; padding: var(--merchant-space-8) var(--merchant-space-5); text-align: center; }
.merchant-hero .wp-block-buttons { display: flex; justify-content: center; margin: 0; gap: var(--merchant-space-4); }
.hentry .entry-content .merchant-hero .wp-block-button { margin: 0; }
.hentry .entry-content .merchant-hero .wp-block-button .wp-block-button__link { border-radius: var(--merchant-radius-pill); padding: var(--merchant-space-3) var(--merchant-space-8); }
.merchant-eyebrow { font: 500 .75rem/1.6 var(--merchant-mono); letter-spacing: .135rem; text-transform: uppercase; color: var(--merchant-accent); }
.merchant-section-heading { border-top: 1px solid var(--merchant-line); padding-top: var(--merchant-space-12); margin-bottom: var(--merchant-space-8); }
.merchant-section-heading h2 { margin-bottom: var(--merchant-space-2); }
.merchant-section-heading p { color: var(--merchant-muted); }
.merchant-categories { clear: both; }
.merchant-categories a:hover, .merchant-categories [aria-current=page] { background: var(--merchant-selected); border-color: var(--merchant-accent); color: var(--merchant-accent); }
.storefront-sorting { display: flex; flex-wrap: wrap; gap: var(--merchant-space-4); align-items: center; margin-block: var(--merchant-space-6); }
.storefront-sorting::before, .storefront-sorting::after { display: none; }
.storefront-sorting > .merchant-categories { flex-basis: 100%; }
.woocommerce-ordering, .woocommerce-result-count { margin: 0; padding: 0; float: none; }
.storefront-sorting > .woocommerce-notices-wrapper:empty { display: none; }
.storefront-sorting > .woocommerce-notices-wrapper:not(:empty) { flex-basis: 100%; }
.woocommerce-pagination { margin-left: auto; }
ul.products, .site-main ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--merchant-space-5); margin: 0 0 var(--merchant-space-12); }
ul.products::before, ul.products::after { display: none; }
ul.products li.product, .site-main ul.products li.product { --merchant-card-inset: var(--merchant-space-4); width: auto; float: none; margin: 0; min-width: 0; display: flex; flex-direction: column; text-align: left; background: var(--merchant-surface); border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius-card); overflow: hidden; }
.merchant-wide .site-main ul.products[class*="columns-"] li.product { width: auto; float: none; margin: 0; }
ul.products li.product .woocommerce-LoopProduct-link { display: block; flex: 1; padding: 0 var(--merchant-card-inset) var(--merchant-space-4); }
ul.products li.product img { width: calc(100% + 2 * var(--merchant-card-inset)); max-width: none; margin: 0 calc(-1 * var(--merchant-card-inset)) var(--merchant-space-4); aspect-ratio: 1; object-fit: contain; padding: var(--merchant-space-3); border-radius: var(--merchant-radius-card) var(--merchant-radius-card) 0 0; background: repeating-linear-gradient(135deg,var(--merchant-background) 0 .625rem,var(--merchant-raised) .625rem 1.25rem); }
ul.products li.product .woocommerce-loop-product__title { font-size: 1.0625rem; font-weight: 600; margin: var(--merchant-space-1) 0 var(--merchant-space-4); }
.merchant-product-category { display: block; color: var(--merchant-muted); font-size: .75rem; line-height: 1.5; }
ul.products li.product .price { font-size: .9375rem; margin-bottom: 0; }
ul.products li.product .button, ul.products li.product .added_to_cart { margin: 0 var(--merchant-card-inset) var(--merchant-card-inset); text-align: center; background: transparent; color: var(--merchant-heading); border-color: var(--merchant-border); }
ul.products li.product .button:hover { background: var(--merchant-selected); color: var(--merchant-accent); }
.woocommerce .woocommerce-pagination .page-numbers li .page-numbers { display: inline-flex; align-items: center; justify-content: center; padding: var(--merchant-space-2) var(--merchant-space-3); line-height: 1.5; min-width: 2.75rem; min-height: var(--merchant-control-icon); border-radius: var(--merchant-radius-pill); background: var(--merchant-surface); color: var(--merchant-text); }
.woocommerce .woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--merchant-button); color: var(--merchant-on-button); }
.single-product div.product .woocommerce-product-gallery { width: 52%; margin-right: 4%; }
.single-product div.product .summary { width: 44%; }
.woocommerce-product-gallery__image { border-radius: 1.75rem; overflow: hidden; background: repeating-linear-gradient(135deg,var(--merchant-background) 0 .625rem,var(--merchant-raised) .625rem 1.25rem); }
.single-product div.product .woocommerce-product-gallery__image img { object-fit: contain; max-height: 44rem; padding: var(--merchant-space-4); margin-inline: auto; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: var(--merchant-space-3); margin-top: var(--merchant-space-4); }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 5rem; margin: 0; }
.flex-control-thumbs img { width: 100%; aspect-ratio: 1 / 1; border: 2px solid transparent; border-radius: .75rem; }
.flex-control-thumbs .flex-active { border-color: var(--merchant-accent); }
.single-product .merchant-pack-help { margin: 0 0 var(--merchant-space-4); font-size: .9375rem; color: var(--merchant-muted); }
.single-product div.product .summary > .price { margin-bottom: var(--merchant-space-6); }
/* Stock is readable text; suppress Storefront's decorative smile/frown icons. */
.single-product .stock::before { content: none; display: none; }
.single-product .merchant-stock-enquiry { margin: 0 0 var(--merchant-space-4); color: var(--merchant-muted); }
.merchant-stock-enquiry a { display: inline-flex; align-items: center; min-height: 2.75rem; text-decoration: underline; }
.merchant-option small { display: block; font-size: .8125rem; font-weight: 400; color: var(--merchant-muted); }
.merchant-price-unit { font-size: .875rem; font-weight: 400; color: var(--merchant-muted); }
.merchant-selection-summary .woocommerce-variation-price { display: none; }
.single-product div.product table.variations { margin-bottom: var(--merchant-space-4); }
.single-product div.product table.variations td { display: block; width: 100%; background: none; padding: 0; }
.single-product div.product table.variations .label { padding: 0; }
.merchant-options { display: flex; flex-wrap: wrap; gap: var(--merchant-space-2); padding: 0; margin: 0 0 var(--merchant-space-4); border: 0; background: none; }
.merchant-options legend { padding: 0; margin-bottom: var(--merchant-space-2); background: none; font-weight: 600; }
.merchant-option { display: inline-flex; align-items: center; justify-content: center; gap: var(--merchant-space-2); min-height: var(--merchant-control-min); padding: var(--merchant-space-2) var(--merchant-space-4); margin: 0; border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius); background: var(--merchant-input); color: var(--merchant-text); cursor: pointer; }
.merchant-option input { margin: 0; flex-shrink: 0; }
.merchant-option:has(:checked) { border-color: var(--merchant-accent); background: var(--merchant-selected); box-shadow: inset 0 0 0 1px var(--merchant-accent); }
.merchant-option:has(:focus-visible) { outline: 3px solid var(--merchant-focus); outline-offset: 2px; }
.merchant-option:has(:disabled) { cursor: not-allowed; opacity: .65; }
.merchant-packs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--merchant-space-3); border: 0; padding: 0; margin: 0; background: none; }
.merchant-packs legend { margin: 0 0 var(--merchant-space-3); background: none; padding: 0; }
.merchant-pack { display: flex; flex-direction: row-reverse; align-items: start; gap: var(--merchant-space-2); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-card); padding: var(--merchant-space-4); cursor: pointer; background: var(--merchant-surface); min-height: 8rem; }
.merchant-pack:has(:checked) { border-color: var(--merchant-accent); background: var(--merchant-selected); box-shadow: inset 0 0 0 1px var(--merchant-accent); }
.merchant-pack:has(:disabled) { cursor: not-allowed; opacity: .65; }
.merchant-pack input { flex: 0 0 auto; margin-top: var(--merchant-space-1); }
.merchant-pack-copy { flex: 1; min-width: 0; }
.merchant-pack-copy > * { display: block; }
.merchant-pack strong { font-weight: 600; color: var(--merchant-heading); }
.merchant-pack-price { font-size: .9375rem; margin-block: var(--merchant-space-2); }
.merchant-pack-stock, .merchant-pack-stock .stock { margin: 0; font: .6875rem/1.5 var(--merchant-mono); color: var(--merchant-success); }
.merchant-vials { display: flex; flex-wrap: wrap; gap: .1875rem; width: 3.5rem; margin-bottom: var(--merchant-space-3); min-height: 1.8rem; align-content: end; }
.merchant-vials i { display: inline-block; width: .4375rem; height: .75rem; border: 1px solid var(--merchant-muted); border-top: 3px solid var(--merchant-accent); border-radius: 1px; }
.merchant-quantity { display: inline-flex; align-items: center; border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-pill); max-width: 100%; vertical-align: middle; }
.merchant-quantity .qty, .woocommerce table.cart td.product-quantity .merchant-quantity .qty { border: 0; width: 3.25rem; min-width: 2rem; padding: var(--merchant-space-2) .125rem; text-align: center; background: transparent; appearance: textfield; }
.merchant-quantity .qty::-webkit-inner-spin-button { appearance: none; }
button.merchant-quantity-button { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: var(--merchant-control-min); padding: var(--merchant-space-2); background: transparent; color: var(--merchant-heading); border: 0; }
.single-product div.product form.cart .single_add_to_cart_button { display: flex; width: 100%; margin-top: var(--merchant-space-6); min-height: 3.5rem; }
.single-product div.product form.cart .quantity { float: none; }
.woocommerce-variation-price { font-size: 1.5rem; font-weight: 600; }
.woocommerce-variation { border: 1px solid var(--merchant-line); background: var(--merchant-surface); border-radius: var(--merchant-radius-card); padding: var(--merchant-space-4); margin-bottom: var(--merchant-space-4); }
.woocommerce-variation:empty { display: none; }
.product_meta { font: .75rem/1.8 var(--merchant-mono); border-color: var(--merchant-line); padding-top: var(--merchant-space-6); }
.woocommerce-tabs { border-top: 1px solid var(--merchant-line); padding-block: var(--merchant-space-12); }
.woocommerce-tabs ul.tabs li, .woocommerce-tabs ul.tabs { border-color: var(--merchant-line); }
.related > h2 { margin-bottom: var(--merchant-space-8); }
.merchant-purchase-bar { display: none; }
.merchant-submitting .single_add_to_cart_button { pointer-events: none; opacity: .65; }
/* Native notice roles, text and coupon/checkout errors remain authoritative. */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 1px solid currentColor; border-radius: .875rem; padding: var(--merchant-space-4) var(--merchant-space-5); }
.woocommerce-message { background: var(--merchant-notice-fill); color: var(--merchant-notice-ink); border-color: var(--merchant-notice-fill); padding-inline-start: 3.25rem; }
.woocommerce-error { background: var(--merchant-error-tint); color: var(--merchant-error); }
.woocommerce-info { background: var(--merchant-info-tint); color: var(--merchant-info); border-color: var(--merchant-line); }
.woocommerce-error::before, .woocommerce-info::before { display: none; }
.woocommerce-message::before { display: inline-block; top: 1rem; left: 1.25rem; color: var(--merchant-notice-ink); }
.woocommerce-message a, .woocommerce-message .button, body.store-private-entry .woocommerce-message a { color: var(--merchant-notice-ink); }
.woocommerce-message a:not(.button) { text-decoration: underline; }
.woocommerce-message a:hover, .woocommerce-message .button:hover, body.store-private-entry .woocommerce-message a:hover { color: var(--merchant-notice-ink); opacity: 1; }
.woocommerce-error a, body.store-private-entry .woocommerce-error a { color: var(--merchant-error); }
.woocommerce-info a:not(.button) { color: var(--merchant-accent); }
.woocommerce-error .button, .woocommerce-message .button { display: inline-flex; align-items: center; justify-content: center; padding: var(--merchant-control-pad-block) var(--merchant-space-3); background: transparent; border: 1px solid currentColor; border-radius: var(--merchant-radius-pill); margin: 0; }
@media (max-width: 767px) {
    .woocommerce-message:has(> .wc-forward) { display: flex; flex-wrap: wrap; gap: var(--merchant-space-3) var(--merchant-space-4); }
    .woocommerce-message > .wc-forward { order: 1; float: none; margin-inline-start: auto; }
    .woocommerce-message:has(> .wc-forward)::after { display: none; }
}
.woocommerce-invalid .input-text, [aria-invalid=true] { border-color: var(--merchant-error); }
table.cart td.actions .coupon .coupon-error-notice, .woocommerce-error li, .woocommerce-error li a, .woocommerce-error-field { color: var(--merchant-error); }
table.cart td.actions .coupon .coupon-error-notice { margin-top: var(--merchant-space-2); }
table.cart td.actions input.input-text.has-error { box-shadow: inset 2px 0 0 var(--merchant-error); }
.blockUI.blockOverlay { background: var(--merchant-background) !important; opacity: .72 !important; border-top: 2px solid var(--merchant-accent) !important; }
/* blockUI supplies inline white/opacity values; these are the only overlay overrides. */
table th { color: var(--merchant-muted); font-weight: 500; }
.woocommerce table.shop_table { background: var(--merchant-surface); color: var(--merchant-text); }
.woocommerce mark:not(.order-status) { background: transparent; color: var(--merchant-heading); }
table th, table td, .woocommerce table.woocommerce-orders-table th, .woocommerce table.woocommerce-orders-table td { padding: var(--merchant-space-4) var(--merchant-space-3); }
.woocommerce table.woocommerce-orders-table th, .woocommerce table.woocommerce-orders-table td { vertical-align: middle; }
.woocommerce-orders-table__cell-order-actions .button { margin: var(--merchant-space-1) var(--merchant-space-1) var(--merchant-space-1) 0; }
.woocommerce-orders-table__cell-order-actions .button::after { margin-left: 0; }
table tr { border-bottom: 1px solid var(--merchant-line); }
table.cart th, table.cart td { vertical-align: middle; }
table.cart { border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius-card); border-collapse: separate; border-spacing: 0; }
table.cart .product-thumbnail img { width: 5rem; max-width: none; border-radius: .5rem; }
table.cart td.product-remove a.remove { width: 2.75rem; height: 2.75rem; font-size: 1rem; border-radius: var(--merchant-radius-pill); }
table.cart a.remove::before { display: flex; align-items: center; justify-content: center; line-height: 1; }
a.remove::before { color: var(--merchant-text); }
table.cart td.actions { padding: var(--merchant-space-4); border-top: 1px solid var(--merchant-line); }
.merchant-cart-unit { display: block; font: .75rem/1.5 var(--merchant-mono); color: var(--merchant-muted); margin-top: var(--merchant-space-2); }
/* Shared native panels: visual ownership here, layout in the rules below. */
.cart-collaterals .cart_totals, .checkout .col2-set .col-1, .checkout .col2-set .col-2, #order_review {
    border: 1px solid var(--merchant-line); background: var(--merchant-surface); color: var(--merchant-on-surface);
    border-radius: var(--merchant-radius-panel); padding: var(--merchant-panel-fluid-padding);
}
.cart-collaterals .cart_totals { width: 100%; float: none; }
.cart_totals h2 { font-size: 1.5rem; }
.order-total .amount { font-size: 1.5rem; color: var(--merchant-heading); }
.wc-proceed-to-checkout { margin: var(--merchant-space-4) 0 0; }
.wc-proceed-to-checkout .button.checkout-button { font-size: 1rem; margin-bottom: 0; }
.cart-empty { max-width: 40rem; padding: var(--merchant-space-8); }
.checkout .col2-set { float: none; width: 100%; margin: 0; }
.checkout .col2-set .col-1, .checkout .col2-set .col-2 { float: none; width: 100%; margin: 0 0 var(--merchant-space-6); }
#order_review { width: auto; float: none; }
#order_review_heading { float: none; width: auto; }
#payment .place-order { padding: var(--merchant-space-4) 0 0; }
#payment .payment_methods { border: 0; }
#payment .payment_methods > li { padding: var(--merchant-space-4) 0; }
#payment .place-order .button { min-height: 3.5rem; }
.merchant-checkout-image { display: inline-block; width: 3.5rem; vertical-align: middle; margin: 0 var(--merchant-space-3) var(--merchant-space-2) 0; }
.merchant-checkout-image img { border-radius: .5rem; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 22%; margin-right: 0; }
.woocommerce-account .woocommerce-MyAccount-content { width: 73%; }
.hentry .entry-content .woocommerce-MyAccount-navigation ul { border: 0; }
.hentry .entry-content .woocommerce-MyAccount-navigation ul li { border: 0; margin-bottom: var(--merchant-space-1); }
.hentry .entry-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a { min-height: var(--merchant-control-min); padding: var(--merchant-control-pad-block) var(--merchant-space-4); border: 1px solid transparent; color: var(--merchant-text); }
.hentry .entry-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link.is-active a { border-color: var(--merchant-border); border-radius: var(--merchant-radius); background: var(--merchant-raised); color: var(--merchant-heading); }
.merchant-account-shortcuts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--merchant-space-3); margin-block: var(--merchant-space-8); }
.hentry .entry-content .merchant-account-shortcuts a { display: block; padding: var(--merchant-space-5); border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius-card); color: var(--merchant-heading); background: var(--merchant-surface); text-decoration: none; }
.hentry .entry-content .merchant-account-shortcuts a:is(:hover, :focus-visible) { background: var(--merchant-selected); border-color: var(--merchant-accent); text-decoration: none; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f07a"; }
.woocommerce-MyAccount-navigation ul li a::before { color: currentColor; opacity: 1; }
.merchant-account-shortcuts span { display: block; color: var(--merchant-accent); margin-top: var(--merchant-space-4); }
.merchant-recent-orders, .woocommerce-Address, .woocommerce-order-details, .woocommerce-EditAccountForm { background: var(--merchant-surface); border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius-panel); padding: var(--merchant-panel-padding); margin-bottom: var(--merchant-space-8); }
.merchant-order-row { display: flex; flex-wrap: wrap; gap: var(--merchant-space-6); align-items: center; justify-content: space-between; padding-block: var(--merchant-space-6); border-top: 1px solid var(--merchant-line); font-size: .875rem; }
.merchant-order-status, mark.order-status { border-radius: var(--merchant-radius-pill); padding: var(--merchant-space-1) var(--merchant-space-3); background: var(--merchant-info-tint); color: var(--merchant-info); }
address { font-style: normal; color: var(--merchant-text); }
.merchant-secondary, a.button.merchant-secondary, button.merchant-secondary { background: transparent; color: var(--merchant-heading); border: 1px solid var(--merchant-border); }
/* Private shell: greater specificity than the policy's late fallback, without changing it. */
body.store-private-entry { background: var(--merchant-background); }
body.store-private-entry main { position: relative; max-width: 36rem; margin: var(--merchant-space-12) auto; padding: clamp(var(--merchant-space-5),4vw,var(--merchant-space-10)); background: var(--merchant-surface); border: 1px solid var(--merchant-line); border-radius: 1.5rem; }
body.store-legal-page main { max-width: 52rem; margin-inline: auto; }
.store-legal-document, body.store-legal-page .entry-content { overflow-wrap: anywhere; }
.store-legal-document h2, body.store-legal-page .entry-content h2 { margin-top: var(--merchant-space-8); font-size: 1.5rem; }
.store-legal-document h3, body.store-legal-page .entry-content h3 { font-size: 1.125rem; }
.store-legal-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--merchant-space-2); width: 100%; font-size: .875rem; }
.store-agreement-links a { display: inline-block; min-height: var(--merchant-control-icon); }
.store-legal-links a { display: inline-flex; align-items: center; min-height: var(--merchant-control-icon); }
body.store-private-entry main > .merchant-appearance { position: absolute; inset-block-start: var(--merchant-space-6); inset-inline-end: clamp(var(--merchant-space-5),4vw,var(--merchant-space-10)); }
body.store-private-entry main > h1 { margin-top: 5.5rem; font-size: 1.75rem; }
.merchant-entry-brand { position: absolute; top: 1.5rem; left: 2.5rem; }
.merchant-entry-brand img { width: 7rem; height: auto; padding: var(--merchant-space-2); border-radius: .5rem; background: #050507; }
body.store-private-entry main > p { font-size: .875rem; color: var(--merchant-muted); }
body.store-private-entry #customer_login { display: block; margin-block: var(--merchant-space-8); }
body.store-private-entry #customer_login > [hidden] { display: none; }
body.store-private-entry #customer_login > div + div:not([hidden]) { margin-top: var(--merchant-space-8); }
body.store-private-entry #customer_login > div[hidden] + div { margin-top: 0; }
body.store-private-entry #customer_login h2 { font-size: 1.75rem; }
body.store-private-entry .woocommerce-form-login__submit, body.store-private-entry .woocommerce-form-register__submit, .merchant-entry-switch { width: 100%; margin-block: var(--merchant-space-2); border-radius: var(--merchant-radius-pill); min-height: 3.25rem; }
body.store-private-entry .merchant-entry-switch { margin-top: var(--merchant-space-6); }
/* Two footer rows: brand/navigation, then native credit and appearance. */
.site-footer { margin-top: var(--merchant-space-12); border-top: 1px solid var(--merchant-line); padding-block: var(--merchant-space-6); font-size: .875rem; }
.site-footer > .col-full { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--merchant-space-4); }
.site-footer > .col-full::before, .site-footer > .col-full::after { display: none; }
.site-footer > .col-full > * { grid-column: 1 / -1; min-width: 0; }
.site-footer > .col-full > .site-info, .site-footer > .col-full > p { grid-column: 1; padding: 0; }
.site-footer > .col-full > .merchant-appearance { grid-column: 2; margin: 0; }
.merchant-footer-navigation { display: flex; flex-wrap: wrap; gap: var(--merchant-space-4) var(--merchant-space-8); align-items: center; justify-content: space-between; padding-bottom: var(--merchant-space-4); border-bottom: 1px solid var(--merchant-line); }
.merchant-footer-navigation .custom-logo-link { margin: 0; }
.merchant-footer-navigation .custom-logo { max-width: 6rem; }
.merchant-footer-navigation nav { min-width: 0; }
.merchant-footer-menu { display: flex; flex-wrap: wrap; gap: var(--merchant-space-2); list-style: none; margin: 0; }
.merchant-footer-menu a { display: inline-flex; align-items: center; min-height: var(--merchant-control-icon); padding: var(--merchant-control-pad-block); }
@media (max-width: 30rem) {
    .merchant-footer-navigation { align-items: flex-start; }
    .merchant-footer-navigation nav { width: 100%; }
    .merchant-footer-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--merchant-space-1) var(--merchant-space-4); }
    .merchant-footer-menu a { display: flex; padding-inline: 0; }
}
@media (min-width: 64rem) {
    .woocommerce-cart .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(18rem, 1fr); gap: var(--merchant-space-10); }
    .woocommerce-cart .entry-content > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
    .cart-collaterals { align-self: start; }
    table.cart td.actions .coupon { float: none; margin: 0 var(--merchant-space-2) 0 0; }
    table.cart td.actions .coupon input { margin-inline-end: var(--merchant-space-2); }
    form.checkout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); grid-template-rows: min-content 1fr; gap: var(--merchant-space-6) var(--merchant-space-10); align-items: start; }
    form.checkout::before, form.checkout::after { display: none; }
    form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
    #customer_details { grid-column: 1; grid-row: 1 / span 2; }
    form.checkout:has(.woocommerce-NoticeGroup) { grid-template-rows: auto min-content 1fr; }
    form.checkout:has(.woocommerce-NoticeGroup) #customer_details { grid-row: 2 / span 2; }
    #order_review_heading, #order_review { grid-column: 2; margin: 0; }
    #order_review_heading { grid-row: 1; }
    #order_review { grid-row: 2; }
    form.checkout:has(.woocommerce-NoticeGroup) #order_review_heading { grid-row: 2; }
    form.checkout:has(.woocommerce-NoticeGroup) #order_review { grid-row: 3; }
}
@media (max-width: 75rem) and (min-width: 768px) {
    .site-header > .col-full { grid-template-columns: 7rem minmax(0, 1fr) auto; }
    .woocommerce-active .site-header .site-header-cart { grid-column: 3; }
    .woocommerce-active .site-header .site-search { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 63.99rem) {
    .merchant-account-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    ul.products, .site-main ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .col-full { margin-inline: 0; }
    .home.page:not(.page-template-template-homepage) .site-header { margin-bottom: 0; }
.site-content { padding-top: var(--merchant-space-6); }
    .site-header > .col-full { grid-template-columns: 5rem minmax(0, 1fr) auto; gap: var(--merchant-space-3); }
    .woocommerce-active .site-header .site-branding, .site-header .site-branding { grid-column: 1; grid-row: 1; width: 5rem; }
    .site-header .site-branding img { width: 5rem; }
    .woocommerce-active .site-header .main-navigation, .site-header .main-navigation { grid-column: 2; grid-row: 1; position: static; }
    .main-navigation button.menu-toggle { float: right; border-radius: var(--merchant-radius-pill); }
    .woocommerce-active .site-header .site-header-cart { display: block; grid-column: 3; grid-row: 1; justify-self: end; }
    .woocommerce-active .site-header .site-search { display: block; grid-column: 1 / -1; grid-row: 2; }
    .site-header-cart .widget_shopping_cart { display: none; }
    /* Native disclosure remains the fallback when the drawer enhancement is unavailable. */
    .site-header .handheld-navigation { position: absolute; inset: 100% 0 auto; z-index: 99; background: var(--merchant-header); padding-inline: var(--merchant-space-5); box-shadow: 0 8px 12px #0002; }
    .main-navigation ul.menu { margin: 0; padding-block: var(--merchant-space-4); }
    html:not(.merchant-js) .main-navigation button.menu-toggle { display: none; }
    html:not(.merchant-js) .site-header .main-navigation { grid-column: 1 / -1; grid-row: 3; }
    html:not(.merchant-js) .site-header .handheld-navigation { position: static; max-height: none; box-shadow: none; padding: 0; }
    .merchant-hero { margin-top: 0; }
    .merchant-hero-actions { padding-block: var(--merchant-space-6); }
    ul.products, .site-main ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--merchant-space-3); }
    ul.products li.product { --merchant-card-inset: var(--merchant-space-3); }
    ul.products li.product img { padding: .375rem; }
    ul.products li.product .button { padding-inline: var(--merchant-space-2); }
    .single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { width: 100%; float: none; margin-right: 0; }
    .merchant-packs { grid-template-columns: 1fr; }
    .merchant-pack { min-height: 0; }
    .merchant-pack-copy { display: grid; grid-template-columns: 1fr auto; gap: var(--merchant-space-1) var(--merchant-space-3); align-items: center; }
    .merchant-vials { display: none; }
    .merchant-pack-price { margin: 0; }
    .merchant-pack-stock { grid-column: 1 / -1; }
    .merchant-purchase-bar:not([hidden])[data-away="1"] { display: flex; position: fixed; z-index: 95; inset: auto 0 0; align-items: center; gap: var(--merchant-space-4); background: var(--merchant-background); border-top: 1px solid var(--merchant-border); padding: var(--merchant-space-3) var(--merchant-space-5) calc(var(--merchant-space-3) + env(safe-area-inset-bottom)); box-shadow: 0 -3px 15px #0002; }
    .merchant-purchase-bar > div { flex: 1; min-width: 0; font-size: .8125rem; }
    .merchant-purchase-bar strong { display: block; color: var(--merchant-heading); }
    .merchant-purchase-bar small { font-weight: 400; }
    .merchant-purchase-bar button { flex: 1; min-height: 3.25rem; }
    body:has(.merchant-purchase-bar) { padding-bottom: 8rem; }
    body:has(input:focus, textarea:focus, select:focus) .merchant-purchase-bar { visibility: hidden; }
    /* Woo uses a row-header th for order number; retain it in the mobile stack. */
    .woocommerce table.woocommerce-orders-table tbody th[scope="row"] { display: block; text-align: right; }
    .woocommerce table.woocommerce-orders-table tbody th[scope="row"]::before { content: attr(data-title) ": "; float: left; font-weight: 600; }
    table.shop_table_responsive tr td { padding: var(--merchant-space-3); }
    .woocommerce table.cart { border: 0; background: transparent; }
    table.cart tr.cart_item { background: var(--merchant-surface); border: 1px solid var(--merchant-line); border-radius: var(--merchant-radius-card); }
    table.cart td.product-remove a.remove { top: .5rem; right: .5rem; }
    table.cart td.product-thumbnail { display: block; text-align: left; }
    table.cart td.product-thumbnail::before { display: none; }
    table.cart td.product-quantity { min-height: 4.5rem; }
    table.cart td.actions .coupon input { width: 100%; margin-bottom: var(--merchant-space-3); }
    table.cart td.actions .coupon .button { width: 100%; }
    .cart-collaterals .cart_totals { margin-top: var(--merchant-space-6); }
    .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
    .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: var(--merchant-space-1); margin-bottom: var(--merchant-space-8); }
    .woocommerce-MyAccount-navigation ul li a::before { display: none; }
    .merchant-recent-orders, .woocommerce-Address { padding: var(--merchant-space-4); }
    .merchant-order-row { gap: var(--merchant-space-3); }
    body.store-private-entry main { margin: var(--merchant-space-4); }
    .merchant-entry-brand { left: 1.25rem; }
    #order_review_heading { margin-top: var(--merchant-space-6); }
}
@media (prefers-reduced-motion: no-preference) {
    button, .merchant-pack { transition: box-shadow .12s ease; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media (forced-colors: active) { .merchant-pack:has(:checked) { outline: 2px solid Highlight; } }
/* Hidden is state, never a cosmetic display override. */
body.store-private-entry main > p[hidden], .merchant-pack-native[hidden] { display: none; }
/* WordPress classic Group blocks add an inner wrapper; retain the native block flow. */
.merchant-hero > .wp-block-group__inner-container { display: contents; }
html body.custom-background { background-color: var(--merchant-background); }

@media (min-width: 768px) {
    .main-navigation .primary-navigation > ul { display: flex; flex-wrap: wrap; align-items: center; }
}
/* Native dialog supplies top-layer placement, inert background and modal focus. */
.merchant-navigation-drawer { width: min(22rem, calc(100% - 2rem)); max-width: none; height: 100dvh; max-height: none; inset: 0 0 0 auto; margin: 0 0 0 auto; padding: var(--merchant-space-4); border: 0; border-left: 1px solid var(--merchant-line); background: var(--merchant-header); color: var(--merchant-text); overflow-y: auto; overscroll-behavior: contain; }
.merchant-navigation-drawer::backdrop { background: #0008; }
.merchant-drawer-close { display: block; margin-inline-start: auto; }
.main-navigation .merchant-navigation-drawer .handheld-navigation { display: block; position: static; inset: auto; max-height: none; overflow: visible; padding: 0; box-shadow: none; }
.main-navigation .merchant-navigation-drawer ul.menu { padding-top: var(--merchant-space-4); }
body.merchant-drawer-open { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
    .merchant-navigation-drawer[open] { animation: merchant-drawer-in .16s ease-out; }
    @keyframes merchant-drawer-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
}
