/**
 * Axor Claude Theme - Main Styles
 *
 * @package Axor_Claude
 */

/* ==========================================================================
   CSS Variables
   ========================================================================== */

:root {
    /* Colors */
    --axor-black: #1a1a1a;
    --axor-dark: #0d0d0d;
    --axor-white: #ffffff;
    --axor-red: #e31e24;
    --axor-red-dark: #c01920;
    --axor-gray: #888888;
    --axor-light-gray: #f5f5f5;
    --axor-border: #333333;

    /* Semantic accent — used for hover highlights, validation errors,
       sale badges, and any other UI element that needs to pop.
       All of it pipes through --axor-accent so we can swap the brand
       color in one place. */
    --axor-accent: var(--axor-red);
    --axor-accent-dark: var(--axor-red-dark);
    --axor-accent-soft: rgba(227, 30, 36, 0.15);

    /* Typography */
    --axor-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    --axor-font-size-base: 14px;
    --axor-font-size-sm: 14px;
    --axor-font-size-lg: 16px;

    /* Spacing */
    --axor-header-height: 70px;
    --axor-container-width: 1400px;
    --axor-gap: 20px;

    /* Transitions */
    --axor-transition: 0.3s ease;
}

/* ==========================================================================
   Global Reset - Remove browser focus outlines (dashed borders)
   ========================================================================== */

*, *::before, *::after {
    -webkit-tap-highlight-color: transparent;
}

a:focus,
a:active,
button:focus,
button:active,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
    outline: none !important;
    box-shadow: none !important;
}

*:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Global h1 */
h1, h1.entry-title, .page-title {
    font-size: 40px;
    font-weight: 700;
}

/* ==========================================================================
   Global Button Hover Effect
   Left-to-right sweep via ::after behind semi-transparent bg
   The ::after uses z-index:-1 so it sits BEHIND the button bg+text.
   Since the bg is semi-transparent, the full-opacity ::after shows through.
   ========================================================================== */

/* Base: stacking context + overflow hidden + transitions */
.axor-category-card__title,
.single_add_to_cart_button,
.axor-compact-card__add-to-cart,
.axor-compact-card__remove-from-cart,
.woocommerce-account .woocommerce-Button,
.woocommerce-account button[type="submit"],
.woocommerce-account .button,
.woocommerce-checkout .button,
.woocommerce-checkout button[type="submit"],
.woocommerce-checkout #place_order,
.wpcf7 form input[type="submit"],
.cky-consent-bar .cky-btn,
.cky-preference-center .cky-footer-wrapper .cky-btn,
.axor-mobile-action-btn,
.axor-sort-dropdown__toggle,
.axor-explore-more__btn,
.axor-accessory-card__title,
.axor-compact-products__checkout-btn,
.axor-cart__coupon-btn,
.axor-cart__update-btn,
.axor-login__btn,
.axor-cart__checkout-btn,
.axor-cart-drawer__checkout,
.axor-cart-drawer__goto-cart,
.axor-cart-drawer__continue,
.axor-filter-drawer__continue,
.axor-mobile-continue-btn,
button.button,
a.button,
.wp-element-button {
    position: relative;
    z-index: 0;
    overflow: hidden;
    transition: background-color 0.5s ease, color 0.5s ease;
}

/* Dark gray sweep: full opacity behind semi-transparent bg */
.single_add_to_cart_button::after,
.axor-compact-card__add-to-cart::after,
.axor-compact-card__remove-from-cart::after,
.axor-compact-products__checkout-btn::after,
.axor-explore-more__btn::after,
.axor-cart__update-btn::after,
.axor-login__btn::after,
.axor-cart-drawer__continue::after,
.axor-filter-drawer__continue::after,
.axor-mobile-continue-btn::after,
.woocommerce-account .woocommerce-Button::after,
.woocommerce-account button[type="submit"]::after,
.woocommerce-account .button::after,
.woocommerce-checkout .button::after,
.woocommerce-checkout button[type="submit"]::after,
.wpcf7 form input[type="submit"]::after,
.cky-consent-bar .cky-btn-accept::after,
.cky-preference-center .cky-footer-wrapper .cky-btn-accept::after,
button.button::after,
a.button::after,
.wp-element-button::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #1a1b18;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
    pointer-events: none;
    z-index: -1;
}

/* Orange sweep */
.woocommerce-checkout #place_order::after,
.axor-cart__checkout-btn::after,
.axor-cart-drawer__checkout::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--axor-accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
    pointer-events: none;
    z-index: -1;
}

/* Red sweep (mobile action button) */
.axor-mobile-action-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #e31e24;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
    pointer-events: none;
    z-index: -1;
}

/* White sweep (category/accessory card titles - no color swap) */
.axor-category-card__title::after,
.axor-accessory-card__title::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 1);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
    pointer-events: none;
    z-index: -1;
}

/* White-to-dark sweep (buttons with color swap) - 0.8 opacity */
.axor-cart__coupon-btn::after,
.axor-cart-drawer__goto-cart::after,
.axor-sort-dropdown__toggle::after,
.cky-consent-bar .cky-btn-reject::after,
.cky-consent-bar .cky-btn-customize::after,
.cky-preference-center .cky-footer-wrapper .cky-btn-reject::after,
.cky-preference-center .cky-footer-wrapper .cky-btn-preferences::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 27, 24, 0.4);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
    pointer-events: none;
    z-index: -1;
}

/* Sweep in from left on hover */
.single_add_to_cart_button:hover::after,
.axor-compact-card__add-to-cart:hover::after,
.axor-compact-card__remove-from-cart:hover::after,
.axor-compact-products__checkout-btn:hover::after,
.axor-explore-more__btn:hover::after,
.axor-cart__update-btn:hover::after,
.axor-login__btn:hover::after,
.axor-cart-drawer__checkout:hover::after,
.axor-cart-drawer__continue:hover::after,
.axor-filter-drawer__continue:hover::after,
.axor-mobile-continue-btn:hover::after,
.woocommerce-account .woocommerce-Button:hover::after,
.woocommerce-account button[type="submit"]:hover::after,
.woocommerce-account .button:hover::after,
.woocommerce-checkout .button:hover::after,
.woocommerce-checkout button[type="submit"]:hover::after,
.woocommerce-checkout #place_order:hover::after,
.wpcf7 form input[type="submit"]:hover::after,
.cky-consent-bar .cky-btn-accept:hover::after,
.cky-preference-center .cky-footer-wrapper .cky-btn-accept:hover::after,
.axor-category-card__title:hover::after,
.axor-accessory-card__title:hover::after,
.axor-cart__checkout-btn:hover::after,
.axor-mobile-action-btn:hover::after,
.axor-cart__coupon-btn:hover::after,
.axor-cart-drawer__goto-cart:hover::after,
.axor-sort-dropdown__toggle:hover::after,
.cky-consent-bar .cky-btn-reject:hover::after,
.cky-consent-bar .cky-btn-customize:hover::after,
.cky-preference-center .cky-footer-wrapper .cky-btn-reject:hover::after,
.cky-preference-center .cky-footer-wrapper .cky-btn-preferences:hover::after,
button.button:hover::after,
a.button:hover::after,
.wp-element-button:hover::after {
    transform: scaleX(1);
}

/* Dark gray buttons: hover color + bg lock (prevents Astra blue override) */
.single_add_to_cart_button:hover,
.axor-compact-card__add-to-cart:hover,
.axor-compact-card__remove-from-cart:hover,
.axor-compact-products__checkout-btn:hover,
.axor-explore-more__btn:hover,
.axor-cart__update-btn:hover,
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[type="submit"]:hover,
.woocommerce-account .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce-checkout button[type="submit"]:not(#place_order):hover,
.wpcf7 form input[type="submit"]:hover,
.axor-login__btn:hover,
.axor-cart-drawer__continue:hover,
.axor-filter-drawer__continue:hover,
.axor-mobile-continue-btn:hover,
button.button:hover,
a.button:hover,
.wp-element-button:hover {
    background-color: rgba(26, 27, 24, 0.9) !important;
    color: #fff !important;
    border-color: #1a1b18;
}

/* Orange buttons: hover color + bg lock */
.woocommerce-checkout #place_order:hover,
.axor-cart__checkout-btn:hover,
.axor-cart-drawer__checkout:hover {
    background-color: rgba(227, 30, 36, 0.8) !important;
    color: #fff !important;
}

/* Cookie accept buttons: full-opacity dark on hover (not 0.7 like other dark gray btns) */
.cky-consent-bar .cky-btn-accept:hover,
.cky-preference-center .cky-footer-wrapper .cky-btn-accept:hover {
    background-color: #1a1b18 !important;
    color: #fff !important;
    opacity: 1;
}

/* White buttons with color swap on hover - 0.8 opacity dark */
.axor-cart__coupon-btn:hover,
.axor-cart-drawer__goto-cart:hover,
.axor-sort-dropdown__toggle:hover,
.cky-consent-bar .cky-btn-reject:hover,
.cky-consent-bar .cky-btn-customize:hover,
.cky-preference-center .cky-footer-wrapper .cky-btn-reject:hover,
.cky-preference-center .cky-footer-wrapper .cky-btn-preferences:hover {
    background-color: rgba(26, 27, 24, 0.4) !important;
    border-color: #1a1b18;
    color: #fff !important;
    opacity: 0.4;
}

/* White buttons: opacity 0.8 → 1.0 without color swap */
.axor-category-card__title:hover,
.axor-accessory-card__title:hover {
    background: rgba(255, 255, 255, 1) !important;
}

/* Disabled buttons: no sweep, no hover changes, no transitions */
button:disabled::after,
input:disabled::after,
.button:disabled::after,
button:disabled:hover::after,
input:disabled:hover::after,
.button:disabled:hover::after {
    transform: scaleX(0) !important;
    transition: none !important;
}

button:disabled,
input:disabled,
.button:disabled,
button:disabled:hover,
input:disabled:hover,
.button:disabled:hover {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
    transition: none !important;
}

/* Specific disabled bg locks - override the global hover bg */
.axor-cart__coupon-btn:disabled,
.axor-cart__coupon-btn:disabled:hover {
    background-color: #fff !important;
    color: #1a1b18 !important;
}

.axor-cart__update-btn:disabled,
.axor-cart__update-btn:disabled:hover {
    background-color: #1a1b18 !important;
    color: #fff !important;
}

.woocommerce-checkout #place_order:disabled,
.woocommerce-checkout #place_order:disabled:hover {
    background-color: rgba(227, 30, 36, 0.5) !important;
    color: #fff !important;
}

#woocommerce-checkout-form-coupon button[type="submit"]:disabled,
#woocommerce-checkout-form-coupon button[type="submit"]:disabled:hover {
    background-color: rgba(26, 27, 24, 0.5) !important;
    color: #fff !important;
}

/* ==========================================================================
   Header - Matching axorhelmets.com exactly
   ========================================================================== */

/* Top Row - Scrolls with page */
.axor-header__top {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    padding-top: 24px;
    background-color: #1a1b18;
}

/* Bottom Row - Fixed, becomes semi-transparent when scrolled */
.axor-header__bottom {
    position: fixed;
    top: calc(24px + 20px); /* Top row: padding-top + content height */
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: #1a1b18;
    transition: top 0.3s ease, background-color 0.3s ease;
}

.axor-header.is-scrolled .axor-header__bottom {
    top: 0;
    background-color: rgba(26, 27, 24, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* Header wrapper - no longer needs positioning */
header#axor-header.axor-header {
    position: relative;
    z-index: 9999;
}

/* ==========================================================================
   Scrolled Header State - Compact single row
   ========================================================================== */

/* Adjust nav row when scrolled */
.axor-header__bottom-inner {
    transition: margin 0.3s ease;
}

.axor-header.is-scrolled .axor-header__bottom-inner {
    margin-top: 0;
    justify-content: space-between;
}

/* Show nav logo when scrolled */
.axor-header.is-scrolled .axor-header__nav-logo {
    display: flex;
}

/* Show nav icons when scrolled */
.axor-header.is-scrolled .axor-header__nav-icons {
    display: flex;
}

/* Nav logo - hidden by default, shown on scroll */
.axor-header__nav-logo {
    display: none;
    align-items: center;
    flex-shrink: 0;
}

.axor-header__nav-logo a {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 10px 16px;
    margin: -10px -16px;
}

.axor-header__nav-logo .axor-logo {
    width: 80px;
    height: auto;
}

.axor-header__nav-logo .axor-logo-text {
    font-size: 20px;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    letter-spacing: 2px;
}

/* Nav icons - hidden by default, shown on scroll */
.axor-header__nav-icons {
    display: none;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.axor-header__nav-icons .axor-header__icon {
    gap: 0;
}

.axor-header__nav-icons .axor-header__icon svg {
    width: 18px;
    height: 18px;
}

.axor-header__top-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: 1849px;
    margin: 0 auto;
    height: 20px;
}

.axor-header__spacer {
    display: none;
}

/* Logo - Centered */
.axor-header__logo {
    flex: 0 0 auto;
}

.axor-header__logo a {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 10px 16px;
    margin: -10px -16px;
}

.axor-header__logo .axor-logo {
    width: 120px;
    height: auto;
}

.axor-header__logo .axor-logo-text {
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    letter-spacing: 2px;
}

/* Utility Icons - Absolute Right Edge */
.axor-header__icons {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 20px;
}

.axor-header__icon {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    transition: color 0.2s ease;
    position: relative;
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

.axor-header__icon:hover,
.axor-header__icon:focus,
.axor-header__icon:active {
    color: #aaa;
    outline: none;
    background: transparent;
}

.axor-header__icon svg {
    width: 1.5em;
    height: 1.5em;
    font-size: 14px;
    flex-shrink: 0;
    stroke-width: 2;
}

.axor-header__icon span {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: 0.8;
}

/* Account dropdown */
.axor-header__account-wrap {
    position: relative;
}

.axor-account-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    background: #1a1b18;
    min-width: 180px;
    z-index: 10000;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.axor-account-dropdown.is-open {
    display: block;
}

.axor-account-dropdown a {
    display: block;
    padding: 14px 20px;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    transition: color 0.2s ease, background 0.2s ease;
}

.axor-account-dropdown a:last-child {
    border-bottom: none;
}

.axor-account-dropdown a:hover {
    color: #fff;
    background: rgba(255,255,255,0.05);
}

.axor-account-dropdown__logout {
    color: rgba(255, 255, 255, 0.8) !important;
}

.axor-account-dropdown__logout:hover {
    color: #fff !important;
}

/* Hide cart count text, only show badge */
.axor-cart-icon span:last-of-type:not(.axor-cart-count) {
    /* CART text */
}

/* Cart count badge - positioned at top-right of cart icon */
.axor-cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: #e31e24;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
    padding: 0 4px;
    box-sizing: border-box;
}

/* Bottom Row - Navigation */
.axor-header__bottom {
    background-color: #1a1b18;
}

.axor-header__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1849px;
    margin: 27px auto 0;
    height: 55px;
    padding: 0 24px;
}

.axor-header__nav {
    height: 55px;
}

/* Navigation */
.axor-header__nav {
    display: flex;
    justify-content: center;
}

.axor-nav-menu {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.axor-nav-menu li {
    position: relative;
    margin: 0;
    padding: 0;
}

.axor-nav-menu > li > a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 4px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 15.36px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.768px;
    padding: 12px 19.2px;
    line-height: 1.3;
    transition: all 0.3s ease;
    font-family: 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', sans-serif;
}

.axor-menu-label {
    width: 100%;
    text-align: center;
}

.axor-menu-subtitle {
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.axor-nav-menu > li > a:hover {
    color: #fff;
    opacity: 1;
}

/* Items with dropdown arrow: don't wrap so arrow stays inline */
.axor-nav-menu > li.menu-item-has-children > a {
    flex-wrap: nowrap;
}

.axor-dropdown-icon {
    transition: transform var(--axor-transition);
    margin-left: 6px;
    flex-shrink: 0;
}

/* Rotate arrow on click toggle (all devices) */
.axor-nav-menu > li.is-open > a .axor-dropdown-icon {
    transform: rotate(180deg);
}

/* Rotate arrow on hover — only regular submenus, not mega-dropdown (click-only) */
@media (hover: hover) {
    .axor-nav-menu > li:not(.has-mega-dropdown):hover > a .axor-dropdown-icon {
        transform: rotate(180deg);
    }
}

/* Dropdown submenu — default (non-mega) */
.axor-nav-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    background-color: var(--axor-white);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    list-style: none;
    margin: 0;
    padding: 12px 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--axor-transition), visibility var(--axor-transition);
}

.axor-nav-menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
}

/* Mega-dropdown: JS-controlled via .is-open (hover + click + outside click) */
.axor-nav-menu > li.is-open > .axor-mega-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.axor-nav-menu .sub-menu li {
    margin: 0;
}

.axor-nav-menu .sub-menu a {
    display: block;
    padding: 12px 24px;
    color: var(--axor-black);
    text-decoration: none;
    font-size: 15.36px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.768px;
    transition: background-color var(--axor-transition);
    font-family: 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', sans-serif;
}

.axor-nav-menu .sub-menu a:hover {
    background-color: var(--axor-light-gray);
}

/* Narrow desktop: tighter nav spacing */
@media (min-width: 1025px) and (max-width: 1279px) {
    .axor-nav-menu {
        gap: 60px;
    }

    .axor-nav-menu > li > a {
        position: relative;
        padding: 12px 0 20px;
        font-size: 14px;
        letter-spacing: 0.3px;
    }

    /* Subtitle must not widen the item — pull it out of flow */
    .axor-menu-subtitle {
        position: absolute;
        bottom: 3px;
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        white-space: nowrap;
        font-size: 14px;
    }
}

/* Mega-dropdown — two-column layout with image preview */
.axor-mega-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    background-color: var(--axor-white);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--axor-transition), visibility var(--axor-transition);
    border-radius: 0 0 4px 4px;
    overflow: hidden;
}

.axor-mega-dropdown__links {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
    min-width: 240px;
    padding: 16px 0;
    margin: 0;
    list-style: none;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.axor-mega-dropdown__links > li a:hover {
    background-color: var(--axor-light-gray);
}

.axor-mega-dropdown__image {
    width: 240px;
    min-height: 240px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--axor-light-gray);
    transition: background-image 0.3s ease;
}

/* Mobile toggle - hidden on desktop */
.axor-mobile-toggle {
    display: none;
}

/* Prevent horizontal scroll — using `clip` (not `hidden`) is critical.
   `overflow-x: hidden` on html/body forces `overflow-y` to compute as
   `auto`, which silently breaks `position: sticky` on descendants
   (the mobile filter bar rendered at its natural flow position instead
   of sticking to the viewport bottom). `clip` hides overflow without
   creating a scroll container, so sticky works and horizontal scroll
   is still prevented. */
html {
    overflow-x: clip;
}

/* Body padding to account for fixed header */
body {
    padding-top: 126px; /* Top padding 24px + logo row 20px + nav margin 27px + nav 55px */
    overflow-x: clip;
}

/* Neutralize Astra full-bleed alignfull that uses 100vw (includes scrollbar width) */
.ast-no-sidebar .entry-content .alignfull {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* ── WordPress Admin Bar offset ── */
/* WP adds html { margin-top: 32px } for content; we only offset fixed elements */
body.admin-bar .axor-header__top {
    top: 32px;
}

body.admin-bar .axor-header__bottom {
    top: calc(32px + 24px + 20px);
}

body.admin-bar.header-scrolled .axor-header__bottom,
body.admin-bar .axor-header.is-scrolled .axor-header__bottom {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .axor-header__top {
        top: 46px;
    }

    body.admin-bar .axor-header__bottom {
        top: 46px;
    }

    /* Admin bar 46px on small screens */
    body.admin-bar .axor-header__nav {
        top: 46px;
        height: calc(100% - 46px);
    }

    /* WP admin bar is position:absolute on mobile — it scrolls away,
       so the fixed header should snap to top:0 once scrolled. */
    body.admin-bar.header-scrolled .axor-header__bottom,
    body.admin-bar .axor-header.is-scrolled .axor-header__bottom {
        top: 0 !important;
    }
}

/* Keep nav centered when scrolled - nav takes up middle space */
.axor-header.is-scrolled .axor-header__nav {
    flex: 1;
    justify-content: center;
}

/* Mobile-only elements: invisible on desktop */
.axor-mobile-panel {
    display: contents;
}

.axor-mobile-close,
.axor-mobile-actions {
    display: none;
}

/* ==========================================================================
   Mobile Header
   ========================================================================== */

@media (max-width: 1024px) {
    /* Hide top row — single-row mobile header */
    .axor-header__top {
        display: none;
    }

    /* Bottom row pinned to top (single row on mobile, no top row offset) */
    .axor-header__bottom {
        top: 0;
    }

    body.admin-bar .axor-header__bottom {
        top: 32px;
    }

    .axor-header__bottom-inner {
        justify-content: space-between;
        height: 75px;
        margin-top: 0;
        padding: 0 24px;
    }

    /* Hamburger — left */
    .axor-mobile-toggle {
        display: flex;
        order: 1;
        flex-shrink: 0;
        padding: 8px 0;
    }

    .axor-mobile-toggle svg {
        width: 28px;
        height: 28px;
    }

    /* Logo — centered, always visible */
    .axor-header__nav-logo {
        display: flex;
        order: 2;
        flex: 1;
        justify-content: center;
    }

    .axor-header__nav-logo .axor-logo {
        width: 120px;
        height: auto;
    }

    .axor-header__nav-logo .axor-logo-text {
        font-size: 26px;
    }

    /* Icons — right, always visible */
    .axor-header__nav-icons {
        display: flex;
        order: 3;
        gap: 20px;
        flex-shrink: 0;
    }

    .axor-header__nav-icons .axor-header__icon svg {
        width: 18px;
        height: 18px;
    }

    /* Hide text labels, keep icons only */
    .axor-header__icon span:not(.axor-cart-count) {
        display: none;
    }

    /* Cart badge sizing */
    .axor-header__nav-icons .axor-cart-count {
        top: -6px;
        right: -6px;
        font-size: 9px;
        min-width: 16px;
        height: 16px;
    }

    /* ── Mobile nav overlay (full-screen, dark backdrop) ── */
    .axor-header__nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0);
        display: flex;
        justify-content: flex-end;
        z-index: 99999;
        order: 4;
        padding: 0;
        height: auto;
        pointer-events: none;
        visibility: hidden;
        transition: background 0.3s ease, visibility 0s 0.3s;
    }

    /* Override scrolled state that would center the nav panel */
    .axor-header.is-scrolled .axor-header__nav {
        flex: initial;
        justify-content: flex-end;
    }

    .axor-header__nav.is-open {
        background: rgba(0, 0, 0, 0.5);
        pointer-events: auto;
        visibility: visible;
        transition: background 0.3s ease, visibility 0s 0s;
    }

    /* ── White panel wrapper (right side, built by JS) ── */
    .axor-mobile-panel {
        position: relative;
        width: 85%;
        max-width: 400px;
        height: 100%;
        background: #fff;
        padding: 60px 24px 24px;
        overflow-y: auto;
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        display: flex;
        flex-direction: column;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        will-change: transform;
    }

    /* Admin bar: offset mobile nav overlay so panel isn't hidden behind it */
    body.admin-bar .axor-header__nav {
        top: 32px;
        height: calc(100% - 32px);
    }

    .axor-header__nav.is-open .axor-mobile-panel {
        transform: translateX(0);
    }

    .axor-nav-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        width: 100%;
        flex: 1;
    }

    .axor-nav-menu li {
        width: 100%;
        border-bottom: 1px solid #e5e5e5;
    }

    .axor-nav-menu > li > a {
        padding: 20px 0;
        font-size: 15px;
        font-weight: 700;
        color: #1a1b18;
        width: 100%;
        justify-content: space-between;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .axor-nav-menu > li > a:hover {
        color: #555;
    }

    /* Dropdown icon dark on white bg, pushed to right edge */
    .axor-nav-menu > li > a .axor-dropdown-icon {
        stroke: #1a1b18;
        margin-left: auto;
    }

    .axor-nav-menu .sub-menu {
        position: static;
        transform: none;
        background-color: transparent;
        box-shadow: none;
        padding: 0 0 12px 0;
        opacity: 1;
        visibility: visible;
        display: none;
    }

    .axor-nav-menu li.is-open > .sub-menu {
        display: block;
    }

    .axor-nav-menu .sub-menu a {
        color: #666;
        padding: 10px 0;
        font-size: 14px;
    }

    .axor-nav-menu .sub-menu a:hover {
        color: #1a1b18;
        background: transparent;
    }

    /* Two-line labels: left-align on mobile */
    .axor-menu-label,
    .axor-menu-subtitle {
        width: auto;
        text-align: left;
    }

    .axor-menu-subtitle {
        margin-left: 4px;
    }

    /* Mega-dropdown: reset desktop layout for mobile */
    .axor-mega-dropdown {
        position: static;
        transform: none;
        display: none;
        flex-direction: column;
        background-color: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        border-radius: 0;
    }

    .axor-nav-menu li.is-open > .axor-mega-dropdown {
        display: block;
    }

    /* Show sub-menu inside mega-dropdown when parent is open */
    .axor-nav-menu li.is-open > .axor-mega-dropdown .sub-menu {
        display: block;
    }

    .axor-mega-dropdown__links {
        position: static !important;
        min-width: 0;
        padding: 0 0 0 21px;
    }

    /* Subcategory items: lighter borders, no border on last */
    .axor-mega-dropdown__links > li {
        border-bottom: 1px solid #f0f0f0;
    }

    .axor-mega-dropdown__links > li:last-child {
        border-bottom: none;
    }

    .axor-nav-menu .axor-mega-dropdown__links > li a {
        padding: 20px 0 20px 10px;
        font-size: 15px;
        font-weight: 700;
        color: #1a1b18;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        opacity: 0.8;
    }

    .axor-mega-dropdown__image {
        display: none;
    }

    /* ── Close button (override desktop display:none) ── */
    .axor-mobile-close {
        display: block;
        position: absolute;
        top: 16px;
        right: 24px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 8px;
        z-index: 1;
        color: #1a1b18;
    }

    /* ── Red action buttons (Track Order + Cart) ── */
    .axor-mobile-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding-top: 24px;
        margin-top: auto;
    }

    .axor-mobile-action-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        background: rgba(227, 30, 36, 0.8);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        text-decoration: none;
        padding: 14px 20px;
        border-radius: 4px;
    }

    .axor-mobile-action-btn:hover {
        color: #fff;
    }

    .axor-mobile-continue-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 14px 20px;
        background: rgba(26, 27, 24, 0.7);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        font-family: inherit;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border: 1px solid #1a1b18;
        border-radius: 4px;
        cursor: pointer;
    }

    .axor-mobile-action-btn svg {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
    }

    .axor-mobile-close svg {
        width: 24px;
        height: 24px;
    }

    /* Prevent body scroll when menu open */
    body.menu-open {
        overflow: hidden;
    }

    /* Remove backdrop-filter when menu is open — backdrop-filter creates a
       new containing block that traps the position:fixed nav overlay inside
       the header bar instead of letting it cover the full viewport. */
    body.menu-open .axor-header__bottom {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    body {
        padding-top: 75px;
    }

    /* Admin bar is 46px at <=782px; the 32px rule above handles 783-1024px */
    @media (max-width: 782px) {
        body.admin-bar .axor-header__bottom {
            top: 46px;
        }
        body.admin-bar .axor-header__nav {
            top: 46px;
            height: calc(100% - 46px);
        }
    }
}

@media (max-width: 480px) {
    .axor-header__bottom-inner {
        height: 60px;
        padding: 0 16px;
    }

    .axor-header__nav-logo .axor-logo {
        width: auto;
        height: 16px;
    }

    .axor-header__nav-logo .axor-logo-text {
        font-size: 20px;
    }

    .axor-header__nav-icons {
        gap: 16px;
    }

    .axor-header__nav-icons .axor-header__icon svg {
        width: 18px;
        height: 18px;
    }

    .axor-mobile-toggle svg {
        width: 24px;
        height: 24px;
    }

    body {
        padding-top: 60px;
    }
}

/* ==========================================================================
   Search Modal - Dropdown from top
   ========================================================================== */

.axor-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.axor-search-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

.axor-search-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.axor-search-modal.is-open .axor-search-modal__overlay {
    opacity: 1;
}

.axor-search-modal__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(26, 27, 24, 0.95);
    padding: 50px 24px;
    box-sizing: border-box;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}

.axor-search-modal.is-open .axor-search-modal__content {
    transform: translateY(0);
}

.axor-search-modal__form {
    display: flex;
    align-items: center;
    max-width: 600px;
    margin: 0 auto;
    padding: 0 24px;
    background: #fff;
    border-radius: 50px;
    height: 65px;
    gap: 12px;
}

.axor-search-modal__icon {
    flex-shrink: 0;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.axor-search-modal__icon svg {
    display: block;
    width: 28px;
    height: 28px;
}

.axor-search-modal__input {
    flex: 1;
    border: none !important;
    outline: none;
    box-shadow: none;
    font-size: 20px !important;
    font-weight: 400;
    color: #1A1B18;
    background: transparent;
    padding: 0;
    font-family: inherit;
    height: 100%;
}

.axor-search-modal__input:focus {
    border: none;
    outline: none;
    box-shadow: none;
}

.axor-search-modal__input::placeholder {
    color: #999;
}

.axor-search-modal__close {
    flex-shrink: 0;
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    padding: 8px;
    cursor: pointer;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.axor-search-modal__close:hover,
.axor-search-modal__close:focus,
.axor-search-modal__close:active {
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    color: #999;
}

.axor-search-modal__close svg {
    display: block;
    width: 28px;
    height: 28px;
}

/* Body scroll lock when search, mobile menu, or cart drawer is open.
   Must lock BOTH html and body — iOS Safari scrolls the viewport (html), not body. */
html.scroll-locked {
    overflow: hidden !important;
}

body.search-modal-open,
body.menu-open,
body.axor-cart-drawer-open {
    overflow: hidden !important;
}

/* Search modal - tablet/mobile */
@media (max-width: 600px) {
    .axor-search-modal__content {
        padding: 50px 16px;
    }

    .axor-search-modal__form {
        padding: 0 16px;
        height: 56px;
    }

    .axor-search-modal__input {
        font-size: 16px !important;
    }

    .axor-search-modal__icon svg,
    .axor-search-modal__close svg {
        width: 22px;
        height: 22px;
    }
}

/* ==========================================================================
   Footer - Matching axorhelmets.com
   ========================================================================== */

.axor-footer {
    background-color: #1A1B18;
    color: #fff;
}

.axor-footer__main {
    padding: 72px 0 40px;
}

.axor-footer__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.2fr 1.5fr;
    gap: 0;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 48px;
}

.axor-footer__column {
    display: flex;
    flex-direction: column;
}

.axor-footer__title {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 16px 0;
    color: #fff;
}

/* Footer Menu Links */
.axor-footer__menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.axor-footer__menu li {
    margin-bottom: 8px;
}

.axor-footer__menu li:last-child {
    margin-bottom: 0;
}

.axor-footer__menu a {
    color: #ffffff;
    opacity: 0.9;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    transition: color 0.2s ease;
}

.axor-footer__menu a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Customer Support Column */
.axor-footer__contact {
    margin-bottom: 16px;
}

.axor-footer__phone {
    color: #ffffff;
    opacity: 0.8;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 4px 0;
}

.axor-footer__hours {
    color: #ffffff;
    opacity: 0.8;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 16px 0;
}

.axor-footer__email a {
    color: #ffffff;
    opacity: 0.8;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.5;
    transition: color 0.2s ease;
}

.axor-footer__email {
    margin-bottom: 0px;
}

/* Social Icons */
.axor-footer__social {
    display: flex;
    align-items: center;
    gap: 16px;
}

.axor-footer__social-link,
.axor-footer__social-link:visited {
    color: #ffffff !important;
    opacity: 0.8;
    transition: color 0.2s ease;
}

.axor-footer__social-link:hover {
    color: #fff;
    opacity: 1;
}

.axor-footer__social-link svg {
    width: 24px;
    height: 24px;
}

/* Payment List in Footer */
.axor-footer__payment-list {
    list-style: none;
    margin: 0 0 16px 0;
    padding: 0;
}

.axor-footer__payment-list li {
    color: #ffffff;
    opacity: 0.8;
    font-size: 14px;
    line-height: 1.8;
}

.axor-footer__payment-list li::before {
    content: "• ";
    color: #fff;
    opacity: 0.6;
}

/* Payment Icons in Footer */
.axor-footer__payment-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    max-width: 320px;
}

.axor-footer__payment-icons img {
    height: 36px;
    width: auto;
    transition: opacity 0.2s ease;
}

.axor-footer__payment-icons img:hover {
    opacity: 1;
}

/* Payment column styling */
.axor-footer__column--payment {
    max-width: none;
}

/* Newsletter Column */
.axor-footer__column--newsletter {
    max-width: 100%;
}

.axor-footer__newsletter-text {
    color: #ffffff;
    opacity: 0.8;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 24px 0;
    max-width: 350px;
}

.axor-footer__newsletter-form {
    margin: 0;
}

.axor-footer__newsletter-input-wrap {
    display: flex;
    max-width: 350px;
    max-height: 50px;
    align-items: center;
    border: 1px solid #fff;
    border-radius: 50px;
    overflow: hidden;
    background: transparent;
}

.axor-footer__newsletter-input-wrap input,
.axor-footer__newsletter-input-wrap input[type="email"] {
    flex: 1 1 0%;
    min-width: 0;
    background-color: #1A1B18 !important;
    border: none !important;
    padding: 14px 24px;
    color: #fff !important;
    font-size: 16px;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    width: auto !important;
}

.axor-footer__newsletter-input-wrap input:focus,
.axor-footer__newsletter-input-wrap input[type="email"]:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    color: #fff !important;
}

.axor-footer__newsletter-input-wrap input:-webkit-autofill,
.axor-footer__newsletter-input-wrap input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
    -webkit-box-shadow: 0 0 0 1000px #1A1B18 inset !important;
    transition: background-color 5000s ease-in-out 0s;
}

.axor-footer__newsletter-input-wrap input::placeholder {
    color: #fff;
    opacity: 0.7;
}

.axor-footer__newsletter-input-wrap button {
    background: transparent;
    border: none;
    padding: 14px 24px;
    color: #fff;
    opacity: 0.8;
    cursor: pointer;
    transition: color 0.2s ease;
    flex: 0 0 auto;
    width: auto !important;
}

.axor-footer__newsletter-input-wrap button:hover {
    color: #888;
    opacity: 1;
}

.axor-footer__newsletter-msg {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.4;
    max-width: 350px;
    text-align: center;
    transition: opacity 0.2s ease;
}

.axor-footer__newsletter-msg:empty {
    display: none;
}

.axor-footer__newsletter-msg.is-success {
    color: #4caf50;
}

