/* Dark surfaces for WooCommerce controls; payment-provider buttons keep their branding. */
.woocommerce,
.woocommerce-page .entry-content { color: var(--ink); }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price { color: var(--accent); }
.woocommerce div.product form.cart .variations { border: 0; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { border: 0; padding: 10px 12px 10px 0; vertical-align: middle; }
.woocommerce div.product form.cart .variations label { color: var(--ink); }
.woocommerce select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce .quantity .qty,
.woocommerce-page .woocommerce-input-wrapper select,
.woocommerce-page .woocommerce-input-wrapper input:not([type=checkbox]):not([type=radio]),
.woocommerce-page .woocommerce-input-wrapper textarea {
    background: #242720;
    color: #f0f0e9;
    border: 1px solid #74796b;
    border-radius: 0;
    padding: 11px 12px;
    min-height: 46px;
    max-width: 100%;
    color-scheme: dark;
}
.woocommerce select option { background: #242720; color: #f0f0e9; }
.woocommerce input::placeholder,
.woocommerce textarea::placeholder { color: #bbc0b3; opacity: 1; }
.woocommerce div.product form.cart .variations select { width: 100%; min-width: 0; }
.woocommerce div.product form.cart .reset_variations,
.woocommerce div.product .summary a:not(.button) { color: var(--accent); }
.woocommerce .quantity .qty { width: 78px; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: var(--accent);
    color: #111210;
    border: 1px solid var(--accent);
    border-radius: 0;
    padding: 14px 22px;
    line-height: 1.2;
    font-weight: 700;
    min-height: 46px;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover { background: #f0f0e9; color: #111210; border-color: #f0f0e9; }
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt.disabled:hover {
    background: #34392e;
    color: #d0d5c7;
    border-color: #74796b;
    opacity: 1;
    cursor: not-allowed;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: #242720; border-color: #74796b; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #d0d5c7; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--bg); color: var(--ink); border-bottom-color: var(--bg); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: #74796b; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce table.shop_table { border-color: #74796b; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td,
.woocommerce table.shop_attributes tr:nth-child(even) th,
.woocommerce table.shop_attributes tr:nth-child(even) td { background: #1b1d19; color: var(--ink); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { background: #242720; color: #f0f0e9; }
.woocommerce-message,
.woocommerce-info { border-top-color: var(--accent); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--accent); }
.woocommerce-error { border-top-color: #ff9b94; }
.woocommerce-error::before { color: #ff9b94; }
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a { color: var(--accent); }
.woocommerce #payment,
.woocommerce-checkout #payment { background: #1b1d19; color: var(--ink); }
.woocommerce #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box { background: #30352b; color: #f0f0e9; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #30352b; }
.woocommerce .select2-container--default .select2-selection--single { background: #242720; border: 1px solid #74796b; border-radius: 0; min-height: 46px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: #f0f0e9; line-height: 44px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce-page .select2-dropdown,
.woocommerce-page .select2-search--dropdown .select2-search__field { background: #242720; color: #f0f0e9; border-color: #74796b; }
.woocommerce-page .select2-container--default .select2-results__option[aria-selected=true],
.woocommerce-page .select2-container--default .select2-results__option[data-selected=true] { background: #3c4234; color: #f0f0e9; }
.woocommerce-page .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce-page .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--accent); color: #111210; }
.woocommerce [class*="ppcp"] { color: var(--ink); }
/* Catalog layout, using the native WooCommerce archive and price filter. */
.ax-store { padding-block: 55px 80px; }
.ax-catalog { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 55px; align-items: start; }
.ax-store-content { min-width: 0; }
.ax-store .woocommerce-breadcrumb { color: var(--muted); margin-bottom: 30px; }
.ax-store .woocommerce-breadcrumb a { color: var(--ink); }
.ax-store .page-title { font-size: clamp(40px,5vw,76px); letter-spacing: -.05em; line-height: 1.05; margin: 0 0 36px; }
.ax-shop-sidebar h2 { font-size: 17px; letter-spacing: -.02em; margin: 0 0 15px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.ax-categories, .ax-categories .children { list-style: none; margin: 0; padding: 0; }
.ax-categories li { margin: 0; }
.ax-categories a { display: block; padding: 8px 0; text-decoration: none; font-size: 15px; overflow-wrap: anywhere; }
.ax-categories .children { padding-left: 15px; border-left: 1px solid var(--line); }
.ax-categories .current-cat > a { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.ax-price-filter, .ax-attribute-filter, .ax-active-filters { margin-top: 38px; }
.ax-shop-sidebar .woocommerce-widget-layered-nav-list { list-style: none; padding: 0; margin: 0; }
.ax-shop-sidebar .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item { display: flex; align-items: baseline; gap: 10px; padding: 0; }
.ax-shop-sidebar .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item a { color: var(--ink); flex: 1; padding: 8px 0; text-decoration: none; overflow-wrap: anywhere; }
.ax-shop-sidebar .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item a:hover,
.ax-shop-sidebar .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen a { color: var(--accent); }
.ax-shop-sidebar .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item a::before { content: '□'; font-family: Arial, sans-serif; display: inline-block; margin-right: 10px; color: var(--muted); }
.ax-shop-sidebar .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen a::before { content: '✓'; color: var(--accent); }
.ax-shop-sidebar .woocommerce-widget-layered-nav-list .count { color: var(--muted); font-size: 12px; }
.ax-shop-sidebar .widget_layered_nav_filters ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ax-shop-sidebar .widget_layered_nav_filters ul li { padding: 0; float: none; }
.ax-shop-sidebar .widget_layered_nav_filters ul li a { display: block; padding: 8px 10px; border: 1px solid var(--line); color: var(--ink); font-size: 13px; }
.ax-shop-sidebar .widget_layered_nav_filters ul li a::before { color: var(--accent); }
.ax-attribute-filter .woocommerce-widget-layered-nav-dropdown { width: 100%; }
.ax-attribute-filter .select2-container { width: 100% !important; min-width: 0; }
.ax-attribute-filter .select2-container--default .select2-selection--multiple { background: #242720; border: 1px solid #74796b; border-radius: 0; min-height: 46px; padding: 5px 7px; color: var(--ink); }
.ax-attribute-filter .select2-container--default.select2-container--focus .select2-selection--multiple { border-color: var(--accent); }
.ax-attribute-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered { display: block; padding: 0; white-space: normal; }
.ax-attribute-filter .select2-container--default .select2-selection--multiple .select2-selection__choice { background: #34392e; border: 1px solid #74796b; border-radius: 0; color: var(--ink); margin: 3px 5px 3px 0; padding: 3px 6px; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.ax-attribute-filter .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: var(--accent); margin-right: 6px; }
.ax-attribute-filter .select2-container--default .select2-search--inline .select2-search__field { background: transparent; color: var(--ink); margin-top: 5px; max-width: 100%; min-height: 26px; }
.ax-attribute-filter .select2-search__field::placeholder { color: #bbc0b3; opacity: 1; }
.ax-attribute-filter .woocommerce-widget-layered-nav-dropdown__submit { margin-top: 12px; width: 100%; }
.ax-checkbox-filters { margin-top: 30px; }
.ax-checkbox-group.ax-attribute-filter { margin: 0; border-top: 1px solid var(--line); }
.ax-checkbox-group:last-of-type { border-bottom: 1px solid var(--line); }
.ax-checkbox-group > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; font-size: 16px; cursor: pointer; color: var(--ink); }
.ax-checkbox-group > summary::-webkit-details-marker { display: none; }
.ax-disclosure-mark::before { content: '+'; font-size: 22px; font-weight: 400; }
.ax-checkbox-group[open] > summary .ax-disclosure-mark::before { content: '−'; }
.ax-checkbox-group > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.ax-checkbox-group .woocommerce-widget-layered-nav-list { padding-bottom: 16px; max-height: none; overflow: visible; }
.ax-checkbox-option { display: flex; flex: 1; align-items: center; gap: 11px; min-width: 0; padding: 8px 0; cursor: pointer; font-size: 15px; }
.ax-checkbox-option span { overflow-wrap: anywhere; }
.ax-checkbox-option input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--accent); color-scheme: dark; cursor: pointer; }
.ax-checkbox-group .woocommerce-widget-layered-nav-list__item--chosen .ax-checkbox-option { color: var(--accent); }
.ax-apply-attributes { margin-top: 18px; width: 100%; }
.ax-apply-attributes[hidden] { display: none; }
.ax-filter-toggle { display: none; }
#ax-shop-filters[hidden] { display: none; }
.ax-shop-sidebar .widget_price_filter .price_slider_wrapper .ui-widget-content { background: #505647; border-radius: 0; }
.ax-shop-sidebar .widget_price_filter .ui-slider .ui-slider-range,
.ax-shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle { background: var(--accent); }
.ax-shop-sidebar .widget_price_filter .price_slider { margin: 24px 9px; }
.ax-shop-sidebar .widget_price_filter .price_slider_amount { font-size: 13px; color: var(--ink); }
.ax-shop-sidebar .widget_price_filter .price_slider_amount .button { font-size: 12px; padding: 10px 12px; min-height: 38px; }
.ax-shop-sidebar .widget_price_filter input[type=number] { width: 100%; }
.woocommerce .ax-store ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px 24px; clear: both; }
.woocommerce .ax-store ul.products::before,
.woocommerce .ax-store ul.products::after { display: none; }
.woocommerce .ax-store ul.products li.product { float: none; width: auto; margin: 0; min-width: 0; }
.woocommerce .ax-store ul.products li.product .woocommerce-loop-product__title { color: var(--ink); font-size: 19px; line-height: 1.3; }
.woocommerce .ax-store ul.products li.product .button { font-size: 13px; padding: 12px 16px; }
.woocommerce .ax-store ul.products li.product a img { aspect-ratio: 3/4; object-fit: contain; background: var(--panel); }
.woocommerce .ax-store .related.products ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media(max-width:1100px) {
    .ax-catalog { grid-template-columns: 190px minmax(0,1fr); gap: 30px; }
    .woocommerce .ax-catalog ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:899px) {
    .ax-catalog { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .ax-store { padding-top: 30px; }
    .ax-filter-toggle.is-ready { display: flex; justify-content: space-between; gap: 20px; width: 100%; padding: 15px; color: var(--ink); background: var(--panel); border: 1px solid #74796b; text-align: left; cursor: pointer; }
    #ax-shop-filters { padding: 22px 0; }
}
@media(max-width:550px) {
    .woocommerce .ax-store ul.products,
    .woocommerce .ax-store .related.products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 14px; }
    .woocommerce .ax-store ul.products li.product .woocommerce-loop-product__title { font-size: 16px; }
    .woocommerce .ax-store ul.products li.product .button { padding: 11px 8px; font-size: 12px; }
    .woocommerce .ax-store .woocommerce-ordering,
    .woocommerce .ax-store .woocommerce-result-count { float: none; width: 100%; }
    .woocommerce .ax-store .woocommerce-ordering select { width: 100%; }
}
/* Embedded payment frames are isolated documents; configure their dark theme in the payment plugin. */
@media(max-width:550px) {
    .woocommerce div.product form.cart .variations th,
    .woocommerce div.product form.cart .variations td { display: block; width: 100%; padding-right: 0; }
    .woocommerce div.product form.cart .variations th { padding-bottom: 0; }
}