.axor-footer__newsletter-msg.is-error {
    color: #ef5350;
}

.axor-footer__newsletter-form.is-loading .axor-footer__newsletter-input-wrap button {
    opacity: 0.4;
    pointer-events: none;
}

/* Copyright Bar */
.axor-footer__copyright {
    background-color: #1A1B18;
    border-top: none;
    padding: 16px 48px;
    text-align: center;
}

.axor-footer__copyright p {
    color: #fff;
    font-size: 16px;
}

/* Footer: tighter 5-col layout for 1025-1280px */
@media (min-width: 1025px) and (max-width: 1280px) {
    .axor-footer__inner {
        grid-template-columns: 1fr 1fr 1fr 1.1fr 1.4fr;
        gap: 0 16px;
        padding: 0 24px;
    }

    .axor-footer__title {
        font-size: 14px;
    }

    .axor-footer__column a,
    .axor-footer__column li,
    .axor-footer__column p {
        font-size: 14px;
    }

    .axor-footer__newsletter-text {
        font-size: 14px;
    }
}

/* Footer Responsive - 2 row layout */
@media (max-width: 1024px) {
    .axor-footer__inner {
        grid-template-columns: repeat(6, 1fr);
        gap: 24px 32px;
        max-width: 900px;
        margin: 0 auto;
        padding: 0 24px;
    }

    /* Row 1: 3 columns, each spanning 2 of 6, centered in their cells */
    .axor-footer__column:not(.axor-footer__column--payment):not(.axor-footer__column--newsletter) {
        grid-column: span 2;
        justify-self: center;
    }

    /* Row 2: newsletter + payment, each spanning 3 of 6 */
    .axor-footer__column--newsletter {
        grid-column: span 3;
        text-align: center;
    }

    .axor-footer__column--payment {
        display: block;
        grid-column: span 3;
        justify-self: center;
        text-align: center;
        order: 1;
    }

    .axor-footer__column--payment .axor-footer__payment-icons {
        justify-content: center;
    }

    .axor-footer__newsletter-text {
        margin-left: auto;
        margin-right: auto;
    }

    .axor-footer__newsletter-input-wrap {
        margin: 0 auto;
    }

    .axor-footer__newsletter-msg {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .axor-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 20px 15px;
        max-width: 580px;
        margin: 0 auto;
        padding: 0 24px;
    }

    /* Reset span 2 and justify-self from 1024px breakpoint */
    .axor-footer__column:not(.axor-footer__column--payment):not(.axor-footer__column--newsletter) {
        grid-column: span 1;
        justify-self: start;
    }

    .axor-footer__column--newsletter {
        grid-column: span 1;
        text-align: left;
    }

    .axor-footer__column--payment {
        display: block;
        grid-column: 1 / -1;
        text-align: center;
        order: 1;
    }

    .axor-footer__column--payment .axor-footer__payment-icons {
        justify-content: center;
    }

    .axor-footer__copyright {
        padding: 24px;
    }
}

@media (min-width: 481px) and (max-width: 600px) {
    .axor-footer__main {
        padding: 40px 0 30px;
    }

    .axor-footer__inner {
        grid-template-columns: 1fr;
        gap: 30px;
        max-width: 380px;
        margin: 0 auto;
        padding: 0 20px;
        text-align: center;
    }

    /* Reset justify-self from 768px/1280px breakpoints */
    .axor-footer__column:not(.axor-footer__column--payment):not(.axor-footer__column--newsletter) {
        grid-column: span 1;
        justify-self: stretch;
    }

    .axor-footer__column--newsletter {
        grid-column: span 1;
        justify-self: stretch;
        text-align: center;
    }

    .axor-footer__column--payment {
        display: block;
        grid-column: span 1;
        justify-self: stretch;
        order: 1;
    }

    .axor-footer__column--payment .axor-footer__payment-icons {
        justify-content: center;
    }

    .axor-footer__social {
        justify-content: center;
    }

    .axor-footer__copyright {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .axor-footer__main {
        padding: 40px 0 30px;
    }

    .axor-footer__inner {
        grid-template-columns: 1fr;
        gap: 30px;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 24px;
        text-align: center;
    }

    /* Reset justify-self from 768px/1280px breakpoints */
    .axor-footer__column:not(.axor-footer__column--payment):not(.axor-footer__column--newsletter) {
        grid-column: span 1;
        justify-self: stretch;
    }

    .axor-footer__column--newsletter {
        grid-column: span 1;
        justify-self: stretch;
        text-align: center;
    }

    .axor-footer__column--payment {
        display: block;
        grid-column: span 1;
        justify-self: stretch;
        order: 1;
    }

    .axor-footer__column--payment .axor-footer__payment-icons {
        justify-content: center;
    }

    .axor-footer__social {
        justify-content: center;
    }

    .axor-footer__copyright {
        padding: 20px;
    }
}

/* ==========================================================================
   Single Product Page - Working WITH WooCommerce/Astra defaults
   ========================================================================== */

/* Hide only specific elements we're replacing */
.woocommerce div.product .product_meta {
    display: none;
}

/* Full width product page with 50/50 layout */
.woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    margin: 0;
    padding: 0 0 0 0;
}

/* Gallery takes 60% */
.woocommerce div.product div.images {
    width: 60% !important;
    float: none;
    padding: 0 !important;
    margin-bottom: 0;
}

/* Summary takes 40% — override WooCommerce inline CSS */
.woocommerce div.product div.summary {
    width: 40% !important;
    float: none;
    padding: 0 0 16px 0 !important;
    margin-bottom: 0 !important;
}

/* WooCommerce gallery - vertical thumbnails */
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 36px;
    top: 0;
    width: 80px;
    gap: 8px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 70px;
    margin: 0;
}

/* Main gallery viewport - offset from thumbnails and center image */
.woocommerce div.product div.images .woocommerce-product-gallery {
    position: relative;
}

.woocommerce div.product div.images .flex-viewport {
    margin-left: 90px;
}

/* Center the main gallery image */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    text-align: center;
}

/* Description full width */
.woocommerce div.product .axor-product-description {
    width: 100%;
    clear: both;
}

/* Tax/price suffix under price */
.woocommerce div.product div.summary .price .woocommerce-price-suffix {
    display: block;
    font-size: 13px;
    color: #666;
    font-weight: 400;
    margin-top: 2px;
}

/* Product summary ordering via flexbox */
.woocommerce div.product div.summary {
    display: flex;
    flex-direction: column;
}

/* Hide Astra's default sale flash badge on single product */
.woocommerce div.product span.onsale,
.woocommerce div.product .ast-onsale-card {
    display: none !important;
}

/* Tablet product title (above gallery+summary) — hidden by default */
.axor-tablet-product-title {
    display: none;
}

/* Order: title, price, tax, variations, add to cart, size guide, features */
.woocommerce div.product div.summary .product_title {
    order: 1;
    font-size: 34px;
    font-weight: 700;
    text-transform: uppercase;
    width: 100%;
}
.woocommerce div.product div.summary > .price { order: 2; padding-top: 21px; font-size: 19px; font-weight: 700; margin-bottom: 15px; }
.woocommerce div.product div.summary .woocommerce-variation-price .price { padding-top: 0; font-size: 19px; font-weight: 700; margin-bottom: 15px; }

/* Sale price styling */
.woocommerce div.product div.summary .price del {
    opacity: 0.6;
    font-size: 0.85em;
}

.woocommerce div.product div.summary .price ins {
    text-decoration: none;
    font-weight: 700;
    color: #e31e24;
}

/* Lowest Price plugin text */
.woocommerce div.product div.summary .price .lowest_price {
    display: block;
    font-size: 12px !important;
    margin-top: 0;
    line-height: 1.4;
}

/* Price suffix "Uključen PDV" - block display under price */
.woocommerce div.product div.summary .woocommerce-variation-price .woocommerce-price-suffix,
.woocommerce div.product div.summary p.price .woocommerce-price-suffix {
    display: block;
    font-size: 13px;
    color: #666;
    margin-top: 2px;
}

/* Remove extra spacing from plugin's <br> before lowest_price */
.woocommerce div.product div.summary .price br {
    display: none;
}
.woocommerce div.product div.summary form.cart { order: 3; }
.woocommerce div.product div.summary .axor-size-guide-wrap { order: 4; }
.woocommerce div.product div.summary .axor-product-features { order: 5; }

/* Hide short description from summary - moved below gallery */
.woocommerce div.product div.summary .woocommerce-product-details__short-description {
    display: none !important;
}

/* Variation table styling - hide default label, remove borders */
.woocommerce div.product form.cart .variations {
    margin-bottom: 16px;
    border: none !important;
}

.woocommerce div.product form.cart .variations td.label,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations label {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Also hide the row label text */
.woocommerce div.product form.cart .variations tr td:first-child {
    display: none !important;
}

.woocommerce div.product form.cart .variations td.value {
    padding: 0;
}

.woocommerce div.product form.cart .variations tr {
    border: none !important;
    margin-bottom: 0 !important;
}

/* Remove any borders/margins from variations table */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations tr {
    border: none !important;
    border-collapse: collapse;
}
.woocommerce div.product form.cart table.variations {
    margin-bottom: 0 !important;
}

/* Size label "Veličina: XL" */
.axor-size-label {
    font-size: 16px;
    color: #1A1B18;
    margin-bottom: 10px;
    text-align: left;
}

.axor-size-label strong {
    font-weight: 700;
}

/* Variation Swatches (button picker for velicina) - axorhelmets style */
.axor-variation-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
    justify-content: flex-start;
}

.axor-swatch-btn {
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 2px solid rgb(217, 217, 217);
    border-radius: 0;
    background: #fff;
    font-size: 14px;
    font-weight: 400;
    color: #1A1B18;
    cursor: pointer;
}

.axor-swatch-btn:hover {
    background-color: #fff;
    border: 1px solid #d0d0d0;
    color: #1A1B18;
    cursor: pointer;
}

.axor-swatch-btn.is-active {
    border-color: #1A1B18;
    border-width: 2px;
    background: #fff;
    color: #1A1B18;
}

.axor-swatch-btn.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    text-decoration: line-through;
}

/* Hide the original dropdown when swatches are shown */
.variations td.value select {
    display: none;
}

/* Reset link styling */
.woocommerce div.product form.cart .reset_variations {
    display: none !important;
}

/* Single variation wrap - quantity + add to cart on same row */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    margin-top: 16px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}

/* Quantity input styling with stacked up/down arrows */
.woocommerce div.product form.cart .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #d0d0d0;
    height: 48px;
    flex-shrink: 0;
}

.woocommerce div.product form.cart .quantity .qty {
    width: 50px;
    height: 100%;
    border: none;
    text-align: center;
    font-size: 16px;
    appearance: textfield;
    -moz-appearance: textfield;
}

.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
}

/* Stacked arrows container */
.woocommerce div.product form.cart .quantity .axor-qty-arrows {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-left: 1px solid #d0d0d0;
}

/* Up/Down arrow buttons */
.woocommerce div.product form.cart .quantity .axor-qty-btn {
    width: 32px;
    height: 50%;
    border: none;
    background: #fff;
    color: #666;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.woocommerce div.product form.cart .quantity .axor-qty-btn:hover {
    background: #f5f5f5;
    color: #1A1B18;
}

.woocommerce div.product form.cart .quantity .axor-qty-up {
    border-bottom: 1px solid #d0d0d0;
}

.woocommerce div.product form.cart .quantity .axor-qty-btn svg {
    width: 10px;
    height: 6px;
}

/* Add to Cart button styling - no rounded corners, max-width */
.woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1;
    max-width: 300px;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none;
    border-radius: 0;
    padding: 14px 32px;
    height: 48px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
}

/* Size selection notice */
.axor-size-notice {
    color: var(--axor-accent);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin-top: 8px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

.axor-size-notice.is-visible {
    opacity: 1;
    max-height: 40px;
}

/* Highlight swatches when user tries to add without selecting */
.axor-swatches-wrap.axor-swatches-highlight {
    animation: axor-pulse-border 1.5s ease;
}

@keyframes axor-pulse-border {
    0%, 100% { box-shadow: none; }
    25% { box-shadow: 0 0 0 2px var(--axor-accent); }
    50% { box-shadow: none; }
    75% { box-shadow: 0 0 0 2px var(--axor-accent); }
}

/* Size Guide Link */
.axor-size-guide-wrap {
    margin: 16px 0 0 0;
}

.axor-size-guide-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    font-size: 16px;
    color: #666;
    cursor: pointer;
}

.axor-size-guide-link:hover {
    color: #1A1B18;
    background: transparent;
}

.axor-size-guide-link img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Fix all transparent PNGs - remove any backgrounds/shadows from Astra/WooCommerce */
.woocommerce div.product div.summary img {
    background: transparent !important;
    box-shadow: none !important;
}

/* Feature Icons - with vertical borders between items */
.axor-product-features {
    display: flex;
    gap: 0;
    padding: 24px 0 0 0;
    border-top: none;
}

.axor-product-features__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 130px;
    gap: 8px;
    flex: 1;
    padding: 0 16px;
    border-right: 1px solid #e0e0e0;
}

.axor-product-features__item:last-child {
    border-right: none;
}

.axor-product-features__item:first-child {
    padding-left: 0;
}

.axor-product-features__item:last-child {
    padding-right: 0;
}

.axor-product-features__item img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.axor-product-features__item span {
    font-size: 14px;
    color: #555;
    line-height: 1.3;
}

/* Size Guide Popup - 900x900 image, responsive */
.axor-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.axor-popup__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
}

.axor-popup__content {
    position: relative;
    background: #fff;
    max-width: 940px;
    max-height: 90vh;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.axor-popup__content img {
    display: block;
    max-width: 900px;
    max-height: calc(90vh - 40px);
    width: auto;
    height: auto;
    object-fit: contain;
}

.axor-popup__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: rgb(255, 0, 0);
    border: none;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    opacity: 0.8;
    padding: 5px;
}

.axor-popup__close svg {
    width: 18px;
    height: 18px;
    stroke: #fff;
    stroke-width: 2.5;
}

.axor-popup__close:hover {
    background: rgb(255, 0, 0);
    opacity: 1;
}

/* Gallery main image max height */
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    max-height: 600px;
    padding-top: 0px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .flex-viewport img {
    max-height: 600px;
    width: auto;
    object-fit: contain;
    padding-top: 0px;
    margin: 0 auto;
    display: block;
}

/* Gallery — disable hover/zoom effects on the main image.
   Lightbox + zoom theme support is removed in PHP (see axor_disable_gallery_zoom),
   so the main image is a plain <img> and right-click works natively. */
.woocommerce div.product div.images .flex-viewport:hover img,
.woocommerce div.product div.images img:hover,
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* Disable zoom container */
.woocommerce div.product div.images .zoomImg,
.woocommerce div.product div.images .woocommerce-product-gallery--with-images .woocommerce-product-gallery__wrapper {
    transform: none !important;
}

/* Make sure thumbnails are still clickable */
.woocommerce div.product div.images .flex-control-thumbs li {
    pointer-events: auto;
    cursor: pointer;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    pointer-events: auto;
    cursor: pointer;
}

/* Product Description Section */
.axor-product-description {
    padding: 0;
    border-top: none;
    margin-top: 0;
}

.axor-product-description__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 24px 0;
    color: #1A1B18;
    text-decoration: underline;
}

.axor-product-description__content {
    font-size: 18px;
    line-height: 1.8;
    color: #444;
}

.axor-product-description__content h2,
.axor-product-description__content h3,
.axor-product-description__content h4 {
    font-weight: 700;
    margin: 24px 0 12px;
    color: #1A1B18;
}

.axor-product-description__content ul,
.axor-product-description__content ol {
    margin: 12px 0;
    padding-left: 24px;
}

.axor-product-description__content li {
    margin-bottom: 8px;
}

/* Remove margin from last element to prevent gap at bottom */
.axor-product-description__content > *:last-child {
    margin-bottom: 0 !important;
}

/* Center standalone text in product description (not inside feature blocks) */
.axor-product-description__content > p:not(.axor-intro-text) {
    padding-top: 16px;
    text-align: center;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

/* Hide empty paragraphs generated by wpautop */
.axor-product-description__content > p:empty {
    display: none;
}

/* Short Description Below Gallery */
.axor-short-description-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    clear: both;
}

.axor-short-description {
    max-width: 750px;
    width: 100%;
    padding: 0 0 32px 0;
    text-align: center;
}

.axor-short-description p {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin: 0 0 16px 0;
}

.axor-short-description p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Compact Product Cards - Matching axorhelmets.com exactly
   Used for: Upsells, Spare Parts, Accessories, Cross-sells
   ========================================================================== */

.axor-compact-products {
    width: 100%;
    padding: 24px 0 56px 0;
    clear: both;
    background: #fff;
}

.axor-compact-products__title {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    color: #1A1B18;
    margin: 0 0 16px 0;
    /* Small left padding so the title visually aligns with the card
       content (each compact card has 12px inner padding), not the
       hard viewport gutter. Per-breakpoint overrides below tune this
       for the responsive compact-products paddings. */
    padding: 0 0 0 12px;
    text-align: left;
    letter-spacing: 0.5px;
}

.axor-compact-products__slider {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.axor-compact-products__track {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 8px 0 12px 0;
    justify-content: center;
    /* Don't stretch siblings to match the tallest card — when one card shows
       the inline validation error under its button, only that card should
       grow. Cards still align visually because their internal heights
       (image/title/variation/button) are all fixed. */
    align-items: flex-start;
}

/* Individual compact card - fixed dimensions like axorhelmets */
.axor-compact-card {
    position: relative;
    flex: 0 0 200px;
    width: 200px;
    min-width: 200px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.axor-compact-card:hover {
    border-color: #ccc;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.axor-compact-card__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    width: 100%;
    flex-shrink: 0;
}

.axor-compact-card__link:hover {
    text-decoration: none;
}

/* Image container - fixed height, no shadow */
.axor-compact-card__image-wrap {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.axor-compact-card__image-wrap img {
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

/* Title - fixed height for alignment */
.axor-compact-card__title {
    font-size: 14px;
    font-weight: 700;
    color: #1A1B18;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 36px;
    transition: color 0.2s ease;
}

/* Variation dropdown wrapper - fixed height for alignment.
   44px gives the <select> a proper touch target (≥ 40px per WCAG
   2.5.8 / iOS HIG) and still reads as a compact card control. */
.axor-compact-card__variation {
    width: 100%;
    height: 44px;
    margin: 8px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

/* Placeholder for cards without variation - same height */
.axor-compact-card__variation-placeholder {
    width: 100%;
    height: 44px;
    margin: 8px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

/* If no product in the row has a variation, collapse all placeholders */
.axor-compact-products__track:not(:has(.axor-compact-card__variation)) .axor-compact-card__variation-placeholder {
    height: 0;
    margin-top: 12px;
}

.axor-compact-card__select {
    width: auto;
    min-width: 80px;
    height: 44px;
    padding: 0 32px 0 14px;
    font-size: 14px;
    color: #1A1B18;
    background: #fff;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23666' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px 6px;
    cursor: pointer;
    text-align: center;
    text-align-last: center;
}

.axor-compact-card__select option {
    text-align: center;
}

.axor-compact-card__select:hover {
    border-color: #999;
}

.axor-compact-card__select:focus {
    outline: none;
    border-color: #666;
}

/* Client-side validation error state on the variation select */
.axor-compact-card__select.is-invalid,
.axor-compact-card__select.is-invalid:hover,
.axor-compact-card__select.is-invalid:focus {
    border-color: var(--axor-accent);
    box-shadow: 0 0 0 2px var(--axor-accent-soft);
}

/* Inline error message rendered after the add-to-cart button when the
   user clicks "Dodaj u košaricu" without selecting a variation. Replaces
   the old browser alert() dialog. */
.axor-compact-card__error {
    margin: 6px 0 0;
    padding: 0 4px;
    color: var(--axor-accent);
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    word-wrap: break-word;
}

/* Price styling */
.axor-compact-card__price {
    font-size: 15px;
    font-weight: 400;
    color: #1A1B18;
    margin-bottom: 8px;
    min-height: 20px;
    flex-shrink: 0;
    width: 100%;
    text-align: center;
    line-height: 1.3;
}

.axor-compact-card__price del {
    color: #767676;
    font-size: 15px;
    display: block;
}

.axor-compact-card__price ins {
    text-decoration: none;
    display: block;
    font-weight: 700;
}

/* Override WooCommerce global price styles inside compact cards */
.axor-compact-card__price .price,
.axor-compact-card__price .woocommerce-Price-amount {
    font-size: 15px !important;
    font-weight: 400 !important;
}

.axor-compact-card__price ins .woocommerce-Price-amount {
    font-weight: 700 !important;
}

/* Hide "Uključen PDV" suffix in compact cards to save space */
.axor-compact-card__price .woocommerce-price-suffix {
    display: none;
}

/* Hide lowest price text on cards — shown only on product detail page */
.axor-compact-card__price .lowest_price,
.axor-large-card__price .lowest_price {
    display: none !important;
}

.axor-compact-card__price br {
    display: none;
}

/* Add to Cart button - matching main product add to cart button.
   min-height: 44px ensures the button is tappable on mobile per
   the minimum touch target guideline. */
.axor-compact-card__add-to-cart {
    display: block;
    width: 75%;
    min-height: 44px;
    padding: 10px 12px;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    margin-top: auto;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}

.axor-compact-card__add-to-cart:hover {
    color: #fff;
    text-decoration: none;
}

.axor-compact-card__add-to-cart.loading {
    pointer-events: none;
    position: relative;
    color: transparent !important;
    background-color: rgba(26, 27, 24, 0.7) !important;
}

.axor-compact-card__add-to-cart.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: axor-spinner 0.8s linear infinite;
}

@keyframes axor-spinner {
    to {
        transform: rotate(360deg);
    }
}

/* Override WooCommerce .added class - we use .in-cart on parent instead */
.axor-compact-card__add-to-cart.added {
    display: block;
}

.axor-compact-card.in-cart .axor-compact-card__add-to-cart.added {
    display: none;
}

/* Remove from cart button */
.axor-compact-card__remove-from-cart {
    display: none;
    width: 75%;
    padding: 8px;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    margin-top: auto;
    flex-shrink: 0;
}

.axor-compact-card__remove-from-cart:hover {
    color: #fff;
}

.axor-compact-card__remove-from-cart.loading {
    pointer-events: none;
    position: relative;
    color: transparent !important;
    background-color: rgba(26, 27, 24, 0.7) !important;
}

.axor-compact-card__remove-from-cart.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: axor-spinner 0.8s linear infinite;
}

.axor-compact-card.in-cart .axor-compact-card__add-to-cart {
    display: none;
}

.axor-compact-card.in-cart .axor-compact-card__remove-from-cart {
    display: block;
}

.axor-compact-card__out-of-stock {
    display: block;
    width: 100%;
    padding: 8px;
    background-color: #f5f5f5;
    color: #999;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
    margin-top: auto;
    flex-shrink: 0;
}

/* Upsells specific styling */
.axor-upsells {
    background: #fff;
}

/* Hide "View cart" link in compact cards */
.axor-compact-card .added_to_cart {
    display: none !important;
}

/* Checkout button for compact products */
.axor-compact-products__checkout {
    display: none;
    justify-content: center;
    padding: 16px 20px 8px 20px;
}

.axor-compact-products__checkout.is-visible {
    display: flex !important;
}

.axor-compact-products__checkout-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 280px;
    height: 42px;
    padding: 0 32px;
    background-color: rgba(26, 27, 24, 0.7);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 4px;
}

.axor-compact-products__checkout-btn:hover {
    color: #fff;
    text-decoration: none;
}

.axor-compact-products__checkout-btn svg {
    width: 16px;
    height: 16px;
}

/* ==========================================================================
   Large Product Cards - "You May Also Like" style
   Used for: Related products, featured products, category highlights
   ========================================================================== */

/* Hide default WooCommerce related products and upsells */
.woocommerce div.product .related.products,
.woocommerce div.product section.up-sells.upsells.products {
    display: none !important;
}

/* Large products section container - full width like axorhelmets.com */
.axor-large-products {
    width: 100%;
    padding: 30px 20px 0 20px;
    background: #fff;
    clear: both;
}

.axor-large-products__title {
    font-size: 44px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    color: #1A1B18;
    margin: 0 0 36px 0 !important;
    letter-spacing: 1px;
    opacity: 0.8;
}

/* Products grid - 4 columns, full width.
   align-items: stretch so cards in the same row all match the tallest
   card's height. Combined with .axor-large-card flex column layout
   and margin-top: auto on the add-to-cart button, this keeps the
   button anchored at the bottom of every card while pills sit below
   the price. Error labels push the button up from the bottom. */
.axor-large-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: stretch;
    gap: 16px;
    margin: 0;
    padding: 0;
}

/* Individual large product card */
.axor-large-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 20px 30px 20px;
    text-align: center;
    background: #fff;
    border: none;
    border-radius: 10px;
    transition: box-shadow 0.4s ease, transform 0.4s ease;
    /* height: auto so an error label under one card doesn't stretch siblings
       in the same grid row. Paired with grid container align-items: start. */
    height: auto;
}

.axor-large-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-4px);
}

.axor-large-card__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    width: 100%;
}

.axor-large-card__link:hover {
    text-decoration: none;
}

/* Product image - much taller like axorhelmets */
.axor-large-card__image-wrap {
    width: 100%;
    height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0px;
    flex-shrink: 0;
}

.axor-large-card__image-wrap img {
    max-width: 100%;
    max-height: 320px;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

/* Product title — min-height reserves space for 2 lines so cards with
   different title lengths still have consistent baseline heights. */
.axor-large-card__title {
    font-size: 20px;
    font-weight: 700;
    color: #1A1B18;
    margin: 0 0 8px 0;
    padding: 0;
    line-height: 1.4;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.axor-large-card:hover .axor-large-card__title {
    color: #e31e24;
}

/* Product price */
.axor-large-card__price {
    font-size: 18px;
    font-weight: 400;
    color: #1A1B18;
    margin: 0;
}

/* Override WooCommerce global price styles inside large cards (.woocommerce div.product span.price forces 1.5rem/700) */
.axor-large-card__price .price,
.axor-large-card__price .woocommerce-Price-amount {
    font-size: inherit !important;
    font-weight: inherit !important;
}

.axor-large-card__price del {
    color: #767676;
    font-size: 16px;
}

.axor-large-card__price ins {
    text-decoration: none;
    color: #c00;
    font-weight: 700;
}

.axor-large-card__price ins .woocommerce-Price-amount {
    font-weight: 700 !important;
}

.axor-large-card__price .woocommerce-price-suffix {
    font-size: 0.7em;
    color: #666;
    font-weight: 400;
}

/* Hide default variable price range on Rasprodaja product pages (CSS fallback, variable products only) */
body.is-rasprodaja.single-product .product-type-variable .entry-summary > p.price,
body.is-rasprodaja.single-product .product-type-variable .summary > p.price {
    display: none !important;
}

/* Available sizes — interactive toggle group for variable products */
.axor-large-card__sizes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    gap: 6px;
    /* 10px above pills (below price) + 16px below pills (above button)
       so there's always a clear visual gap between the last pill row
       and the "Dodaj u košaricu" button even when the flex column
       has no slack left to distribute via margin-top: auto. */
    margin: 10px 0 16px;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    /* No min-height — pills render at their natural height (1 row or
       2 rows). Card's flex column layout + margin-top: auto on the
       add-to-cart button handle vertical alignment across cards. */
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Empty placeholder for simple products (no variation attributes).
   Minimal slot so the button spacing mirrors variable-product cards. */
.axor-large-card__sizes-placeholder {
    margin: 10px 0 16px;
    min-height: 0;
}

.axor-large-card__sizes.is-invalid {
    border-color: var(--axor-accent);
    box-shadow: 0 0 0 2px var(--axor-accent-soft);
}

.axor-large-card__size {
    display: inline-block;
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 600;
    color: #666;
    background: #f5f5f5;
    border: 1px solid transparent;
    border-radius: 3px;
    letter-spacing: 0.5px;
    font-family: inherit;
    line-height: inherit;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.axor-large-card__size--display {
    cursor: default;
}

.axor-large-card__size:not(.axor-large-card__size--display):hover,
.axor-large-card__size:not(.axor-large-card__size--display):focus-visible {
    background: #e8e8e8;
    color: #1a1b18;
    outline: none;
}

/* Selected state — must come AFTER the :hover rule above because the
   selected-with-hover match has the same specificity as the generic
   hover rule, and source order is the tiebreaker. Explicit :hover and
   :focus-visible variants keep the pill dark while the mouse sits on it. */
.axor-large-card__size.is-selected,
.axor-large-card__size.is-selected:hover,
.axor-large-card__size.is-selected:focus-visible {
    background: #1a1b18;
    color: #fff;
    border-color: #1a1b18;
    outline: none;
}

/* Add-to-cart button on large cards.
   !important on background-color is a deliberate guard against Astra's
   inline <style> block which sets button backgrounds to var(--ast-global-color-0)
   (the theme's accent blue) on a selector list that includes bare `button`.
   Without !important, the cascade can tip toward Astra when our normal
   rule is momentarily out of scope (e.g. during fragment swaps). */
.axor-large-card__add-to-cart {
    display: inline-block;
    width: 100%;
    max-width: 260px;
    padding: 10px 16px;
    /* margin-top: auto pushes the button to the bottom of the card
       inside the flex column layout, so buttons across a grid row
       stay vertically aligned even when cards have different numbers
       of pill rows. */
    margin-top: auto;
    background-color: #1a1b18 !important;
    color: #fff !important;
    border: 1px solid #1a1b18;
    border-radius: 4px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.axor-large-card__add-to-cart:hover,
.axor-large-card__add-to-cart:focus-visible,
.axor-large-card__add-to-cart:active {
    background-color: #000 !important;
    color: #fff !important;
    outline: none;
    text-decoration: none;
}

.axor-large-card__add-to-cart.loading {
    pointer-events: none;
    position: relative;
    color: transparent !important;
    background-color: rgba(26, 27, 24, 0.7) !important;
}

.axor-large-card__add-to-cart.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: axor-spinner 0.8s linear infinite;
}

/* Inline validation error under the add-to-cart button on large cards.
   Matches the compact card's .axor-compact-card__error styling. */
.axor-large-card__error {
    margin: 6px 0 0;
    padding: 0 4px;
    color: var(--axor-accent);
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    word-wrap: break-word;
    max-width: 260px;
}

/* Neutralize WooCommerce's legacy post-add-to-cart artifacts on card UIs.
   WC's frontend JS sometimes injects a "Vidi košaricu" link (.added_to_cart)
   and toggles an .added state on the button after a successful add. We run
   our own handlers and our own cart drawer, so these extras are noise. */
.axor-large-card .added_to_cart,
.axor-compact-card .added_to_cart,
.axor-large-card__add-to-cart + .added_to_cart,
.axor-compact-card__add-to-cart + .added_to_cart {
    display: none !important;
}

.axor-large-card__add-to-cart.added {
    background-color: #1a1b18 !important;
    color: #fff !important;
}

.axor-large-card__add-to-cart.added:hover,
.axor-large-card__add-to-cart.added:focus-visible {
    background-color: #000 !important;
    color: #fff !important;
}

/* ── Single Product: Desktop (1025+) ── */
@media (min-width: 1025px) {
    /* Short description: tighter spacing */
    .axor-short-description {
        padding: 0 0 8px 0;
    }

    /* Upsells: less padding, single row */
    .axor-compact-products.axor-upsells {
        padding: 0;
    }

    /* Make the track fill the full slider width so cards stretch
       to match. Without this the track is fit-content (sum of card
       widths) and the slider's `justify-content: center` pushes it
       to the middle of the container on wide viewports, leaving the
       title hanging hundreds of pixels to the left of the first card. */
    .axor-upsells .axor-compact-products__slider {
        justify-content: flex-start;
    }

    .axor-upsells .axor-compact-products__track {
        flex-wrap: nowrap;
        width: 100%;
    }

    .axor-upsells .axor-compact-card {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
    }

    /* Related products: 2x2 grid */
    .axor-related-products .axor-large-products__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Related products: 1x4 on wider screens */
@media (min-width: 1280px) {
    .axor-related-products .axor-large-products__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Single Product Responsive */
@media (max-width: 1024px) {
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 100%;
        padding: 24px;
    }

    .woocommerce div.product div.images .flex-control-thumbs {
        position: static;
        flex-direction: row;
        width: 100%;
        overflow-x: auto;
        margin-top: 16px;
    }

    .woocommerce div.product div.images .flex-viewport {
        margin-left: 0;
    }

    .axor-product-description {
        padding: 24px;
    }

    .axor-product-features {
        flex-wrap: wrap;
    }

    .axor-product-features__item {
        flex: 0 0 calc(50% - 8px);
    }

    /* Large products responsive */
    .axor-large-products__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .axor-large-card__image-wrap {
        height: 250px;
    }

    .axor-large-card__image-wrap img {
        max-height: 250px;
    }
}

@media (max-width: 600px) {
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        padding: 16px;
    }

    .axor-buy-now-btn {
        font-size: 14px;
        padding: 12px 24px;
    }

    .axor-product-features__item {
        flex: 0 0 100%;
    }

    /* Large products mobile */
    .axor-large-products__grid {
        grid-template-columns: 1fr;
    }

    .axor-large-card__image-wrap {
        height: 200px;
    }

    .axor-large-card__image-wrap img {
        max-height: 200px;
    }
}

/* 481-600px: 2-column product cards need smaller sizing */
@media (min-width: 481px) and (max-width: 600px) {
    .axor-large-card__image-wrap {
        height: 180px;
        margin-bottom: 12px;
    }

    .axor-large-card__image-wrap img {
        max-height: 180px;
    }

    .axor-large-card {
        padding: 10px 12px 20px 12px;
    }

    .axor-large-card__title {
        font-size: 15px;
        line-height: 1.3;
        margin: 0 0 6px 0;
    }

    .axor-large-card__price {
        font-size: 15px;
    }

    .axor-large-card__sizes {
        gap: 4px;
        margin-top: 8px;
    }

    .axor-large-card__size {
        padding: 3px 6px;
        font-size: 14px;
    }
}

/* 601-768px: large product cards sizing */
@media (min-width: 601px) and (max-width: 768px) {
    .axor-large-card__image-wrap {
        height: 200px;
        margin-bottom: 12px;
    }

    .axor-large-card__image-wrap img {
        max-height: 200px;
    }

    .axor-large-card {
        padding: 10px 14px 20px 14px;
    }

    .axor-large-card__title {
        font-size: 16px;
        line-height: 1.3;
        margin: 0 0 6px 0;
    }

    .axor-large-card__price {
        font-size: 16px;
    }

    .axor-large-card__price del {
        font-size: 13px;
    }

    .axor-large-card__price .woocommerce-price-suffix {
        font-size: 11px;
    }

    .axor-large-card__sizes {
        gap: 4px;
        margin-top: 8px;
    }

    .axor-large-card__size {
        padding: 3px 6px;
        font-size: 14px;
    }
}

/* Scroll indicator dots - hidden by default (must be before media queries that show them) */
.axor-scroll-dots {
    display: none;
}

/* ==========================================================================
   Single Product Page - Medium Mobile (481–600px)
   ========================================================================== */
@media (min-width: 481px) and (max-width: 600px) {
    /* Strip horizontal container padding only (keep vertical for consistency with other pages) */
    body.single-product .ast-container,
    body.single-product #primary,
    body.single-product .site-main,
    body.single-product .ast-woocommerce-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Force gallery and summary to stack full width (override desktop 50% !important) */
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 100% !important;
    }

    /* Gallery: edge-to-edge */
    .woocommerce div.product div.images {
        padding: 0 !important;
    }

    /* Thumbnails: centered */
    .woocommerce div.product div.images .flex-control-thumbs {
        padding: 8px 16px 0;
        gap: 6px;
        justify-content: center;
    }

    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 60px;
        flex-shrink: 0;
    }

    /* Summary: 16px padding, kill WooCommerce margin-bottom */
    .woocommerce div.product div.summary {
        padding: 16px !important;
        margin-bottom: 0 !important;
    }

    /* Center quantity + add-to-cart row */
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        justify-content: center;
    }
    .woocommerce div.product form.cart:not(.variations_form) {
        display: flex;
        align-items: stretch;
        gap: 12px;
        justify-content: center;
    }

    /* Product title */
    .woocommerce div.product div.summary .product_title {
        font-size: 24px;
        line-height: 1.2;
    }

    /* Feature icons: 4 in a row */
    .axor-product-features {
        padding-top: 16px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    /* Price */
    .woocommerce div.product div.summary > .price,
    .woocommerce div.product div.summary .woocommerce-variation-price .price {
        font-size: 18px;
        padding-top: 14px;
    }

    /* Velicina label left-aligned, swatches centered */
    .axor-size-label {
        text-align: left;
    }


    /* Convert variations table to block layout so td.value takes full width */
    .woocommerce div.product form.cart .variations,
    .woocommerce div.product form.cart .variations tbody,
    .woocommerce div.product form.cart .variations tr,
    .woocommerce div.product form.cart .variations td.value {
        display: block;
        width: 100%;
    }

    .woocommerce div.product form.cart .variations td.value {
        text-align: center;
    }

    /* Center size guide link */
    .axor-size-guide-wrap {
        text-align: center;
    }

    .axor-size-guide-link {
        justify-content: center;
    }

    .axor-product-features__item {
        flex: none;
        max-width: 100%;
        padding: 4px 8px;
        border-right: 1px solid #e0e0e0;
        border-bottom: none;
    }

    .axor-product-features__item:last-child {
        border-right: none;
    }

    /* Short description */
    .axor-short-description-wrapper {
        padding: 0 16px;
    }

    .axor-short-description {
        padding: 0 0 8px 0;
    }

    .axor-short-description p {
        font-size: 15px;
        line-height: 1.6;
    }

    /* ── Upsells: horizontal scroll-snap slider (3 items visible) ── */
    .axor-compact-products.axor-upsells {
        padding: 0 !important;
    }

    .axor-upsells .axor-compact-products__slider {
        overflow: visible;
        display: block;
    }

    .axor-upsells .axor-compact-products__track {
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 4px 0 8px 0;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }

    /* Hide scrollbar */
    .axor-upsells .axor-compact-products__track::-webkit-scrollbar {
        display: none;
    }
    .axor-upsells .axor-compact-products__track {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-upsells .axor-compact-card {
        flex: 0 0 calc(100% / 3);
        width: calc(100% / 3);
        min-width: calc(100% / 3);
        min-height: auto;
        scroll-snap-align: none;
        padding: 8px;
    }

    /* Snap every 3 cards (1st, 4th) — stop prevents fast-swipe skipping */
    .axor-upsells .axor-compact-card:nth-child(3n+1) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .axor-upsells .axor-compact-card__image-wrap {
        height: 110px;
    }

    .axor-upsells .axor-compact-card__image-wrap img {
        max-height: 110px;
    }

    .axor-upsells .axor-compact-card__title {
        font-size: 14px;
        min-height: 36px;
        height: 36px;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    /* Push price to bottom so all cards align, with consistent spacing */
    .axor-upsells .axor-compact-card__price {
        font-size: 14px;
        margin-top: auto;
        padding-top: 8px;
        margin-bottom: 6px;
    }

    .axor-upsells .axor-compact-card__add-to-cart,
    .axor-upsells .axor-compact-card__remove-from-cart {
        font-size: 14px;
        padding: 10px 8px;
        min-height: 44px;
        width: 90%;
    }

    .axor-upsells .axor-compact-card__variation-placeholder {
        display: flex;
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__variation {
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__select {
        height: 44px;
        font-size: 14px;
    }

    .axor-upsells .axor-compact-products__title {
        padding: 0 0 0 12px;
        font-size: 16px;
    }

    /* ── Related products: horizontal scroll-snap slider (2 items visible) ── */
    .axor-related-products .axor-large-products {
        padding: 24px 0 30px 0;
    }

    .axor-related-products .axor-large-products__title {
        font-size: 20px;
        padding: 0 16px;
        text-align: center;
        margin-bottom: 16px !important;
    }

    .axor-related-products .axor-large-products__grid {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 0;
        padding: 0;
    }

    /* Hide scrollbar */
    .axor-related-products .axor-large-products__grid::-webkit-scrollbar {
        display: none;
    }
    .axor-related-products .axor-large-products__grid {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-related-products .axor-large-card {
        flex: 0 0 50%;
        width: 50%;
        min-width: 50%;
        scroll-snap-align: none;
        padding: 8px 12px 16px;
        box-sizing: border-box;
    }

    /* Snap every 2 cards (1st, 3rd, 5th) */
    .axor-related-products .axor-large-card:nth-child(odd) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .axor-related-products .axor-large-card__price {
        font-size: 14px;
    }

    .axor-related-products .axor-large-card__price del {
        font-size: 11px;
    }

    .axor-related-products .axor-large-card__price .woocommerce-price-suffix {
        font-size: 10px;
    }

    /* ── Product description ── */
    .axor-product-description {
        padding: 16px !important;
    }

    .axor-product-description__title {
        font-size: 17px;
    }

    .axor-product-description__content {
        font-size: 15px;
        line-height: 1.6;
    }

    .axor-product-description__content > p:not(.axor-intro-text) {
        text-align: left;
        padding-top: 4px;
    }

    /* Subtitles — tight spacing to sit close to images */
    .axor-product-description__content h2,
    .axor-product-description__content h3,
    .axor-product-description__content h4 {
        margin: 8px 0 4px;
    }

    /* Reduce image/figure block margins so titles sit closer to images */
    .axor-product-description__content figure,
    .axor-product-description__content .wp-block-image {
        margin: 4px 0;
    }

    /* Size guide popup */
    .axor-popup__content {
        max-width: calc(100vw - 20px);
        padding: 16px;
    }

    .axor-popup__content img {
        max-width: 100%;
        max-height: calc(90vh - 20px);
    }

    /* ── Scroll indicator dots (shown on mobile) ── */
    .axor-scroll-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        padding: 12px 0;
    }
}

/* ==========================================================================
   Single Product Page - Tablet (769–1024px)
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1024px) {
    /* Strip horizontal container padding */
    body.single-product .ast-container,
    body.single-product #primary,
    body.single-product .site-main,
    body.single-product .ast-woocommerce-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Strip top/bottom gaps from #main, article, #primary */
    body.single-product #main,
    body.single-product .site-main,
    body.single-product article {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.single-product #primary {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* ── Tablet title (above gallery+summary) ── */
    .axor-tablet-product-title {
        display: block !important;
        width: 100%;
        padding: 16px 20px 8px;
        font-size: 28px;
        font-weight: 700;
        line-height: 1.2;
        text-transform: uppercase;
        color: #1A1B18;
        margin: 0;
    }

    /* Hide the title inside summary */
    .woocommerce div.product div.summary .product_title {
        display: none !important;
    }

    /* Gallery 60% left, Summary 40% right */
    .woocommerce div.product div.images {
        width: 60% !important;
        padding: 0 !important;
    }

    .woocommerce div.product div.summary {
        width: 40% !important;
        padding: 60px 20px 16px !important;
        margin-bottom: 0 !important;
    }

    /* Thumbnails: centered */
    .woocommerce div.product div.images .flex-control-thumbs {
        padding: 8px 20px 0;
        gap: 8px;
        justify-content: center;
    }

    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 68px;
        flex-shrink: 0;
    }

    /* Left-align quantity + add-to-cart */
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        justify-content: flex-start;
    }
    .woocommerce div.product form.cart:not(.variations_form) {
        display: flex;
        align-items: stretch;
        gap: 12px;
        justify-content: flex-start;
    }

    /* Feature icons: 4 in a row */
    .axor-product-features {
        padding-top: 16px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    .axor-product-features__item {
        flex: none;
        max-width: 100%;
        padding: 4px 10px;
        border-right: 1px solid #e0e0e0;
        border-bottom: none;
    }

    .axor-product-features__item:last-child {
        border-right: none;
    }

    /* Price */
    .woocommerce div.product div.summary > .price,
    .woocommerce div.product div.summary .woocommerce-variation-price .price {
        font-size: 18px;
        padding-top: 14px;
    }

    /* Size label left-aligned, swatches centered */
    .axor-size-label {
        text-align: left;
    }


    /* Convert variations table to block layout */
    .woocommerce div.product form.cart .variations,
    .woocommerce div.product form.cart .variations tbody,
    .woocommerce div.product form.cart .variations tr,
    .woocommerce div.product form.cart .variations td.value {
        display: block;
        width: 100%;
    }

    .woocommerce div.product form.cart .variations td.value {
        text-align: center;
    }

    /* Center size guide link */
    .axor-size-guide-wrap {
        text-align: center;
    }

    .axor-size-guide-link {
        justify-content: center;
    }

    /* Short description — constrain width + center */
    .axor-short-description-wrapper {
        padding: 0 20px;
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
    }

    .axor-short-description {
        padding: 0 0 8px 0;
    }

    .axor-short-description p {
        font-size: 15px;
        line-height: 1.6;
    }

    /* ── Upsells: horizontal scroll-snap slider (3 items visible, scroll by 3) ── */
    .axor-compact-products.axor-upsells {
        padding: 0 !important;
    }

    .axor-upsells .axor-compact-products__title {
        max-width: 700px;
    }

    .axor-upsells .axor-compact-products__slider {
        overflow: visible;
        display: block;
    }

    .axor-upsells .axor-compact-products__track {
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 4px 0 8px 0;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }

    /* Hide scrollbar */
    .axor-upsells .axor-compact-products__track::-webkit-scrollbar {
        display: none;
    }
    .axor-upsells .axor-compact-products__track {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-upsells .axor-compact-card {
        flex: 0 0 calc(100% / 3);
        width: calc(100% / 3);
        min-width: calc(100% / 3);
        min-height: auto;
        scroll-snap-align: none;
        padding: 8px 10px;
    }

    /* Snap every 3 cards */
    .axor-upsells .axor-compact-card:nth-child(3n+1) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .axor-upsells .axor-compact-card__image-wrap {
        height: 130px;
    }

    .axor-upsells .axor-compact-card__image-wrap img {
        max-height: 130px;
    }

    .axor-upsells .axor-compact-card__title {
        font-size: 14px;
        min-height: 36px;
        height: 36px;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .axor-upsells .axor-compact-card__price {
        font-size: 14px;
        margin-top: auto;
        padding-top: 8px;
        margin-bottom: 6px;
    }

    .axor-upsells .axor-compact-card__add-to-cart,
    .axor-upsells .axor-compact-card__remove-from-cart {
        font-size: 14px;
        padding: 10px 8px;
        min-height: 44px;
        width: 90%;
    }

    .axor-upsells .axor-compact-card__variation-placeholder {
        display: flex;
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__variation {
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__select {
        height: 44px;
        font-size: 14px;
    }

    .axor-upsells .axor-compact-products__title {
        padding: 0 0 0 12px;
        font-size: 14px;
    }

    /* ── Related products: 2x2 grid ── */
    .axor-related-products .axor-large-products {
        padding: 24px 20px 30px;
    }

    .axor-related-products .axor-large-products__title {
        font-size: 22px;
        text-align: center;
        margin-bottom: 16px !important;
    }

    .axor-related-products .axor-large-products__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    /* No dots on grid (not a slider) */
    .axor-related-products .axor-scroll-dots {
        display: none;
    }

    .axor-related-products .axor-large-card__image-wrap {
        height: 200px;
    }

    .axor-related-products .axor-large-card__image-wrap img {
        max-height: 200px;
    }

    /* ── Product description ── */
    .axor-product-description {
        padding: 20px !important;
    }

    .axor-product-description__title {
        font-size: 18px;
    }

    .axor-product-description__content {
        font-size: 15px;
        line-height: 1.6;
    }

    .axor-product-description__content > p:not(.axor-intro-text) {
        text-align: left;
        padding-top: 4px;
    }

    /* Subtitles — tight spacing to sit close to images */
    .axor-product-description__content h2,
    .axor-product-description__content h3,
    .axor-product-description__content h4 {
        margin: 8px 0 4px;
    }

    /* Reduce image/figure block margins */
    .axor-product-description__content figure,
    .axor-product-description__content .wp-block-image {
        margin: 4px 0;
    }

    /* Size guide popup */
    .axor-popup__content {
        max-width: calc(100vw - 32px);
        padding: 20px;
    }

    .axor-popup__content img {
        max-width: 100%;
        max-height: calc(90vh - 20px);
    }

    /* ── Scroll indicator dots (upsells only at this breakpoint) ── */
    .axor-scroll-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        padding: 12px 0 20px;
    }
}

/* ==========================================================================
   Single Product Page - Small Tablet (601–768px)
   ========================================================================== */
@media (min-width: 601px) and (max-width: 768px) {
    /* Strip horizontal container padding */
    body.single-product .ast-container,
    body.single-product #primary,
    body.single-product .site-main,
    body.single-product .ast-woocommerce-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Strip top/bottom gaps from #main, article, #primary */
    body.single-product #main,
    body.single-product .site-main,
    body.single-product article {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.single-product #primary {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Force gallery and summary to stack full width (override desktop 50% !important) */
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 100% !important;
    }

    /* Gallery: edge-to-edge */
    .woocommerce div.product div.images {
        padding: 0 !important;
    }

    /* Thumbnails: centered */
    .woocommerce div.product div.images .flex-control-thumbs {
        padding: 8px 20px 0;
        gap: 8px;
        justify-content: center;
    }

    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 68px;
        flex-shrink: 0;
    }

    /* Summary: 20px padding */
    .woocommerce div.product div.summary {
        padding: 20px !important;
        margin-bottom: 0 !important;
    }

    /* Center quantity + add-to-cart row */
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        justify-content: center;
    }
    .woocommerce div.product form.cart:not(.variations_form) {
        display: flex;
        align-items: stretch;
        gap: 12px;
        justify-content: center;
    }

    /* Product title */
    .woocommerce div.product div.summary .product_title {
        font-size: 26px;
        line-height: 1.2;
    }

    /* Feature icons: 4 in a row */
    .axor-product-features {
        padding-top: 16px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    /* Price */
    .woocommerce div.product div.summary > .price,
    .woocommerce div.product div.summary .woocommerce-variation-price .price {
        font-size: 18px;
        padding-top: 14px;
    }

    /* Velicina label left-aligned, swatches centered */
    .axor-size-label {
        text-align: left;
    }


    /* Convert variations table to block layout so td.value takes full width */
    .woocommerce div.product form.cart .variations,
    .woocommerce div.product form.cart .variations tbody,
    .woocommerce div.product form.cart .variations tr,
    .woocommerce div.product form.cart .variations td.value {
        display: block;
        width: 100%;
    }

    .woocommerce div.product form.cart .variations td.value {
        text-align: center;
    }

    /* Center size guide link */
    .axor-size-guide-wrap {
        text-align: center;
    }

    .axor-size-guide-link {
        justify-content: center;
    }

    .axor-product-features__item {
        flex: none;
        max-width: 100%;
        padding: 4px 10px;
        border-right: 1px solid #e0e0e0;
        border-bottom: none;
    }

    .axor-product-features__item:last-child {
        border-right: none;
    }

    /* Short description */
    .axor-short-description-wrapper {
        padding: 0 20px;
    }

    .axor-short-description {
        padding: 0 0 8px 0;
    }

    .axor-short-description p {
        font-size: 15px;
        line-height: 1.6;
    }

    /* ── Upsells: horizontal scroll-snap slider (3 items visible) ── */
    .axor-compact-products.axor-upsells {
        padding: 0 !important;
    }

    .axor-upsells .axor-compact-products__slider {
        overflow: visible;
        display: block;
    }

    .axor-upsells .axor-compact-products__track {
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 4px 0 8px 0;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }

    /* Hide scrollbar */
    .axor-upsells .axor-compact-products__track::-webkit-scrollbar {
        display: none;
    }
    .axor-upsells .axor-compact-products__track {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-upsells .axor-compact-card {
        flex: 0 0 calc(100% / 3);
        width: calc(100% / 3);
        min-width: calc(100% / 3);
        min-height: auto;
        scroll-snap-align: none;
        padding: 8px 10px;
    }

    /* Snap every 3 cards */
    .axor-upsells .axor-compact-card:nth-child(3n+1) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .axor-upsells .axor-compact-card__image-wrap {
        height: 120px;
    }

    .axor-upsells .axor-compact-card__image-wrap img {
        max-height: 120px;
    }

    .axor-upsells .axor-compact-card__title {
        font-size: 14px;
        min-height: 36px;
        height: 36px;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .axor-upsells .axor-compact-card__price {
        font-size: 14px;
        margin-top: auto;
        padding-top: 8px;
        margin-bottom: 6px;
    }

    .axor-upsells .axor-compact-card__add-to-cart,
    .axor-upsells .axor-compact-card__remove-from-cart {
        font-size: 14px;
        padding: 10px 8px;
        min-height: 44px;
        width: 90%;
    }

    .axor-upsells .axor-compact-card__variation-placeholder {
        display: flex;
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__variation {
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__select {
        height: 44px;
        font-size: 14px;
    }

    .axor-upsells .axor-compact-products__title {
        padding: 0 0 0 12px;
        font-size: 14px;
    }

    /* ── Related products: horizontal scroll-snap slider (2 items visible) ── */
    .axor-related-products .axor-large-products {
        padding: 24px 0 30px 0;
    }

    .axor-related-products .axor-large-products__title {
        font-size: 22px;
        padding: 0 20px;
        text-align: center;
        margin-bottom: 16px !important;
    }

    .axor-related-products .axor-large-products__grid {
        display: flex;
        align-items: stretch;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 0;
        padding: 0;
    }

    /* Hide scrollbar */
    .axor-related-products .axor-large-products__grid::-webkit-scrollbar {
        display: none;
    }
    .axor-related-products .axor-large-products__grid {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-related-products .axor-large-card {
        flex: 0 0 50%;
        width: 50%;
        min-width: 50%;
        scroll-snap-align: none;
        padding: 8px 12px 16px;
        box-sizing: border-box;
    }

    /* Snap every 2 cards */
    .axor-related-products .axor-large-card:nth-child(odd) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }


    /* ── Product description ── */
    .axor-product-description {
        padding: 20px !important;
    }

    .axor-product-description__title {
        font-size: 18px;
    }

    .axor-product-description__content {
        font-size: 15px;
        line-height: 1.6;
    }

    .axor-product-description__content > p:not(.axor-intro-text) {
        text-align: left;
        padding-top: 4px;
    }

    /* Subtitles — tight spacing to sit close to images */
    .axor-product-description__content h2,
    .axor-product-description__content h3,
    .axor-product-description__content h4 {
        margin: 8px 0 4px;
    }

    /* Reduce image/figure block margins */
    .axor-product-description__content figure,
    .axor-product-description__content .wp-block-image {
        margin: 4px 0;
    }

    /* Size guide popup */
    .axor-popup__content {
        max-width: calc(100vw - 32px);
        padding: 20px;
    }

    .axor-popup__content img {
        max-width: 100%;
        max-height: calc(90vh - 20px);
    }

    /* ── Scroll indicator dots (shown on mobile) ── */
    .axor-scroll-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        padding: 12px 0 32px;
    }
}

/* ==========================================================================
   Single Product Page - Small Mobile (≤480px)
   ========================================================================== */
@media (max-width: 480px) {
    /* Strip horizontal container padding only (keep vertical for consistency with other pages) */
    body.single-product .ast-container,
    body.single-product #primary,
    body.single-product .site-main,
    body.single-product .ast-woocommerce-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Force gallery and summary to stack full width (override desktop !important) */
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 100% !important;
    }

    /* Gallery: edge-to-edge, zero padding */
    .woocommerce div.product div.images {
        padding: 0 !important;
    }

    /* Thumbnails: centered */
    .woocommerce div.product div.images .flex-control-thumbs {
        padding: 8px 10px 0;
        gap: 6px;
        justify-content: center;
    }

    .woocommerce div.product div.images .flex-control-thumbs li {
        width: 56px;
        flex-shrink: 0;
    }

    /* Summary: 10px side padding (matches privacy policy / other pages) */
    .woocommerce div.product div.summary {
        padding: 10px 10px 16px !important;
        margin-bottom: 0 !important;
    }

    /* Center quantity + add-to-cart row */
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        justify-content: center;
    }
    .woocommerce div.product form.cart:not(.variations_form) {
        display: flex;
        align-items: stretch;
        gap: 12px;
        justify-content: center;
    }

    /* Product title: scale down from 34px */
    .woocommerce div.product div.summary .product_title {
        font-size: 22px;
        line-height: 1.2;
    }

    /* Price: slightly smaller */
    .woocommerce div.product div.summary > .price,
    .woocommerce div.product div.summary .woocommerce-variation-price .price {
        font-size: 17px;
        padding-top: 14px;
    }

    /* Velicina label left-aligned, swatches centered */
    .axor-size-label {
        text-align: left;
    }


    /* Convert variations table to block layout so td.value takes full width */
    .woocommerce div.product form.cart .variations,
    .woocommerce div.product form.cart .variations tbody,
    .woocommerce div.product form.cart .variations tr,
    .woocommerce div.product form.cart .variations td.value {
        display: block;
        width: 100%;
    }

    .woocommerce div.product form.cart .variations td.value {
        text-align: center;
    }

    /* Center size guide link */
    .axor-size-guide-wrap {
        text-align: center;
    }

    .axor-size-guide-link {
        justify-content: center;
    }

    /* Feature icons: 2x2 grid */
    .axor-product-features {
        padding-top: 16px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px 0;
    }

    .axor-product-features__item {
        flex: none;
        max-width: 100%;
        padding: 8px 0;
        border-right: none;
        border-bottom: none;
    }

    .axor-product-features__item:first-child,
    .axor-product-features__item:last-child {
        padding-left: 0;
        padding-right: 0;
        border-right: none;
    }

    /* Short description */
    .axor-short-description-wrapper {
        padding: 0 10px;
    }

    .axor-short-description {
        padding: 0 0 6px 0;
    }

    .axor-short-description p {
        font-size: 14px;
        line-height: 1.6;
    }

    /* ── Upsells: horizontal scroll-snap slider (2 items visible) ── */
    /* Override the 56px bottom padding from base — compound selector (same element) */
    .axor-compact-products.axor-upsells {
        padding: 0 0 !important;
    }

    .axor-upsells .axor-compact-products__slider {
        overflow: visible;
        display: block;
    }

    .axor-upsells .axor-compact-products__track {
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 4px 0 8px 0;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }

    /* Hide scrollbar */
    .axor-upsells .axor-compact-products__track::-webkit-scrollbar {
        display: none;
    }
    .axor-upsells .axor-compact-products__track {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-upsells .axor-compact-card {
        flex: 0 0 50vw;
        width: 50vw;
        min-width: 50vw;
        min-height: auto;
        scroll-snap-align: none;
        padding: 8px;
    }

    /* Snap every 2 cards (1st, 3rd, 5th) — stop prevents fast-swipe skipping */
    .axor-upsells .axor-compact-card:nth-child(odd) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .axor-upsells .axor-compact-card__image-wrap {
        height: 100px;
    }

    .axor-upsells .axor-compact-card__image-wrap img {
        max-height: 100px;
    }

    .axor-upsells .axor-compact-card__title {
        font-size: 14px;
        min-height: 36px;
        height: 36px;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    /* Push price to bottom so all cards align, with consistent spacing */
    .axor-upsells .axor-compact-card__price {
        font-size: 14px;
        margin-top: auto;
        padding-top: 8px;
        margin-bottom: 6px;
    }

    .axor-upsells .axor-compact-card__add-to-cart,
    .axor-upsells .axor-compact-card__remove-from-cart {
        font-size: 14px;
        padding: 10px 8px;
        min-height: 44px;
        width: 90%;
    }

    .axor-upsells .axor-compact-card__variation-placeholder {
        display: flex;
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__variation {
        height: 44px;
        margin: 4px 0;
    }

    .axor-upsells .axor-compact-card__select {
        height: 44px;
        font-size: 14px;
    }

    .axor-upsells .axor-compact-products__title {
        padding: 0 0 0 12px;
        font-size: 16px;
    }

    /* ── Related products: horizontal scroll-snap slider (1 item visible) ── */
    .axor-related-products .axor-large-products {
        padding: 24px 0 30px 0;
    }

    .axor-related-products .axor-large-products__title {
        font-size: 20px;
        padding: 0 10px;
        text-align: center;
        margin-bottom: 16px !important;
    }

    .axor-related-products .axor-large-products__grid {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 0;
        padding: 0;
    }

    /* Hide scrollbar */
    .axor-related-products .axor-large-products__grid::-webkit-scrollbar {
        display: none;
    }
    .axor-related-products .axor-large-products__grid {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .axor-related-products .axor-large-card {
        flex: 0 0 100%;
        width: 100%;
        min-width: 100%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        padding: 8px 20px 16px;
        box-sizing: border-box;
    }

    .axor-related-products .axor-large-card__image-wrap {
        height: 200px;
    }

    .axor-related-products .axor-large-card__image-wrap img {
        max-height: 200px;
    }

    .axor-related-products .axor-large-card__title {
        font-size: 16px;
    }

    .axor-related-products .axor-large-card__price {
        font-size: 14px;
    }

    .axor-related-products .axor-large-card__price del {
        font-size: 12px;
    }

    .axor-related-products .axor-large-card__sizes {
        gap: 4px;
    }

    .axor-related-products .axor-large-card__size {
        font-size: 14px;
        padding: 2px 6px;
    }

    /* ── Product description: mobile padding ── */
    .axor-product-description {
        padding: 10px !important;
    }

    .axor-product-description__title {
        font-size: 16px;
    }

    .axor-product-description__content {
        font-size: 15px;
        line-height: 1.6;
    }

    .axor-product-description__content > p:not(.axor-intro-text) {
        text-align: left;
        padding-top: 4px;
    }

    /* Subtitles — tight spacing to sit close to images */
    .axor-product-description__content h2,
    .axor-product-description__content h3,
    .axor-product-description__content h4 {
        margin: 8px 0 4px;
    }

    /* Reduce image/figure block margins so titles sit closer to images */
    .axor-product-description__content figure,
    .axor-product-description__content .wp-block-image {
        margin: 4px 0;
    }

    /* Size guide popup: fit mobile screen */
    .axor-popup__content {
        max-width: calc(100vw - 20px);
        padding: 10px;
    }

    .axor-popup__content img {
        max-width: 100%;
        max-height: calc(90vh - 20px);
    }

    /* ── Scroll indicator dots (shown on mobile) ── */
    .axor-scroll-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        padding: 12px 0;
    }
}

/* (scroll dot base styles moved before media queries) */

.axor-scroll-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d0d0d0;
    transition: background 0.2s ease;
}

.axor-scroll-dot.is-active {
    background: #1A1B18;
}

/* ==========================================================================
   WooCommerce Notices - Global styling (add to cart, errors, etc.)
   ========================================================================== */

.woocommerce-notices-wrapper {
    max-width: 700px !important;
    margin: 0 auto 20px;
    padding: 0 20px;
}

/* ---- NoticeGroup: fixed toast overlay (checkout errors, etc.) ---- */
.woocommerce-NoticeGroup {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99999;
    max-width: 700px;
    width: calc(100% - 40px);
    animation: axorNoticeSlideDown 0.3s ease;
}

@keyframes axorNoticeSlideDown {
    from { opacity: 0; transform: translateX(-50%) translateY(-20px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    background: #f8f8f8 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
    padding: 16px 48px 16px 20px !important;
    margin: 0;
    list-style: none;
    font-size: 14px;
    color: #1A1B18;
    line-height: 1.4;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
}

.woocommerce-NoticeGroup .woocommerce-error {
    border-color: #c00 !important;
}

.woocommerce-NoticeGroup .woocommerce-error::before,
.woocommerce-NoticeGroup .woocommerce-message::before {
    content: none !important;
    display: none !important;
}

.woocommerce-NoticeGroup .woocommerce-error li {
    font-size: 14px;
    color: #1a1b18;
    list-style: none;
}

.woocommerce-NoticeGroup .woocommerce-error li.axor-error-header {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #c00;
    margin-bottom: 2px;
}

.woocommerce-NoticeGroup .woocommerce-error li.axor-error-summary {
    font-size: 14px;
    font-weight: 400;
    color: #1a1b18;
}

.woocommerce-NoticeGroup .woocommerce-error li a {
    color: #1a1b18;
    text-decoration: none;
}

.woocommerce-NoticeGroup .woocommerce-error li a:hover {
    text-decoration: underline;
}

.woocommerce-NoticeGroup .axor-notice-close {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    color: #999;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    transition: color 0.2s ease;
}

.woocommerce-NoticeGroup .axor-notice-close:hover {
    color: #1A1B18;
    background: none !important;
}

/* ---- Invalid field highlighting (checkout validation) ---- */
.woocommerce-checkout .woocommerce-invalid .input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid .select2-container .select2-selection {
    border-color: #c00 !important;
}

.woocommerce-message {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8f8f8 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
    padding: 16px 48px 16px 20px !important;
    font-size: 14px;
    color: #1A1B18;
    line-height: 1.4;
    box-shadow: none !important;
    outline: none !important;
}

/* Success notice on My Account (registration success, etc.) */
.woocommerce-account .woocommerce-message {
    display: block !important;
    background: #e8f5e9 !important;
    border: 1px solid #a5d6a7 !important;
    color: #2e7d32;
    padding: 12px 20px !important;
    margin: -40px 0 20px !important;
    font-size: 14px;
    line-height: 1.6;
    border-radius: 6px !important;
}

.woocommerce-message::before {
    content: none !important;
}

.woocommerce-message .button,
.woocommerce-message .restore-item {
    display: inline-block;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none;
    border-radius: 0;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    order: 2;
}

.woocommerce-message .button:hover,
.woocommerce-message .restore-item:hover {
    color: #fff !important;
}

.axor-notice-close {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    color: #999;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    transition: color 0.2s ease;
}

.axor-notice-close:hover {
    color: #1A1B18;
    background: none !important;
}

.axor-notice-close:focus,
.axor-notice-close:active {
    color: #666 !important;
    background: none !important;
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* WooCommerce Info Notice (cart removal, undo) */
.woocommerce-info {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8f8f8 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
    padding: 16px 48px 16px 20px !important;
    font-size: 14px;
    color: #1A1B18;
    line-height: 1.4;
    box-shadow: none !important;
    outline: none !important;
    margin-bottom: 20px;
}

.woocommerce-info::before {
    content: none !important;
}

.woocommerce-info a {
    display: inline-block;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none;
    border-radius: 0;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.woocommerce-info a:hover {
    color: #fff !important;
}

/* Notices responsive — stack on mobile */
@media (max-width: 600px) {
    .woocommerce-message,
    .woocommerce-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 14px 36px 14px 16px !important;
        font-size: 14px;
    }

    .woocommerce-message .button,
    .woocommerce-message .restore-item,
    .woocommerce-info a {
        width: 100%;
        text-align: center;
        padding: 10px 20px;
        font-size: 14px;
    }

    .axor-notice-close {
        top: 6px;
        right: 6px;
    }

    .woocommerce-NoticeGroup .woocommerce-error {
        padding: 14px 36px 14px 16px;
        font-size: 14px;
    }
}

/* Empty Cart Page */
.woocommerce-cart .wc-empty-cart-message {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    background: #f8f8f8;
    border: 1px solid #e5e5e5;
    margin-bottom: 20px;
}

.woocommerce-cart .cart-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 20px !important;
    font-size: 16px;
    color: #1A1B18;
    line-height: 1.4;
    box-shadow: none !important;
    outline: none !important;
    text-align: center;
    margin: 0 !important;
}

.woocommerce-cart .cart-empty::before {
    content: none !important;
}

.woocommerce-cart .return-to-shop {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding-bottom: 30px;
}

.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop a {
    display: inline-block;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none !important;
    cursor: pointer;
    white-space: nowrap;
}

.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart .return-to-shop a:hover {
    color: #fff !important;
}

/* ==========================================================================
   Homepage Styles
   ========================================================================== */

/* Container for homepage sections - full width */
.axor-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   Hero Slider
   ========================================================================== */

.axor-hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    /* Reserve space to prevent CLS — matches slider aspect ratios */
    aspect-ratio: 1920 / 1080;
}

@media (max-width: 1024px) {
    .axor-hero-slider {
        aspect-ratio: 1024 / 576;
    }
}

@media (max-width: 480px) {
    .axor-hero-slider {
        aspect-ratio: 576 / 540;
    }
}

/* MetaSlider overrides for full-width hero */
.axor-hero-slider .metaslider {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.axor-hero-slider .metaslider .slides li img,
.axor-hero-slider .metaslider .slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

.axor-hero-slider .metaslider .flex-direction-nav a {
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.axor-hero-slider .metaslider .flex-direction-nav a:hover {
    opacity: 1;
}

.axor-hero-slider .metaslider .flex-control-nav {
    bottom: 20px;
}

.axor-hero-slider .metaslider .flex-control-nav li a {
    background: rgba(255, 255, 255, 0.5);
    border: none;
    box-shadow: none;
}

.axor-hero-slider .metaslider .flex-control-nav li a.flex-active {
    background: #fff;
}

/* Hero slider responsive */
@media (max-width: 768px) {
    .axor-hero-slider .metaslider .flex-viewport,
    .axor-hero-slider .metaslider .slides li,
    .axor-hero-slider .metaslider .slide {
        height: auto !important;
    }

    .axor-hero-slider .metaslider .slides li img,
    .axor-hero-slider .metaslider .slide img {
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: center;
    }

    /* Hide MetaSlider dots on mobile — keep arrows only */
    .axor-hero-slider .metaslider .flex-control-nav {
        display: none;
    }

    /* Hide MetaSlider pause/play button on mobile */
    .axor-hero-slider .metaslider .flex-pauseplay {
        display: none;
    }
}

/* ==========================================================================
   Category Cards (Helmet Categories) - 2x2 Grid Layout
   ========================================================================== */

.axor-categories {
    padding: 16px 8px 8px 8px;
    background: #fff;
}

.axor-categories__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    width: 100%;
    max-width: none;
    margin: 0;
}

.axor-category-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    text-decoration: none;
    border-radius: 0;
    cursor: default;
    -webkit-tap-highlight-color: transparent;
}

.axor-category-card__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.axor-category-card__overlay {
    display: none;
}

.axor-category-card__title {
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 4px;
    cursor: pointer;
}

a.axor-category-card,
a.axor-accessory-card {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* No stretched link needed — entire card is now an <a> tag */

/* Category cards responsive */
@media (max-width: 768px) {
    .axor-categories__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2px;
    }

    .axor-category-card__title {
        font-size: 14px;
        padding: 8px 14px;
    }
}

/* 481-600px: white-background title still in use — keep 10px gap
   from the card edge on both sides so the title label doesn't
   touch the card border. */
@media (min-width: 481px) and (max-width: 600px) {
    .axor-categories {
        padding: 16px 12px 8px 12px;
    }

    .axor-category-card__title {
        margin: 0 10px;
    }
}

@media (max-width: 480px) {
    .axor-categories {
        padding: 12px 12px 8px 12px;
    }

    .axor-categories__grid {
        gap: 8px;
    }

    .axor-category-card {
        /* Keep 1:1 aspect so the full category image shows without
           cropping, combined with background-size: contain below. */
        aspect-ratio: 1 / 1;
        align-items: flex-end;
        justify-content: stretch;
    }

    /* Show the whole image instead of a zoomed crop. */
    .axor-category-card__image {
        background-size: contain;
    }

    /* Gradient overlay at bottom for text readability */
    .axor-category-card::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 65%;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent);
        z-index: 1;
        pointer-events: none;
    }

    .axor-category-card__title {
        background: none;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        padding: 8px 10px;
        margin: 0;
        border-radius: 0;
        width: 100%;
        text-align: center;
        letter-spacing: 0.5px;
    }

    .axor-category-card__title a {
        color: #fff;
    }

    /* Mobile: JS-controlled sweep on title only */
    .axor-category-card__title {
        position: relative !important;
        overflow: hidden !important;
    }

    .axor-category-card__title::after,
    .axor-category-card__title:hover::after,
    .axor-category-card__title:active::after {
        background: rgba(0, 0, 0, 0.45) !important;
        transform: scaleX(0) !important;
        transform-origin: left !important;
        transition: transform 0.25s ease !important;
    }

    .axor-category-card__title:hover {
        background: none !important;
    }

    .axor-category-card__title.is-tapped::after,
    .axor-category-card__title.is-tapped:hover::after {
        transform: scaleX(1) !important;
        transform-origin: left !important;
        transition: transform 0.25s ease !important;
    }

    .axor-category-card__title.is-untapping::after,
    .axor-category-card__title.is-untapping:hover::after {
        transform: scaleX(0) !important;
        transform-origin: left !important;
        transition: transform 0.25s ease !important;
    }
}

/* ==========================================================================
   Section Titles (Homepage)
   ========================================================================== */

.axor-section-title {
    font-size: 60px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    color: #1A1B18;
    margin: 0 0 32px 0 !important;
    letter-spacing: 1px;
}

/* ==========================================================================
   Product Grid (Homepage)
   ========================================================================== */

.axor-products-grid {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    width: 100%;
    /* stretch: all cards in a row match the tallest card's height.
       Combined with .axor-large-card flex column + margin-top: auto
       on the add-to-cart button, the button is anchored at the
       bottom of every card so pills sit under the price, pushing
       the button down uniformly. */
    align-items: stretch;
}

.axor-products-grid--4 {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

@media (max-width: 1024px) {
    .axor-products-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .axor-products-grid--4 {
        grid-template-columns: 1fr;
    }
}

/* Homepage product count per section per breakpoint
   PHP loads: Kacige 9, Najprodavanije 6, Rezervni 6
   ------------------------------------------------
   0-480:    Kacige 5, Najprodavanije 4, Rezervni 3
   481-1024: Kacige 6, Najprodavanije 4, Rezervni 4
   1025+:    Kacige 9, Najprodavanije 6, Rezervni 6
   ------------------------------------------------ */
@media (max-width: 1024px) {
    .axor-new-launches .axor-products-grid--4 > .axor-large-card:nth-child(n+7) {
        display: none;
    }
    .axor-top-selling--helmets .axor-products-grid--4 > .axor-large-card:nth-child(n+5),
    .axor-top-selling--accessories .axor-products-grid--4 > .axor-large-card:nth-child(n+5) {
        display: none;
    }
}

@media (max-width: 480px) {
    .axor-new-launches .axor-products-grid--4 > .axor-large-card:nth-child(n+6) {
        display: none;
    }
    .axor-top-selling--helmets .axor-products-grid--4 > .axor-large-card:nth-child(n+5) {
        display: none;
    }
    .axor-top-selling--accessories .axor-products-grid--4 > .axor-large-card:nth-child(n+4) {
        display: none;
    }
}

/* ==========================================================================
   Helmets Section (New Launches)
   ========================================================================== */

.axor-new-launches {
    padding: 30px 20px 0 20px;
    background: #fff;
    width: 100%;
}

/* Explore More Button */
.axor-explore-more {
    display: flex;
    justify-content: center;
    padding: 40px 0 20px 0;
}

.axor-explore-more__btn {
    display: inline-block;
    padding: 14px 40px;
    background: rgba(26, 27, 24, 0.7);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
    border-radius: 4px;
}

.axor-explore-more__btn:hover {
    color: #fff;
}

/* NEW badge — styles moved to Product Badges (Archive Page) section below */

/* ==========================================================================
   Accessory Categories (Gloves - uses same styling as helmet categories)
   ========================================================================== */

.axor-accessory-categories {
    padding: 20px 8px 8px 8px;
    background: #fff;
    width: 100%;
}

.axor-accessory-categories__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    width: 100%;
}

/* Accessory cards use same styling as category cards */
.axor-accessory-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    text-decoration: none;
    border-radius: 0;
    cursor: default;
    -webkit-tap-highlight-color: transparent;
}

.axor-accessory-card__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.axor-accessory-card__overlay {
    display: none;
}

.axor-accessory-card__title {
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    cursor: pointer;
}

.axor-accessory-card__title a {
    color: inherit;
    text-decoration: none;
}

/* No stretched link — JS handles full-card tap on mobile */

@media (max-width: 768px) {
    .axor-accessory-categories__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2px;
    }

    .axor-accessory-card__title {
        font-size: 14px;
        padding: 8px 14px;
    }
}

@media (max-width: 480px) {
    .axor-accessory-categories {
        padding: 4px 4px 8px 4px;
    }

    .axor-accessory-categories__grid {
        gap: 4px;
    }

    .axor-accessory-card {
        aspect-ratio: 4 / 3;
        align-items: flex-end;
        justify-content: stretch;
    }

    .axor-accessory-card::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 65%;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent);
        z-index: 1;
        pointer-events: none;
    }

    .axor-accessory-card__title {
        background: none;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        padding: 8px 10px;
        margin: 0;
        border-radius: 0;
        width: 100%;
        text-align: center;
        letter-spacing: 0.5px;
    }

    .axor-accessory-card__title a {
        color: #fff;
    }

    /* Mobile: JS-controlled sweep on title only */
    .axor-accessory-card__title {
        position: relative !important;
        overflow: hidden !important;
    }

    .axor-accessory-card__title::after,
    .axor-accessory-card__title:hover::after,
    .axor-accessory-card__title:active::after {
        background: rgba(0, 0, 0, 0.45) !important;
        transform: scaleX(0) !important;
        transform-origin: left !important;
        transition: transform 0.25s ease !important;
    }

    .axor-accessory-card__title:hover {
        background: none !important;
    }

    .axor-accessory-card__title.is-tapped::after,
    .axor-accessory-card__title.is-tapped:hover::after {
        transform: scaleX(1) !important;
        transform-origin: left !important;
        transition: transform 0.25s ease !important;
    }

    .axor-accessory-card__title.is-untapping::after,
    .axor-accessory-card__title.is-untapping:hover::after {
        transform: scaleX(0) !important;
        transform-origin: left !important;
        transition: transform 0.25s ease-in !important;
    }
}

/* ==========================================================================
   Top Selling Sections (1x4 grid)
   ========================================================================== */

.axor-top-selling {
    padding: 30px 20px 0 20px;
    background: #fff;
    width: 100%;
}

.axor-top-selling .axor-products-grid--4 {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1024px) {
    .axor-top-selling .axor-products-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .axor-top-selling .axor-products-grid--4 {
        grid-template-columns: 1fr;
    }
}

.axor-top-selling--accessories {
    background: #fff;
    padding-bottom: 30px;
}

/* ==========================================================================
   Product Description - Class-based styling
   ========================================================================== */

/* Intro text paragraph */
.axor-intro-text {
    font-size: 18px;
    font-weight: 400;
    line-height: 27px;
    color: #444;
    margin: 0 auto 30px;
    padding: 0 20px;
    text-align: center;
    max-width: 1000px;
}

/* Features list (dark background grid) */
.axor-features-list {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 12px 80px;
    justify-content: center;
    margin: 0;
    padding: 24px 30px;
    background: #1a1b18;
    list-style: none;
    opacity: 0.8;
}

.axor-features-list li {
    position: relative;
    padding-left: 24px;
    font-size: 18px;
    font-weight: 400;
    line-height: 27px;
    color: #fff;
}

.axor-features-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: #e31e24;
    border-radius: 50%;
}

/* ==========================================================================
   Product Feature Blocks (for product descriptions)
   ========================================================================== */

.axor-feature-block {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
}

/* Image on left (default) */
.axor-feature-block--image-left {
    flex-direction: row;
}

/* Image on right */
.axor-feature-block--image-right {
    flex-direction: row-reverse;
}

.axor-feature-block__image {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0;
    margin: 0;
}

.axor-feature-block__image img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: none !important;
    border: none !important;
}

.axor-feature-block__content {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 40px 60px;
    box-sizing: border-box;
}

.axor-feature-block__title {
    font-size: 30px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 16px 0;
}

.axor-feature-block__text {
    font-size: 18px;
    font-weight: 400;
    line-height: 27px;
    color: #444;
}

.axor-feature-block__text ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.axor-feature-block__text ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
}

.axor-feature-block__text ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #1A1B18;
}

.axor-feature-block__text p {
    margin: 0 0 12px 0;
}

.axor-feature-block__text strong {
    color: #1A1B18;
}

/* 769-1024px: Tablet section spacing */
@media (min-width: 769px) and (max-width: 1024px) {
    .axor-section-title {
        font-size: 42px;
        margin: 0 0 32px 0 !important;
    }

    .axor-new-launches,
    .axor-top-selling {
        padding: 30px 20px 0 20px;
    }

    .axor-top-selling--accessories {
        padding-bottom: 30px;
    }

    .axor-large-products {
        padding: 30px 20px 0 20px;
    }

    .axor-explore-more {
        padding: 20px 0;
    }

    .axor-categories,
    .axor-accessory-categories {
        padding: 8px 12px;
    }

    /* Feature block content: tighter padding at tablet */
    .axor-feature-block__content {
        padding: 10px 20px;
    }
}

/* Responsive - Feature blocks */
@media (max-width: 768px) {
    .axor-features-list {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .axor-feature-block {
        flex-direction: column !important;
        gap: 0;
    }

    .axor-feature-block__image {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .axor-feature-block__content {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 12px 10px;
    }

    .axor-feature-block__title {
        font-size: 20px;
        text-align: center;
    }

    .axor-feature-block__text {
        text-align: left;
    }

    .axor-section-title {
        font-size: 36px;
        margin: 0 0 32px 0 !important;
    }

    .axor-new-launches,
    .axor-top-selling {
        padding: 30px 20px 0 20px;
    }

    .axor-top-selling--accessories {
        padding-bottom: 30px;
    }

    .axor-large-products {
        padding: 0 20px 0 20px;
    }

    .axor-explore-more {
        padding: 20px 0;
    }

    .axor-categories,
    .axor-accessory-categories {
        padding: 12px 12px 8px 12px;
    }

    .axor-large-products__title {
        font-size: 28px;
    }
}

/* 481-600px: Tighter section spacing for 2-col product layout */
@media (min-width: 481px) and (max-width: 600px) {
    .axor-section-title {
        font-size: 30px;
        margin: 0 0 24px 0 !important;
    }

    .axor-new-launches,
    .axor-top-selling {
        padding: 30px 12px 0 12px;
    }

    .axor-top-selling--accessories {
        padding-bottom: 30px;
    }

    .axor-large-products {
        padding: 0 12px 0 12px;
    }

    .axor-categories,
    .axor-accessory-categories {
        padding: 12px 12px 8px 12px;
    }

    .axor-explore-more {
        padding: 12px 0;
    }
}

/* Smaller badges for all mobile/tablet */
@media (max-width: 1024px) {
    .axor-large-card .axor-product-badge--sale,
    .axor-large-card .axor-product-badge--coupon {
        width: 64px;
        height: 64px;
        font-size: 14px;
    }

    .axor-large-card .axor-product-badge--sale {
        right: 10px;
        top: 10px;
    }

    .axor-large-card .axor-product-badge--coupon {
        left: 10px;
        top: 10px;
    }

    .axor-large-card .axor-product-badge--new {
        top: 10px;
        left: 10px;
        font-size: 14px;
        padding: 3px 10px;
    }
}

@media (max-width: 480px) {
    .axor-section-title {
        font-size: 24px;
        margin: 0 0 16px 0 !important;
    }

    .axor-new-launches,
    .axor-top-selling {
        padding: 16px 8px;
    }

    /* Wider product cards on mobile single-column */
    .axor-large-card {
        padding: 10px 12px 24px 12px;
    }

    .axor-top-selling--accessories {
        padding-bottom: 30px;
    }

    .axor-large-products {
        padding: 0 16px 30px;
    }

    .axor-large-products__title {
        font-size: 24px;
    }
}

/* ==========================================================================
   Product Archive / Category Page - Matching axorhelmets.com
   Layout: Fixed sidebar + flexible content
   ========================================================================== */

.axor-archive {
    background: #fff;
    min-height: 100vh;
    margin-bottom: 32px;
}

.axor-archive__container {
    display: flex;
    max-width: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

/* Sidebar - fixed width, JS handles sticky positioning via .axor-sidebar-inner */
.axor-archive__sidebar {
    flex: 0 0 316px;
    width: 316px;
    max-width: 316px;
    padding: 0;
    border-right: 1px solid #e5e5e5;
    position: static;
    height: auto;
    overflow: visible;
    background: #fff;
}

.axor-sidebar-inner {
    padding: 30px 32px;
    border-right: 1px solid #e5e5e5;
    background: #fff;
}


/* Main content - flexible */
.axor-archive__main {
    flex: 1;
    min-width: 0;
    padding: 32px 32px;
}

/* ==========================================================================
   Sidebar Filters - Collapsible like axorhelmets
   ========================================================================== */

.axor-filter {
    margin-bottom: 0;
    border-bottom: none;
}

.axor-filter.is-collapsed {
    border-bottom: 1px solid #e5e5e5;
}

.axor-filter.is-collapsed:last-child {
    border-bottom: none;
}

/* Filter Header - Clickable toggle */
.axor-filter__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 14px 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    outline: none;
    border-radius: 0px!important;
    box-shadow: none;
}

.axor-filter__header:focus {
    outline: none;
    background: none;
}

.axor-filter__header:hover {
    background: none;
}

.axor-filter__title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1A1B18;
    margin: 0;
}

.axor-filter__arrow {
    color: #1A1B18;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

/* Collapsed state - arrow points down when collapsed */
.axor-filter.is-collapsed .axor-filter__arrow {
    transform: rotate(180deg);
}

.axor-filter.is-collapsed .axor-filter__content {
    display: none;
}

/* Filter Content */
.axor-filter__content {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 0px;
    padding-bottom: 16px;
    padding-left: 8px;
    border-bottom: 1px solid #e5e5e5;
}

.axor-filter:last-child .axor-filter__content {
    border-bottom: none;
}

/* Filter Links (Categories) */
.axor-filter__link {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #666;
    text-decoration: none;
    padding: 4px 0;
    transition: color 0.2s ease;
}

.axor-filter__link:hover {
    color: #1A1B18;
}

.axor-filter__link.is-active {
    color: #1A1B18;
    font-weight: 700;
}

/* ==========================================================================
   Price Filter - Dual range slider like axorhelmets
   ========================================================================== */

.axor-price-slider {
    padding: 0 9px; /* Half of thumb width to align dots with label edges */
    user-select: none;
}

.axor-price-slider__labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    margin-left: -10px;
    margin-right: -10px;
    padding: 0;
}

.axor-price-slider__label {
    font-size: 14px;
    font-weight: 400;
    color: #1A1B18;
}

.axor-price-slider__track {
    position: relative;
    height: 4px;
    background: #e5e5e5;
    border-radius: 2px;
    margin: 8px 0 12px;
}

.axor-price-slider__range {
    position: absolute;
    top: 0;
    height: 100%;
    background: #1A1B18;
    border-radius: 2px;
}

.axor-price-slider__thumb {
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    background: #1A1B18;
    border: 2px solid #1A1B18;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    z-index: 2;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.axor-price-slider__thumb:hover {
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.axor-price-slider__thumb.is-dragging {
    transform: translate(-50%, -50%) scale(1.15);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   Sort Dropdown - axorhelmets style (left aligned)
   ========================================================================== */

.axor-archive__header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 14px;
    padding-bottom: 32px;
    border-bottom: 1px solid #e5e5e5;
}

.axor-archive__sorting {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.axor-archive__per-page {
    display: flex;
    align-items: center;
    gap: 8px;
}

.axor-archive__per-page-label {
    font-size: 14px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.axor-archive__per-page-select {
    padding: 10px 32px 10px 12px;
    font-size: 16px;
    font-weight: 700;
    color: #1A1B18;
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid #666666;
    border-radius: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231A1B18' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
}

.axor-archive__per-page-select:hover,
.axor-archive__per-page-select:focus {
    border-color: #1A1B18;
    background-color: #fff;
    outline: none;
}

.axor-sort-dropdown {
    position: relative;
}

.axor-sort-dropdown__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 700;
    color: #1A1B18;
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid #666666;
    border-radius: 0;
    cursor: pointer;
    min-width: 200px;
    justify-content: space-between;
}

.axor-sort-dropdown__toggle:hover {
    border-color: #1A1B18;
    background-color: #fff;
    color: #1A1B18;
}

.axor-sort-dropdown__toggle:focus {
    outline: none;
    border-color: #1A1B18;
    background-color: #fff;
    color: #1A1B18;
}

.axor-sort-dropdown__toggle:active {
    outline: none;
    background-color: #fff;
}

.axor-sort-dropdown__arrow {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.axor-sort-dropdown.is-open .axor-sort-dropdown__arrow {
    transform: rotate(180deg);
}

.axor-sort-dropdown__menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;
    z-index: 100;
    display: none;
}

.axor-sort-dropdown.is-open .axor-sort-dropdown__menu {
    display: block;
}

.axor-sort-dropdown__item {
    display: block;
    padding: 10px 16px;
    font-size: 14px;
    color: #666;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.axor-sort-dropdown__item:hover {
    background: #f5f5f5;
    color: #1A1B18;
}

.axor-sort-dropdown__item.is-active {
    color: #1A1B18;
    font-weight: 600;
}

/* ==========================================================================
   Archive Product Grid - 3 columns with fixed card sizes
   ========================================================================== */

.axor-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
}

/* Cards in archive grid */
.axor-archive__grid .axor-large-card {
    background: #fff;
}

.axor-archive__grid .axor-product-badge--sale,
.axor-archive__grid .axor-product-badge--coupon {
    width: 66px;
    height: 66px;
    font-size: 14px;
}

/* ==========================================================================
   Product Badges (Archive Page)
   ========================================================================== */

.axor-product-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 2px;
    z-index: 5;
}

.axor-product-badge--sale {
    background: #e31e24;
    color: #fff;
    left: auto;
    right: 20px;
    top: 20px;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1.1;
    cursor: pointer;
}

.axor-product-badge--coupon {
    background: #e31e24;
    color: #fff;
    left: 20px;
    top: 20px;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    padding: 0 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1.1;
    text-align: center;
    word-break: break-word;
    cursor: pointer;
}

.axor-product-badge--new {
    background: #e31e24;
    color: #fff;
    font-size: 16px;
    padding: 4px 14px;
    border-radius: 16px;
}

/* NOVO goes right when coupon badge is present */
.axor-product-badge--coupon ~ .axor-product-badge--new {
    left: auto;
    right: 40px;
    top: 40px;
}

/* NOVO centered when all 3 badges (coupon + sale + novo) */
.axor-product-badge--coupon ~ .axor-product-badge--sale ~ .axor-product-badge--new {
    left: 50%;
    right: auto;
    top: 40px;
    transform: translateX(-50%);
}

/* Large card badge positioning — 30px from edges */
.axor-large-card .axor-product-badge--new {
    top: 30px;
    left: 30px;
}

.axor-large-card .axor-product-badge--coupon ~ .axor-product-badge--new {
    left: auto;
    right: 30px;
    top: 30px;
}

.axor-large-card .axor-product-badge--coupon ~ .axor-product-badge--sale ~ .axor-product-badge--new {
    left: 50%;
    right: auto;
    top: 30px;
    transform: translateX(-50%);
}

/* Compact card badge overrides — smaller badges for small cards.
   60x60 / 13px leaves enough inner padding for "AKCIJA!" to sit
   nicely in the circle without crowding the edges. */
.axor-compact-card .axor-product-badge--sale {
    left: 6px;
    right: auto;
    top: 6px;
    width: 60px;
    height: 60px;
    font-size: 13px;
    z-index: 7;
}

.axor-compact-card .axor-product-badge--coupon {
    left: 6px;
    top: 6px;
    width: 60px;
    height: 60px;
    font-size: 13px;
    padding: 0 4px;
    z-index: 6;
}

.axor-compact-card .axor-product-badge--new {
    font-size: 14px;
    padding: 2px 8px;
    top: 6px;
    left: 6px;
}

/* On compact cards, NOVO centers when any other badge is present */
.axor-compact-card .axor-product-badge--coupon ~ .axor-product-badge--new,
.axor-compact-card .axor-product-badge--sale ~ .axor-product-badge--new,
.axor-compact-card .axor-product-badge--coupon ~ .axor-product-badge--sale ~ .axor-product-badge--new {
    left: 50%;
    right: auto;
    top: 10px;
    transform: translateX(-50%);
}

/* Out-of-stock label (flow-based, inside card link after sizes) */
.axor-large-card__out-of-stock {
    display: inline-block;
    background: var(--axor-accent);
    color: #fff;
    padding: 4px 10px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 2px;
    margin-top: 10px;
}

/* ==========================================================================
   Color Swatches (Product Cards)
   ========================================================================== */

.axor-large-card__colors {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
}

.axor-large-card__color {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #e5e5e5;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.axor-large-card__color:hover {
    border-color: #1A1B18;
    transform: scale(1.1);
}

/* Common color mappings */
.axor-large-card__color[data-color="crna"],
.axor-large-card__color[data-color="black"] {
    background-color: #1a1a1a;
}

.axor-large-card__color[data-color="bijela"],
.axor-large-card__color[data-color="white"] {
    background-color: #ffffff;
}

.axor-large-card__color[data-color="crvena"],
.axor-large-card__color[data-color="red"] {
    background-color: #e31e24;
}

.axor-large-card__color[data-color="plava"],
.axor-large-card__color[data-color="blue"] {
    background-color: #2196F3;
}

.axor-large-card__color[data-color="zelena"],
.axor-large-card__color[data-color="green"] {
    background-color: #4CAF50;
}

.axor-large-card__color[data-color="zuta"],
.axor-large-card__color[data-color="yellow"] {
    background-color: #FFEB3B;
}

.axor-large-card__color[data-color="narancasta"],
.axor-large-card__color[data-color="orange"] {
    background-color: var(--axor-accent);
}

.axor-large-card__color[data-color="siva"],
.axor-large-card__color[data-color="grey"],
.axor-large-card__color[data-color="gray"] {
    background-color: #9E9E9E;
}

.axor-large-card__color[data-color="roza"],
.axor-large-card__color[data-color="pink"] {
    background-color: #E91E63;
}

.axor-large-card__color[data-color="ljubicasta"],
.axor-large-card__color[data-color="purple"] {
    background-color: #9C27B0;
}

/* Multicolor/gradient */
.axor-large-card__color[data-color*="multi"],
.axor-large-card__color[data-color*="rainbow"] {
    background: linear-gradient(135deg, #e31e24, #FFEB3B, #4CAF50, #2196F3);
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.axor-archive__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #e5e5e5;
}

.axor-archive__pagination a,
.axor-archive__pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    text-decoration: none;
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.axor-archive__pagination a:hover {
    color: #1A1B18;
    border-color: #1A1B18;
}

.axor-archive__pagination .current {
    background: #1A1B18;
    color: #fff;
    border-color: #1A1B18;
}

.axor-archive__pagination .prev,
.axor-archive__pagination .next {
    border: none;
    color: #1A1B18;
}

.axor-archive__pagination .prev:hover,
.axor-archive__pagination .next:hover {
    background: #f5f5f5;
}

.axor-archive__pagination svg {
    width: 8px;
    height: 14px;
}

/* No products message */
.axor-archive__no-products {
    text-align: center;
    padding: 60px 20px;
}

.axor-archive__no-products p {
    font-size: 16px;
    color: #666;
}

/* ==========================================================================
   Archive Page Responsive
   ========================================================================== */

@media (max-width: 1279px) {
    .axor-archive__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .axor-archive__grid .axor-large-card__image-wrap {
        height: 240px;
    }

    .axor-archive__grid .axor-large-card__image-wrap img {
        max-height: 240px;
    }

    .axor-archive__grid .axor-large-card__title {
        font-size: 16px;
        line-height: 1.3;
        margin: 0 0 4px 0;
    }

    .axor-archive__grid .axor-large-card__price {
        font-size: 15px;
    }

    .axor-archive__grid .axor-product-badge--sale,
    .axor-archive__grid .axor-product-badge--coupon {
        width: 76px;
        height: 76px;
        font-size: 15px;
    }
}

@media (max-width: 1200px) {
    .axor-archive__sidebar {
        flex: 0 0 260px;
        width: 260px;
        max-width: 260px;
    }

    .axor-sidebar-inner {
        padding: 24px 20px;
    }

    .axor-archive__main {
        padding: 32px 20px;
    }
}

@media (max-width: 1024px) {
    .axor-archive__sidebar {
        flex: 0 0 200px;
        width: 200px;
        max-width: 200px;
    }

    .axor-sidebar-inner {
        padding: 16px 16px 20px;
    }

    .axor-archive__header {
        justify-content: center;
        padding: 16px 0 24px;
        margin-bottom: 0;
    }

    .axor-archive__main {
        padding: 0 16px 0px;
    }

    .axor-archive__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .axor-archive__grid .axor-large-card__title {
        min-height: 84px;
    }

    .axor-archive__grid .axor-large-card__price {
        font-size: 14px;
    }
}

@media (min-width: 769px) {
    .axor-archive__pagination {
        margin-top: 0;
    }
}

@media (min-width: 901px) and (max-width: 1024px) {
    .axor-archive__sidebar {
        flex: 0 0 250px;
        width: 250px;
        max-width: 250px;
    }
}

@media (max-width: 768px) {
    .axor-archive__grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }
}

@media (min-width: 481px) and (max-width: 768px) {
    .axor-archive__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

/* ── Mobile filter drawer + sticky button (≤768px) ── */

/* Hidden on desktop */
.axor-filter-bar {
    display: none;
}

.axor-filter-drawer {
    display: none;
}

@media (max-width: 768px) {
    /* Hide desktop sidebar */
    .axor-archive__sidebar {
        display: none !important;
    }

    .axor-archive__container {
        padding: 0 10px;
        gap: 0;
    }

    /* Sort dropdown centered */
    .axor-archive__header {
        padding: 16px 0;
        margin-bottom: 0;
        border-bottom: none;
        display: flex;
        justify-content: center;
    }

    .axor-sort-dropdown__toggle {
        min-width: 200px;
    }

    /* Reset main padding for mobile - match other pages */
    .axor-archive__main {
        padding: 0;
    }

    /* Filter bar — pure CSS position:sticky for compositor-native
       pinning. No JS scroll listeners, no transform jitter. Bar lives
       as a direct child of .axor-archive and sticks flush to the
       viewport bottom (bottom: 0, like the go-to-top button) while
       the archive is in view; naturally slides out of the way when
       .axor-archive ends (right before the footer). */
    .axor-filter-bar {
        display: flex;
        justify-content: center;
        align-items: center;
        position: sticky;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background: #fff;
        padding: 16px;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        /* Breathing room between the end of the product grid /
           pagination and the bar's natural flow position at the
           bottom of the archive. Only visible at scroll-end when
           the bar un-sticks; purely cosmetic gap. */
        margin-top: 32px;
    }

    /* No padding-bottom needed — bar is in-flow and occupies its own
       trailing space after the grid/pagination. */
    .axor-archive__main {
        padding-bottom: 0;
    }
    .axor-archive {
        padding-bottom: 0;
    }

    .axor-filter-btn,
    .axor-filter-btn:hover,
    .axor-filter-btn:focus,
    .axor-filter-btn:focus-visible,
    .axor-filter-btn:active {
        display: block;
        width: 50%;
        height: 40px;
        background: #1a1b18 !important;
        color: #fff !important;
        padding: 0;
        border: none;
        border-radius: 4px;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        cursor: pointer;
        outline: none !important;
        box-shadow: none !important;
        -webkit-tap-highlight-color: transparent;
        -webkit-appearance: none;
        user-select: none;
    }

    .axor-filter-btn:active {
        opacity: 0.9;
    }

    /* Filter drawer */
    .axor-filter-drawer {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 999;
        pointer-events: none;
        visibility: hidden;
        transition: visibility 0s 0.3s;
    }

    .axor-filter-drawer.is-open {
        pointer-events: auto;
        visibility: visible;
        transition: visibility 0s 0s;
    }

    /* Overlay */
    .axor-filter-drawer__overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: transparent;
        transition: background 0.3s ease;
    }

    .axor-filter-drawer.is-open .axor-filter-drawer__overlay {
        background: rgba(0, 0, 0, 0.4);
    }

    /* Panel slides from right */
    .axor-filter-drawer__panel {
        position: absolute;
        top: 0;
        right: 0;
        width: 85%;
        max-width: 380px;
        height: 100%;
        background: #fff;
        display: flex;
        flex-direction: column;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
    }

    .axor-filter-drawer.is-open .axor-filter-drawer__panel {
        transform: translateX(0);
    }

    /* Header */
    .axor-filter-drawer__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        border-bottom: 1px solid #e5e5e5;
        flex-shrink: 0;
    }

    .axor-filter-drawer__title {
        font-size: 16px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #1A1B18;
    }

    .axor-filter-drawer__close {
        background: none;
        border: none;
        padding: 8px;
        cursor: pointer;
        color: #1A1B18;
    }

    /* Scrollable body */
    .axor-filter-drawer__body {
        flex: 1;
        overflow-y: auto;
        padding: 0 20px;
    }

    /* Filter sections inside drawer */
    .axor-filter-drawer__body .axor-filter {
        min-width: 100%;
        flex: none;
    }

    .axor-filter-drawer__body .axor-filter__header {
        padding: 16px 0;
    }

    .axor-filter-drawer__body .axor-filter__content {
        padding-bottom: 20px;
    }

    .axor-filter-drawer__body .axor-filter__link {
        padding: 8px 0;
        font-size: 15px;
    }

    /* Footer with continue button */
    .axor-filter-drawer__footer {
        flex-shrink: 0;
        padding: 12px 20px;
        border-top: 1px solid #e5e5e5;
    }

    .axor-filter-drawer__continue {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 14px 16px;
        background: rgba(26, 27, 24, 0.7);
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        font-family: inherit;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        border: 1px solid #1a1b18;
        cursor: pointer;
    }
}

/* ==========================================================================
   My Account - Login/Register Page (Full-Width Split)
   ========================================================================== */

/* Hide default WooCommerce My Account page title on login */
.woocommerce-account:not(.logged-in) .entry-title,
.woocommerce-account:not(.logged-in) .page-title {
    display: none;
}

/* Remove Astra article padding on login page */
.woocommerce-account:not(.logged-in) article {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Main split container */
.axor-login {
    display: flex;
    width: 100%;
    align-items: stretch;
}

/* Each panel takes 50% */
.axor-login__panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0px 56px 40px;
}

/* Login panel: content pushed to the right (toward center divider) */
.axor-login__panel--login {
    background-color: #fff;
    border-right: 1px solid #eee;
    align-items: flex-end;
}

.axor-login__panel--register {
    background-color: #fff;
    align-items: flex-start;
}

/* Inner wrapper constrains form width, stretches full height */
.axor-login__inner {
    width: 100%;
    max-width: 380px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Forms stretch to fill available height */
.axor-login__inner form {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin: 0px 0px 0px 0px !important;
}

/* Privacy policy text */
.axor-login .woocommerce-privacy-policy-text {
    display: flex;
    align-items: center;
    margin: 12px 0 12px;
}

.axor-login .woocommerce-privacy-policy-text p {
    font-size: 14px;
    font-weight: 500;
    color: #888;
    line-height: 1.4;
    margin: 0 !important;
}

/* MailPoet newsletter checkbox on registration form */
.axor-login .registration-form-mailpoet {
    margin: 4px 0 0 !important;
    padding: 0 !important;
}

.axor-login .registration-form-mailpoet label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
}

.axor-login .registration-form-mailpoet input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--axor-black);
    margin: 0 !important;
    flex-shrink: 0;
}

/* Headings */
.axor-login__heading {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 32px;
}

.axor-login__heading {
    color: var(--axor-black);
}

/* Fields */
.axor-login__field {
    margin-bottom: 20px;
}

.axor-login__field label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.axor-login__field label {
    color: #555;
}

/* Inputs */
.axor-login__input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 0;
    font-size: 14px;
    font-family: var(--axor-font-family);
    transition: border-color 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}

.axor-login__input {
    background: #fff;
    border: 1px solid #ddd;
    color: var(--axor-black);
}

.axor-login__input:focus {
    outline: none;
    border-color: var(--axor-black);
}

/* Remember me */
.axor-login__remember {
    margin: 0px 0px 16px;
}

.axor-login__checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
}

.axor-login__checkbox-label {
    color: #555;
}

.axor-login__checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--axor-black);
}

/* Buttons */
.axor-login__btn {
    display: block;
    width: 100%;
    padding: 14px 32px;
    height: 48px;
    border: none;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    font-family: var(--axor-font-family);
    text-align: center;
    margin-top: 8px;
}

/* Both buttons: dark style matching Add to Cart */
.axor-login__btn {
    background-color: rgba(26, 27, 24, 0.7);
    color: #fff;
}

.axor-login__btn:focus,
.axor-login__btn:active {
    outline: none;
}

/* Lost password link */
.axor-login__lost-password {
    margin-top: 20px;
}

.axor-login__lost-password a {
    font-size: 14px;
    color: #555;
    text-decoration: none;
    transition: color 0.2s ease;
}

.axor-login__lost-password a:hover {
    color: var(--axor-black);
}

/* ==========================================================================
   Lost Password / Reset Password Pages
   ========================================================================== */
.woocommerce-ResetPassword,
.woocommerce form.lost_reset_password,
.woocommerce-account form.woocommerce-ResetPassword {
    max-width: 480px !important;
    margin: 0 auto !important;
    padding: 40px 20px;
}

.woocommerce-ResetPassword > p:first-child {
    text-align: center;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 24px;
}

.woocommerce-ResetPassword .woocommerce-form-row,
.woocommerce-ResetPassword .form-row {
    float: none !important;
    width: 100% !important;
    margin-bottom: 16px;
}

.woocommerce-ResetPassword label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #1a1b18;
    margin-bottom: 4px;
}

.woocommerce-ResetPassword input.input-text,
.woocommerce-ResetPassword input[type="text"],
.woocommerce-ResetPassword input[type="password"] {
    width: 100% !important;
    padding: 14px 16px;
    border: 1px solid #ddd;
    font-size: 14px;
    font-family: inherit;
    box-sizing: border-box;
}

.woocommerce-ResetPassword input.input-text:focus,
.woocommerce-ResetPassword input[type="text"]:focus,
.woocommerce-ResetPassword input[type="password"]:focus {
    outline: none;
    border-color: #1a1b18;
}

.woocommerce-ResetPassword .clear {
    display: none;
}

.woocommerce-ResetPassword button[type="submit"] {
    display: block;
    width: 100%;
    max-width: 240px;
    margin: 24px auto 0;
    padding: 14px 32px;
    background: rgba(26, 27, 24, 0.7);
    color: #fff;
    border: none;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    font-family: inherit;
}

/* Note text (below register button) */
.axor-login__note {
    font-size: 14px;
    color: #888;
    margin: 16px 0px 0px !important;
    line-height: 1.4;
}


/* Name row — two fields side by side */
.axor-login__field-row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.axor-login__field--half {
    flex: 1;
    margin-bottom: 0;
}

@media (max-width: 480px) {
    .axor-login__field-row {
        flex-direction: column;
        gap: 0;
    }
    .axor-login__field--half {
        margin-bottom: 20px;
    }
}

/* Required asterisk */
.axor-login .required {
    color: #c00;
}

/* Override any Astra/WooCommerce default form styling */
.axor-login .woocommerce-form-row,
.axor-login .form-row {
    padding: 0;
    margin: 0;
}

/* Responsive — tab layout on mobile */
@media (max-width: 768px) {
    .axor-login {
        flex-direction: column;
    }

    /* Tab bar (injected via JS) — must override desktop display:none */
    .axor-login__tabs {
        display: flex !important;
        width: 100%;
    }

    .axor-login__tab {
        flex: 1;
        padding: 16px;
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        text-align: center;
        border: none;
        cursor: pointer;
        font-family: inherit;
        background: #f0f0f0;
        color: #888;
        transition: all 0.2s ease;
    }

    .axor-login__tab.is-active {
        background: #1a1b18;
        color: #fff;
    }

    /* Panel visibility controlled by tabs */
    .axor-login__panel {
        padding: 32px 24px;
    }

    .axor-login__panel.is-hidden {
        display: none;
    }

    .axor-login__panel--login {
        border-right: none;
        align-items: flex-start;
    }

    .axor-login__inner {
        max-width: 100%;
    }

    .axor-login__heading {
        display: none; /* Hidden — tab shows the heading */
    }
}

/* Desktop: hide tab bar */
.axor-login__tabs {
    display: none;
}

/* Bottom padding normalization */
.woocommerce-account:not(.logged-in) .site-content,
.woocommerce-account:not(.logged-in) #primary {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* =========================================================================
   Cart Page
   ========================================================================= */

.axor-cart {
    display: flex;
    gap: 40px;
    padding: 16px 20px 60px;
    width: 100%;
    margin: 0 auto;
}

/* Main Content (Left) */
.axor-cart__main {
    flex: 2;
}

.axor-cart__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 24px;
}

.axor-cart__title {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0;
}

.axor-cart__continue {
    font-size: 16px;
    color: var(--axor-accent);
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.axor-cart__continue:visited,
.axor-cart__continue:active {
    color: var(--axor-accent);
}

.axor-cart__continue:hover {
    color: var(--axor-accent);
    opacity: 0.8;
}

/* Cart Items */
.axor-cart__items {
    display: flex;
    flex-direction: column;
}

.axor-cart__item {
    height: 230px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 0;
    border-bottom: 1px solid #ededed;
}

.axor-cart__item:first-child {
    border-top: 1px solid #ededed;
}

.axor-cart__item-image {
    width: 180px;
    height: 180px;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.axor-cart__item-image img {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.axor-cart__item-image a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.axor-cart__item-details {
    flex: 1;
    width: 70%;
}

.axor-cart__item-name {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 4px;
}

.axor-cart__item-name a {
    color: #1a1b18;
    text-decoration: none;
}

.axor-cart__item-name a:hover {
    text-decoration: underline;
}

.axor-cart__item-meta {
    font-size: 14px;
    color: #555;
    margin-top: 4px;
}

.axor-cart__item-meta p {
    margin: 0;
}

/* Display variation attributes on separate lines */
.axor-cart__item-meta dl {
    display: block;
    margin: 0;
}

.axor-cart__item-meta dt,
.axor-cart__item-meta dd {
    display: inline;
    margin: 0;
    padding: 0;
}

.axor-cart__item-meta dt {
    display: none; /* Hide label, show only value */
}

.axor-cart__item-meta dd p {
    display: inline;
    margin: 0;
}

.axor-cart__item-unit-price {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 4px;
    color: #1a1b18;
}

.axor-cart__item-price {
    display: none; /* Hide unit price, show only subtotal */
}

.axor-cart__item-quantity {
    flex-shrink: 0;
}

.axor-cart__item-quantity .quantity {
    display: flex;
    align-items: center;
}

/* Hide the stacked arrows from single product page styles */
.axor-cart__item-quantity .quantity .axor-qty-arrows {
    display: none;
}

.axor-cart__item-quantity .quantity .axor-qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 32px;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
    color: #555;
    border: 0px;
    box-shadow: none;
    transition: border-color 0.2s, color 0.2s;
}

.axor-cart__item-quantity .quantity .axor-qty-btn:hover {
    border-color: #1a1b18;
    color: #1a1b18;
}

.axor-cart__item-quantity .quantity .axor-qty-btn:focus,
.axor-cart__item-quantity .quantity .axor-qty-btn:active,
.axor-cart__item-quantity .quantity .axor-qty-btn:focus:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.axor-cart__item-quantity .quantity input[type="number"] {
    width: 40px;
    height: 40px;
    text-align: center;
    border: 2px solid #1a1b18;
    font-size: 14px;
    font-weight: 700;
    padding: 0;
    line-height: 40px;
    -moz-appearance: textfield;
    appearance: textfield;
    background: #fff;
}

.axor-cart__item-quantity .quantity input[type="number"]::-webkit-inner-spin-button,
.axor-cart__item-quantity .quantity input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.axor-cart__item-quantity .quantity input[type="number"]:focus {
    outline: none;
    border-color: #1a1b18;
}

.axor-cart__item-subtotal {
    width: 110px;
}

.axor-cart__item-subtotal .woocommerce-Price-amount {
    display: block;
    font-size: 19px;
    font-weight: 700;
}

.axor-cart__item-subtotal .axor-cart__vat-note {
    display: block;
    font-size: 14px;
    color: #777;
    font-weight: 400;
}

/* Hide WooCommerce's default tax suffix, we use our own */
.axor-cart__item-subtotal .woocommerce-Price-amount + small,
.axor-cart__item-subtotal small.tax_label {
    display: none;
}

.axor-cart__item-remove {
    flex-shrink: 0;
    padding-right: 20px;
}

.axor-cart__remove-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    font-size: 20px;
    color: #999;
    text-decoration: none;
    border-radius: 50%;
    transition: color 0.2s, background-color 0.2s;
}

.axor-cart__remove-btn:hover {
    color: #000;
    background-color: #f0f0f0;
}

.axor-cart__remove-btn:visited,
.axor-cart__remove-btn:active,
.axor-cart__remove-btn:focus {
    color: #999;
    outline: none;
}

/* Override Astra's SVG icon inside remove button */
.axor-cart__remove-btn .ahfb-svg-iconset,
.axor-cart__remove-btn .ahfb-svg-iconset svg {
    width: 24px !important;
    height: 24px !important;
}

/* Cart Actions (Coupon + Update) */
.axor-cart__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.axor-cart__coupon {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.axor-cart__coupon-input {
    padding: 10px 14px;
    border: 1px solid #ddd;
    font-size: 14px;
    width: 300px;
    max-width: 300px;
}

.axor-cart__coupon-input:focus {
    outline: none;
    border-color: #1a1b18;
}

.axor-cart__coupon-btn {
    padding: 10px 20px;
    background-color: rgba(255, 255, 255, 0.8);
    color: #1a1b18;
    border: 1px solid #1a1b18;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    opacity: 0.4;
}

.axor-cart__coupon-btn:focus:not(:hover) {
    outline: none;
    background-color: rgba(255, 255, 255, 0.8) !important;
    color: #1a1b18 !important;
}

.axor-cart__coupon-btn:disabled,
.axor-cart__coupon-btn:disabled:hover,
.axor-cart__coupon-btn:disabled:focus {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #fff;
    color: #1a1b18;
    border-color: #1a1b18;
}

.axor-cart__update-btn {
    padding: 10px 20px;
    height: 40px;
    background-color: rgba(26, 27, 24, 0.7);
    color: #fff;
    border: 1px solid #1a1b18;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    white-space: nowrap;
}

.axor-cart__update-btn:focus,
.axor-cart__update-btn:active {
    outline: none;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
}

.axor-cart__update-btn:disabled,
.axor-cart__update-btn:disabled:hover,
.axor-cart__update-btn:disabled:focus {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #1a1b18;
    border-color: #1a1b18;
}

/* Sidebar (Right) */
.axor-cart__sidebar {
    flex: 1;
    background-color: rgb(245, 245, 245);
    min-height: 600px;
    margin-top: -24px;
    padding-top: 24px;
}

.axor-cart__totals {
    position: sticky;
    top: 140px;
    padding: 24px;
}

.axor-cart__subtotal-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 8px;
}

.axor-cart__subtotal-label {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin: 0;
}

.axor-cart__subtotal-price {
    font-size: 24px;
    font-weight: 700;
}

.axor-cart__tax-note {
    font-size: 16px;
    font-weight: 400;
    color: #777;
    margin: 0 0 24px 0;
}

/* Cart links (Shipping, Continue shopping) */
.axor-cart__link {
    color: var(--axor-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.axor-cart__link:hover {
    opacity: 0.8;
    color: var(--axor-accent);
}

.axor-cart__checkout-btn {
    display: block;
    width: 100%;
    line-height: 1;
    padding: 14px 24px;
    background-color: rgba(227, 30, 36, 0.8);
    color: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;
}

.axor-cart__checkout-btn:focus,
.axor-cart__checkout-btn:active {
    outline: none;
    background-color: rgba(227, 30, 36, 0.8) !important;
    color: #fff !important;
}

/* Hide default WooCommerce cart elements and page title */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .shop_table,
.woocommerce-cart .cart_totals {
    display: none;
}

.woocommerce-cart .entry-title,
.woocommerce-cart .page-title {
    display: none;
}

/* Remove all padding from cart page article — .axor-cart handles spacing */
.woocommerce-cart article.page,
.woocommerce-cart article.type-page {
    padding: 0 !important;
}

/* Remove bottom margin on cart page so totals meet footer */
.woocommerce-cart #primary {
    margin-bottom: 0 !important;
}

/* Cart Responsive */
@media (max-width: 768px) {
    /* Strip ALL Astra/article padding — .axor-cart is the single source of spacing */
    .woocommerce-cart .ast-container {
        padding: 0 !important;
    }

    .axor-cart {
        flex-direction: column;
        padding: 0 10px;
        gap: 0;
    }

    /* Header: title on top, continue link below */
    .axor-cart__header {
        flex-direction: column;
        align-items: center;
        gap: 4px;
        margin-bottom: 16px;
    }

    .axor-cart__title {
        font-size: 28px;
        font-weight: 700;
        white-space: nowrap;
    }

    .axor-cart__continue {
        font-size: 14px;
    }

    /* Cart items: relative for remove btn positioning */
    .axor-cart__item {
        position: relative;
        height: auto;
        flex-wrap: wrap;
        gap: 12px;
        padding: 20px 24px 20px 0;
    }

    .axor-cart__item-image {
        width: 80px;
        height: 80px;
    }

    .axor-cart__item-details {
        flex: 1;
        min-width: calc(100% - 100px);
        padding-right: 10px;
    }

    /* X button: top right corner of each item */
    .axor-cart__item-remove {
        position: absolute;
        top: 20px;
        right: 0;
        padding-right: 0;
    }

    .axor-cart__item-unit-price {
        font-size: 14px;
        color: #555;
    }

    .axor-cart__item-quantity,
    .axor-cart__item-subtotal {
        margin-left: auto;
    }

    /* Coupon section: stacked rows */
    .axor-cart__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .axor-cart__coupon {
        flex-direction: column;
        gap: 8px;
        margin-left: 0;
    }

    .axor-cart__coupon-input {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .axor-cart__coupon-btn {
        width: 100%;
        text-align: center;
    }

    .axor-cart__update-btn {
        width: 100%;
        text-align: center;
    }

    /* Sidebar/totals: flush to edges, compact */
    .axor-cart__sidebar {
        min-height: auto;
        margin: 0 -10px;
        padding-top: 0;
        margin-top: 0;
    }

    .axor-cart__totals {
        position: static;
        padding: 20px 10px;
    }

    /* UKUPNO label left, price right */
    .axor-cart__subtotal-row {
        flex-direction: row;
        align-items: baseline;
        flex-wrap: nowrap;
    }

    .axor-cart__subtotal-label {
        font-size: 22px;
        white-space: nowrap;
    }

    .axor-cart__subtotal-price {
        font-size: 20px;
        text-align: right;
        white-space: nowrap;
    }

    .axor-cart__subtotal-price small,
    .axor-cart__subtotal-price .includes_tax {
        display: block;
        font-size: 14px;
        font-weight: 400;
    }

    .axor-cart__checkout {
        margin-bottom: 0;
    }
}

@media (min-width: 481px) and (max-width: 600px) {
    .axor-cart__coupon {
        flex-direction: row;
        gap: 10px;
    }

    .axor-cart__coupon-input {
        flex: 1;
        text-align: left;
    }

    .axor-cart__coupon-btn {
        flex: 1;
    }
}

@media (min-width: 601px) and (max-width: 1024px) {
    .axor-cart__coupon {
        flex-direction: row;
        gap: 10px;
    }

    .axor-cart__coupon-input {
        flex: 1;
        text-align: left;
    }

    .axor-cart__coupon-btn {
        flex: 1;
    }

    .axor-cart__item-details {
        min-width: 0;
    }
}

@media (min-width: 769px) and (max-width: 1279px) {
    .woocommerce-cart .ast-container {
        padding: 0 !important;
    }

    .axor-cart {
        gap: 20px;
        padding: 0 16px 32px;
    }

    .axor-cart__header {
        align-items: baseline;
    }

    .axor-cart__title {
        font-size: 32px;
    }

    /* Items: same stacked layout as mobile but bigger */
    .axor-cart__item {
        position: relative;
        height: auto;
        flex-wrap: wrap;
        gap: 12px;
        padding: 20px 30px 20px 0;
    }

    .axor-cart__item-image {
        width: 100px;
        height: 100px;
    }

    .axor-cart__item-details {
        flex: 1;
        width: auto;
        min-width: calc(100% - 130px);
    }

    .axor-cart__item-unit-price {
        font-size: 14px;
        color: #555;
    }

    /* X button: top right corner */
    .axor-cart__item-remove {
        position: absolute;
        top: 20px;
        right: 0;
        padding-right: 0;
    }

    .axor-cart__item-quantity,
    .axor-cart__item-subtotal {
        margin-left: auto;
    }

    /* Coupon: input + button row, ažuriraj below */
    .axor-cart__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-bottom: 0;
    }

    .axor-cart__coupon {
        flex-direction: row;
        gap: 10px;
        margin-left: 0;
    }

    .axor-cart__coupon-input {
        flex: 1;
    }

    .axor-cart__coupon-btn {
        flex: 1;
    }

    /* Sidebar: equal gap top and bottom */
    .axor-cart__sidebar {
        flex: 0 0 220px;
        min-height: auto;
        margin-top: 0;
        padding: 24px 0;
    }

    .axor-cart__totals {
        padding: 24px 16px;
    }

    .axor-cart__subtotal-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 4px;
    }

    .axor-cart__subtotal-label {
        font-size: 22px;
    }

    .axor-cart__subtotal-price {
        font-size: 20px;
    }

    .axor-cart__subtotal-price small,
    .axor-cart__subtotal-price .includes_tax {
        display: block;
        font-size: 14px;
        font-weight: 400;
    }

    .axor-cart__tax-note {
        text-align: center;
        font-size: 14px;
    }
}

/* Cart: wider sidebar at 1025+ */
@media (min-width: 1025px) and (max-width: 1279px) {
    .axor-cart {
        padding: 0 20px 32px;
    }

    /* Items: horizontal single-row layout */
    .axor-cart__item {
        flex-wrap: nowrap;
        align-items: center;
        height: auto;
        padding: 20px 0;
    }

    .axor-cart__item-image {
        width: 120px;
        height: 120px;
    }

    .axor-cart__item-details {
        min-width: 0;
        flex: 1;
    }

    .axor-cart__item-unit-price {
        display: block;
        font-size: 14px;
        color: #555;
    }

    .axor-cart__item-remove {
        position: static;
        padding-right: 0;
    }

    .axor-cart__item-quantity,
    .axor-cart__item-subtotal {
        margin-left: 0;
        flex-shrink: 0;
    }

    .axor-cart__item-subtotal {
        width: 100px;
        text-align: right;
    }

    .axor-cart__sidebar {
        flex: 0 0 260px;
    }

    .axor-cart__subtotal-label {
        font-size: 24px;
    }

    .axor-cart__subtotal-price {
        font-size: 22px;
    }
}

/* Cart: 1280+ sticky totals + layout fixes */
@media (min-width: 1280px) {
    .woocommerce-cart .ast-container {
        padding: 0 !important;
    }

    .axor-cart {
        padding: 0 20px 32px;
    }

    .axor-cart__sidebar {
        margin-top: 0;
        padding: 24px 0;
    }

    .axor-cart__totals {
        position: static;
    }

    .axor-cart__subtotal-row {
        flex-direction: row;
        justify-content: space-between;
        align-items: baseline;
    }

    .axor-cart__subtotal-price {
        text-align: right;
    }

    .axor-cart__subtotal-price small,
    .axor-cart__subtotal-price .includes_tax {
        display: block;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
    }
}

/* =========================================================================
   Checkout Page
   ========================================================================= */

/* Remove top/bottom padding from checkout page article */
.woocommerce-checkout article.page,
.woocommerce-checkout article.type-page {
    padding-top: 0 !important;
}

/* Hide Page Title - returning customer should be 32px from header */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title,
.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout h1:not(#order_review_heading) {
    display: none !important;
}

/* Main checkout form container */
.woocommerce-checkout .woocommerce {
    padding: 20px 0 60px;
}

/* Two column layout - 50/50 split */
.woocommerce-checkout form.checkout {
    display: flex;
    gap: 40px;
    margin-top: 32px;
    margin-bottom: 0px !important;
}

/* Kill clearfix pseudo-element — it becomes an unwanted 3rd flex child */
.woocommerce-checkout form.checkout::after {
    display: none !important;
}

/* Billing details (left) - 50% width — override WooCommerce col2-set float/width */
.woocommerce-checkout #customer_details {
    flex: 1;
    min-width: 0;
    width: auto !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #customer_details .col-2 {
    margin-top: 0 !important;
}

/* Order Review Sidebar (right) - 50% width, aligned with billing details */
.woocommerce-checkout .axor-checkout-sidebar {
    flex: 1;
    min-width: 0;
    background-color: rgb(245, 245, 245);
    padding: 20px 32px 0px;
    align-self: flex-start;
}

/* YOUR ORDER heading - styled like SUBTOTAL on cart page */
.woocommerce-checkout #order_review_heading {
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin: 0 0 16px 0 !important;
    /* Match the height of Billing Details heading dynamically */
    line-height: 1.325 !important;
    display: flex;
    align-items: center;
    padding: 0 !important;
    color: #1a1b18 !important;
    border: none !important;
    width: 100% !important;
}

.woocommerce-checkout #order_review {
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
}


/* =========================================================================
   Checkout - Returning Customer (Login toggle)
   ========================================================================= */

.woocommerce-checkout .woocommerce-form-login-toggle {
    background: #f8f8f8;
    border: 1px solid #e5e5e5;
    margin-bottom: 12px;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    background: transparent;
    border: none;
    padding: 16px 20px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    font-size: 14px;
    font-weight: 400;
    color: #1a1b18;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
    display: none;
}

/* Hide close button on checkout toggle notices */
.woocommerce-checkout .woocommerce-form-login-toggle .axor-notice-close {
    display: none;
}

/* Click here to login - styled as link */
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin {
    display: inline !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    color: var(--axor-accent) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    transition: opacity 0.2s;
    white-space: nowrap;
    cursor: pointer;
}

.woocommerce-checkout .woocommerce-form-login-toggle .showlogin:hover {
    background: none !important;
    opacity: 0.8;
}

/* Expanded login form - full width border, form content on left */
.woocommerce-checkout form.login {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-top: none;
    margin: -12px 0 12px;
    padding: 24px 32px;
    box-sizing: border-box;
}

/* First paragraph text */
.woocommerce-checkout form.login > p:first-child {
    font-size: 14px;
    color: #555;
    margin-bottom: 24px;
    max-width: 380px;
}

/* Form rows constrained to left */
.woocommerce-checkout form.login .form-row {
    margin-bottom: 20px;
    width: 380px;
    max-width: 380px;
    padding: 0 !important;
}

.woocommerce-checkout form.login .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    color: #555;
}

.woocommerce-checkout form.login .form-row input[type="text"],
.woocommerce-checkout form.login .form-row input[type="password"] {
    width: 100% !important;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 14px;
    background: #fff;
    color: #1a1b18;
    box-sizing: border-box;
}

.woocommerce-checkout form.login .form-row input:focus {
    outline: none;
    border-color: #1a1b18;
}

.woocommerce-checkout form.login .form-row-first,
.woocommerce-checkout form.login .form-row-last {
    width: 380px;
    max-width: 380px;
    float: none !important;
    margin-right: 0 !important;
}

/* Remember me checkbox */
.woocommerce-checkout form.login .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    margin-bottom: 16px;
}

.woocommerce-checkout form.login .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: 16px !important;
    height: 16px;
    accent-color: #1a1b18;
}

/* Login button */
.woocommerce-checkout form.login button[type="submit"] {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 32px;
    height: 48px;
    background-color: rgba(26, 27, 24, 0.7);
    color: #fff;
    border: none;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    font-family: var(--axor-font-family);
}

/* Lost password link */
.woocommerce-checkout form.login .lost_password {
    margin-top: 12px;
    margin-bottom: 0;
}

.woocommerce-checkout form.login .lost_password a {
    font-size: 14px;
    color: #555;
    text-decoration: none;
}

.woocommerce-checkout form.login .lost_password a:hover {
    color: #1a1b18;
}

/* =========================================================================
   Checkout - Coupon Toggle (expandable like login)
   ========================================================================= */

/* Coupon toggle wrapper - matches login toggle structure exactly */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    background: #f8f8f8;
    border: 1px solid #e5e5e5;
    margin-bottom: 12px;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 16px 20px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    font-size: 14px;
    font-weight: 400;
    color: #1a1b18;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
    display: none;
}

/* Hide close button on coupon toggle */
.woocommerce-checkout .woocommerce-form-coupon-toggle .axor-notice-close,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info .axor-notice-close {
    display: none !important;
}

/* Click here to enter your code - styled as link */
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
    display: inline !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    color: var(--axor-accent) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    transition: opacity 0.2s;
    white-space: nowrap;
    cursor: pointer;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover {
    background: none !important;
    opacity: 0.8;
}

/* Expanded coupon form - matches login form structure exactly */
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.woocommerce-form-coupon {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-top: none;
    margin: -12px 0 24px !important;
    padding: 32px;
    box-sizing: border-box;
    width: 100% !important;
}

/* Hide the default paragraph text */
.woocommerce-checkout form.checkout_coupon > p:first-child {
    display: inline-block !important;
}

/* Form rows - inline layout for input and button */
.woocommerce-checkout form.checkout_coupon .form-row {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 0;
    float: none;
}

.woocommerce-checkout form.checkout_coupon .form-row-first {
    width: 280px;
    max-width: 280px;
    margin: 0 12px 0 0 !important;
}

.woocommerce-checkout form.checkout_coupon .form-row-last {
    width: auto;
    margin-left: 12px;
}

/* Coupon input field */
.woocommerce-checkout form.checkout_coupon input[type="text"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 14px;
    background: #fff;
    color: #1a1b18;
    box-sizing: border-box;
    height: 48px;
}

.woocommerce-checkout form.checkout_coupon input[type="text"]:focus,
.woocommerce-checkout form.checkout_coupon input#coupon_code:focus {
    outline: none;
    border-color: #1a1b18 !important;
}

/* Apply coupon button - inline next to input */
.woocommerce-checkout form.checkout_coupon button[type="submit"],
.woocommerce-checkout form.checkout_coupon button.button {
    display: inline-block !important;
    width: auto !important;
    padding: 14px 24px !important;
    height: 48px !important;
    background-color: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer;
    font-family: var(--axor-font-family);
    margin: 0 !important;
    vertical-align: top !important;
}

/* Disabled state for coupon button */
.woocommerce-checkout form.checkout_coupon button[type="submit"]:disabled,
.woocommerce-checkout form.checkout_coupon button[type="submit"]:disabled:hover {
    opacity: 0.5 !important;
    cursor: not-allowed;
    background-color: rgba(26, 27, 24, 0.5) !important;
}

/* =========================================================================
   Checkout - Section Headings
   ========================================================================= */

/* Billing details heading - styled like YOUR CART on cart page */
.woocommerce-checkout .woocommerce-billing-fields h3 {
    font-size: 40px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    color: #1a1b18 !important;
}

/* Other checkout section headings */
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin: 0 0 20px 0;
    padding: 0;
    color: #1a1b18;
}

/* =========================================================================
   Checkout - Form Fields
   ========================================================================= */

.woocommerce-checkout .form-row {
    margin: 0 0 16px 0;
    padding: 0;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: calc(50% - 8px);
    float: left;
}

.woocommerce-checkout .form-row-first {
    margin-right: 16px;
}

.woocommerce-checkout .form-row-wide {
    width: 100%;
    clear: both;
}

.woocommerce-checkout .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    color: #555;
}

.woocommerce-checkout .form-row label .required {
    color: #c00;
}

.woocommerce-checkout .form-row label .optional {
    font-weight: 400;
    text-transform: none;
    color: #888;
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row textarea {
    width: 100%;
    height: 40px;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 16px;
    font-family: var(--axor-font-family);
    background: #fff;
    color: #1a1b18;
    transition: border-color 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: #1a1b18;
}

.woocommerce-checkout .form-row textarea {
    height: auto;
    min-height: 100px;
    resize: vertical;
}

/* Select dropdowns */
.woocommerce-checkout .form-row select {
    width: 100%;
    padding: 8px 32px !important;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 14px;
    font-family: var(--axor-font-family);
    background: #fff;
    color: #1a1b18;
    height: 40px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
    box-sizing: border-box;
}

/* Select2 dropdowns (Country/Region) */
.woocommerce-checkout .select2-container {
    width: 100% !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
    border: 1px solid #ddd;
    border-radius: 0;
    height: 40px;
    background: #fff;
    display: flex;
    align-items: center;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1;
    padding: 0 40px 0 14px;
    color: #1a1b18;
    font-size: 14px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
    right: 10px;
    top: 0;
    display: flex;
    align-items: center;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #555 transparent transparent transparent;
    border-width: 5px 4px 0 4px;
}

.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #1a1b18;
}

.woocommerce-checkout .select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #555 transparent;
    border-width: 0 4px 5px 4px;
}

/* Select2 dropdown menu styling */
.select2-container--default .select2-results__option {
    padding: 10px 14px;
    font-size: 14px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #1a1b18;
    color: #fff;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #f5f5f5;
    color: #1a1b18;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #ddd;
    padding: 10px 14px;
    font-size: 14px;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    outline: none;
    border-color: #1a1b18;
}

/* Checkbox fields - matching login page style */
.woocommerce-checkout .form-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #1a1b18;
    margin: 0;
    flex-shrink: 0;
}

/* ==========================================================================
   Checkout - Address Field Layout using Flexbox with Order property
   This ensures correct visual order regardless of DOM order (WooCommerce JS)
   ========================================================================== */

/* Hide State/County field */
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_state_field {
    display: none !important;
}

/* Make billing fields wrapper a flex container */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

/* Shipping address - hidden by default, shown only when checkbox checked */
.woocommerce .woocommerce-checkout .woocommerce-shipping-fields .shipping_address,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address,
.woocommerce-checkout .shipping_address,
div.shipping_address {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

/* Shipping address - visible when class added */
.woocommerce .woocommerce-checkout .woocommerce-shipping-fields .shipping_address.axor-visible,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address.axor-visible,
.woocommerce-checkout .shipping_address.axor-visible,
div.shipping_address.axor-visible {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
}

/* Shipping fields wrapper - flex layout */
.woocommerce-checkout .shipping_address .woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

/* Reset all form-row defaults within billing wrapper */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

/* Reset all form-row defaults within shipping wrapper */
.woocommerce-checkout .shipping_address .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* =========== BILLING FIELDS ORDER & WIDTH =========== */

/* First Name - 50% width, order 1 */
.woocommerce-checkout #billing_first_name_field {
    order: 1 !important;
    width: calc(50% - 8px) !important;
}

/* Last Name - 50% width, order 2 */
.woocommerce-checkout #billing_last_name_field {
    order: 2 !important;
    width: calc(50% - 8px) !important;
}

/* Company - 80% width, order 3 */
.woocommerce-checkout #billing_company_field {
    order: 3 !important;
    width: calc(80% - 8px) !important;
}

/* OIB - 20% width, order 4 */
.woocommerce-checkout #billing_oib_field {
    order: 4 !important;
    width: calc(20% - 8px) !important;
}

/* Street name - 80% width (same as Company), order 5 */
.woocommerce-checkout #billing_address_1_field {
    order: 5 !important;
    width: calc(80% - 8px) !important;
}

/* House number - 20% width (same as OIB), order 6 */
.woocommerce-checkout #billing_address_2_field {
    order: 6 !important;
    width: calc(20% - 8px) !important;
}

/* Postcode - 20% width, order 7 */
.woocommerce-checkout #billing_postcode_field {
    order: 7 !important;
    width: calc(20% - 10.67px) !important;
}

/* City - 40% width, order 8 */
.woocommerce-checkout #billing_city_field {
    order: 8 !important;
    width: calc(40% - 10.67px) !important;
}

/* Country - 40% width, order 9 */
.woocommerce-checkout #billing_country_field {
    order: 9 !important;
    width: calc(40% - 10.67px) !important;
}

/* Phone - 50% width, order 10 */
.woocommerce-checkout #billing_phone_field {
    order: 10 !important;
    width: calc(50% - 8px) !important;
}

/* Email - 50% width, order 11 */
.woocommerce-checkout #billing_email_field {
    order: 11 !important;
    width: calc(50% - 8px) !important;
}

/* =========== SHIPPING FIELDS ORDER & WIDTH =========== */

/* First Name - 50% width, order 1 */
.woocommerce-checkout #shipping_first_name_field {
    order: 1 !important;
    width: calc(50% - 8px) !important;
}

/* Last Name - 50% width, order 2 */
.woocommerce-checkout #shipping_last_name_field {
    order: 2 !important;
    width: calc(50% - 8px) !important;
}

/* Company - 100% width, order 3 */
.woocommerce-checkout #shipping_company_field {
    order: 3 !important;
    width: 100% !important;
}

/* Street name - 80% width (same as Company on billing), order 4 */
.woocommerce-checkout #shipping_address_1_field {
    order: 4 !important;
    width: calc(80% - 8px) !important;
}

/* House number - 20% width (same as OIB on billing), order 5 */
.woocommerce-checkout #shipping_address_2_field {
    order: 5 !important;
    width: calc(20% - 8px) !important;
}

/* Postcode - 20% width, order 6 */
.woocommerce-checkout #shipping_postcode_field {
    order: 6 !important;
    width: calc(20% - 10.67px) !important;
}

/* City - 40% width, order 7 */
.woocommerce-checkout #shipping_city_field {
    order: 7 !important;
    width: calc(40% - 10.67px) !important;
}

/* Country - 40% width, order 8 */
.woocommerce-checkout #shipping_country_field {
    order: 8 !important;
    width: calc(40% - 10.67px) !important;
}

/* ==========================================================================
   Checkout - Create Account & Ship to Different Address (Stacked)
   ========================================================================== */

/* Account fields wrapper - no border since MailPoet checkbox above takes it */
.woocommerce-checkout .woocommerce-account-fields {
    display: block;
    margin-top: 12px;
}

/* Shipping fields wrapper - below account fields */
.woocommerce-checkout .woocommerce-shipping-fields {
    display: block;
    margin-top: 16px;
}

/* Create account checkbox - p.create-account contains the label */
.woocommerce-checkout .create-account {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .create-account label,
.woocommerce-checkout .create-account .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1a1b18 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
}

/* Ship to different address - h3#ship-to-different-address contains the label */
.woocommerce-checkout #ship-to-different-address {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout #ship-to-different-address .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1a1b18 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
}

/* Ship to different address checkbox */
.woocommerce-checkout #ship-to-different-address-checkbox {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    accent-color: #1a1b18;
    margin: 0 !important;
    flex-shrink: 0;
}

/* MailPoet newsletter checkbox on checkout - match other checkout checkboxes */
.woocommerce-checkout label[data-automation-id="woo-commerce-subscription-opt-in"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1a1b18 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
    margin: 24px 0 0 !important;
    padding: 24px 0 0 !important;
    border-top: 1px solid #e5e5e5;
}

.woocommerce-checkout #mailpoet_woocommerce_checkout_optin {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    accent-color: #1a1b18;
    margin: 0 !important;
    flex-shrink: 0;
}

/* Shipping fields when visible - flexbox container */
.woocommerce-checkout .shipping_address {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-top: 20px;
}

/* Labels in shipping fields */
.woocommerce-checkout .shipping_address .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    color: #555;
}

.woocommerce-checkout .shipping_address .form-row input[type="text"],
.woocommerce-checkout .shipping_address .form-row input[type="email"],
.woocommerce-checkout .shipping_address .form-row input[type="tel"],
.woocommerce-checkout .shipping_address .form-row select,
.woocommerce-checkout .shipping_address .select2-container .select2-selection--single {
    height: 40px;
}

/* Shipping address Select2 - ensure text is fully visible */
.woocommerce-checkout .shipping_address .select2-container {
    width: 100% !important;
}

.woocommerce-checkout .shipping_address .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
    padding-left: 14px;
    padding-right: 40px;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

/* =========================================================================
   Checkout - Order Notes / Additional Fields (preserve default block layout)
   ========================================================================= */

.woocommerce-checkout .woocommerce-additional-fields {
    display: block !important;
    margin-top: 16px;
}

.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: block !important;
}

.woocommerce-checkout .woocommerce-additional-fields .form-row {
    width: 100% !important;
    float: none !important;
    margin: 0 0 16px 0 !important;
}

.woocommerce-checkout .woocommerce-additional-fields .form-row textarea {
    width: 100%;
    min-height: 100px;
}

/* =========================================================================
   Checkout - Order Review Table
   ========================================================================= */

/* Order Review Table - clean aligned layout */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
    width: 100%;
    border: none;
    margin: 0 0 20px 0;
    border-collapse: collapse;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead {
    display: none;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    vertical-align: middle;
    background: transparent !important;
    font-size: 14px;
    color: #1a1b18;
}

/* Product rows - product name takes more space */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-name {
    font-weight: 400;
    padding-right: 20px !important;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-name .product-quantity {
    color: #666;
    font-weight: 400;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-total {
    text-align: right;
    font-weight: 500;
    white-space: nowrap;
    width: 30%;
}

/* Order totals (subtotal, shipping, total) - labels on right before values */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500;
    text-align: right;
    padding-right: 20px !important;
    width: 70%;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    font-weight: 500;
    white-space: nowrap;
    width: 30%;
}

/* Total row - emphasized */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 18px;
    font-weight: 700;
    border-bottom: none !important;
    padding-top: 16px !important;
}

/* Shipping row - fix overlap with proper widths */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .shipping th {
    width: 70%;
}

.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .shipping td {
    padding: 10px 0 !important;
    width: 30%;
}

.woocommerce-checkout #order_review .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}

.woocommerce-checkout #order_review .woocommerce-shipping-methods li {
    margin: 0;
    padding: 0;
}

.woocommerce-checkout #order_review .woocommerce-shipping-methods li label {
    display: block;
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
    color: #1a1b18;
    cursor: pointer;
    white-space: nowrap;
}

.woocommerce-checkout #order_review .woocommerce-shipping-methods li input[type="radio"] {
    display: none;
}

/* =========================================================================
   Checkout - Payment Methods
   ========================================================================= */

.woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    margin: 0 0 24px 0;
    padding: 0;
    border: none;
}

/* Orange outline when no payment method selected on submit */
.woocommerce-checkout #payment ul.payment_methods.axor-payment-error {
    outline: 2px solid var(--axor-accent);
    outline-offset: 4px;
    border-radius: 4px;
}

.woocommerce-checkout #payment ul.payment_methods li {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid #e5e5e5;
}

/* Radio + label wrapper - flex row, text never wraps under radio */
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 2px 10px 0 0;
    accent-color: var(--axor-accent);
}

.woocommerce-checkout #payment ul.payment_methods li > label {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 500;
    color: #1a1b18;
    cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li > label img {
    vertical-align: middle;
    margin-left: 8px;
}

.woocommerce-checkout #payment ul.payment_methods li img {
    max-height: 32px;
    width: auto;
}

/* Card icons inside payment description box */
.woocommerce-checkout #payment .payment_box img {
    width: 50px;
    height: 32px;
    object-fit: contain;
    margin: 4px 4px 0 0;
    vertical-align: middle;
    border-radius: 4px;
    border: 1px solid #e5e5e5;
    background: #fff;
    padding: 2px;
    box-sizing: border-box;
}

.woocommerce-checkout #payment .payment_box img[alt="applepay"] {
    border-color: transparent;
}

/* Payment method description box - full width below radio+label row */
.woocommerce-checkout #payment .payment_box {
    flex-basis: 100%;
    background: #f9f9f9;
    border: 1px solid #e5e5e5;
    padding: 16px;
    margin: 12px 0 0 28px;
    font-size: 14px;
    color: #555;
    line-height: 1.5;
}

.woocommerce-checkout #payment .payment_box::before {
    display: none;
}

.woocommerce-checkout #payment .payment_box p {
    margin: 0 0 8px 0;
}

.woocommerce-checkout #payment .payment_box p:last-child {
    margin-bottom: 0;
}

/* =========================================================================
   Checkout - Privacy Policy & Terms
   ========================================================================= */

.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 14px;
    color: #555;
    line-height: 1.5;
    margin: 0 0 16px 0;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--axor-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a:hover {
    opacity: 0.8;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 0 0 20px 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper label {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    color: #1a1b18;
    cursor: pointer;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 3px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--axor-accent);
    text-decoration: none;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover {
    text-decoration: underline;
}

/* =========================================================================
   Checkout - Place Order Button
   ========================================================================= */

.woocommerce-checkout #payment .place-order {
    padding: 0;
    margin: 0;
}

.woocommerce-checkout #place_order {
    display: block;
    width: 100%;
    padding: 16px 24px;
    background-color: rgba(227, 30, 36, 0.8);
    color: #fff;
    border: none;
    border-radius: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    font-family: var(--axor-font-family);
}

.woocommerce-checkout #place_order:focus,
.woocommerce-checkout #place_order:active {
    outline: none;
    background-color: rgba(227, 30, 36, 0.8) !important;
    color: #fff !important;
}

.woocommerce-checkout #place_order:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* =========================================================================
   Checkout - Error/Success Messages
   (NoticeGroup errors are now handled globally as fixed toasts above)
   ========================================================================= */

/* =========================================================================
   Checkout - Coupon Form (expanded) - REMOVED - styles defined earlier
   ========================================================================= */

/* =========================================================================
   Checkout - Login Form (expanded) - REMOVED - styles defined earlier
   ========================================================================= */

/* =========================================================================
   Checkout - Responsive
   ========================================================================= */

/* ---------- 992+: shared two-column checkout overrides ---------- */
@media (min-width: 992px) {
    /* Strip ALL Astra container / entry-content constraints */
    .woocommerce-checkout .ast-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .woocommerce-checkout article.page,
    .woocommerce-checkout article.type-page {
        padding: 0 !important;
    }
    .woocommerce-checkout .entry-content[data-ast-blocks-layout] > *,
    .woocommerce-checkout .entry-content > *,
    .woocommerce-checkout .entry-content > .woocommerce {
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Left padding only — sidebar extends to right edge */
    .woocommerce-checkout .woocommerce {
        padding: 16px 0 40px 20px;
    }

    /* Sidebar — right-side padding replaces container right padding */
    .woocommerce-checkout .axor-checkout-sidebar {
        padding: 20px 20px 16px 20px;
    }

    /* Top notices need right padding since container has none */
    .woocommerce-checkout .woocommerce-form-login-toggle,
    .woocommerce-checkout .woocommerce-form-coupon-toggle {
        margin-right: 20px;
    }

    /* Tighter bottom on sidebar */
    .woocommerce-checkout #payment .place-order {
        padding-bottom: 0 !important;
    }
}

/* ---------- 992–1279px: tighter gap ---------- */
@media (min-width: 992px) and (max-width: 1279px) {
    .woocommerce-checkout form.checkout {
        gap: 20px;
    }
}

/* ---------- 1280+: cap width so it doesn't stretch on wide screens ---------- */
@media (min-width: 1280px) {
    .woocommerce-checkout .entry-content[data-ast-blocks-layout] > *,
    .woocommerce-checkout .entry-content > *,
    .woocommerce-checkout .entry-content > .woocommerce,
    .woocommerce-checkout .woocommerce {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .woocommerce-checkout .woocommerce {
        padding: 16px 20px 40px 20px;
    }

    .woocommerce-checkout .axor-checkout-sidebar {
        padding: 20px 32px 16px 32px;
    }
}

/* ---------- 1200+: field width overrides ---------- */
@media (min-width: 1200px) {
    /* Company + OIB row */
    .woocommerce-checkout #billing_company_field {
        width: calc(65% - 8px) !important;
    }
    .woocommerce-checkout #billing_oib_field {
        width: calc(35% - 8px) !important;
    }
    /* Street + house number */
    .woocommerce-checkout #billing_address_1_field {
        width: calc(65% - 8px) !important;
    }
    .woocommerce-checkout #billing_address_2_field {
        width: calc(35% - 8px) !important;
    }
    /* Postcode + City on one row, Country on its own row */
    .woocommerce-checkout #billing_postcode_field {
        width: calc(35% - 8px) !important;
    }
    .woocommerce-checkout #billing_city_field {
        width: calc(65% - 8px) !important;
    }
    .woocommerce-checkout #billing_country_field {
        width: 100% !important;
    }
}

/* ---------- 992–1199px only: tighter column split ---------- */
@media (min-width: 992px) and (max-width: 1199px) {
    /* Give billing form more room: ~57 / 43 split */
    .woocommerce-checkout #customer_details {
        flex: 1.3;
    }
    .woocommerce-checkout .axor-checkout-sidebar {
        flex: 1;
    }

    /* Billing heading – smaller to fit */
    .woocommerce-checkout .woocommerce-billing-fields h3 {
        font-size: 30px !important;
        margin-bottom: 20px !important;
    }

    /* Order review heading – match billing */
    .woocommerce-checkout #order_review_heading {
        font-size: 24px !important;
    }

    /* Billing field widths — widen narrow fields */
    .woocommerce-checkout #billing_company_field {
        width: calc(65% - 8px) !important;
    }
    .woocommerce-checkout #billing_oib_field {
        width: calc(35% - 8px) !important;
    }
    .woocommerce-checkout #billing_address_1_field {
        width: calc(65% - 8px) !important;
    }
    .woocommerce-checkout #billing_address_2_field {
        width: calc(35% - 8px) !important;
    }

    /* Postcode + City on one row, Country on its own row */
    .woocommerce-checkout #billing_postcode_field {
        width: calc(40% - 8px) !important;
    }
    .woocommerce-checkout #billing_city_field {
        width: calc(60% - 8px) !important;
    }
    .woocommerce-checkout #billing_country_field {
        width: 100% !important;
    }

    /* --- Order review table: product name wider, price stacked --- */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
        display: block !important;
    }
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot {
        display: block !important;
    }
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr {
        display: flex !important;
        justify-content: space-between;
        align-items: flex-start;
    }
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th {
        display: block !important;
        border: none !important;
    }

    /* Product name — take remaining space */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-name {
        flex: 1 !important;
        width: auto !important;
        min-width: 0;
        padding-right: 12px !important;
    }

    /* Price — shrink to content, "(uključen PDV)" below price */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-total {
        flex-shrink: 0 !important;
        width: auto !important;
        white-space: nowrap;
    }
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-total small,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-total .includes_tax {
        display: block;
        font-size: 14px;
        color: #777;
        white-space: nowrap;
    }

    /* Footer rows (Ukupno, DPD, Total) */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot th {
        flex-shrink: 0 !important;
        width: auto !important;
        text-align: left !important;
        padding-right: 8px !important;
    }
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot td {
        flex: 1 !important;
        width: auto !important;
        text-align: right !important;
    }
}

@media (max-width: 991px) {
    .woocommerce-checkout form.checkout {
        flex-direction: column;
        gap: 24px;
    }

    .woocommerce-checkout .axor-checkout-sidebar {
        margin-top: 0;
        padding-top: 24px;
    }
}

@media (max-width: 991px) {
    /* Strip Astra container padding */
    .woocommerce-checkout .ast-container {
        padding: 0 !important;
    }

    .woocommerce-checkout article.page,
    .woocommerce-checkout article.type-page {
        padding: 0 !important;
    }

    /* Main container — 10px side padding, no bottom (sidebar is last) */
    .woocommerce-checkout .woocommerce {
        padding: 16px 10px 0;
    }

    /* Stacked layout */
    .woocommerce-checkout form.checkout {
        gap: 0;
        margin-top: 16px;
    }

    /* Login/coupon toggle boxes */
    .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
    .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 12px 14px;
        font-size: 14px;
    }

    /* Capitalize "kliknite" → "Kliknite" */
    .woocommerce-checkout .woocommerce-form-login-toggle .showlogin,
    .woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
        text-transform: capitalize !important;
    }

    /* Expanded login form — compact padding */
    .woocommerce-checkout form.login {
        padding: 14px;
        margin: -12px 0 12px !important;
    }

    .woocommerce-checkout form.login > p:first-child {
        max-width: 100%;
        margin-bottom: 14px;
    }

    .woocommerce-checkout form.login .form-row {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 12px;
    }

    .woocommerce-checkout form.login .form-row input {
        max-width: 100% !important;
    }

    .woocommerce-checkout form.login .form-row-first,
    .woocommerce-checkout form.login .form-row-last {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Zapamti me — vertically centered with checkbox */
    .woocommerce-checkout form.login .woocommerce-form__label-for-checkbox {
        display: inline-flex !important;
        align-items: center;
        gap: 8px;
        margin-bottom: 12px;
        line-height: 1;
    }

    .woocommerce-checkout form.login .woocommerce-form__label-for-checkbox input[type="checkbox"] {
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        min-height: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-shrink: 0;
    }

    /* Lost password — tighten spacing */
    .woocommerce-checkout form.login .lost_password {
        margin-top: 10px;
        margin-bottom: 0;
    }

    /* Expanded coupon form — stacked, hidden by default (WC toggle controls) */
    .woocommerce-checkout form.checkout_coupon {
        padding: 16px 14px;
        flex-wrap: wrap;
    }

    .woocommerce-checkout form.checkout_coupon .form-row-first {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 8px 0 !important;
    }

    .woocommerce-checkout form.checkout_coupon .form-row-last {
        width: 100% !important;
        margin: 0 !important;
    }

    .woocommerce-checkout form.checkout_coupon button[type="submit"],
    .woocommerce-checkout form.checkout_coupon button.button {
        width: 100% !important;
    }

    /* Billing heading */
    .woocommerce-checkout .woocommerce-billing-fields h3 {
        font-size: 24px !important;
    }

    /* All form fields full width on mobile */
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100%;
        float: none;
        margin-right: 0;
    }

    /* Billing + shipping field wrappers — smaller gap */
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .shipping_address .woocommerce-shipping-fields__field-wrapper {
        gap: 12px !important;
    }

    /* Most fields 100% width on mobile */
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field,
    .woocommerce-checkout #billing_company_field,
    .woocommerce-checkout #billing_oib_field,
    .woocommerce-checkout #billing_postcode_field,
    .woocommerce-checkout #billing_city_field,
    .woocommerce-checkout #billing_country_field,
    .woocommerce-checkout #billing_phone_field,
    .woocommerce-checkout #billing_email_field,
    .woocommerce-checkout #shipping_first_name_field,
    .woocommerce-checkout #shipping_last_name_field,
    .woocommerce-checkout #shipping_company_field,
    .woocommerce-checkout #shipping_postcode_field,
    .woocommerce-checkout #shipping_city_field,
    .woocommerce-checkout #shipping_country_field {
        width: 100% !important;
    }

    /* Street + house number in same row */
    .woocommerce-checkout #billing_address_1_field {
        width: calc(70% - 6px) !important;
    }
    .woocommerce-checkout #billing_address_2_field {
        width: calc(30% - 6px) !important;
    }
    .woocommerce-checkout #shipping_address_1_field {
        width: calc(70% - 6px) !important;
    }
    .woocommerce-checkout #shipping_address_2_field {
        width: calc(30% - 6px) !important;
    }

    /* Address labels — no letter-spacing so they fit */
    .woocommerce-checkout #billing_address_2_field label,
    .woocommerce-checkout #shipping_address_2_field label {
        letter-spacing: 0 !important;
    }

    /* Sidebar — full width edge-to-edge like cart mobile */
    .woocommerce-checkout .axor-checkout-sidebar {
        padding: 16px 10px;
        margin: 16px -10px 0;
        width: calc(100% + 20px);
        box-sizing: border-box;
    }

    /* Order review heading */
    .woocommerce-checkout #order_review_heading {
        font-size: 24px !important;
    }

    /* Order review — break out of table layout, each row is independent flex */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
        width: 100% !important;
        display: block !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead {
        display: none !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot {
        display: block !important;
    }

    /* All cells — remove borders (we put them on tr instead) */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th {
        border: none !important;
        padding: 0 !important;
    }

    /* Each row becomes a flex container — cells size independently per row */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr {
        display: flex !important;
        justify-content: space-between;
        align-items: flex-start;
        padding: 10px 0;
    }

    /* Only cart_item rows get a bottom border */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.cart_item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    /* Product name — takes all remaining space */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item td.product-name {
        flex: 1 !important;
        min-width: 0;
        display: block !important;
        padding-right: 12px !important;
        font-size: 14px;
    }

    /* Price — shrinks to fit content, never wraps */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item td.product-total {
        flex-shrink: 0 !important;
        display: block !important;
        text-align: right;
        font-size: 14px;
        white-space: nowrap;
        align-self: center;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-total small,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item .product-total .includes_tax {
        display: block;
        font-size: 14px;
        color: #777;
        white-space: nowrap;
    }

    /* Footer rows — short label stays compact left, value takes remaining space right */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot th {
        flex-shrink: 0 !important;
        display: block !important;
        text-align: left !important;
        padding-right: 8px !important;
        font-size: 14px;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot td {
        flex: 1 !important;
        display: block !important;
        text-align: right !important;
        font-size: 14px;
        min-width: 0;
        white-space: normal !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Subtotal row — border-bottom, PDV on second line, label vertically centered */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .cart-subtotal {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        align-items: center !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .cart-subtotal td small {
        display: block;
        font-size: 14px;
        white-space: nowrap;
    }

    /* Shipping row — uses same pattern as Ukupno: th left, td right, vertically centered */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping {
        padding: 10px 0 !important;
        align-items: center !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping th,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping td {
        padding: 0 !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping td {
        flex: 1 !important;
        text-align: right !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping ul {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping label {
        font-size: 14px;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping label .woocommerce-Price-amount {
        white-space: nowrap;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping label small {
        display: block;
        font-size: 14px;
    }

    /* Total row — same spacing as product rows, bold price */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total {
        border-top: 1px solid rgba(0, 0, 0, 0.15);
        padding: 10px 0 !important;
        margin-top: 0 !important;
        align-items: center !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total th,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td {
        padding: 0 !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total th {
        font-size: 16px !important;
        font-weight: 700 !important;
        flex-shrink: 0 !important;
        width: auto !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td {
        font-size: 16px !important;
        flex: 1 !important;
    }

    /* Override WooCommerce font-weight:400 on .woocommerce-Price-amount */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td strong {
        font-weight: 700 !important;
    }

    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td small,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td .includes_tax {
        display: block;
        font-size: 14px;
        font-weight: 400 !important;
        white-space: nowrap;
    }

    /* Payment methods — text stays right of radio, wraps properly */
    .woocommerce-checkout #payment ul.payment_methods li {
        padding: 12px 0 12px 28px;
        position: relative;
    }

    .woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
        position: absolute;
        left: 0;
        top: 15px;
    }

    .woocommerce-checkout #payment ul.payment_methods li > label {
        display: block;
        width: 100%;
        flex: none;
    }

    .woocommerce-checkout #payment ul.payment_methods li > label img {
        display: block;
        margin: 8px 0 0 0;
        max-width: 100%;
    }

    /* Payment box — break out of li padding to use full width */
    .woocommerce-checkout #payment .payment_box {
        margin: 10px -28px 0 -28px;
        padding: 10px;
        font-size: 14px;
        overflow: hidden;
        box-sizing: border-box;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .woocommerce-checkout #payment .payment_box img {
        width: 34px;
        height: 22px;
        padding: 1px;
        margin: 3px 2px 0 0;
    }

    .woocommerce-checkout #payment .payment_box ul,
    .woocommerce-checkout #payment .payment_box ol {
        padding-left: 16px;
        margin: 8px 0;
    }

    .woocommerce-checkout #payment .payment_box li {
        font-size: 14px;
        margin-bottom: 4px;
    }

    /* Terms checkbox — block layout, checkbox absolute, text indented */
    .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
        display: block !important;
        position: relative;
        padding-left: 28px;
        font-size: 14px;
        line-height: 1.5;
    }

    .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label input[type="checkbox"] {
        position: absolute !important;
        left: 0;
        top: 2px;
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
    }

    /* Privacy text */
    .woocommerce-checkout .woocommerce-privacy-policy-text {
        font-size: 14px;
    }

    /* Terms wrapper — reduce bottom margin */
    .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
        margin-bottom: 0 !important;
    }

    /* Place order button — no extra top margin */
    .woocommerce-checkout #place_order {
        font-size: 14px;
        padding: 14px 16px;
        margin-top: 12px !important;
    }

    /* Gray sidebar — tight bottom padding */
    .woocommerce-checkout .axor-checkout-sidebar {
        padding-bottom: 16px;
        margin-bottom: 0;
    }

    .woocommerce-checkout #payment .place-order {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Strip Astra bottom spacing so sidebar sits flush against footer */
    .woocommerce-checkout #primary,
    .woocommerce-checkout .site-main,
    .woocommerce-checkout .ast-container {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* ==========================================================================
   Checkout – Tablet field overrides (601–991px, stacked layout)
   ========================================================================== */
@media (min-width: 601px) and (max-width: 991px) {
    /* Billing wrapper — 12px gap for tablet field widths */
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
        gap: 12px !important;
    }

    /* 1. Ime + Prezime — 50/50 */
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field {
        width: calc(50% - 6px) !important;
    }

    /* 2. Naziv poduzeća + OIB — 70/30 */
    .woocommerce-checkout #billing_company_field {
        width: calc(70% - 6px) !important;
    }
    .woocommerce-checkout #billing_oib_field {
        width: calc(30% - 6px) !important;
    }

    /* Naziv ulice + Kućni broj — 70/30 */
    .woocommerce-checkout #billing_address_1_field {
        width: calc(70% - 6px) !important;
    }
    .woocommerce-checkout #billing_address_2_field {
        width: calc(30% - 6px) !important;
    }

    /* 3. Poštanski broj + Grad + Država — 25/40/35 */
    .woocommerce-checkout #billing_postcode_field {
        width: calc(25% - 8px) !important;
    }
    .woocommerce-checkout #billing_city_field {
        width: calc(40% - 8px) !important;
    }
    .woocommerce-checkout #billing_country_field {
        width: calc(35% - 8px) !important;
    }

    /* 4. Telefon + Email — 50/50 */
    .woocommerce-checkout #billing_phone_field,
    .woocommerce-checkout #billing_email_field {
        width: calc(50% - 6px) !important;
    }

    /* 5. Product name — vertically centered with price */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item td.product-name {
        align-self: center;
    }

    /* 6. Ukupno + DPD — 70/30 ratio, labels right-aligned */
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping th,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total th {
        flex: 7 !important;
        width: auto !important;
        text-align: right !important;
    }
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .cart-subtotal td,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .shipping td,
    .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot .order-total td {
        flex: 3 !important;
        width: auto !important;
        text-align: right !important;
    }
}

/* ==========================================================================
   Checkout – 769–991px padding override (20px instead of 10px)
   Override Astra's 921px tablet breakpoint to keep single-column layout
   ========================================================================== */
@media (min-width: 769px) and (max-width: 991px) {
    .woocommerce-checkout .woocommerce {
        padding: 16px 20px 0;
    }

    /* Force single-column stacked layout across entire 769-991 range */
    .woocommerce-checkout form.checkout {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .woocommerce-checkout #customer_details {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .woocommerce-checkout .axor-checkout-sidebar {
        width: calc(100% + 40px);
        max-width: none !important;
        flex: none !important;
        padding: 16px 20px;
        margin: 16px -20px 0;
    }
}

/* =========================================================================
   Order Received / Thank You Page
   ========================================================================= */

/* Hide page title - we show thank you message instead */
.woocommerce-order-received .entry-title,
.woocommerce-order-received .page-title {
    display: none;
}

/* Main container - match cart page padding */
.woocommerce-order-received .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px 60px;
}


/* Thank you message - prominent header */
.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received,
.woocommerce-order-received p.woocommerce-thankyou-order-received {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    color: #1A1B18;
    padding: 0;
    background: none !important;
    border: none !important;
}

/* Order overview - horizontal card style like cart header */
.woocommerce-order-received .woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0 0 1em 0 !important;
    margin: 0 0 24px 0 !important;
    padding: 24px 0;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.woocommerce-order-received .woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 32px;
    border-right: 1px solid #e5e5e5;
    margin: 0;
}

.woocommerce-order-received .woocommerce-order-overview li:first-child {
    padding-left: 0;
}

.woocommerce-order-received .woocommerce-order-overview li:last-child {
    border-right: none;
}

.woocommerce-order-received .woocommerce-order-overview li::before {
    content: none;
}

/* Labels - small uppercase gray */
.woocommerce-order-received .woocommerce-order-overview li {
    font-size: 14px;
    font-weight: 500;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Values - bold black */
.woocommerce-order-received .woocommerce-order-overview li strong {
    font-size: 14px;
    font-weight: 600;
    color: #1A1B18;
    text-transform: none;
    letter-spacing: 0;
}

/* CorvusPay transaction details - styled inline under thank you text */
.axor-corvuspay-details {
    margin-bottom: 24px;
    padding: 16px 24px;
    background: #f0faf0;
    border-left: 3px solid #4caf50;
}

.axor-corvuspay-details__status {
    font-size: 14px;
    font-weight: 600;
    color: #2e7d32;
    margin: 0 0 8px;
}

.axor-corvuspay-details__info {
    display: flex;
    gap: 24px;
}

.axor-corvuspay-details__item {
    font-size: 14px;
    color: #555;
}

.axor-corvuspay-details__label {
    margin-right: 4px;
}

.axor-corvuspay-details__item strong {
    color: #1a1b18;
}


/* Two Column Layout: Left (instructions + order table) / Right (barcode) */
.axor-order-received__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 0px;
}

.axor-order-received__left {
    min-width: 0;
}

.axor-order-received__right {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0;
}

/* Payment description text in left column */
.axor-order-received__left .axor-payment-description {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: #333;
    margin: 0 0 24px 0 !important;
}

/* Bank details section - clean card style */
.woocommerce-order-received .woocommerce-bacs-bank-details {
    margin: 0 0 40px 0;
    padding: 0 0 40px 0;
    border-bottom: 1px solid #e5e5e5;
}

.woocommerce-order-received .wc-bacs-bank-details-heading {
    font-size: 20px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: none;
    margin: 0 0 8px 0;
}

.woocommerce-order-received .wc-bacs-bank-details-account-name {
    font-size: 15px;
    font-weight: 600;
    color: #1A1B18;
    margin: 0 0 20px 0;
}

.woocommerce-order-received .wc-bacs-bank-details {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-order-received .wc-bacs-bank-details li {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 32px;
    border-right: 1px solid #e5e5e5;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-order-received .wc-bacs-bank-details li:first-child {
    padding-left: 0;
}

.woocommerce-order-received .wc-bacs-bank-details li:last-child {
    border-right: none;
}

.woocommerce-order-received .wc-bacs-bank-details li strong {
    font-size: 14px;
    font-weight: 600;
    color: #1A1B18;
    text-transform: none;
    letter-spacing: 0;
}

/* HUB3 Barcode Section - wsb-hub3 plugin */

/* "Klikni na uplatnicu" text in right column */
.axor-order-received__right .barcode-text {
    font-size: 14px;
    color: #666;
    text-align: center;
    margin: 0 0 16px 0;
    display: block !important;
}

/* Barcode text inside barcode div */
#barcodediv .barcode-text,
.axor-barcode-column .barcode-text {
    font-size: 14px;
    color: #666;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    width: 100%;
    display: block !important;
}

/* Barcode text inside barcodediv */
#barcodediv .barcode-text {
    margin: 0 0 12px 0 !important;
}

/* Uplatnica image container - show */
.woocommerce-order-received .slipdiv,
.axor-order-received__right .slipdiv {
    display: flex;
    justify-content: center;
    margin: 0 0 24px 0;
    padding: 0;
    width: 100%;
}

.woocommerce-order-received .slipdiv a,
.axor-order-received__right .slipdiv a {
    display: block;
}

.woocommerce-order-received .slipdiv img,
.axor-order-received__right .slipdiv img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border: 1px solid #e5e5e5;
    margin: 6px auto;
}

/* "Show larger barcode" button - hidden, barcode shown automatically */
.woocommerce-order-received #barcode_toggler,
.axor-order-received__right #barcode_toggler {
    display: none !important;
}

/* Barcode div - show automatically (override plugin JS inline display:none) */
.woocommerce-order-received #barcodediv,
.axor-order-received__right #barcodediv,
.woocommerce-order-received .barcodediv,
.axor-order-received__right .barcodediv,
#barcodediv.barcodediv {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 24px 0 0 0 !important;
    padding: 16px !important;
    background: #f8f8f8 !important;
    border: 1px solid #e5e5e5 !important;
    text-align: center !important;
    width: 100% !important;
}

/* Barcode image inside the div */
.woocommerce-order-received #barcodediv img,
.axor-order-received__right #barcodediv img {
    display: block !important;
    visibility: visible !important;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Order details section - card style matching checkout sidebar */
.woocommerce-order-received .woocommerce-order-details {
    margin: 0 0 32px 0;
    padding: 0;
    background: none;
    border: none;
}

.woocommerce-order-received .woocommerce-order-details__title {
    font-size: 20px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: none;
    margin: 0 0 24px 0;
    padding: 0 0 16px 0;
}

/* Order details table - clean minimal style */
.woocommerce-order-received .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    margin: 0 !important;
    background: transparent;
    border: none;
}

.woocommerce-order-received .woocommerce-table--order-details thead {
    border-bottom: 1px solid #e5e5e5;
}

.woocommerce-order-received .woocommerce-table--order-details thead th {
    padding: 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: transparent;
    border: none;
}

.woocommerce-order-received .woocommerce-table--order-details thead th.product-name {
    width: 80%;
}

.woocommerce-order-received .woocommerce-table--order-details thead th.product-total {
    width: 20%;
    text-align: right;
}

.woocommerce-order-received .woocommerce-table--order-details tbody tr {
    border-bottom: 1px solid #eee;
}

.woocommerce-order-received .woocommerce-table--order-details tbody tr:last-child {
    border-bottom: 1px solid #e5e5e5;
}

.woocommerce-order-received .woocommerce-table--order-details tbody td {
    padding: 16px 0;
    font-size: 14px;
    color: #1A1B18;
    background: transparent;
    border: none;
    vertical-align: middle;
}

.woocommerce-order-received .woocommerce-table--order-details tbody td.product-name {
    font-weight: 400;
    padding-right: 16px;
}

.woocommerce-order-received .woocommerce-table--order-details tbody td.product-name a {
    color: var(--axor-accent);
    text-decoration: none;
    transition: color 0.2s ease;
}

.woocommerce-order-received .woocommerce-table--order-details tbody td.product-name a:hover {
    color: var(--axor-accent-dark);
    text-decoration: underline;
}

.woocommerce-order-received .woocommerce-table--order-details tbody td.product-name .product-quantity {
    color: #666;
    font-weight: 400;
}

.woocommerce-order-received .woocommerce-table--order-details tbody td.product-total {
    text-align: right;
    font-weight: 500;
    white-space: nowrap;
}

/* Order totals footer - cleaner alignment */
.woocommerce-order-received .woocommerce-table--order-details tfoot {
    border-top: none;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot tr {
    border: none;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot th,
.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    padding: 10px 0;
    font-size: 14px;
    font-weight: 400;
    color: #1A1B18;
    background: transparent;
    border: none;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot th {
    text-align: right !important;
    padding-right: 16px !important;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    text-align: right !important;
}

/* Subtotal row - first in tfoot */
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:first-child th,
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:first-child td {
    padding-top: 20px;
}

/* Total row - bold and prominent */
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-of-type th,
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-of-type td {
    font-size: 16px;
    font-weight: 700 !important;
    padding-top: 16px;
    border-top: 1px solid #e5e5e5;
}

/* Total value - ensure bold */
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-of-type td .woocommerce-Price-amount {
    font-weight: 700 !important;
}

/* Small text in totals (includes VAT, via shipping method) */
.woocommerce-order-received .woocommerce-table--order-details tfoot small {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #666;
    margin-top: 4px;
}

/* Hide "incl. VAT" text - keep shipped_via */
.woocommerce-order-received .woocommerce-table--order-details tfoot small.tax_label {
    display: none;
}

/* Shipping row - shipping method on new line */
.woocommerce-order-received .woocommerce-table--order-details tfoot small.shipped_via {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    color: #666;
}

/* Table column widths - thead: product 80%, total 20% */
.woocommerce-order-received .woocommerce-table--order-details thead th:first-child,
.woocommerce-order-received .woocommerce-table--order-details tbody td:first-child {
    width: 80%;
}

.woocommerce-order-received .woocommerce-table--order-details thead th:last-child,
.woocommerce-order-received .woocommerce-table--order-details tbody td:last-child {
    width: 20%;
}

/* Payment method row - hide it since it's already shown in the order overview at top */
/* JS adds .payment-method-row class to this row for targeting */
.woocommerce-order-received .woocommerce-table--order-details tfoot tr.payment-method-row {
    display: none !important;
}

/* Bottom section - 2 column grid: Billing | Shipping */
.axor-order-received__bottom {
    margin-top: 0px;
}

.axor-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
}

/* Each column in the bottom grid - equal height */
.axor-bottom-grid > .woocommerce-column {
    padding: 0;
    background: transparent;
    border: none;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

/* Column titles - match Order Details title style */
.axor-bottom-grid .woocommerce-column__title,
.axor-bottom-grid h2 {
    font-size: 20px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 20px 0;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #e5e5e5;
}

/* Address styling inside bottom grid */
.axor-bottom-grid address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 16px 20px 0px;
    border-width: 1px 1px 1px 1px;
    border-style: solid;
    border-color: var(--ast-border-color);
    flex: 1;
}

/* Each address line on its own row */
.axor-bottom-grid address .address-line {
    display: block;
    margin-bottom: 4px;
}

/* Name line - bold */
.axor-bottom-grid address .address-name {
    font-weight: 600;
    color: #1A1B18;
    margin-bottom: 8px;
}

/* Email and phone - subtle color */
.axor-bottom-grid address .address-email,
.axor-bottom-grid address .address-phone {
    color: #666;
}

/* Company name */
.axor-bottom-grid address .address-company {
    color: #666;
    font-size: 14px;
}

/* Location (city, country) */
.axor-bottom-grid address .address-location {
    margin-bottom: 20px;
}

/* Barcode column styling removed — barcode now in right column under uplatnica */

/* Hide original customer details wrapper (content moved to bottom grid) */
.woocommerce-order-received .woocommerce-customer-details {
    display: none;
}

/* Payment description text moved to left column top — reduce size */
.axor-order-received__left .axor-payment-description {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: #555;
    margin: 0 0 16px 0 !important;
    padding-left: 0;
}

/* Barcode in right column — below uplatnica */
.axor-order-received__right #barcodediv {
    margin-top: 16px !important;
    padding: 0 !important;
    background: none !important;
    text-align: center;
}

.axor-order-received__right #barcodediv .barcode-text {
    font-size: 14px;
    color: #666;
    margin: 0 0 12px 0 !important;
    text-align: center !important;
    display: block !important;
}

.axor-order-received__right #barcodediv img {
    max-width: 280px;
    width: 100%;
    height: auto;
    display: block !important;
    margin: 0 auto;
}

/* Table value nowrap — prevent line breaks on payment method, shipping, PDV */
.woocommerce-order-received .woocommerce-order-overview li strong {
    white-space: nowrap;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    white-space: nowrap;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot small {
    white-space: nowrap;
}

/* Tighter spacing between uplatnica text and image */
.axor-order-received__right .barcode-text {
    margin: 0 0 8px 0;
}

.axor-order-received__right .slipdiv {
    margin: 0 0 0 0;
}

/* =============================================
   Non-BACS Payment Layout (COD, etc.)
   Order Details | Billing | Shipping - no uplatnica/barcode
   ============================================= */
.axor-order-received--no-bacs .axor-order-received__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

.axor-order-received--no-bacs .axor-order-received__left {
    grid-column: 1 / 2;
}

/* Order details section border for non-BACS to match address boxes */
.axor-order-received--no-bacs .woocommerce-order-details {
    padding: 0px;
    margin: 0;
}

/* Hide payment description text for non-BACS (no bank transfer instructions needed) */
.axor-order-received--no-bacs .axor-payment-description {
    display: none;
}

/* Right column becomes the addresses grid in non-BACS */
.axor-order-received--no-bacs .axor-order-received__right,
.axor-order-received--no-bacs .axor-order-received__right.axor-addresses-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch; /* Equal height for address columns */
}

.axor-order-received--no-bacs .axor-order-received__bottom {
    display: none !important;
}

/* No margin-bottom on order received page for non-BACS */
.axor-order-received--no-bacs {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.axor-order-received--no-bacs .axor-order-received__columns {
    margin-bottom: 0;
}

/* Address columns inside the right column (now addresses grid) */
.axor-order-received--no-bacs .axor-order-received__right .woocommerce-column {
    padding: 0px;
    background: transparent;
    border: 1px solid var(--ast-border-color);
    display: flex;
    flex-direction: column;
}

.axor-order-received--no-bacs .axor-order-received__right .woocommerce-column__title {
    font-size: 20px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 20px 0;
    padding: 20px 20px 16px 0;
    border-width: 0px !important;
    border-bottom: 1px solid var(--ast-border-color) !important;
}

.axor-order-received--no-bacs .axor-order-received__right address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 16px 13px;
    border: none;
    flex: 1;
}

.axor-order-received--no-bacs .axor-order-received__right address .address-line {
    display: block;
    margin-bottom: 4px;
}

.axor-order-received--no-bacs .axor-order-received__right address .address-name {
    font-weight: 600;
    color: #1A1B18;
    margin-bottom: 8px;
}

.axor-order-received--no-bacs .axor-order-received__right address .address-email,
.axor-order-received--no-bacs .axor-order-received__right address .address-phone {
    color: #666;
}

.axor-order-received--no-bacs .axor-order-received__right address .address-company {
    color: #666;
    font-size: 14px;
}

/* Legacy standalone addresses grid (kept for compatibility) */
.axor-addresses-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
    margin-top: 0;
    padding-top: 0;
}

.axor-addresses-grid .woocommerce-column {
    padding: 0;
    background: transparent;
    border: none;
    display: flex;
    flex-direction: column;
}

.axor-addresses-grid .woocommerce-column__title {
    font-size: 20px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 20px 0;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #e5e5e5;
}

.axor-addresses-grid address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 16px 20px 20px;
    border: 1px solid var(--ast-border-color);
}

.axor-addresses-grid address .address-line {
    display: block;
    margin-bottom: 4px;
}

.axor-addresses-grid address .address-name {
    font-weight: 600;
    color: #1A1B18;
    margin-bottom: 8px;
}

.axor-addresses-grid address .address-email,
.axor-addresses-grid address .address-phone {
    color: #666;
}

.axor-addresses-grid address .address-company {
    color: #666;
    font-size: 14px;
}

.axor-addresses-grid address .address-location {
    margin-bottom: 20px;
}

/* Order Received - Responsive */
@media (max-width: 991px) {
    .woocommerce-order-received .woocommerce {
        padding: 28px 20px 48px;
    }

    .axor-order-received__columns {
        gap: 32px;
    }

    .woocommerce-order-received .woocommerce-order-overview li {
        padding: 0 24px;
    }

    .woocommerce-order-received .wc-bacs-bank-details li {
        padding: 0 24px;
    }

    .axor-bottom-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* Non-BACS responsive */
    .axor-order-received--no-bacs .axor-order-received__columns {
        grid-template-columns: 1fr;
    }

    .axor-order-received--no-bacs .axor-order-received__right,
    .axor-order-received--no-bacs .axor-order-received__right.axor-addresses-grid {
        grid-template-columns: 1fr 1fr;
        margin-top: 32px;
    }
}

@media (max-width: 768px) {
    .woocommerce-order-received .woocommerce {
        padding: 24px 16px 40px;
    }

    .woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received,
    .woocommerce-order-received p.woocommerce-thankyou-order-received {
        font-size: 16px;
        margin-bottom: 16px;
    }

    /* Overview — stack vertically, full-width rows matching content width */
    .woocommerce-order-received .woocommerce-order-overview {
        flex-direction: column;
        gap: 0;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        border: none !important;
    }

    .woocommerce-order-received .woocommerce-order-overview li {
        flex-direction: row;
        justify-content: space-between;
        align-items: baseline;
        padding: 10px 0 !important;
        margin: 0 !important;
        border-right: none !important;
        border-bottom: 1px solid #eee !important;
        font-size: 14px;
        float: none !important;
        width: 100% !important;
    }

    .woocommerce-order-received .woocommerce-order-overview li:first-child {
        border-top: 1px solid #e5e5e5 !important;
    }

    .woocommerce-order-received .woocommerce-order-overview li:last-child {
        border-bottom: 1px solid #e5e5e5 !important;
    }

    .axor-order-received__columns {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .axor-order-received__right {
        order: -1; /* Uplatnica first on mobile */
    }

    .axor-bottom-grid {
        grid-template-columns: 1fr;
    }

    /* Non-BACS responsive - stack addresses on mobile */
    .axor-order-received--no-bacs .axor-order-received__right,
    .axor-order-received--no-bacs .axor-order-received__right.axor-addresses-grid,
    .axor-addresses-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .axor-order-received--no-bacs .axor-order-received__right {
        order: 1; /* Keep addresses after order details on mobile */
    }

    .woocommerce-order-received .wc-bacs-bank-details {
        flex-direction: column;
        gap: 0;
    }

    .woocommerce-order-received .wc-bacs-bank-details li {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 12px 0;
        border-right: none;
        border-bottom: 1px solid #eee;
    }

    .woocommerce-order-received .wc-bacs-bank-details li:first-child {
        padding-left: 0;
    }

    .woocommerce-order-received .wc-bacs-bank-details li:last-child {
        border-bottom: none;
    }

    /* Order details table — relax column widths on mobile */
    .woocommerce-order-received .woocommerce-table--order-details thead th:first-child,
    .woocommerce-order-received .woocommerce-table--order-details tbody td:first-child {
        width: 65%;
    }

    .woocommerce-order-received .woocommerce-table--order-details thead th:last-child,
    .woocommerce-order-received .woocommerce-table--order-details tbody td:last-child {
        width: 35%;
    }

    .woocommerce-order-received .woocommerce-table--order-details tbody td {
        font-size: 14px;
        padding: 12px 0;
    }

    .woocommerce-order-received .woocommerce-table--order-details tfoot th,
    .woocommerce-order-received .woocommerce-table--order-details tfoot td {
        font-size: 14px;
        padding: 8px 0;
    }

    .woocommerce-order-received .woocommerce-table--order-details tfoot th {
        padding-right: 8px !important;
    }

    .woocommerce-order-received .woocommerce-columns--addresses {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
        padding: 20px;
    }

    .woocommerce-order-received .slipdiv img,
    .axor-order-received__right .slipdiv img {
        max-width: 100%;
    }

    .woocommerce-order-received #barcodediv,
    .axor-order-received__right #barcodediv {
        padding: 16px;
    }
}

@media (max-width: 480px) {
    /* Payment method value stacks below label, value right-aligned */
    .woocommerce-order-received .woocommerce-order-overview li:last-child {
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
    }

    .woocommerce-order-received .woocommerce-order-overview li:last-child strong {
        text-align: right;
    }
}

/* ==========================================================================
   My Account Page - Futuristic Design
   ========================================================================== */

/* Hide default page title and remove entry-header spacing */
.woocommerce-account .entry-title,
.woocommerce-account .page-title,
.woocommerce-account h1.entry-title {
    display: none !important;
}

.woocommerce-account .entry-header,
.woocommerce-account header.entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-checkout header.entry-header {
    display: none !important;
}

/* Remove default article padding */
.woocommerce-account article.page,
.woocommerce-account article.type-page {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Main container - matching checkout/cart */
.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px 56px 40px;
    align-items: flex-start;
}

/* Page Title - Full width at the top */
.woocommerce-account .axor-account-title {
    width: 100%;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0 0 0 0;
    text-transform: uppercase;
    flex-basis: 100%;
    order: -1;
}

/* Navigation (Left Sidebar) - Dark Style matching Header Nav */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 260px;
    flex-shrink: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    background-color: #1a1b18;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 16px 20px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:focus,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:active,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus {
    color: #fff !important;
    background-color: rgba(227, 30, 36, 0.3) !important;
    outline: none;
    box-shadow: none;
}

/* Content Area (Right) */
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

/* Dashboard / View Order — first paragraph styled as title */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
    padding-bottom: 0px;
    padding-top: 4px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--ast-border-color);
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type strong {
    color: #555;
    font-weight: 700;
}

/* Orders page title */
.woocommerce-account .axor-orders-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
    padding-bottom: 0px;
    margin-bottom: 18px !important;
    border-bottom: 1px solid var(--ast-border-color);
}

/* All links - consistent orange style */
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button) {
    color: var(--axor-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover {
    opacity: 0.7;
}

/* Section Headings */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #555;
    margin: 0 0 0 0;
    border-bottom: 1px solid var(--ast-border-color);
}

/* Orders Table - Clean minimal style */
.woocommerce-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders-table thead {
    border-bottom: 2px solid #1a1b18;
}

.woocommerce-account .woocommerce-orders-table th {
    padding: 10px 14px !important;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
}

.woocommerce-account .woocommerce-orders-table td {
    padding: 20px 16px 20px 0;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
    font-size: 14px;
    color: #555;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    color: #1a1b18;
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
    color: var(--axor-accent);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    font-weight: 500;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    text-align: center;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-block;
    padding: 10px 20px;
    background: rgba(26, 27, 24, 0.7);
    color: #fff;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Actions header centered too */
.woocommerce-account .woocommerce-orders-table th:last-child {
    text-align: center;
}

/* First cell left padding for consistent alignment */
.woocommerce-account .woocommerce-orders-table th:first-child,
.woocommerce-account .woocommerce-orders-table td:first-child {
    padding-left: 16px;
}

/* Last cell - no right padding/margin */
.woocommerce-account .woocommerce-orders-table th:last-child,
.woocommerce-account .woocommerce-orders-table td:last-child {
    border-right: none;
}

/* Addresses Page - Table style (matches orders table) */
/* The table inherits styling from .woocommerce-orders-table */

/* Address type column - bold like order number */
.woocommerce-account .woocommerce-addresses-table .addresses-table__type {
    font-weight: 700;
    color: #1a1b18;
}

/* Actions cell centered */
.woocommerce-account .woocommerce-addresses-table .addresses-table__actions {
    text-align: center;
}

.woocommerce-account .woocommerce-addresses-table th.addresses-table__actions {
    text-align: center;
}

/* Edit button - matches orders "View" button */
.woocommerce-account .woocommerce-addresses-table .addresses-table__actions a {
    display: inline-block;
    padding: 10px 20px;
    background: rgba(26, 27, 24, 0.7);
    color: #fff;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Edit Address Form - 4 column grid layout */
/* Row 1: Name | Surname | Street | House Number */
/* Row 2: Company | OIB | Postcode | City */
/* Row 3: Phone | Email | Country | (empty) */
.woocommerce-account .woocommerce-address-fields {
    max-width: 100%;
    margin-top: 10px;
}

.woocommerce-account .woocommerce-address-fields h2 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ast-border-color);
}

.woocommerce-account .woocommerce-address-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 16px 0;
    position: relative;
}

/* Continuous vertical separator using pseudo-element */
.woocommerce-account .woocommerce-address-fields__field-wrapper::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #ddd;
}

/* Add padding to left columns (1-2) for spacing from separator */
.woocommerce-account .woocommerce-address-fields #billing_first_name_field,
.woocommerce-account .woocommerce-address-fields #shipping_first_name_field,
.woocommerce-account .woocommerce-address-fields #billing_company_field,
.woocommerce-account .woocommerce-address-fields #shipping_company_field,
.woocommerce-account .woocommerce-address-fields #billing_phone_field {
    padding-right: 10px !important;
}

.woocommerce-account .woocommerce-address-fields #billing_last_name_field,
.woocommerce-account .woocommerce-address-fields #shipping_last_name_field,
.woocommerce-account .woocommerce-address-fields #billing_oib_field,
.woocommerce-account .woocommerce-address-fields #billing_email_field {
    padding-right: 20px !important;
}

/* Add padding to right columns (3-4) for spacing from separator */
.woocommerce-account .woocommerce-address-fields #billing_address_1_field,
.woocommerce-account .woocommerce-address-fields #shipping_address_1_field,
.woocommerce-account .woocommerce-address-fields #billing_postcode_field,
.woocommerce-account .woocommerce-address-fields #shipping_postcode_field,
.woocommerce-account .woocommerce-address-fields #billing_country_field,
.woocommerce-account .woocommerce-address-fields #shipping_country_field {
    padding-left: 20px !important;
}

.woocommerce-account .woocommerce-address-fields #billing_address_2_field,
.woocommerce-account .woocommerce-address-fields #shipping_address_2_field,
.woocommerce-account .woocommerce-address-fields #billing_city_field,
.woocommerce-account .woocommerce-address-fields #shipping_city_field {
    padding-left: 10px !important;
}

/* Reset form-row widths - ensure all fields take full width of their grid cell */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
}

/* Remove any border styling from form rows */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide {
    width: 100% !important;
    display: block !important;
    float: none !important;
    margin-right: 0 !important;
    border-right: none !important;
}

/* Row 1: First Name | Last Name | Street | House Number */
.woocommerce-account .woocommerce-address-fields #billing_first_name_field,
.woocommerce-account .woocommerce-address-fields #shipping_first_name_field {
    grid-column: 1;
    grid-row: 1;
}

.woocommerce-account .woocommerce-address-fields #billing_last_name_field,
.woocommerce-account .woocommerce-address-fields #shipping_last_name_field {
    grid-column: 2;
    grid-row: 1;
}

.woocommerce-account .woocommerce-address-fields #billing_address_1_field,
.woocommerce-account .woocommerce-address-fields #shipping_address_1_field {
    grid-column: 3;
    grid-row: 1;
}

.woocommerce-account .woocommerce-address-fields #billing_address_2_field,
.woocommerce-account .woocommerce-address-fields #shipping_address_2_field {
    grid-column: 4;
    grid-row: 1;
}

/* Row 2: Company | OIB | Postcode | City */
.woocommerce-account .woocommerce-address-fields #billing_company_field,
.woocommerce-account .woocommerce-address-fields #shipping_company_field {
    grid-column: 1;
    grid-row: 2;
}

.woocommerce-account .woocommerce-address-fields #billing_oib_field {
    grid-column: 2;
    grid-row: 2;
}

.woocommerce-account .woocommerce-address-fields #billing_postcode_field,
.woocommerce-account .woocommerce-address-fields #shipping_postcode_field {
    grid-column: 3;
    grid-row: 2;
}

.woocommerce-account .woocommerce-address-fields #billing_city_field,
.woocommerce-account .woocommerce-address-fields #shipping_city_field {
    grid-column: 4;
    grid-row: 2;
}

/* Row 3: Phone | Email | Country | (empty) */
.woocommerce-account .woocommerce-address-fields #billing_phone_field {
    grid-column: 1;
    grid-row: 3;
}

.woocommerce-account .woocommerce-address-fields #billing_email_field {
    grid-column: 2;
    grid-row: 3;
}

.woocommerce-account .woocommerce-address-fields #billing_country_field,
.woocommerce-account .woocommerce-address-fields #shipping_country_field {
    grid-column: 3;
    grid-row: 3;
}

/* State field - hide */
.woocommerce-account .woocommerce-address-fields #billing_state_field,
.woocommerce-account .woocommerce-address-fields #shipping_state_field {
    display: none;
}

/* Address form button - centered */
.woocommerce-account .woocommerce-address-fields > p {
    text-align: center;
    margin-top: 30px;
}

/* Account Details Form - no max-width, let grid handle sizing */

.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-address-fields fieldset {
    border: none;
    padding: 24px 0 0 0;
    margin: 24px 0 0 0;
    border-top: 1px solid #eee;
}

.woocommerce-account .woocommerce-EditAccountForm legend,
.woocommerce-account .woocommerce-address-fields legend {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #1a1b18;
    margin-bottom: 20px;
    padding: 0;
}

.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row {
    margin-bottom: 20px;
}

.woocommerce-account .woocommerce-form-row label,
.woocommerce-account .form-row label {
    display: block;
    margin: 0 8px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #1a1b18;
}

.woocommerce-account .woocommerce-form-row label .required,
.woocommerce-account .form-row label .required {
    color: var(--axor-accent);
}

.woocommerce-account .woocommerce-form-row input[type="text"],
.woocommerce-account .woocommerce-form-row input[type="email"],
.woocommerce-account .woocommerce-form-row input[type="tel"],
.woocommerce-account .woocommerce-form-row input[type="password"],
.woocommerce-account .woocommerce-form-row select,
.woocommerce-account .form-row input[type="text"],
.woocommerce-account .form-row input[type="email"],
.woocommerce-account .form-row input[type="tel"],
.woocommerce-account .form-row input[type="password"],
.woocommerce-account .form-row select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 14px;
    font-family: inherit;
    transition: border-color 0.2s ease;
    background: #fff;
}

.woocommerce-account .woocommerce-form-row input:focus,
.woocommerce-account .woocommerce-form-row select:focus,
.woocommerce-account .form-row input:focus,
.woocommerce-account .form-row select:focus {
    outline: none;
    border-color: #1a1b18;
}

.woocommerce-account .woocommerce-form-row--wide,
.woocommerce-account .form-row-wide {
    width: 100%;
}

.woocommerce-account .woocommerce-form-row--first,
.woocommerce-account .woocommerce-form-row--last,
.woocommerce-account .form-row-first,
.woocommerce-account .form-row-last {
    width: calc(50% - 10px);
    display: inline-block;
    vertical-align: top;
}

.woocommerce-account .woocommerce-form-row--first,
.woocommerce-account .form-row-first {
    margin-right: 20px;
}

/* Buttons - Matching site style */
.woocommerce-account .woocommerce-Button,
.woocommerce-account button[type="submit"],
.woocommerce-account .button {
    display: inline-block;
    padding: 16px 40px;
    background: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    text-decoration: none !important;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[type="submit"]:hover,
.woocommerce-account .button:hover {
    opacity: 1 !important;
}

/* Downloads Table */
.woocommerce-account .woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-account .woocommerce-table--order-downloads th {
    padding: 12px 16px 12px 0;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #1a1b18;
    border-bottom: 2px solid #1a1b18;
}

.woocommerce-account .woocommerce-table--order-downloads td {
    padding: 20px 16px 20px 0;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    color: #555;
}

/* No orders/downloads message */
.woocommerce-account .woocommerce-Message--info,
.woocommerce-account .woocommerce-info {
    background: #f5f5f5;
    border: none;
    border-left: 3px solid var(--axor-accent);
    padding: 24px 28px;
    border-radius: 0;
    color: #555;
    font-size: 14px;
    margin-bottom: 24px;
}

.woocommerce-account .woocommerce-Message--info::before,
.woocommerce-account .woocommerce-info::before {
    display: none;
}

.woocommerce-account .woocommerce-Message--info a.button {
    margin-top: 16px;
}

/* View Order Page - CorvusPay transaction details */
.woocommerce-account .axor-corvuspay-details {
    margin-bottom: 24px;
    padding: 16px 24px;
    background: #f0faf0;
    border-left: 3px solid #4caf50;
}

.woocommerce-account .axor-corvuspay-details__status {
    font-size: 14px;
    font-weight: 600;
    color: #2e7d32;
    margin: 0 0 8px;
}

.woocommerce-account .axor-corvuspay-details__info {
    display: flex;
    gap: 24px;
}

.woocommerce-account .axor-corvuspay-details__item {
    font-size: 14px;
    color: #555;
}

.woocommerce-account .axor-corvuspay-details__item strong {
    color: #1a1b18;
}

/* View Order Page — flex column to reorder: HUB3 before addresses */
.woocommerce-account .woocommerce-MyAccount-content {
    display: flex;
    flex-direction: column;
}

/* Push addresses below uplatnica/barcode */
.woocommerce-account .woocommerce-customer-details {
    order: 99;
}

.woocommerce-account .woocommerce-order-details {
    margin-bottom: 0px;
}

.woocommerce-account .woocommerce-order-details__title {
    display: none;
}

/* Order details table - card style */
.woocommerce-account .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse !important;
    margin-bottom: 0 !important;
    background: #fff;
    overflow: hidden;
}

.woocommerce-account .woocommerce-table--order-details th,
.woocommerce-account .woocommerce-table--order-details td {
    padding: 16px 20px;
    text-align: left;
    font-size: 14px;
}

/* Table header */
.woocommerce-account .woocommerce-table--order-details thead th {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #555;
    background: #fafafa;
}

.woocommerce-account .woocommerce-table--order-details thead th.product-total {
    text-align: right;
    width: 340px;
}

/* Table body rows */
.woocommerce-account .woocommerce-table--order-details tbody td {
    color: #1a1b18;
    vertical-align: middle;
}

.woocommerce-account .woocommerce-table--order-details tbody td.product-name {
    font-weight: 500;
}

.woocommerce-account .woocommerce-table--order-details tbody td.product-name a {
    color: #1a1b18;
    text-decoration: none;
}

.woocommerce-account .woocommerce-table--order-details tbody td.product-name a:hover {
    color: var(--axor-accent);
}

.woocommerce-account .woocommerce-table--order-details tbody td.product-name .product-quantity {
    color: #777;
    font-weight: 400;
}

.woocommerce-account .woocommerce-table--order-details tbody td.product-total {
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}

/* Table footer - totals */
.woocommerce-account .woocommerce-table--order-details tfoot tr {
    background: #fafafa;
}

.woocommerce-account .woocommerce-table--order-details tfoot th {
    font-weight: 500;
    color: #555;
    text-align: right;
}

.woocommerce-account .woocommerce-table--order-details tfoot td {
    font-weight: 600;
    color: #1a1b18;
    text-align: right;
}

/* Total row - make it stand out */
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
    font-size: 16px;
    font-weight: 700;
    color: #1a1b18;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: none;
}

/* Small text in footer (VAT info, shipping method) */
.woocommerce-account .woocommerce-table--order-details tfoot small {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #777;
    margin-top: 4px;
}

/* Hide "incl. VAT" text */
.woocommerce-account .woocommerce-table--order-details tfoot small.tax_label {
    display: none;
}

/* Show shipping method (via DPD) below the price */
.woocommerce-account .woocommerce-table--order-details tfoot small.shipped_via {
    display: block;
    margin-top: 4px;
}

/* Order Again Button */
.woocommerce-account .order-again {
    margin-top: 24px;
}

/* HUB3 payment slip/barcode on View Order page - side by side layout */
/* Hide any unwrapped plugin output (slipdiv/barcodediv outside our wrapper) */
.woocommerce-account .woocommerce-MyAccount-content > .slipdiv,
.woocommerce-account .woocommerce-MyAccount-content > .barcodediv,
.woocommerce-account .woocommerce-MyAccount-content > #barcodediv,
.woocommerce-account .woocommerce-MyAccount-content > p.barcode-text {
    display: none !important;
}

/* Our wrapped version: uplatnica (60%) + barcode (40%) side by side */
.woocommerce-account .axor-hub3-payment-info {
    display: flex;
    align-items: flex-start;
    gap: 32px;
}

.woocommerce-account .axor-hub3-payment-info .slipdiv {
    flex: 0 0 60%;
    margin-bottom: 0px;
}

.woocommerce-account .axor-hub3-payment-info .slipdiv img {
    width: 100%;
    height: auto;
}

.woocommerce-account .axor-hub3-payment-info .barcodediv {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: none;
}

.woocommerce-account .axor-hub3-payment-info .barcodediv img {
    max-width: 100%;
    height: auto;
}

.woocommerce-account .axor-hub3-payment-info .barcode-text {
    margin: 0 0 8px;
    font-size: 14px;
    color: #1a1b18;
    text-align: center;
}

/* View Order - Customer Details (Addresses) */
.woocommerce-account .woocommerce-customer-details {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Override WooCommerce default float-based col2-set styling */
.woocommerce-account .woocommerce-customer-details .col2-set,
.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    align-items: stretch;
}

/* Remove clearfix pseudo-elements (not needed with CSS Grid) */
.woocommerce-account .woocommerce-customer-details .col2-set::before,
.woocommerce-account .woocommerce-customer-details .col2-set::after {
    display: none !important;
    content: none !important;
}

/* Reset float styling on columns */
.woocommerce-account .woocommerce-customer-details .col2-set .col-1,
.woocommerce-account .woocommerce-customer-details .col2-set .col-2,
.woocommerce-account .woocommerce-customer-details .woocommerce-column {
    float: none !important;
    width: 100% !important;
    background: #fff;
    border: 1px solid #eee;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #1a1b18;
    margin: 0;
    padding: 16px 24px;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}

.woocommerce-account .woocommerce-customer-details address {
    font-style: normal;
    padding: 20px 24px;
    margin: 0;
    flex: 1;
}

.woocommerce-account .woocommerce-customer-details address .address-line {
    display: block;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 4px;
}

.woocommerce-account .woocommerce-customer-details address .address-line:last-child {
    margin-bottom: 0;
}

.woocommerce-account .woocommerce-customer-details address .address-name {
    color: #1a1b18;
    font-weight: 600;
}

/* Account Details Page - 4 column grid for field pairing (50/50 split) */
.woocommerce-account .woocommerce-EditAccountForm.edit-account {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px 0;
    align-items: start;
    width: 100%;
}

/* Hide the clear divs */
.woocommerce-account .woocommerce-EditAccountForm .clear {
    display: none;
}

/* Add "Detalji računa" title via ::before on form - row 1, columns 1-2 */
.woocommerce-account .woocommerce-EditAccountForm.edit-account::before {
    content: 'DETALJI RAČUNA';
    grid-column: 1 / 3;
    grid-row: 1;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 20px;
    color: #555;
    margin-right: 20px;
    border-bottom: 1px solid var(--ast-border-color);
}

/* First Name - row 2, column 1 */
.woocommerce-account .woocommerce-EditAccountForm .form-row-first {
    grid-column: 1 / 2;
    grid-row: 2;
    padding-right: 10px;
    padding-top: 0px;
}

/* Last Name - row 2, column 2 */
.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
    grid-column: 2 / 3;
    grid-row: 2;
    padding-right: 20px !important;
}

/* Display Name - row 3, column 1 */
.woocommerce-account .woocommerce-EditAccountForm p:has(#account_display_name) {
    grid-column: 1 / 2;
    grid-row: 3;
    padding-right: 10px;
}

/* Email - row 3, column 2 */
.woocommerce-account .woocommerce-EditAccountForm p:has(#account_email) {
    grid-column: 2 / 3;
    grid-row: 3;
    padding-right: 20px !important;
}

/* Make all form rows fill their grid cell */
.woocommerce-account .woocommerce-EditAccountForm .form-row {
    width: 100%;
    padding: 3px 10px 3px 3px;
}

/* Hide display name description to save space */
.woocommerce-account .woocommerce-EditAccountForm p:has(#account_display_name) span {
    display: none;
}

/* Make all inputs full width */
.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
    width: 100%;
    box-sizing: border-box;
}

/* Right column - Password change fieldset spanning columns 3-4 */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
    grid-column: 3 / 5;
    grid-row: 1 / span 4;
    margin: 0;
    padding: 0 0 0 20px;
    border: none;
    border-left: 1px solid #ddd;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
    padding: 0;
    margin-bottom: 8px;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset .form-row {
    margin-bottom: 16px;
    padding: 3px 10px 3px 3px !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset .form-row:last-child {
    margin-bottom: 0;
}

/* Submit button - centered under the vertical separator */
.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type {
    grid-column: 1 / -1;
    grid-row: 5;
    margin: 0;
    padding: 0;
    text-align: center;
}

/* Responsive - stack on mobile */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-EditAccountForm.edit-account {
        grid-template-columns: 1fr;
        gap: 16px 0;
    }

    .woocommerce-account .woocommerce-EditAccountForm.edit-account::before {
        grid-column: 1;
        grid-row: 1;
    }

    .woocommerce-account .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-account .woocommerce-EditAccountForm .form-row-last,
    .woocommerce-account .woocommerce-EditAccountForm p:has(#account_display_name),
    .woocommerce-account .woocommerce-EditAccountForm p:has(#account_email) {
        grid-column: 1;
        grid-row: auto;
    }

    .woocommerce-account .woocommerce-EditAccountForm fieldset {
        grid-column: 1;
        grid-row: auto;
        padding: 30px 0 0 0;
        margin-top: 20px;
        border-left: none;
        border-top: 1px solid #ddd;
    }

    .woocommerce-account .woocommerce-EditAccountForm > p:last-of-type {
        grid-column: 1;
        grid-row: auto;
        text-align: left;
        margin-top: 20px;
    }
}

/* Login/Register Page (not logged in) - 2 column layout */
.woocommerce-account:not(.logged-in) .woocommerce {
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
}

.woocommerce-account .u-columns {
    display: flex;
    gap: 80px;
}

.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
    flex: 1;
}

/* Login/Register form boxes */
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
    padding: 0px;
}

/* Login Form */
.woocommerce-account .woocommerce-form-login {
    background: transparent;
    padding: 0;
}

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2,
.woocommerce-account .u-columns h2 {
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 0 0;
    text-align: center;
    color: #1a1b18;
}

.woocommerce-account .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    font-size: 14px;
}

.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

.woocommerce-account .woocommerce-LostPassword {
    text-align: left;
    margin-top: 20px;
}

/* Register Form */
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text a {
    color: var(--axor-accent);
}

.woocommerce-account .woocommerce-form-register .woocommerce-password-hint {
    font-size: 14px;
    color: #666;
    margin-top: 16px;
}

/* Hide mobile nav toggle on desktop */
.axor-account-nav-toggle {
    display: none;
}

/* My Account Responsive */
@media (max-width: 991px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
        gap: 0;
        padding: 24px 24px 40px;
    }

    .woocommerce-account .axor-account-title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
        margin-bottom: 24px;
        position: relative;
    }

    /* Collapsed state: hide all items except active */
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: column;
        gap: 0;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.3s ease;
    }

    /* Toggle button (injected via JS) */
    .axor-account-nav-toggle {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 14px 20px;
        background: #1a1b18 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        outline: none !important;
        font-size: 14px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        cursor: pointer;
        font-family: inherit;
    }

    /* Hide active item from list — already shown in toggle */
    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
        display: none;
    }

    .axor-account-nav-toggle::after {
        content: '';
        width: 8px;
        height: 8px;
        border-right: 2px solid rgba(255,255,255,0.7);
        border-bottom: 2px solid rgba(255,255,255,0.7);
        transform: rotate(45deg);
        transition: transform 0.3s ease;
        flex-shrink: 0;
    }

    .axor-account-nav-toggle.is-open::after {
        transform: rotate(-135deg);
    }

    /* Expanded state */
    .woocommerce-account .woocommerce-MyAccount-navigation ul.is-expanded {
        max-height: 500px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        flex: none;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 14px 20px;
        font-size: 14px;
        white-space: nowrap;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    /* Edit address form - 2 columns on tablet */
    .woocommerce-account .woocommerce-address-fields__field-wrapper {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        gap: 16px;
    }

    /* Hide vertical separator on tablet */
    .woocommerce-account .woocommerce-address-fields__field-wrapper::before {
        display: none;
    }

    /* Reset padding on all address fields for tablet */
    .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
        padding: 0 !important;
    }

    .woocommerce-account .woocommerce-address-fields__field-wrapper > p {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    /* View order addresses - single column on tablet */
    .woocommerce-account .woocommerce-customer-details .col2-set,
    .woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-account .woocommerce-form-row--first,
    .woocommerce-account .woocommerce-form-row--last,
    .woocommerce-account .form-row-first,
    .woocommerce-account .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    /* Login/Register page - single column on mobile */
    .woocommerce-account:not(.logged-in) .woocommerce {
        padding: 40px 16px 60px;
    }

    .woocommerce-account .u-columns {
        flex-direction: column;
        gap: 32px;
    }

    .woocommerce-account .u-columns .u-column1,
    .woocommerce-account .u-columns .u-column2 {
        padding: 24px;
    }
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-orders-table,
    .woocommerce-account .woocommerce-orders-table thead,
    .woocommerce-account .woocommerce-orders-table tbody,
    .woocommerce-account .woocommerce-orders-table th,
    .woocommerce-account .woocommerce-orders-table td,
    .woocommerce-account .woocommerce-orders-table tr {
        display: block;
    }

    .woocommerce-account .woocommerce-orders-table thead {
        display: none;
    }

    .woocommerce-account .woocommerce-orders-table tr {
        margin-bottom: 16px;
        background: #f5f5f5;
        padding: 20px;
        border-left: 3px solid #1a1b18;
    }

    .woocommerce-account .woocommerce-orders-table td {
        padding: 10px 0;
        border: none;
        border-bottom: 1px solid #eee;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .woocommerce-account .woocommerce-orders-table td:last-child {
        border-bottom: none;
        padding-top: 16px;
    }

    .woocommerce-account .woocommerce-orders-table td::before {
        content: attr(data-title);
        font-weight: 700;
        color: #1a1b18;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
        justify-content: center;
        background: #fafafa;
    }

    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before {
        display: none;
    }

    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
        width: 100%;
        text-align: center;
    }

    /* Edit address form - single column on mobile */
    .woocommerce-account .woocommerce-address-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce-address-fields__field-wrapper > p {
        grid-column: 1 !important;
    }
}

/* ==========================================================================
   My Account — Additional Responsive (orders, view-order, addresses, details)
   ========================================================================== */

/* --- 991px: Addresses table card layout (9 columns too wide for table) --- */
@media (max-width: 991px) {
    .woocommerce-account .woocommerce-addresses-table,
    .woocommerce-account .woocommerce-addresses-table thead,
    .woocommerce-account .woocommerce-addresses-table tbody,
    .woocommerce-account .woocommerce-addresses-table th,
    .woocommerce-account .woocommerce-addresses-table td,
    .woocommerce-account .woocommerce-addresses-table tr {
        display: block;
    }

    .woocommerce-account .woocommerce-addresses-table thead {
        display: none;
    }

    .woocommerce-account .woocommerce-addresses-table tr {
        margin-bottom: 20px;
        background: #fff;
        padding: 0;
        border: 1px solid #e5e5e5;
        border-left: 3px solid #1a1b18;
        overflow: hidden;
    }

    /* Type cell (Billing/Shipping) — card heading */
    .woocommerce-account .woocommerce-addresses-table td.addresses-table__type {
        display: block;
        background: #f5f5f5;
        padding: 12px 20px;
        font-weight: 700;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #1a1b18;
        border-bottom: 1px solid #e5e5e5;
    }

    .woocommerce-account .woocommerce-addresses-table td.addresses-table__type::before {
        display: none;
    }

    .woocommerce-account .woocommerce-addresses-table td {
        padding: 8px 20px;
        border: none;
        border-bottom: 1px solid #f0f0f0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 14px;
    }

    /* Truly empty cells (no data-title, no content) — hide */
    .woocommerce-account .woocommerce-addresses-table td:empty {
        display: none;
    }

    /* All data cells — consistent min-height and vertical centering */
    .woocommerce-account .woocommerce-addresses-table td {
        min-height: 40px;
        box-sizing: border-box;
    }

    .woocommerce-account .woocommerce-addresses-table td:last-child {
        border-bottom: none;
        padding: 12px 20px;
    }

    .woocommerce-account .woocommerce-addresses-table td::before {
        content: attr(data-title);
        font-weight: 700;
        color: #1a1b18;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .woocommerce-account .woocommerce-addresses-table .addresses-table__actions {
        background: #fafafa;
        padding: 12px 20px !important;
        justify-content: center;
    }

    .woocommerce-account .woocommerce-addresses-table .addresses-table__actions::before {
        display: none;
    }

    .woocommerce-account .woocommerce-addresses-table .addresses-table__actions a {
        width: 100%;
        text-align: center;
    }

    /* Edit address form: reset ID-based field padding (must match desktop specificity) */
    .woocommerce-account .woocommerce-address-fields #billing_first_name_field,
    .woocommerce-account .woocommerce-address-fields #shipping_first_name_field,
    .woocommerce-account .woocommerce-address-fields #billing_last_name_field,
    .woocommerce-account .woocommerce-address-fields #shipping_last_name_field,
    .woocommerce-account .woocommerce-address-fields #billing_company_field,
    .woocommerce-account .woocommerce-address-fields #shipping_company_field,
    .woocommerce-account .woocommerce-address-fields #billing_oib_field,
    .woocommerce-account .woocommerce-address-fields #billing_phone_field,
    .woocommerce-account .woocommerce-address-fields #billing_email_field,
    .woocommerce-account .woocommerce-address-fields #billing_address_1_field,
    .woocommerce-account .woocommerce-address-fields #shipping_address_1_field,
    .woocommerce-account .woocommerce-address-fields #billing_address_2_field,
    .woocommerce-account .woocommerce-address-fields #shipping_address_2_field,
    .woocommerce-account .woocommerce-address-fields #billing_postcode_field,
    .woocommerce-account .woocommerce-address-fields #shipping_postcode_field,
    .woocommerce-account .woocommerce-address-fields #billing_city_field,
    .woocommerce-account .woocommerce-address-fields #shipping_city_field,
    .woocommerce-account .woocommerce-address-fields #billing_country_field,
    .woocommerce-account .woocommerce-address-fields #shipping_country_field {
        padding: 0 !important;
    }

    /* View order: CorvusPay details wrap */
    .woocommerce-account .axor-corvuspay-details__info {
        flex-wrap: wrap;
        gap: 8px 24px;
    }

    /* View order: HUB3 payment gap tighter */
    .woocommerce-account .axor-hub3-payment-info {
        gap: 20px;
    }
}

/* --- 768px: View-order stacking + padding + form alignment --- */
@media (max-width: 768px) {
    /* HUB3 payment slip + barcode: stack vertically */
    .woocommerce-account .axor-hub3-payment-info {
        flex-direction: column;
        gap: 24px;
    }

    .woocommerce-account .axor-hub3-payment-info .slipdiv {
        flex: none;
        width: 100%;
    }

    /* CorvusPay details: stack */
    .woocommerce-account .axor-corvuspay-details__info {
        flex-direction: column;
        gap: 8px;
    }

    .woocommerce-account .axor-corvuspay-details {
        padding: 14px 18px;
    }

    /* Order details table: tighter padding + reset fixed column width */
    .woocommerce-account .woocommerce-table--order-details th,
    .woocommerce-account .woocommerce-table--order-details td {
        padding: 12px 14px;
    }

    .woocommerce-account .woocommerce-table--order-details thead th.product-total {
        width: auto;
    }

    /* Customer details address cards: tighter */
    .woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
        padding: 12px 16px;
    }

    .woocommerce-account .woocommerce-customer-details address {
        padding: 16px;
    }

    /* Account details form: reset field padding for 1-col layout */
    .woocommerce-account .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-account .woocommerce-EditAccountForm .form-row-last {
        padding-right: 0 !important;
    }

    .woocommerce-account .woocommerce-EditAccountForm p:has(#account_display_name),
    .woocommerce-account .woocommerce-EditAccountForm p:has(#account_email) {
        padding-right: 0 !important;
    }

    .woocommerce-account .woocommerce-EditAccountForm .form-row {
        padding: 3px 0;
    }
}

/* --- 600px: Mid-mobile — tighten spacing between 768 and 480 --- */
@media (max-width: 600px) {
    /* Page container: reduce desktop-inherited padding */
    .woocommerce-account .woocommerce {
        padding: 24px 20px 36px;
    }

    .woocommerce-account .axor-account-title {
        font-size: 26px;
    }

    /* Orders + addresses cards: slightly tighter */
    .woocommerce-account .woocommerce-orders-table tr {
        padding: 16px;
    }

    /* View order: order details table padding tighter */
    .woocommerce-account .woocommerce-table--order-details th,
    .woocommerce-account .woocommerce-table--order-details td {
        padding: 11px 12px;
    }

    /* View order: order details total row */
    .woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
    .woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
        font-size: 15px;
    }

    /* Nav items: tighten slightly */
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 13px 16px;
    }
}

/* --- 480px: Small-mobile tweaks for all my-account pages --- */
@media (max-width: 480px) {
    /* Page container tighter */
    .woocommerce-account .woocommerce {
        padding: 20px 16px 32px;
    }

    .woocommerce-account .axor-account-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    /* Nav items smaller */
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 12px 14px;
        font-size: 14px;
    }

    /* Orders + addresses card layout: tighter padding */
    .woocommerce-account .woocommerce-orders-table tr {
        padding: 14px;
    }

    .woocommerce-account .woocommerce-orders-table td {
        font-size: 14px;
    }

    .woocommerce-account .woocommerce-orders-table td::before {
        font-size: 14px;
    }

    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a,
    .woocommerce-account .woocommerce-addresses-table .addresses-table__actions a {
        padding: 8px 16px;
        font-size: 14px;
    }

    /* View order details table: smaller */
    .woocommerce-account .woocommerce-table--order-details th,
    .woocommerce-account .woocommerce-table--order-details td {
        padding: 10px 12px;
        font-size: 14px;
    }

    .woocommerce-account .woocommerce-table--order-details thead th {
        font-size: 14px;
    }

    .woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
    .woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
        font-size: 14px;
    }

    /* Account details form: remove side padding */
    .woocommerce-account .woocommerce-EditAccountForm .form-row {
        padding: 3px 0;
    }

    .woocommerce-account .woocommerce-EditAccountForm fieldset .form-row {
        padding: 3px 0 !important;
    }

    .woocommerce-account .woocommerce-EditAccountForm.edit-account::before {
        margin-right: 0;
    }

    /* Buttons full-width on small mobile */
    .woocommerce-account .woocommerce-Button,
    .woocommerce-account button[type="submit"],
    .woocommerce-account .button {
        width: 100%;
        text-align: center;
        padding: 14px 20px;
    }

    /* Edit address form button: left-align */
    .woocommerce-account .woocommerce-address-fields > p {
        text-align: left;
    }
}

/* ==========================================================================
   Cart Drawer (Slide-in Sidebar)
   ========================================================================== */

.axor-cart-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    pointer-events: none;
    visibility: hidden;
    transition: visibility 0s 0.3s;
}

.axor-cart-drawer.is-open {
    pointer-events: auto;
    visibility: visible;
    transition: visibility 0s 0s;
}

/* Overlay */
.axor-cart-drawer__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
}

.axor-cart-drawer.is-open .axor-cart-drawer__overlay {
    background: rgba(0, 0, 0, 0.4);
}

/* Panel */
.axor-cart-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 440px;
    max-width: 100%;
    height: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
}

.axor-cart-drawer.is-open .axor-cart-drawer__panel {
    transform: translateX(0);
}

/* Header */
.axor-cart-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e5e5;
    flex-shrink: 0;
}

.axor-cart-drawer__header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.axor-cart-drawer__header-left svg {
    flex-shrink: 0;
}

.axor-cart-drawer__title {
    font-size: 16px;
    font-weight: 700;
    color: #1a1b18;
    margin: 0;
    font-family: var(--axor-font-family, inherit);
}

.axor-cart-drawer__close,
.axor-cart-drawer__close:hover,
.axor-cart-drawer__close:focus,
.axor-cart-drawer__close:focus-visible,
.axor-cart-drawer__close:active {
    background: none !important;
    border: none !important;
    cursor: pointer;
    padding: 4px;
    color: #1a1b18 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    min-width: 40px;
    min-height: 40px;
}

.axor-cart-drawer__close:hover {
    opacity: 0.6;
}

/* Body (scrollable items area) */
.axor-cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Info bar (count + clear all) */
.axor-cart-drawer__info-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-bottom: 1px solid #e5e5e5;
}

.axor-cart-drawer__count {
    font-size: 14px;
    font-weight: 600;
    color: #1a1b18;
}

.axor-cart-drawer__clear-all {
    background: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 4px 12px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s;
}

.axor-cart-drawer__clear-all:hover {
    background: none !important;
    border-color: #1a1b18;
    color: #1a1b18;
}

/* Empty cart */
.axor-cart-drawer__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: #888;
    font-size: 14px;
}

/* Cart items */
.axor-cart-drawer__items {
    padding: 0;
}

.axor-cart-drawer__item {
    border-bottom: 1px solid #eee;
    padding: 16px 20px;
}

.axor-cart-drawer__item-inner {
    display: flex;
    gap: 14px;
}

.axor-cart-drawer__item-image {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
}

.axor-cart-drawer__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.axor-cart-drawer__item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.axor-cart-drawer__item-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.axor-cart-drawer__item-name {
    font-size: 14px;
    font-weight: 600;
    color: #1a1b18;
    text-decoration: none;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.axor-cart-drawer__item-name:hover {
    color: #555;
}

.axor-cart-drawer__item-remove {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    color: #999;
    display: flex;
    align-items: center;
}

.axor-cart-drawer__item-remove:hover {
    background: none !important;
    color: #1a1b18;
}

/* Quantity + Price row */
.axor-cart-drawer__item-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
}

.axor-cart-drawer__item-qty {
    display: flex;
    align-items: center;
}

.axor-cart-drawer__qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 32px !important;
    background: #fff !important;
    cursor: pointer;
    font-size: 18px !important;
    color: #555 !important;
    border: 0px !important;
    box-shadow: none !important;
    transition: border-color 0.2s, color 0.2s;
}

.axor-cart-drawer__qty-btn:hover {
    border-color: #1a1b18;
    color: #1a1b18;
}

.axor-cart-drawer__qty-btn:focus,
.axor-cart-drawer__qty-btn:active,
.axor-cart-drawer__qty-btn:focus:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.axor-cart-drawer__qty-input {
    width: 40px !important;
    height: 40px !important;
    text-align: center;
    border: 2px solid #1a1b18;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    line-height: 40px !important;
    -moz-appearance: textfield;
    appearance: textfield;
    background: #fff;
}

.axor-cart-drawer__qty-input::-webkit-outer-spin-button,
.axor-cart-drawer__qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.axor-cart-drawer__qty-input:focus {
    outline: none;
    border-color: #1a1b18;
}

.axor-cart-drawer__item-price {
    font-size: 14px;
    font-weight: 600;
    color: #1a1b18;
    white-space: nowrap;
}

/* Item meta (variation attributes like Color, Size) */
.axor-cart-drawer__item-meta {
    padding: 8px 0 0 94px;
    font-size: 14px;
    color: #777;
    line-height: 1.5;
}

.axor-cart-drawer__item-meta dt {
    display: inline;
    font-weight: 500;
}

.axor-cart-drawer__item-meta dd {
    display: inline;
    margin: 0 12px 0 0;
}

.axor-cart-drawer__item-meta p {
    margin: 0;
}

/* Footer (subtotal + buttons) */
.axor-cart-drawer__footer {
    flex-shrink: 0;
    border-top: 1px solid #e5e5e5;
    background: #fff;
}

.axor-cart-drawer__subtotal {
    padding: 16px 20px;
}

.axor-cart-drawer__subtotal-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.axor-cart-drawer__subtotal-label {
    font-size: 16px;
    font-weight: 700;
    color: #1a1b18;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.axor-cart-drawer__subtotal-price {
    font-size: 16px;
    font-weight: 700;
    color: #1a1b18;
}

.axor-cart-drawer__tax-note {
    font-size: 14px;
    color: #888;
    margin: 4px 0 0 0;
}

.axor-cart-drawer__actions {
    display: flex;
    gap: 10px;
    padding: 0 20px;
}

.axor-cart-drawer__goto-cart {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px;
    border: 1px solid #d0d0d0;
    background: rgba(255, 255, 255, 0.8);
    color: #1a1b18;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    text-align: center;
    font-family: inherit;
    opacity: 0.4;
}

.axor-cart-drawer__checkout {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px;
    background: rgba(227, 30, 36, 0.8);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid var(--axor-accent);
    font-family: inherit;
}

.axor-cart-drawer__continue {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 40px);
    margin: 10px auto 16px;
    padding: 14px 16px;
    background: rgba(26, 27, 24, 0.7);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid #1a1b18;
    cursor: pointer;
}

/* Loading state for items */
.axor-cart-drawer__item.is-loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Cart Drawer - Responsive */
@media (max-width: 480px) {
    .axor-cart-drawer__panel {
        width: 100%;
    }

    .axor-cart-drawer__actions {
        flex-direction: column;
        gap: 8px;
    }

    .axor-cart-drawer__goto-cart,
    .axor-cart-drawer__checkout {
        padding: 12px 16px;
        font-size: 14px;
    }
}

/* MailPoet Subscription Pages (confirm, unsubscribe, manage) */
body.single-mailpoet_page .entry-meta,
body.single-mailpoet_page .post-navigation,
body.single-mailpoet_page .ast-single-post-order {
    display: none !important;
}

body.single-mailpoet_page .entry-title {
    font-size: 28px;
    font-weight: 700;
    color: #1a1b18;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 16px;
}

body.single-mailpoet_page .entry-content {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    max-width: 600px;
}

/* =========================================================================
   Content Pages (Terms, Privacy Policy, etc.)
   ========================================================================= */

/* Global: zero spacing on #primary — pages that need a gap add it on their own content wrapper.
   !important to override Astra's .ast-page-builder-template .site-content #primary { margin: 0 } */
#primary {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Reset #main bottom spacing */
#main,
.site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Content pages (Terms, Privacy, Contact, etc.) — 32px gap via article wrapper */
body.page:not(.woocommerce-page) article.page,
body.page:not(.woocommerce-page) article.type-page {
    max-width: 1200px;
    margin: 32px auto;
    padding: 0 20px;
}

/* Page title */
body.page:not(.woocommerce-page) .entry-title,
body.page:not(.woocommerce-page) h1.entry-title {
    font-size: 40px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 32px 0;
}

/* Content area */
body.page:not(.woocommerce-page) .entry-content {
    font-size: 20px;
    line-height: 1.75;
    color: #444;
}

/* Paragraphs — 16px minimum for body copy per readability audit */
body.page:not(.woocommerce-page) .entry-content p {
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 20px 0;
    text-align: justify;
}

.axor-product-description p,
.axor-short-description p {
    font-size: 16px;
    line-height: 1.6;
}

/* Headings */
body.page:not(.woocommerce-page) .entry-content h2 {
    font-size: 22px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 48px 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

body.page:not(.woocommerce-page) .entry-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 40px 0 14px 0;
}

body.page:not(.woocommerce-page) .entry-content h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1A1B18;
    margin: 32px 0 12px 0;
}

/* First heading right after title - reduce top margin */
body.page:not(.woocommerce-page) .entry-content > h2:first-child,
body.page:not(.woocommerce-page) .entry-content > h3:first-child {
    margin-top: 0;
}

/* Links */
body.page:not(.woocommerce-page) .entry-content a {
    color: var(--axor-accent);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

body.page:not(.woocommerce-page) .entry-content a:hover {
    color: var(--axor-accent-dark);
    text-decoration: underline;
}

/* Lists */
body.page:not(.woocommerce-page) .entry-content ul,
body.page:not(.woocommerce-page) .entry-content ol {
    margin: 0 0 24px 0;
    padding-left: 24px;
}

body.page:not(.woocommerce-page) .entry-content li {
    margin-bottom: 10px;
    line-height: 1.7;
    text-align: justify;
}

body.page:not(.woocommerce-page) .entry-content ul li {
    list-style-type: disc;
}

body.page:not(.woocommerce-page) .entry-content ul li::marker {
    color: #1A1B18;
}

/* Strong/bold text */
body.page:not(.woocommerce-page) .entry-content strong {
    color: #1A1B18;
    font-weight: 600;
}

/* Hide entry meta (author, date, etc.) */
body.page:not(.woocommerce-page) .entry-meta,
body.page:not(.woocommerce-page) .entry-footer,
body.page:not(.woocommerce-page) .post-navigation {
    display: none;
}

/* Responsive */
@media (max-width: 768px) {
    body.page:not(.woocommerce-page) article.page,
    body.page:not(.woocommerce-page) article.type-page {
        padding: 0 10px 0;
    }

    body.page:not(.woocommerce-page) .entry-title,
    body.page:not(.woocommerce-page) h1.entry-title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    body.page:not(.woocommerce-page) .entry-content {
        font-size: 16px;
    }

    body.page:not(.woocommerce-page) .entry-content h2 {
        font-size: 19px;
        margin-top: 36px;
    }

    body.page:not(.woocommerce-page) .entry-content h3 {
        font-size: 16px;
        margin-top: 32px;
    }

    body.page:not(.woocommerce-page) .entry-content p {
        text-align: left;
    }

    body.page:not(.woocommerce-page) .entry-content li {
        text-align: left;
    }
}

@media (max-width: 480px) {
    body.page:not(.woocommerce-page) .ast-container {
        padding-left: 0;
        padding-right: 0;
    }

    body.page:not(.woocommerce-page) article.page,
    body.page:not(.woocommerce-page) article.type-page {
        padding: 0 10px 0;
    }

    body.page:not(.woocommerce-page) .entry-title,
    body.page:not(.woocommerce-page) h1.entry-title {
        font-size: 24px;
    }
}

/* =========================================================================
   Contact Page - Two-Column Layout + Contact Form 7
   ========================================================================= */

/* Two-column layout wrapper */
.axor-contact-layout {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

/* Left column: contact info */
.axor-contact-layout__info {
    flex: 0 0 280px;
    position: sticky;
    top: 120px;
}

.axor-contact-layout__info p {
    text-align: left !important;
}

.axor-contact-layout__info h2 {
    font-size: 18px;
    font-weight: 700;
    color: #1A1B18;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 24px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e5e5;
}

.axor-contact-layout__info .axor-contact-hours {
    font-size: 14px;
    color: #888;
    margin-bottom: 24px;
    line-height: 1.6;
}

.axor-contact-layout__info .axor-contact-detail {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 15px;
    color: #444;
}

.axor-contact-layout__info .axor-contact-detail svg {
    flex-shrink: 0;
    color: var(--axor-accent);
}

.axor-contact-layout__info .axor-contact-detail a {
    color: #1A1B18;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.axor-contact-layout__info .axor-contact-detail a:hover {
    color: var(--axor-accent);
}

.axor-contact-layout__info .axor-contact-social {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5e5e5;
}

.axor-contact-layout__info .axor-contact-social a {
    color: #1A1B18;
    transition: color 0.2s ease;
}

.axor-contact-layout__info .axor-contact-social a:hover {
    color: var(--axor-accent);
}

/* Right column: form */
.axor-contact-layout__form {
    flex: 1;
    min-width: 0;
}

/* CF7 form styles - override Astra's CF7 compatibility CSS */
.wpcf7 {
    max-width: 100%;
}

body.page:not(.woocommerce-page) .entry-content .wpcf7 form p,
.wpcf7 form > p,
.wpcf7 form > div {
    text-align: left !important;
}

/* Consistent vertical spacing between all form fields */
.wpcf7 form > p,
.wpcf7 form > .axor-form-row {
    margin-bottom: 20px !important;
}

.axor-form-row > p {
    margin-bottom: 0 !important;
}

/* Hide CF7's auto-inserted <br> between label and input */
.wpcf7 form p br {
    display: none !important;
}

/* Labels - exact match to .woocommerce-account .form-row label */
.wpcf7 form p label {
    display: block !important;
    margin: 0 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #1a1b18 !important;
}

/* Required asterisk color */
.wpcf7 form p label .wpcf7-required {
    color: var(--axor-accent) !important;
}

/* Inputs - override Astra's .wpcf7 input:not([type=submit]) */
.wpcf7 input:not([type="submit"]),
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"] {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: #1a1b18 !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
}

.wpcf7 input:not([type="submit"]):focus,
.wpcf7 form input[type="text"]:focus,
.wpcf7 form input[type="email"]:focus,
.wpcf7 form input[type="tel"]:focus {
    outline: none !important;
    border-color: #1a1b18 !important;
    box-shadow: none !important;
    background: #fff !important;
}

/* Textarea - override Astra's .wpcf7 textarea */
.wpcf7 textarea,
.wpcf7 form textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: #1a1b18 !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    resize: vertical !important;
    min-height: 160px !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
}

.wpcf7 textarea:focus,
.wpcf7 form textarea:focus {
    outline: none !important;
    border-color: #1a1b18 !important;
    box-shadow: none !important;
    background: #fff !important;
}

/* Name fields side by side */
.axor-form-row {
    display: flex;
    gap: 20px;
}

.axor-form-row > p {
    flex: 1;
}

/* Submit button - match .woocommerce-account button[type="submit"] */
.wpcf7 form input[type="submit"],
.wpcf7 form .wpcf7-submit {
    display: inline-block !important;
    padding: 16px 40px !important;
    margin-bottom: 0 !important;
    background: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.wpcf7 form input[type="submit"]:hover,
.wpcf7 form .wpcf7-submit:hover {
    opacity: 1 !important;
}

/* Center submit button container */
.wpcf7 form p:last-of-type {
    margin-bottom: 0 !important;
    text-align: center;
}

/* Button sizing handled by flex row — no forced width */

.wpcf7-spinner {
    display: none !important;
}

/* Loading state on submit button while form submits */
.wpcf7 form.submitting .wpcf7-submit {
    pointer-events: none !important;
    opacity: 0.6 !important;
}

/* Spinner overlay added by JS (input elements can't have ::before) */
.axor-cf7-submit-wrap {
    display: inline-block;
    position: relative;
}

.axor-cf7-submit-wrap .axor-cf7-spinner {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: axor-spinner 0.7s linear infinite;
    z-index: 2;
}

.wpcf7 form.submitting .axor-cf7-submit-wrap .wpcf7-submit {
    color: transparent !important;
}

.wpcf7 form.submitting .axor-cf7-submit-wrap .axor-cf7-spinner {
    display: block;
}

.wpcf7 form.init .wpcf7-response-output {
    display: none;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
    display: block !important;
}

/* Validation errors */
.wpcf7-not-valid-tip {
    color: var(--axor-accent);
    font-size: 12px;
    margin-top: 4px;
    display: block;
}

.wpcf7-not-valid {
    border-color: var(--axor-accent) !important;
}

/* Submit row: button + response inline via JS (response moved into submit p) */
.axor-cf7-submit-row {
    display: flex !important;
    align-items: center;
    gap: 16px;
    margin-bottom: 0 !important;
}

.axor-cf7-submit-row .axor-cf7-submit-wrap {
    flex-shrink: 0;
}

.axor-cf7-submit-row .wpcf7-response-output {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-size: 14px;
    flex: 1;
    min-width: 0;
}

.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #4CAF50 !important;
    color: #2e7d32;
    background: #f1f8e9;
}

.wpcf7-validation-errors,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: var(--axor-accent) !important;
    color: var(--axor-accent);
    background: #fff8f5;
}

.wpcf7 form.failed .wpcf7-response-output {
    border-color: #c62828 !important;
    color: #c62828;
    background: #fde8e8;
}

/* Spinner — hidden, replaced by button loading state above */

/* Contact page needs wider container */
.axor-contact-layout .wpcf7-form p,
.axor-contact-layout__info p {
    font-size: 15px;
}

/* Responsive */
@media (max-width: 768px) {
    .axor-contact-layout {
        flex-direction: column;
        gap: 32px;
    }

    .axor-contact-layout__info {
        flex: none;
        width: 100%;
        position: static;
    }

    .axor-contact-layout__form {
        width: 100%;
    }

    .axor-form-row {
        flex-direction: column;
        gap: 20px;
    }

    .wpcf7-form input[type="submit"],
    .wpcf7-form .wpcf7-submit {
        width: auto !important;
        text-align: center;
        margin-bottom: 0;
    }
}

/* =========================================================================
   CookieYes Consent Banner - Override inline styles
   ========================================================================= */

/* Banner container */
.cky-consent-container .cky-consent-bar {
    background: #fff !important;
    border-top: 1px solid #e5e5e5 !important;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08) !important;
    font-family: inherit !important;
    bottom: 30px !important;
}

/* Banner text */
.cky-consent-bar .cky-notice .cky-title {
    color: #1a1b18 !important;
    font-weight: 700 !important;
}

.cky-consent-bar .cky-notice-des {
    color: #333 !important;
    font-size: 13px !important;
}

/* Links and "Prikaži više" button - orange */
.cky-consent-bar .cky-notice-des a,
.cky-consent-bar .cky-notice .cky-policy a {
    color: var(--axor-accent) !important;
}

button.cky-show-desc-btn {
    color: var(--axor-accent) !important;
}

/* All buttons base - banner + modal */
.cky-consent-bar .cky-notice-btn-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 5px !important;
}

.cky-preference-center .cky-prefrence-btn-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
}

.cky-consent-bar .cky-btn,
.cky-preference-center .cky-footer-wrapper .cky-btn {
    border-radius: 0 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    flex: 1 1 0 !important;
    transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease !important;
}

/* Accept All - primary dark button */
.cky-consent-bar .cky-btn-accept,
.cky-preference-center .cky-footer-wrapper .cky-btn-accept {
    background: rgba(26, 27, 24, 0.7) !important;
    color: #fff !important;
    border: 1px solid #1a1b18 !important;
}

/* Reject + Customize + Preferences - outline with dark border/text */
.cky-consent-bar .cky-btn-reject,
.cky-consent-bar .cky-btn-customize,
.cky-preference-center .cky-footer-wrapper .cky-btn-reject,
.cky-preference-center .cky-footer-wrapper .cky-btn-preferences {
    background: rgba(255, 255, 255, 0.8) !important;
    color: #1a1b18 !important;
    border: 1px solid #1a1b18 !important;
    opacity: 0.4;
}

/* Preference modal header */
.cky-preference-center .cky-preference-header {
    background: #1a1b18 !important;
}

.cky-preference-center .cky-preference-header .cky-preference-title {
    color: #fff !important;
}

/* Close button - white */
.cky-preference-center .cky-preference-header .cky-btn-close {
    opacity: 0.9 !important;
}

.cky-preference-center .cky-preference-header .cky-btn-close img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.9 !important;
}

/* Toggle switch - orange accent */
.cky-preference-center .cky-switch input:checked + .cky-slider {
    background-color: var(--axor-accent) !important;
}

/* Revisit consent button - raise from default 15px */
.cky-revisit-bottom-right {
    bottom: 20px !important;
}

/* Cookie consent mobile fixes */
@media (max-width: 480px) {
    /* Banner: flush to bottom, no gaps */
    .cky-consent-container .cky-consent-bar {
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }

    .cky-consent-bar .cky-notice .cky-title {
        font-size: 16px !important;
    }

    .cky-consent-bar .cky-notice-des {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .cky-consent-bar .cky-notice-btn-wrapper {
        flex-direction: row !important;
        gap: 8px !important;
    }

    .cky-consent-bar .cky-btn {
        font-size: 11px !important;
        padding: 10px 0 !important;
        letter-spacing: 0.5px !important;
    }

    /* Preference modal: fit viewport, always fully visible */
    .cky-preference-center .cky-preference-wrapper {
        max-width: 100vw !important;
        width: 100% !important;
        max-height: 85vh !important;
        margin: auto !important;
        border-radius: 0 !important;
        position: fixed !important;
        top: 50% !important;
        left: 0 !important;
        transform: translateY(-50%) !important;
    }

    .cky-preference-center .cky-preference-body-wrapper {
        padding: 16px !important;
        overflow-x: hidden !important;
    }

    .cky-preference-center .cky-preference-content-wrapper {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .cky-preference-center .cky-preference-content-wrapper p,
    .cky-preference-center .cky-accordion .cky-accordion-body p {
        font-size: 13px !important;
        line-height: 1.5 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    .cky-preference-center .cky-prefrence-btn-wrapper {
        gap: 8px !important;
        padding: 12px 16px !important;
    }

    .cky-preference-center .cky-footer-wrapper .cky-btn {
        font-size: 11px !important;
        padding: 10px 0 !important;
    }
}

/* Turnstile widget spacing — match the inter-field gap (20px) of the form.
   Higher specificity (form > div) is needed to beat CF7's built-in
   .wpcf7 form > div { margin-bottom: 1.2em } rule. */
.wpcf7 form > div.wpcf7-turnstile {
    margin: 0 0 20px;
}

/* Hide cookie consent when cart drawer or mobile menu is open */
body.axor-cart-drawer-open .cky-consent-container,
body.axor-cart-drawer-open .cky-revisit-bottom-right,
body.menu-open .cky-consent-container,
body.menu-open .cky-revisit-bottom-right,
body.filter-drawer-open .cky-consent-container,
body.filter-drawer-open .cky-revisit-bottom-right {
    display: none !important;
}

/* Hide scroll-to-top when filter drawer is open */
body.filter-drawer-open #ast-scroll-top {
    display: none !important;
}

/* Scroll-to-top button — must sit above the mobile filter bar
   (which has z-index: 100 on sticky context). Astra's default is
   z-index: 99, so it gets buried behind the bar on 481–768 viewports
   unless we override it. Scoped to ≤768 to cover the entire filter-bar
   breakpoint, not just ≤480. */
@media (max-width: 768px) {
    #ast-scroll-top {
        z-index: 999 !important;
    }
}

/* Scroll-to-top button — tighter position on small mobile */
@media (max-width: 480px) {
    #ast-scroll-top {
        right: 16px !important;
        bottom: 16px !important;
    }

    /* Hide cookie revisit button on mobile — accessible via footer link */
    .cky-revisit-bottom-right {
        display: none !important;
    }

}

/* ==========================================================================
   Rasprodaja (Sale) Page
   ========================================================================== */

main.axor-sale-page#primary {
    background: #fff;
    padding: 2em 20px 30px !important;
    margin: 0 !important;
    width: 100% !important;
}

.axor-sale-page__header {
    text-align: center;
}

.axor-sale-page__subtitle {
    font-size: 16px;
    color: #666;
    margin-top: -40px;
    margin-bottom: 40px;
}

.axor-sale-page__empty {
    text-align: center;
    padding: 80px 20px;
    font-size: 16px;
    color: #666;
}

@media (max-width: 1024px) {
    .axor-sale-page {
        padding: 20px;
    }

    .axor-sale-page__subtitle {
        margin-top: -20px;
        margin-bottom: 24px;
    }
}

@media (max-width: 600px) {
    .axor-sale-page {
        padding: 20px 15px;
    }

    .axor-sale-page__subtitle {
        font-size: 14px;
        margin-top: -12px;
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .axor-sale-page {
        padding: 16px 8px;
    }
}

/* Red "Rasprodaja" menu item — var(--axor-accent) passes WCAG AA on dark bg */
.axor-nav-menu > li.menu-item--sale > a {
    color: var(--axor-accent) !important;
}

.axor-nav-menu > li.menu-item--sale > a:hover {
    color: var(--axor-accent-dark) !important;
}
