/**
 * Aitken Arms - Custom Styles
 *
 * @package storefront-child
 */

/* ==========================================================================
   CSS Custom Properties (Variables)
   ========================================================================== */

:root {
    /* Brand Colors */
    --aa-primary: #1a1a1a;
    --aa-primary-light: #2d2d2d;
    --aa-secondary: #3d3d3d;
    --aa-secondary-light: #444444;
    --aa-accent: #c9a227;
    --aa-accent-dark: #a68821;
    --aa-text: #e7e7e7;
    --aa-text-light: #b9b9b9;
    --aa-text-muted: #a3a3a3;
    --aa-text-white: #ffffff;
    --aa-background: #1a1a1a;
    --aa-background-alt: #a3a3a3;
    --aa-background-dark: #3d3d3d;
    --aa-background-light: #ffffff;
    --aa-background-gray-light: #f5f5f5;
    --aa-border: #e0e0e0;
    --aa-border-dark: #4a4a4a;
    --aa-border-muted: #333333;
    --aa-success: #28a745;
    --aa-error: #dc3545;

    /* Typography */
    --aa-font-primary: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --aa-font-heading: Georgia, 'Times New Roman', serif;

    /* Spacing */
    --aa-spacing-xs: 0.5rem;
    --aa-spacing-sm: 1rem;
    --aa-spacing-md: 1.5rem;
    --aa-spacing-lg: 2rem;
    --aa-spacing-xl: 3rem;
    --aa-spacing-xxl: 5rem;

    /* Border Radius */
    --aa-radius-sm: 3px;
    --aa-radius-md: 5px;
    --aa-radius-lg: 8px;

    /* Transitions */
    --aa-transition: 0.3s ease;
    --aa-transition-fast: 0.15s ease;

    /* Shadows */
    --aa-shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
    --aa-shadow-md: 0 4px 12px rgba(0,0,0,0.15);
    --aa-shadow-lg: 0 8px 24px rgba(0,0,0,0.2);
}

/* ==========================================================================
   Base Styles & Overrides
   ========================================================================== */

body {
    font-family: var(--aa-font-primary);
    color: var(--aa-text);
    line-height: 1.6;
}

/* ==========================================================================
   Hide Page Titles on Specific Pages
   ========================================================================== */

/* Shop page */
body.woocommerce-shop .entry-title,
body.woocommerce-shop .page-title,
body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .entry-title,
body.post-type-archive-product .page-title,
body.post-type-archive-product .woocommerce-products-header__title,
/* Blog page */
body.blog .page-title,
body.blog .entry-title,
/* My Account page */
body.woocommerce-account .entry-title,
body.woocommerce-account .page-title,
/* Cart page */
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
/* About Us page */
body.page-slug-about-us .entry-title,
body.page-slug-about-us .page-title,
body.page-about-us .entry-title,
body.page-about-us .page-title,
body.page-id-653 .entry-title,
body.page-id-653 .page-title,
/* Terms & Conditions page */
body.page-slug-terms-conditions .entry-title,
body.page-slug-terms-conditions .page-title,
body.page-terms-conditions .entry-title,
body.page-terms-conditions .page-title,
/* Shipping & Returns page */
body.page-slug-shipping-returns .entry-title,
body.page-slug-shipping-returns .page-title,
body.page-shipping-returns .entry-title,
body.page-shipping-returns .page-title {
    display: none !important;
}

/* Collapse title containers to remove whitespace */
body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header,
body.woocommerce-shop .page-header,
body.post-type-archive-product .page-header,
body.woocommerce-shop .entry-header,
body.post-type-archive-product .entry-header,
body.blog .page-header,
body.blog .entry-header,
body.woocommerce-account .entry-header,
body.woocommerce-account .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-header,
body.page-slug-about-us .entry-header,
body.page-slug-about-us .page-header,
body.page-about-us .entry-header,
body.page-about-us .page-header,
body.page-id-653 .entry-header,
body.page-id-653 .page-header,
/* Terms & Conditions page */
body.page-slug-terms-conditions .entry-header,
body.page-slug-terms-conditions .page-header,
body.page-terms-conditions .entry-header,
body.page-terms-conditions .page-header,
/* Shipping & Returns page */
body.page-slug-shipping-returns .entry-header,
body.page-slug-shipping-returns .page-header,
body.page-shipping-returns .entry-header,
body.page-shipping-returns .page-header {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* About Us page - override all width constraints */
body.page-id-653 #primary,
body.page-id-653 .site-main,
body.page-id-653 .hentry,
body.page-id-653 article {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.page-id-653 .entry-content,
body.page-id-653 .entry-content.entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.page-id-653 .wp-block-group,
body.page-id-653 .wp-block-group.is-layout-constrained,
body.page-id-653 .is-layout-constrained {
    max-width: 100% !important;
    width: 100% !important;
}

body.page-id-653 .wp-block-group > * {
    max-width: 100% !important;
}

/* ==========================================================================
   About Us Page - Founder Section (Upper)
   ========================================================================== */

.aa-about-section,
.aa-about-section.wp-block-group,
.aa-about-section.wp-block-group.is-layout-constrained {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 100px 0 100px !important;
}

.aa-about-section > .wp-block-columns,
.aa-about-section > .wp-block-columns.are-vertically-aligned-center {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aa-about-section .aa-founder-image,
.aa-about-section .aa-founder-image.wp-block-column {
    flex: 0 0 500px !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aa-about-section .aa-founder-image figure,
.aa-about-section .aa-founder-image .wp-block-image {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.aa-about-section .aa-founder-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}

.aa-about-section .aa-founder-text,
.aa-about-section .aa-founder-text.wp-block-column {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 600px !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   About Us Page - Veteran Owned Section (Lower)
   ========================================================================== */

.aa-veteran-section .wp-block-columns {
    width: 750px !important;
    margin: 50px auto 0 auto !important;
}

.aa-veteran-text-container {
    width: 450px !important;
    text-align: left !important;
}

.aa-veteran-text-container p {
    text-align: left !important;
}

.aa-veteran-image-container {
    width: 300px !important;
}

.col-full {
    max-width: 1400px;
    padding-left: 20px;
    padding-right: 20px;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.aa-btn {
    display: inline-block;
    padding: 14px 32px;
    font-family: var(--aa-font-primary);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: var(--aa-radius-sm);
    cursor: pointer;
    transition: var(--aa-transition);
    text-align: center;
}

.aa-btn--primary {
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    border-color: var(--aa-accent);
}

.aa-btn--primary:hover {
    background-color: var(--aa-accent-dark);
    border-color: var(--aa-accent-dark);
    color: var(--aa-primary);
}

.aa-btn--secondary {
    background-color: var(--aa-primary);
    color: var(--aa-text-inverse);
    border-color: var(--aa-primary);
}

.aa-btn--secondary:hover {
    background-color: var(--aa-secondary);
    border-color: var(--aa-secondary);
}

.aa-btn--outline {
    background-color: transparent;
    color: var(--aa-primary);
    border-color: var(--aa-primary);
}

.aa-btn--outline:hover {
    background-color: var(--aa-primary);
    color: var(--aa-text-inverse);
}

.aa-btn--small {
    padding: 10px 20px;
    font-size: 12px;
}

.aa-btn--large {
    padding: 18px 40px;
    font-size: 16px;
}

/* ==========================================================================
   Section Titles
   ========================================================================== */

.aa-section-title {
    font-family: var(--aa-font-heading);
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--aa-accent);
    text-align: center;
    margin-bottom: var(--aa-spacing-sm);
}

.aa-section-subtitle {
    font-size: 1.1rem;
    color: var(--aa-accent-dark);
    text-align: center;
    margin-bottom: var(--aa-spacing-xl);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.aa-hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--aa-primary) 0%, var(--aa-primary-light) 50%, var(--aa-primary) 100%);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.aa-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.4) 100%);
}

.aa-hero__content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: var(--aa-spacing-xl);
    max-width: 900px;
}

/* Site Branding with Logo */
.site-branding {
    display: flex !important;
    align-items: center !important;
    gap: var(--aa-spacing-sm);
}

.aa-site-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.aa-site-logo__img,
.site-header .site-branding .aa-site-logo__img,
.site-header .site-branding img.aa-site-logo__img {
    height: 100px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    display: block;
}

.aa-site-identity {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.aa-site-identity .beta.site-title,
.site-branding .beta.site-title {
    margin: 0;
    line-height: 1.2;
}

.aa-site-identity .beta.site-title a,
.site-branding .beta.site-title a {
    color: var(--aa-text-white) !important;
    text-decoration: none;
}

.aa-site-identity .site-description,
.site-branding .site-description {
    margin: 0;
    font-size: 1.5em;
    line-height: 1.3;
}

@media (max-width: 767px) {
    /* Reduce header to hero spacing on mobile */
    .site-header,
    #masthead.site-header {
        margin-bottom: 10px !important;
    }

    /* Reduce ALL .col-full margin AND padding site-wide on mobile */
    /* Storefront uses margin (not padding) on mobile for .col-full */
    .col-full {
        margin-left: 5px !important;
        margin-right: 5px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Remove any margin on site-branding */
    .site-branding,
    #masthead .site-branding,
    .site-header .site-branding {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    /* Left-align the logo */
    .aa-site-logo {
        flex-shrink: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .aa-site-logo__img,
    .site-header .site-branding .aa-site-logo__img,
    .site-header .site-branding img.aa-site-logo__img {
        height: 48px !important;
    }

    .aa-site-identity {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    /* Prevent title from wrapping */
    .aa-site-identity .beta.site-title,
    .site-branding .beta.site-title,
    .site-branding .site-title {
        font-size: 1.4rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    /* Show the tagline on mobile */
    .aa-site-identity .site-description,
    .site-branding .site-description {
        display: block !important;
        font-size: 0.7rem !important;
        line-height: 1.2 !important;
        color: var(--aa-text-light) !important;
        margin-top: 2px !important;
        white-space: nowrap !important;
    }
}

.aa-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    padding: 8px 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--aa-spacing-lg);
}

.aa-hero__badge-icon {
    font-size: 14px;
}

.aa-hero__title {
    font-family: var(--aa-font-heading);
    font-size: 4rem;
    font-weight: 400;
    color: var(--aa-text-inverse);
    line-height: 1.1;
    margin-bottom: var(--aa-spacing-md);
}

.aa-hero__subtitle {
    font-size: 1.25rem;
    color: rgba(255,255,255,0.85);
    margin-bottom: var(--aa-spacing-xl);
    line-height: 1.8;
}

.aa-hero__cta {
    display: flex;
    gap: var(--aa-spacing-md);
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: var(--aa-spacing-xl);
}

.aa-hero__features {
    display: flex;
    gap: var(--aa-spacing-xl);
    justify-content: center;
    flex-wrap: wrap;
}

.aa-hero__feature {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.7);
    font-size: 14px;
}

.aa-hero__feature-icon {
    color: var(--aa-accent);
    font-weight: bold;
}

/* ==========================================================================
   Trust Bar
   ========================================================================== */

.aa-trust-bar {
    background-color: var(--aa-primary);
    padding: var(--aa-spacing-md) 0;
}

.aa-trust-bar__items {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: var(--aa-spacing-md);
}

.aa-trust-bar__item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--aa-text-inverse);
    font-size: 14px;
    font-weight: 500;
}

.aa-trust-bar__icon {
    font-size: 20px;
    color: var(--aa-accent);
}

/* ==========================================================================
   Categories Section
   ========================================================================== */

.aa-categories {
    padding: var(--aa-spacing-xxl) 0;
    background-color: var(--aa-background);
}

.aa-categories__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--aa-spacing-md);
}

.aa-category-card {
    position: relative;
    height: 300px;
    overflow: hidden;
    text-decoration: none;
    border-radius: var(--aa-radius-md);
}

.aa-category-card__image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--aa-primary-light);
    background-size: cover;
    background-position: center;
    transition: transform var(--aa-transition);
}

.aa-category-card:hover .aa-category-card__image {
    transform: scale(1.05);
}

.aa-category-card__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 100%);
    transition: var(--aa-transition);
}

.aa-category-card:hover .aa-category-card__overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 100%);
}

.aa-category-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--aa-spacing-lg);
    color: var(--aa-text-inverse);
}

.aa-category-card__title {
    font-family: var(--aa-font-heading);
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 5px;
}

.aa-category-card__desc {
    font-size: 14px;
    opacity: 0.8;
    margin: 0;
}

.aa-category-card--featured {
    border: 2px solid var(--aa-accent);
}

.aa-category-card--featured .aa-category-card__title::after {
    content: ' ★';
    color: var(--aa-accent);
}

/* ==========================================================================
   Flagship Product Section
   ========================================================================== */

.aa-flagship {
    padding: var(--aa-spacing-xxl) 0;
    padding-left: 100px;
    background-color: var(--aa-background-dark);
}

.aa-flagship__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--aa-spacing-xxl);
    align-items: center;
}

.aa-flagship__label {
    display: inline-block;
    background-color: var(--aa-accent);
    color: #3d3d3d;
    padding: 6px 16px;
    font-family: var(--aa-font-heading);
    font-size: 3.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--aa-spacing-md);
    white-space: nowrap;
}

.aa-flagship__title {
    color: var(--aa-text);
    font-family: var(--aa-font-heading);
    font-size: 3.5rem;
    font-weight: 400;
    margin-bottom: var(--aa-spacing-md);
}

.aa-flagship__desc {
    color: var(--aa-text-light);
    font-size: 1.1rem;
    margin-bottom: var(--aa-spacing-lg);
    line-height: 1.8;
}

.aa-flagship__features {
    color: var(--aa-text-accent);
    list-style: none;
    padding: 0;
    margin: 0 0 var(--aa-spacing-lg) 0;
}

.aa-flagship__features li {
    padding: 10px 0;
    border-bottom: 1px solid var(--aa-border);
    font-size: 15px;
}

.aa-flagship__features li:last-child {
    border-bottom: none;
}

.aa-flagship__cta {
    display: flex;
    gap: var(--aa-spacing-md);
    flex-wrap: wrap;
}

.aa-flagship__image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.aa-flagship__image-placeholder {
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, var(--aa-primary-light) 0%, var(--aa-primary) 100%);
    border-radius: var(--aa-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aa-accent);
    font-family: var(--aa-font-heading);
    font-size: 3rem;
    box-shadow: var(--aa-shadow-lg);
}

/* ==========================================================================
   Products Section
   ========================================================================== */

.aa-products {
    padding: var(--aa-spacing-xxl) 0;
    background-color: var(--aa-background);
}

.aa-products__placeholder {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--aa-spacing-lg);
}

.aa-product-placeholder {
    background-color: var(--aa-background);
    border: 1px solid var(--aa-border);
    border-radius: var(--aa-radius-md);
    padding: var(--aa-spacing-md);
    text-align: center;
    transition: var(--aa-transition);
}

.aa-product-placeholder:hover {
    box-shadow: var(--aa-shadow-md);
    transform: translateY(-4px);
}

.aa-product-placeholder__image {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, var(--aa-border) 0%, var(--aa-background-gray-light) 100%);
    border-radius: var(--aa-radius-sm);
    margin-bottom: var(--aa-spacing-md);
}

.aa-product-placeholder__title {
    font-family: var(--aa-font-heading);
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--aa-primary);
    margin-bottom: 5px;
}

.aa-product-placeholder__meta {
    font-size: 13px;
    color: var(--aa-text-light);
    margin-bottom: var(--aa-spacing-sm);
}

.aa-product-placeholder__price {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--aa-primary);
    margin-bottom: var(--aa-spacing-md);
}

.aa-products__cta {
    text-align: center;
    margin-top: var(--aa-spacing-xl);
}

.aa-products__notice {
    text-align: center;
    padding: var(--aa-spacing-xl);
    background-color: var(--aa-background-alt);
    border-radius: var(--aa-radius-md);
    color: var(--aa-text-light);
}

/* ==========================================================================
   Founder Section
   ========================================================================== */

.aa-founder {
    padding: var(--aa-spacing-xxl) 0;
    background-color: var(--aa-background);
}

.aa-founder .aa-section-title {
    color: var(--aa-accent);
    text-align: center;
    margin-bottom: var(--aa-spacing-xl);
}

.aa-founder__content {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: var(--aa-spacing-xxl);
    align-items: center;
}

.aa-founder__image {
    position: relative;
}

.aa-founder__image-placeholder {
    width: 100%;
    height: 500px;
    background: linear-gradient(135deg, var(--aa-border-muted) 0%, var(--aa-secondary-light) 100%);
    border-radius: var(--aa-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aa-text-inverse);
    font-family: var(--aa-font-heading);
    font-size: 1.5rem;
}

.aa-founder__badge {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    padding: 10px 24px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
}

.aa-founder__label {
    display: inline-block;
    color: var(--aa-accent);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--aa-spacing-sm);
}

.aa-founder__title {
    font-family: var(--aa-font-heading);
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--aa-text);
    margin-bottom: var(--aa-spacing-md);
}

.aa-founder__bio {
    color: rgba(255,255,255,0.8);
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: var(--aa-spacing-md);
}

.aa-founder__quote {
    border-left: 3px solid var(--aa-accent);
    padding-left: var(--aa-spacing-md);
    margin: var(--aa-spacing-lg) 0;
    font-style: italic;
    color: var(--aa-text-inverse);
    font-size: 1.15rem;
}

.aa-founder .aa-btn--outline {
    color: var(--aa-text-inverse);
    border-color: var(--aa-text-inverse);
}

.aa-founder .aa-btn--outline:hover {
    background-color: var(--aa-text-inverse);
    color: var(--aa-primary);
}

/* ==========================================================================
   Subscription Section
   ========================================================================== */

.aa-subscription {
    padding: var(--aa-spacing-xxl) 0;
    background: linear-gradient(135deg, var(--aa-accent) 0%, var(--aa-accent-dark) 100%);
}

.aa-subscription__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--aa-spacing-xxl);
    align-items: center;
}

.aa-subscription__label {
    display: inline-block;
    background-color: var(--aa-primary);
    color: var(--aa-text-inverse);
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--aa-spacing-md);
}

.aa-subscription__title {
    font-family: var(--aa-font-heading);
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--aa-primary);
    margin-bottom: var(--aa-spacing-md);
}

.aa-subscription__desc {
    font-size: 1.1rem;
    color: var(--aa-primary);
    opacity: 0.9;
    margin-bottom: var(--aa-spacing-lg);
}

.aa-subscription__tiers {
    display: flex;
    gap: var(--aa-spacing-md);
}

.aa-subscription__tier {
    background-color: rgba(255,255,255,0.2);
    padding: var(--aa-spacing-md);
    border-radius: var(--aa-radius-md);
    text-align: center;
    flex: 1;
}

.aa-subscription__tier--featured {
    background-color: var(--aa-primary);
}

.aa-subscription__tier-name {
    display: block;
    font-weight: 700;
    color: var(--aa-primary);
    margin-bottom: 5px;
}

.aa-subscription__tier--featured .aa-subscription__tier-name {
    color: var(--aa-accent);
}

.aa-subscription__tier-detail {
    font-size: 13px;
    color: var(--aa-primary);
    opacity: 0.8;
}

.aa-subscription__tier--featured .aa-subscription__tier-detail {
    color: var(--aa-text-inverse);
}

.aa-subscription__form {
    background-color: var(--aa-background);
    padding: var(--aa-spacing-xl);
    border-radius: var(--aa-radius-lg);
    text-align: center;
}

.aa-subscription__form h3 {
    font-family: var(--aa-font-heading);
    font-size: 1.5rem;
    color: var(--aa-primary);
    margin-bottom: var(--aa-spacing-md);
}

.aa-subscription__signup {
    display: flex;
    gap: var(--aa-spacing-sm);
}

.aa-subscription__signup input {
    flex: 1;
    padding: 14px 18px;
    border: 2px solid var(--aa-border);
    border-radius: var(--aa-radius-sm);
    font-size: 15px;
}

.aa-subscription__signup input:focus {
    outline: none;
    border-color: var(--aa-accent);
}

.aa-subscription__note {
    font-size: 13px;
    color: var(--aa-text-light);
    margin-top: var(--aa-spacing-sm);
    margin-bottom: 0;
}

/* ==========================================================================
   Calibers Section
   ========================================================================== */

.aa-calibers {
    padding: var(--aa-spacing-xxl) 0;
    background-color: var(--aa-background-dark);
}

.aa-calibers__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--aa-spacing-md);
}

.aa-caliber-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--aa-spacing-lg);
    background-color: var(--aa-background-alt);
    border: 2px solid transparent;
    border-radius: var(--aa-radius-md);
    text-decoration: none;
    text-align: center;
    transition: var(--aa-transition);
}

.aa-caliber-card:hover {
    border-color: var(--aa-accent);
    transform: translateY(-4px);
    box-shadow: var(--aa-shadow-md);
}

.aa-caliber-card--featured {
    background-color: var(--aa-primary);
}

.aa-caliber-card__caliber {
    display: block;
    font-family: var(--aa-font-heading);
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--aa-primary);
    margin-bottom: 5px;
}

.aa-caliber-card--featured .aa-caliber-card__caliber {
    color: var(--aa-accent);
}

.aa-caliber-card__desc {
    font-size: 13px;
    color: var(--aa-text-light);
}

.aa-caliber-card--featured .aa-caliber-card__desc {
    color: rgba(255,255,255,0.7);
}

/* ==========================================================================
   Services Section
   ========================================================================== */

.aa-services {
    padding: var(--aa-spacing-xxl) 0;
    background-color: var(--aa-background);
}

.aa-services__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--aa-spacing-lg);
}

.aa-service-card {
    background-color: var(--aa-background);
    padding: var(--aa-spacing-xl);
    border-radius: var(--aa-radius-md);
    text-align: center;
    transition: var(--aa-transition);
    /* Make entire card clickable */
    display: block;
    text-decoration: none;
    cursor: pointer;
}

.aa-service-card:hover {
    box-shadow: var(--aa-shadow-md);
    transform: translateY(-4px);
    text-decoration: none;
}

.aa-service-card__icon {
    font-size: 3rem;
    margin-bottom: var(--aa-spacing-md);
}

.aa-service-card__title {
    font-family: var(--aa-font-heading);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--aa-primary);
    margin-bottom: var(--aa-spacing-sm);
}

.aa-service-card__desc {
    color: var(--aa-text-light);
    margin-bottom: var(--aa-spacing-md);
    line-height: 1.7;
}

.aa-service-card__link {
    color: var(--aa-accent);
    text-decoration: none;
    font-weight: 600;
    transition: var(--aa-transition-fast);
}

.aa-service-card__link:hover {
    color: var(--aa-accent-dark);
}

/* ==========================================================================
   Final CTA Section
   ========================================================================== */

.aa-final-cta {
    padding: var(--aa-spacing-xxl) 0;
    background-color: var(--aa-primary);
    text-align: center;
}

.aa-final-cta__title {
    font-family: var(--aa-font-heading);
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--aa-text-inverse);
    margin-bottom: var(--aa-spacing-sm);
}

.aa-final-cta__text {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: var(--aa-spacing-lg);
}

.aa-final-cta__buttons {
    display: flex;
    gap: var(--aa-spacing-md);
    justify-content: center;
    flex-wrap: wrap;
}

/* ==========================================================================
   Responsive - Tablet (max-width: 1024px)
   ========================================================================== */

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

    .aa-flagship__content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .aa-flagship__cta {
        justify-content: center;
    }

    .aa-flagship__image {
        order: -1;
    }

    .aa-products__placeholder {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-founder__content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .aa-founder__image {
        max-width: 400px;
        margin: 0 auto;
    }

    .aa-subscription__content {
        grid-template-columns: 1fr;
    }

    .aa-calibers__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .aa-services__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Responsive - Mobile (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {
    .aa-hero {
        min-height: 80vh;
    }

    .aa-hero__title {
        font-size: 2.5rem;
    }

    .aa-hero__subtitle {
        font-size: 1rem;
    }

    .aa-hero__features {
        flex-direction: column;
        gap: var(--aa-spacing-sm);
    }

    .aa-trust-bar__items {
        flex-direction: column;
        text-align: center;
    }

    .aa-section-title {
        font-size: 2rem;
    }

    .aa-categories__grid {
        grid-template-columns: 1fr;
    }

    .aa-category-card {
        height: 200px;
    }

    .aa-flagship__title {
        font-size: 2.5rem;
    }

    .aa-products__placeholder {
        grid-template-columns: 1fr;
    }

    .aa-founder__title {
        font-size: 2rem;
    }

    .aa-subscription__tiers {
        flex-direction: column;
    }

    .aa-subscription__signup {
        flex-direction: column;
    }

    .aa-calibers__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .aa-final-cta__title {
        font-size: 2rem;
    }

    .aa-final-cta__buttons {
        flex-direction: column;
        align-items: center;
    }
}

/* ==========================================================================
   WooCommerce Overrides
   ========================================================================== */

.woocommerce ul.products li.product .price {
    color: var(--aa-primary);
    font-weight: 700;
}

.woocommerce ul.products li.product .button {
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    border-radius: var(--aa-radius-sm);
}

.woocommerce ul.products li.product .button:hover {
    background-color: var(--aa-accent-dark);
}

.woocommerce span.onsale {
    background-color: var(--aa-accent);
    color: var(--aa-primary);
}

/* ==========================================================================
   Header Overrides
   ========================================================================== */

.site-header {
    background-color: var(--aa-primary) !important;
}

.site-header .site-title a,
.site-header .site-description {
    color: var(--aa-text-inverse);
}

.main-navigation ul li a {
    color: var(--aa-text-inverse);
}

.main-navigation ul li a:hover {
    color: var(--aa-accent);
}

.storefront-primary-navigation {
    background-color: var(--aa-secondary);
}

/* ==========================================================================
   Footer Overrides
   ========================================================================== */

.site-footer {
    background-color: var(--aa-primary);
    color: var(--aa-text-inverse);
}

.site-footer a {
    color: var(--aa-accent);
}

.site-footer a:hover {
    color: var(--aa-text-inverse);
}

/* ==========================================================================
   Combined Hero + Flagship Section
   ========================================================================== */

.aa-hero--combined {
    min-height: 100vh;
    padding: var(--aa-spacing-xxl) 0;
}

.aa-hero--combined .col-full {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80vh;
}

.aa-hero__combined-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--aa-spacing-xxl);
    align-items: center;
    width: 100%;
}

.aa-hero--combined .aa-hero__content {
    text-align: left;
    padding: var(--aa-spacing-xl) 0;
    max-width: none;
}

.aa-hero--combined .aa-hero__cta {
    justify-content: flex-start;
}

.aa-hero--combined .aa-hero__features {
    justify-content: flex-start;
}

/* Flagship Inline (in combined hero) */
.aa-flagship__inline {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--aa-radius-lg);
    padding: var(--aa-spacing-xl);
    text-align: center;
}

.aa-flagship__inline .aa-flagship__label {
    display: inline-block;
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--aa-spacing-md);
}

.aa-flagship__inline .aa-flagship__title {
    font-family: var(--aa-font-heading);
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--aa-text-inverse);
    margin-bottom: var(--aa-spacing-md);
}

.aa-flagship__inline .aa-flagship__image {
    margin-bottom: var(--aa-spacing-md);
}

.aa-flagship__inline .aa-flagship__image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--aa-radius-md);
    box-shadow: var(--aa-shadow-lg);
}

.aa-flagship__inline .aa-flagship__image-placeholder {
    width: 100%;
    height: 250px;
    background: linear-gradient(135deg, var(--aa-primary-light) 0%, var(--aa-primary) 100%);
    border-radius: var(--aa-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aa-accent);
    font-family: var(--aa-font-heading);
    font-size: 2rem;
    box-shadow: var(--aa-shadow-lg);
}

.aa-flagship__inline .aa-flagship__desc {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: var(--aa-spacing-md);
    line-height: 1.7;
}

.aa-flagship__features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--aa-spacing-lg) 0;
    text-align: left;
}

.aa-flagship__features-list li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

.aa-flagship__features-list li:last-child {
    border-bottom: none;
}

.aa-flagship__features-list li strong {
    color: var(--aa-accent);
}

.aa-flagship__inline .aa-flagship__cta {
    display: flex;
    justify-content: center;
}

/* ==========================================================================
   Responsive - Combined Hero (Tablet)
   ========================================================================== */

@media (max-width: 1024px) {
    .aa-hero__combined-content {
        grid-template-columns: 1fr;
        gap: var(--aa-spacing-xl);
    }

    .aa-hero--combined .aa-hero__content {
        text-align: center;
    }

    .aa-hero--combined .aa-hero__cta {
        justify-content: center;
    }

    .aa-hero--combined .aa-hero__features {
        justify-content: center;
    }

    .aa-flagship__inline {
        max-width: 500px;
        margin: 0 auto;
    }
}

/* ==========================================================================
   Responsive - Combined Hero (Mobile)
   ========================================================================== */

@media (max-width: 768px) {
    .aa-hero--combined {
        min-height: auto;
        padding: var(--aa-spacing-xl) 0;
    }

    .aa-hero--combined .col-full {
        min-height: auto;
    }

    .aa-flagship__inline .aa-flagship__title {
        font-size: 2rem;
    }

    .aa-flagship__inline .aa-flagship__image-placeholder {
        height: 180px;
        font-size: 1.5rem;
    }

    .aa-flagship__features-list li {
        font-size: 13px;
    }
}

/* ==========================================================================
   WooCommerce Homepage Sections
   ========================================================================== */

/* Categories Grid - Custom Styling */
.aa-categories__wc-grid {
    margin-top: var(--aa-spacing-lg);
}

.aa-categories__wc-grid ul.products,
.aa-categories__wc-grid .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--aa-spacing-md);
    margin: 0;
    padding: 0;
    list-style: none;
}

.aa-categories__wc-grid ul.products li.product-category,
.aa-categories__wc-grid .woocommerce ul.products li.product-category {
    position: relative;
    height: 300px;
    overflow: hidden;
    border-radius: var(--aa-radius-md);
    margin: 0;
    padding: 0;
    list-style: none;
}

.aa-categories__wc-grid ul.products li.product-category a,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a {
    display: block;
    height: 100%;
    text-decoration: none;
    position: relative;
}

.aa-categories__wc-grid ul.products li.product-category a img,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a img,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a .woocommerce-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform var(--aa-transition);
}

.aa-categories__wc-grid ul.products li.product-category a:hover img,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a:hover img {
    transform: scale(1.05);
}

.aa-categories__wc-grid ul.products li.product-category a::after,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 100%);
    z-index: 1;
}

.aa-categories__wc-grid ul.products li.product-category a h2,
.aa-categories__wc-grid ul.products li.product-category a .woocommerce-loop-category__title,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a h2,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a .woocommerce-loop-category__title {
    position: absolute;
    bottom: var(--aa-spacing-lg);
    left: var(--aa-spacing-lg);
    right: var(--aa-spacing-lg);
    z-index: 2;
    font-family: var(--aa-font-heading);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--aa-text-white);
    margin: 0;
    padding: 0;
}

.aa-categories__wc-grid ul.products li.product-category a .count,
.aa-categories__wc-grid ul.products li.product-category a mark,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a .count,
.aa-categories__wc-grid .woocommerce ul.products li.product-category a mark {
    display: block;
    font-size: 14px;
    opacity: 0.8;
    color: var(--aa-text-white);
    font-weight: 400;
    background: transparent;
}

/* Products Grid - WooCommerce Shortcode Styling */
.aa-products__wc-grid {
    margin-top: var(--aa-spacing-lg);
}

.aa-products__wc-grid .woocommerce ul.products {
    background-color: var(--aa-background);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--aa-spacing-lg);
    margin: 0;
    padding: 0;
}

.aa-products__wc-grid .woocommerce ul.products li.product {
    background-color: var(--aa-background);
    border: 1px solid var(--aa-border);
    border-radius: var(--aa-radius-md);
    padding: var(--aa-spacing-md);
    text-align: center;
    transition: var(--aa-transition);
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 380px;
}

.aa-products__wc-grid .woocommerce ul.products li.product:hover {
    box-shadow: var(--aa-shadow-md);
    transform: translateY(-4px);
}

.aa-products__wc-grid .woocommerce ul.products li.product a img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: var(--aa-radius-sm);
    margin-bottom: var(--aa-spacing-md);
}

.aa-products__wc-grid .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--aa-font-heading);
    font-size: 1rem;
    font-weight: 400;
    color: var(--aa-primary);
    margin-bottom: 5px;
    line-height: 1.4;
}

.aa-products__wc-grid .woocommerce ul.products li.product .price {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--aa-primary);
    margin-bottom: var(--aa-spacing-md);
}

.aa-products__wc-grid .woocommerce ul.products li.product .button {
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    border: none;
    border-radius: var(--aa-radius-sm);
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.aa-products__wc-grid .woocommerce ul.products li.product .button:hover {
    background-color: var(--aa-accent-dark);
}

/* Flagship Product Image */
.aa-flagship__product-img {
    max-width: 100%;
    height: auto;
    border-radius: var(--aa-radius-lg);
    box-shadow: var(--aa-shadow-lg);
}

.aa-flagship__image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--aa-radius-lg);
    box-shadow: var(--aa-shadow-lg);
}

/* ==========================================================================
   WooCommerce Shop Page Styling
   ========================================================================== */

/* ----------------------------------------
   Shop Filters & View Toggle
   ---------------------------------------- */

/* Filters container - inline with sorting */
.aa-shop-filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin-right: 12px;
}

/* Theme the WooCommerce info/notice banners */
.woocommerce-info,
.woocommerce-message {
    background-color: var(--aa-secondary) !important;
    color: var(--aa-text) !important;
    border: 1px solid var(--aa-border-dark) !important;
    border-left: 4px solid var(--aa-accent) !important;
    border-radius: var(--aa-radius-md) !important;
    padding: 15px 20px 15px 50px !important;
    position: relative !important;
    margin-top: 50px !important;
}

/* Hide the default icon/arrow and replace with custom */
.woocommerce-info::before,
.woocommerce-message::before {
    content: "ℹ" !important;
    color: var(--aa-accent) !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-family: inherit !important;
    line-height: 1 !important;
}

.woocommerce-info a,
.woocommerce-message a {
    color: var(--aa-accent) !important;
}

.woocommerce-info a:hover,
.woocommerce-message a:hover {
    color: var(--aa-accent-dark) !important;
}

/* ==========================================================================
   Single Product Pagination (Previous/Next Product Navigation)
   ========================================================================== */

/* Container */
nav.storefront-product-pagination {
    z-index: 999 !important;
}

/* Reset ALL Storefront's default icon styles */
.storefront-product-pagination a::before,
.storefront-product-pagination a::after {
    font-family: inherit !important;
    content: none !important;
    display: none !important;
}

/* ==========================================================================
   LEFT SLIDEOUT (Previous Product)
   Collapsed: shows ‹ arrow only
   Expanded: [‹ arrow] [title] [thumbnail]
   ========================================================================== */

.storefront-product-pagination a[rel="prev"] {
    position: fixed !important;
    top: 50% !important;
    left: 0 !important;
    right: auto !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 20px !important;
    height: 50px !important;
    padding: 0 !important;
    background-color: var(--aa-secondary) !important;
    border: 1px solid var(--aa-border-dark) !important;
    border-left: none !important;
    border-radius: 0 var(--aa-radius-md) var(--aa-radius-md) 0 !important;
    box-shadow: var(--aa-shadow-md) !important;
    text-decoration: none !important;
    overflow: hidden !important;
    transition: width 0.3s ease !important;
}

.storefront-product-pagination a[rel="prev"]:hover {
    width: 250px !important;
    background-color: var(--aa-secondary-light) !important;
    border-color: var(--aa-accent) !important;
}

/* Left arrow - first element, always visible */
.storefront-product-pagination a[rel="prev"]::before {
    content: "‹" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 48px !important;
    font-weight: normal !important;
    color: var(--aa-accent) !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 50px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    padding-bottom: 4px !important;
}

/* Left thumbnail - last element */
.storefront-product-pagination a[rel="prev"] img {
    order: 3 !important;
    width: 46px !important;
    height: 46px !important;
    object-fit: cover !important;
    border-radius: var(--aa-radius-sm) !important;
    flex-shrink: 0 !important;
    margin: 2px !important;
}

/* Left title - middle element */
.storefront-product-pagination a[rel="prev"] .storefront-product-pagination__title {
    order: 2 !important;
    color: var(--aa-text) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 0 10px !important;
    flex: 1 !important;
    text-align: center !important;
}

/* ==========================================================================
   RIGHT SLIDEOUT (Next Product)
   Collapsed: shows › arrow only
   Expanded: [thumbnail] [title] [› arrow]
   ========================================================================== */

.storefront-product-pagination a[rel="next"] {
    position: fixed !important;
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    width: 20px !important;
    height: 50px !important;
    padding: 0 !important;
    background-color: var(--aa-secondary) !important;
    border: 1px solid var(--aa-border-dark) !important;
    border-right: none !important;
    border-radius: var(--aa-radius-md) 0 0 var(--aa-radius-md) !important;
    box-shadow: var(--aa-shadow-md) !important;
    text-decoration: none !important;
    overflow: hidden !important;
    transition: width 0.3s ease !important;
}

.storefront-product-pagination a[rel="next"]:hover {
    width: 250px !important;
    background-color: var(--aa-secondary-light) !important;
    border-color: var(--aa-accent) !important;
}

/* Right arrow - order:1 keeps it rightmost in row-reverse */
.storefront-product-pagination a[rel="next"]::before {
    content: "›" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 48px !important;
    font-weight: normal !important;
    color: var(--aa-accent) !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 50px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    padding-bottom: 4px !important;
    order: 1 !important;
}

/* Right title - order:2 puts it next to arrow */
.storefront-product-pagination a[rel="next"] .storefront-product-pagination__title {
    order: 2 !important;
    color: var(--aa-text) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 0 10px !important;
    flex: 1 !important;
    text-align: center !important;
}

/* Right thumbnail - order:3 puts it leftmost */
.storefront-product-pagination a[rel="next"] img {
    order: 3 !important;
    width: 46px !important;
    height: 46px !important;
    object-fit: cover !important;
    border-radius: var(--aa-radius-sm) !important;
    flex-shrink: 0 !important;
    margin: 2px !important;
}

/* Filter dropdowns */
.aa-filter-dropdown {
    padding: 6px 10px;
    border: 1px solid var(--aa-border);
    border-radius: var(--aa-radius-sm);
    background-color: var(--aa-background-light);
    color: var(--aa-primary);
    font-size: 13px;
    cursor: pointer;
    transition: var(--aa-transition-fast);
    height: 38px;
}

.aa-filter-dropdown:hover,
.aa-filter-dropdown:focus {
    border-color: var(--aa-accent);
    outline: none;
}

.aa-per-page {
    min-width: 110px;
}

/* View Toggle Buttons - Gray background, white icons */
.aa-view-toggle {
    display: flex;
    gap: 4px;
    margin-right: 8px;
}

.aa-view-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: none;
    border-radius: var(--aa-radius-sm);
    background-color: var(--aa-secondary);
    color: var(--aa-text-white);
    cursor: pointer;
    transition: var(--aa-transition-fast);
}

.aa-view-btn:hover {
    background-color: var(--aa-secondary-light);
}

.aa-view-btn.active {
    background-color: var(--aa-accent);
    color: var(--aa-text-white);
}

.aa-view-btn svg {
    pointer-events: none;
    fill: currentColor;
}

/* Adjust Storefront sorting wrapper to accommodate filters */
.storefront-sorting {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}

/* Hide default result count and notices in sorting wrapper */
.storefront-sorting .woocommerce-result-count,
.storefront-sorting .woocommerce-notices-wrapper:empty {
    display: none !important;
}

/* Style WooCommerce ordering dropdown to match our filters */
.storefront-sorting .woocommerce-ordering {
    margin: 0;
}

.storefront-sorting .woocommerce-ordering select.orderby {
    padding: 6px 10px;
    border: 1px solid var(--aa-border);
    border-radius: var(--aa-radius-sm);
    background-color: var(--aa-background-light);
    color: var(--aa-primary);
    font-size: 13px;
    cursor: pointer;
    transition: var(--aa-transition-fast);
    height: 38px;
    min-width: 150px;
}

.storefront-sorting .woocommerce-ordering select.orderby:hover,
.storefront-sorting .woocommerce-ordering select.orderby:focus {
    border-color: var(--aa-accent);
    outline: none;
}

/* Disabled dropdown styling */
.aa-filter-dropdown:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: var(--aa-background-gray-light);
}

/* Clear Filters Button */
.aa-clear-filters {
    padding: 6px 14px;
    border: 1px solid var(--aa-border);
    border-radius: var(--aa-radius-sm);
    background-color: var(--aa-background-light);
    color: var(--aa-primary);
    font-size: 13px;
    cursor: pointer;
    transition: var(--aa-transition-fast);
    height: 38px;
    white-space: nowrap;
}

.aa-clear-filters:hover {
    border-color: var(--aa-accent);
    color: var(--aa-accent);
    background-color: #fffdf5;
}

/* Result count + pagination wrapper (inline) */
.aa-result-pagination-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: var(--aa-spacing-sm);
    width: 100%;
    padding: var(--aa-spacing-xs) 0;
    border-bottom: 1px solid var(--aa-border);
    margin-bottom: var(--aa-spacing-md);
}

.aa-result-pagination-wrapper .aa-result-count {
    display: inline-block;
}

.aa-result-pagination-wrapper .aa-result-count .woocommerce-result-count {
    margin: 0;
    font-size: 14px;
    color: var(--aa-text-muted);
}

.aa-result-pagination-wrapper .aa-pagination {
    display: inline-flex;
    align-items: center;
}

.aa-result-pagination-wrapper .aa-pagination nav.woocommerce-pagination {
    margin: 0;
    border: none;
}

.aa-result-pagination-wrapper .aa-pagination .woocommerce-pagination ul {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: none;
}

.aa-result-pagination-wrapper .aa-pagination .woocommerce-pagination ul li {
    border: none;
    margin: 0;
    padding: 0;
}

.aa-result-pagination-wrapper .aa-pagination .woocommerce-pagination ul li a,
.aa-result-pagination-wrapper .aa-pagination .woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    font-size: 13px;
    color: var(--aa-primary);
    background: transparent;
    border: none;
    text-decoration: none;
}

.aa-result-pagination-wrapper .aa-pagination .woocommerce-pagination ul li a:hover {
    color: var(--aa-accent);
}

.aa-result-pagination-wrapper .aa-pagination .woocommerce-pagination ul li span.current {
    font-weight: 600;
    color: var(--aa-accent);
}

/* Result/pagination after products */
.woocommerce-after-shop-loop .aa-result-pagination-wrapper {
    border-bottom: none;
    border-top: 1px solid var(--aa-border);
    margin-bottom: 0;
    margin-top: var(--aa-spacing-md);
}

/* Hide default ordering (we moved it to our filter bar) */
.storefront-sorting .woocommerce-ordering {
    display: none !important;
}

/* ----------------------------------------
   List View Styles - 100px Height Rows
   MUST come AFTER grid styles for proper override
   ---------------------------------------- */

/* List view container - single column (high specificity to override grid) */
body.aa-shop-list-view.woocommerce-shop ul.products,
body.aa-shop-list-view.archive.woocommerce-page ul.products,
body.aa-shop-list-view.post-type-archive-product ul.products,
body.aa-shop-list-view ul.products.aa-list-view,
body.aa-shop-list-view ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    grid-template-columns: unset !important;
}

/* List view product item - 100px height row using CSS Grid */
body.aa-shop-list-view.woocommerce-shop ul.products li.product,
body.aa-shop-list-view.archive.woocommerce-page ul.products li.product,
body.aa-shop-list-view.post-type-archive-product ul.products li.product,
body.aa-shop-list-view ul.products li.product {
    display: grid !important;
    grid-template-columns: 100px 1fr auto !important;
    grid-template-rows: 100px !important;
    align-items: center !important;
    text-align: left !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
    padding: 0 !important;
    gap: 0 !important;
    cursor: pointer;
    overflow: hidden;
    width: 100% !important;
    box-sizing: border-box !important;
    /* Base styling */
    background-color: var(--aa-background) !important;
    border: 1px solid var(--aa-border) !important;
    border-radius: var(--aa-radius-md) !important;
    transition: var(--aa-transition) !important;
    margin: 0 !important;
    float: none !important;
}

body.aa-shop-list-view ul.products li.product:hover {
    transform: translateY(-1px);
    box-shadow: var(--aa-shadow-sm);
}

/* List view - hide elements moved to custom wrappers */
body.aa-shop-list-view ul.products li.product .aa-hidden-in-list {
    display: none !important;
}

/* List view - product link wrapper (just contains image now) */
body.aa-shop-list-view ul.products li.product .aa-product-link-wrapper {
    display: contents !important;
}

body.aa-shop-list-view ul.products li.product a.woocommerce-LoopProduct-link {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
}

/* List view - thumbnail: centered with equal 15px padding */
body.aa-shop-list-view ul.products li.product a.woocommerce-LoopProduct-link img,
body.aa-shop-list-view ul.products li.product img:not(.aa-hidden-in-list) {
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-radius: var(--aa-radius-sm) !important;
}

/* List view - text content wrapper (title, description, price) */
body.aa-shop-list-view ul.products li.product .aa-list-text-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    padding: 10px 15px 10px 0 !important;
    overflow: hidden !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* List view - title in text wrapper */
body.aa-shop-list-view ul.products li.product .aa-list-text-content .woocommerce-loop-product__title {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    color: var(--aa-text) !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

/* List view - description in text wrapper */
body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-product-excerpt {
    font-size: 0.8rem !important;
    color: var(--aa-text-muted) !important;
    line-height: 1.3 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-width: 100% !important;
}

.aa-product-excerpt .aa-read-more {
    color: var(--aa-accent);
    font-weight: 500;
}

/* List view - price row (stock status + price) */
body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-list-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 4px 0 0 0 !important;
}

/* List view - stock status */
body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-stock-status {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    white-space: nowrap !important;
}

body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-stock-instock {
    background-color: rgba(40, 167, 69, 0.15) !important;
    color: var(--aa-success) !important;
}

body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-stock-outofstock {
    background-color: rgba(220, 53, 69, 0.15) !important;
    color: var(--aa-error) !important;
}

body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-stock-onbackorder {
    background-color: rgba(201, 162, 39, 0.15) !important;
    color: var(--aa-accent) !important;
}

/* List view - price in text wrapper (below description) */
body.aa-shop-list-view ul.products li.product .aa-list-text-content .price {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
    color: var(--aa-accent) !important;
}

/* Stock status in grid view - show above price */
body:not(.aa-shop-list-view) ul.products li.product .aa-stock-status {
    display: inline-block !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
    margin-top: 8px !important;
}

body:not(.aa-shop-list-view) ul.products li.product .aa-stock-instock {
    background-color: rgba(40, 167, 69, 0.15) !important;
    color: var(--aa-success) !important;
}

body:not(.aa-shop-list-view) ul.products li.product .aa-stock-outofstock {
    background-color: rgba(220, 53, 69, 0.15) !important;
    color: var(--aa-error) !important;
}

body:not(.aa-shop-list-view) ul.products li.product .aa-stock-onbackorder {
    background-color: rgba(201, 162, 39, 0.15) !important;
    color: var(--aa-accent) !important;
}

/* List view - button wrapper (Add to Cart) */
body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px !important;
}

body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper .button,
body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper .add_to_cart_button {
    margin: 0 !important;
    white-space: nowrap !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
}

/* Hide star rating and onsale badge in list view */
body.aa-shop-list-view ul.products li.product .star-rating,
body.aa-shop-list-view ul.products li.product .onsale {
    display: none !important;
}

/* Hide the excerpt in grid view (only show in list view) */
body:not(.aa-shop-list-view) ul.products li.product .aa-product-excerpt {
    display: none !important;
}

/* Shop/Archive page product grid - override Storefront defaults (NOT in list view) */
body:not(.aa-shop-list-view).archive.woocommerce-page ul.products,
body:not(.aa-shop-list-view).post-type-archive-product ul.products,
body:not(.aa-shop-list-view).woocommerce-shop ul.products {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    grid-auto-rows: 1fr !important;
    gap: 0.75rem !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    align-items: stretch !important;
}

/* Ensure products don't use floats (Storefront default) */
body.archive.woocommerce-page ul.products::before,
body.archive.woocommerce-page ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after {
    display: none !important;
    content: none !important;
}

/* Ensure result count and ordering don't interfere */
.woocommerce-result-count,
.woocommerce-ordering {
    display: inline-block;
    margin-bottom: var(--aa-spacing-md);
}

/* Shop page product items - GRID VIEW ONLY */
body:not(.aa-shop-list-view).archive.woocommerce-page ul.products li.product,
body:not(.aa-shop-list-view).post-type-archive-product ul.products li.product,
body:not(.aa-shop-list-view).woocommerce-shop ul.products li.product {
    background-color: #2a2a2a;
    border: none;
    border-radius: var(--aa-radius-md);
    padding: var(--aa-spacing-md);
    padding-bottom: 60px !important;
    text-align: center;
    transition: var(--aa-transition);
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    position: relative !important;
    clear: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 380px;
}

/* General WooCommerce product styling (fallback for grid) */
body:not(.aa-shop-list-view) .woocommerce ul.products li.product {
    background-color: #2a2a2a;
    border: none;
    border-radius: var(--aa-radius-md);
    padding: var(--aa-spacing-md);
    padding-bottom: 60px !important;
    text-align: center;
    transition: var(--aa-transition);
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    position: relative !important;
    min-height: 380px;
}

/* Grid view - Add to Cart button fixed at bottom of card */
body:not(.aa-shop-list-view) ul.products li.product .button,
body:not(.aa-shop-list-view) ul.products li.product .add_to_cart_button,
body:not(.aa-shop-list-view) ul.products li.product a.added_to_cart {
    position: absolute !important;
    bottom: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Hide Add to Cart button after item added, show View Cart instead */
ul.products li.product .add_to_cart_button.added,
.woocommerce ul.products li.product .add_to_cart_button.added,
body.woocommerce ul.products li.product .add_to_cart_button.added,
body.woocommerce-page ul.products li.product .add_to_cart_button.added {
    display: none !important;
}

/* Hide arrow on View Cart buttons (Storefront adds via .wc-forward::after) */
a.added_to_cart::after,
a.added_to_cart.wc-forward::after,
.wc-forward.added_to_cart::after,
ul.products li.product a.added_to_cart::after,
.woocommerce a.added_to_cart::after {
    display: none !important;
    content: none !important;
}

/* View Cart button - inverse styling (gold text on gray background) */
ul.products li.product a.added_to_cart,
.woocommerce ul.products li.product a.added_to_cart,
body.woocommerce ul.products li.product a.added_to_cart,
body.woocommerce-page ul.products li.product a.added_to_cart,
body.woocommerce-shop ul.products li.product a.added_to_cart,
body.archive ul.products li.product a.added_to_cart {
    display: inline-block !important;
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
    border: 1px solid var(--aa-accent) !important;
    padding: 10px 20px !important;
    border-radius: var(--aa-radius-sm) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    transition: var(--aa-transition) !important;
}

/* View Cart button - no hover change, keep gold on grey */
ul.products li.product a.added_to_cart:hover,
.woocommerce ul.products li.product a.added_to_cart:hover,
body.woocommerce ul.products li.product a.added_to_cart:hover,
body.woocommerce-page ul.products li.product a.added_to_cart:hover {
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
}

/* List view - View Cart button styling */
body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper a.added_to_cart,
body.aa-shop-list-view.woocommerce ul.products li.product .aa-list-button-wrapper a.added_to_cart {
    display: inline-block !important;
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
    border: 1px solid var(--aa-accent) !important;
    padding: 8px 16px !important;
    border-radius: var(--aa-radius-sm) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

/* List view - View Cart no hover change */
body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper a.added_to_cart:hover {
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: var(--aa-shadow-md);
    transform: translateY(-4px);
}

.woocommerce ul.products li.product a img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: var(--aa-radius-sm);
    margin-bottom: var(--aa-spacing-sm);
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--aa-font-heading);
    font-size: 1rem;
    font-weight: 400;
    color: var(--aa-primary);
    margin-bottom: 5px;
    line-height: 1.4;
    padding: 0;
}

.woocommerce ul.products li.product .price {
    color: var(--aa-primary);
    font-weight: 700;
    font-size: 1.1rem;
}

.woocommerce ul.products li.product .button {
    background-color: var(--aa-accent) !important;
    color: var(--aa-primary) !important;
    border: none;
    border-radius: var(--aa-radius-sm);
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
    margin-top: auto !important;  /* Push button to bottom of card */
}

.woocommerce ul.products li.product .button:hover {
    background-color: var(--aa-accent-dark) !important;
}

/* Star ratings */
.woocommerce .star-rating {
    color: var(--aa-accent);
}

/* Sale badge */
.woocommerce span.onsale {
    background-color: var(--aa-accent);
    color: var(--aa-primary);
    font-weight: 700;
}

/* ==========================================================================
   WooCommerce Responsive Adjustments
   ========================================================================== */

@media (max-width: 1024px) {
    /* Shop page responsive - tablet */
    body.archive.woocommerce-page ul.products,
    body.post-type-archive-product ul.products,
    .woocommerce-shop ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .aa-categories__wc-grid .woocommerce ul.products li.product-category {
        height: 250px;
    }
}

@media (max-width: 768px) {
    .aa-categories__wc-grid .woocommerce ul.products,
    .aa-products__wc-grid .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    /* Shop page responsive - mobile */
    body.archive.woocommerce-page ul.products,
    body.post-type-archive-product ul.products,
    .woocommerce-shop ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .aa-categories__wc-grid .woocommerce ul.products li.product-category {
        height: 200px;
    }

    .aa-categories__wc-grid .woocommerce ul.products li.product-category a h2,
    .aa-categories__wc-grid .woocommerce ul.products li.product-category a .woocommerce-loop-category__title {
        font-size: 1.25rem;
    }
}

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

/* ==========================================================================
   Featured Products & Categories Grid Fix - Absolute Positioning
   ========================================================================== */

/* Container setup for absolute positioning */
.aa-products__wc-grid,
.aa-categories__wc-grid {
    position: relative;
    width: 100%;
    min-height: 300px;
}

/* Reset WooCommerce default styles completely */
.aa-products__wc-grid .woocommerce,
.aa-categories__wc-grid .woocommerce,
.aa-products__wc-grid > .woocommerce,
.aa-categories__wc-grid > .woocommerce {
    display: block !important;
    width: 100% !important;
}

.aa-products__wc-grid ul.products,
.aa-products__wc-grid .woocommerce ul.products,
.aa-categories__wc-grid ul.products,
.aa-categories__wc-grid .woocommerce ul.products {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    clear: both !important;
}

/* Use absolute positioning for grid items */
.aa-products__wc-grid ul.products li.product,
.aa-products__wc-grid .woocommerce ul.products li.product {
    position: absolute !important;
    width: calc(25% - 18px) !important;
    float: none !important;
    margin: 0 !important;
    padding: var(--aa-spacing-md) !important;
}

/* Position each product absolutely */
.aa-products__wc-grid ul.products li.product:nth-child(1),
.aa-products__wc-grid .woocommerce ul.products li.product:nth-child(1) {
    left: 0 !important;
    top: 0 !important;
}

.aa-products__wc-grid ul.products li.product:nth-child(2),
.aa-products__wc-grid .woocommerce ul.products li.product:nth-child(2) {
    left: 25% !important;
    top: 0 !important;
}

.aa-products__wc-grid ul.products li.product:nth-child(3),
.aa-products__wc-grid .woocommerce ul.products li.product:nth-child(3) {
    left: 50% !important;
    top: 0 !important;
}

.aa-products__wc-grid ul.products li.product:nth-child(4),
.aa-products__wc-grid .woocommerce ul.products li.product:nth-child(4) {
    left: 75% !important;
    top: 0 !important;
}

/* Categories absolute positioning */
.aa-categories__wc-grid ul.products li.product-category,
.aa-categories__wc-grid .woocommerce ul.products li.product-category {
    position: absolute !important;
    width: calc(25% - 12px) !important;
    height: 300px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aa-categories__wc-grid ul.products li.product-category:nth-child(1),
.aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(1) {
    left: 0 !important;
    top: 0 !important;
}

.aa-categories__wc-grid ul.products li.product-category:nth-child(2),
.aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(2) {
    left: 25% !important;
    top: 0 !important;
}

.aa-categories__wc-grid ul.products li.product-category:nth-child(3),
.aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(3) {
    left: 50% !important;
    top: 0 !important;
}

.aa-categories__wc-grid ul.products li.product-category:nth-child(4),
.aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(4) {
    left: 75% !important;
    top: 0 !important;
}

/* Set container heights */
.aa-categories__wc-grid ul.products,
.aa-categories__wc-grid .woocommerce ul.products {
    min-height: 300px !important;
}

.aa-products__wc-grid ul.products,
.aa-products__wc-grid .woocommerce ul.products {
    min-height: 420px !important;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .aa-products__wc-grid ul.products li.product,
    .aa-products__wc-grid .woocommerce ul.products li.product {
        width: calc(50% - 12px) !important;
    }

    .aa-products__wc-grid ul.products li.product:nth-child(1) { left: 0 !important; top: 0 !important; }
    .aa-products__wc-grid ul.products li.product:nth-child(2) { left: 50% !important; top: 0 !important; }
    .aa-products__wc-grid ul.products li.product:nth-child(3) { left: 0 !important; top: 380px !important; }
    .aa-products__wc-grid ul.products li.product:nth-child(4) { left: 50% !important; top: 380px !important; }

    .aa-products__wc-grid ul.products { min-height: 760px !important; }

    .aa-categories__wc-grid ul.products li.product-category {
        width: calc(50% - 8px) !important;
        height: 250px !important;
    }

    .aa-categories__wc-grid ul.products li.product-category:nth-child(1) { left: 0 !important; top: 0 !important; }
    .aa-categories__wc-grid ul.products li.product-category:nth-child(2) { left: 50% !important; top: 0 !important; }
    .aa-categories__wc-grid ul.products li.product-category:nth-child(3) { left: 0 !important; top: 260px !important; }
    .aa-categories__wc-grid ul.products li.product-category:nth-child(4) { left: 50% !important; top: 260px !important; }

    .aa-categories__wc-grid ul.products { min-height: 520px !important; }
}

/* Responsive - Mobile */
@media (max-width: 768px) {
    .aa-products__wc-grid ul.products li.product,
    .aa-products__wc-grid .woocommerce ul.products li.product {
        position: relative !important;
        width: 100% !important;
        left: 0 !important;
        top: auto !important;
        margin-bottom: var(--aa-spacing-lg) !important;
    }

    .aa-products__wc-grid ul.products { min-height: auto !important; }

    .aa-categories__wc-grid ul.products li.product-category {
        position: relative !important;
        width: 100% !important;
        left: 0 !important;
        top: auto !important;
        margin-bottom: var(--aa-spacing-md) !important;
    }

    .aa-categories__wc-grid ul.products { min-height: auto !important; }
}

/* ==========================================================================
   Text Contrast & Readability - Global Styles
   ========================================================================== */

/* Body and general text */
body {
    background-color: var(--aa-background);
}

/* Beyond Ammunition - dark background like Uncommon Calibers */
.aa-services {
    background-color: var(--aa-background-dark);
}

.aa-services .aa-section-title {
    color: var(--aa-accent);
}

.aa-services .aa-section-subtitle {
    color: var(--aa-text-light);
}

/* Calibers section - dark background */
.aa-calibers .aa-section-title {
    color: var(--aa-accent);
}

.aa-calibers .aa-section-subtitle {
    color: var(--aa-text-light);
}

/* Caliber cards on dark background */
.aa-caliber-card {
    background-color: var(--aa-secondary);
    border: 1px solid var(--aa-border-dark);
}

.aa-caliber-card__caliber {
    color: var(--aa-text);
}

.aa-caliber-card__desc {
    color: var(--aa-text-light);
}

.aa-caliber-card--featured {
    background-color: var(--aa-accent);
}

.aa-caliber-card--featured .aa-caliber-card__caliber {
    color: var(--aa-primary);
}

.aa-caliber-card--featured .aa-caliber-card__desc {
    color: var(--aa-primary);
}

/* Service cards on dark background - styled like caliber cards */
.aa-service-card {
    background-color: var(--aa-secondary);
    border: 1px solid var(--aa-border-dark);
    /* Make entire card clickable */
    display: block;
    text-decoration: none;
    cursor: pointer;
}

.aa-service-card__icon {
    color: var(--aa-accent);
}

.aa-service-card__title {
    color: var(--aa-text);
}

.aa-service-card__desc {
    color: var(--aa-text-light);
}

.aa-service-card__link {
    color: var(--aa-accent);
}

.aa-service-card__link:hover {
    color: var(--aa-accent-dark);
}

/* Dark sections - ensure light text */
.aa-hero,
.aa-trust-bar,
.aa-calibers,
.aa-categories,
.aa-flagship,
.aa-products,
.aa-services,
.aa-founder,
.aa-final-cta {
    color: var(--aa-text);
}

.aa-products .aa-section-title,
.aa-flagship .aa-section-title,
.aa-categories .aa-section-title {
    color: var(--aa-accent);
}

.aa-products .aa-section-subtitle {
    color: var(--aa-text-light);
}

/* Product cards in dark sections */
.aa-products__wc-grid .woocommerce ul.products li.product {
    background-color: var(--aa-background);
    border-color: var(--aa-border-dark);
}

.aa-products__wc-grid .woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--aa-text);
}

.aa-products__wc-grid .woocommerce ul.products li.product .price {
    color: var(--aa-accent);
}

/* Shop page product styling */
.woocommerce-page .content-area {
    background-color: var(--aa-background);
}

.woocommerce-page ul.products li.product {
    background-color: var(--aa-secondary);
    border-color: var(--aa-border-dark);
    /* Flexbox layout for consistent button positioning */
    display: flex !important;
    flex-direction: column !important;
    min-height: 380px;
}

.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    color: var(--aa-text);
}

.woocommerce-page ul.products li.product .price {
    color: var(--aa-accent);
}

/* ==========================================================================
   Single Product Page - 3 Column Compact Layout
   ========================================================================== */

/* Breadcrumb spacing on single product pages */
.single-product .storefront-breadcrumb {
    margin-bottom: 25px !important;
}

/* Main product grid - 3 columns */
.aa-product-grid {
    display: grid !important;
    grid-template-columns: 400px 1fr 1fr !important;
    gap: 20px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* Override Storefront's default flexbox layout */
.single-product div.product {
    display: block !important;
}

.single-product div.product .aa-product-grid {
    display: grid !important;
}

/* Column base styling */
.aa-product-col {
    min-width: 0 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* Column 1: Image */
.aa-product-col--image {
    display: flex;
    flex-direction: column;
    width: 400px !important;
    max-width: 400px !important;
}

.aa-product-col--image .woocommerce-product-gallery {
    width: 400px !important;
    max-width: 400px !important;
    float: none !important;
    margin: 0 !important;
}

.aa-product-col--image .woocommerce-product-gallery__image img,
.aa-product-col--image .woocommerce-product-gallery .flex-viewport img,
.aa-product-col--image .woocommerce-product-gallery img {
    width: 400px !important;
    height: 400px !important;
    max-width: 400px !important;
    object-fit: cover;
}

/* Reviews section below image */
.aa-product-reviews-section {
    margin-top: 30px;
    padding: 20px;
    background: var(--aa-secondary);
    border-radius: var(--aa-radius-md);
}

.aa-product-reviews-section h3 {
    color: var(--aa-accent);
    font-family: var(--aa-font-heading);
    font-size: 1.2rem;
    font-weight: 400;
    margin: 0 0 15px 0;
}

.aa-product-reviews-section p {
    color: var(--aa-text-muted);
    font-size: 0.95rem;
    margin: 0 0 15px 0;
}

.aa-product-reviews-section .aa-add-review-btn {
    display: inline-block;
    background: var(--aa-accent);
    color: var(--aa-primary) !important;
    padding: 10px 20px;
    border-radius: var(--aa-radius-sm);
    text-decoration: none !important;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.3s ease;
}

.aa-product-reviews-section .aa-add-review-btn:hover {
    background: var(--aa-accent-dark);
}

/* Column 2: Summary */
.aa-product-col--summary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    padding-left: 50px !important;
    background: var(--aa-primary);
}

.aa-product-col--summary .summary,
.aa-product-col--summary .entry-summary {
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.aa-product-col--summary .product_title {
    color: var(--aa-accent) !important;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.aa-product-col--summary .price {
    color: var(--aa-accent) !important;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.aa-product-col--summary .woocommerce-product-details__short-description {
    color: var(--aa-text-light);
    margin-bottom: 20px;
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Stock status in summary */
.aa-product-col--summary .stock {
    margin-bottom: 15px;
    font-weight: 500;
}

.aa-product-col--summary .in-stock {
    color: var(--aa-success);
}

.aa-product-col--summary .out-of-stock {
    color: var(--aa-error);
}

.aa-product-col--summary .available-on-backorder {
    color: var(--aa-accent);
}

/* Quantity and Add to Cart */
.aa-product-col--summary .quantity {
    margin-right: 10px;
}

.aa-product-col--summary .quantity .qty {
    background: var(--aa-secondary);
    border: 1px solid var(--aa-border-dark);
    color: var(--aa-text);
    padding: 10px;
    width: 80px;
    text-align: center;
}

.aa-product-col--summary .single_add_to_cart_button {
    background-color: var(--aa-accent) !important;
    color: var(--aa-primary) !important;
    padding: 12px 30px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: var(--aa-radius-sm);
    transition: background-color 0.3s ease;
}

.aa-product-col--summary .single_add_to_cart_button:hover {
    background-color: var(--aa-accent-dark) !important;
}

/* Product meta (SKU, Categories, Tags) */
.aa-product-col--summary .product_meta {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--aa-border-dark);
    font-size: 0.9rem;
    color: var(--aa-text-muted);
}

.aa-product-col--summary .product_meta > span {
    display: block;
    margin-bottom: 8px;
}

.aa-product-col--summary .product_meta a {
    color: var(--aa-accent);
    text-decoration: none;
}

.aa-product-col--summary .product_meta a:hover {
    text-decoration: underline;
}

/* Column 3: Description */
.aa-product-col--description {
    background: var(--aa-primary);
    border-radius: var(--aa-radius-md);
    padding: 25px;
    height: fit-content;
    margin-top: 0 !important;
    align-self: start;
}

.aa-product-description-content {
    color: var(--aa-text-light);
    font-size: 0.95rem;
    line-height: 1.7;
}

.aa-product-description-content p {
    margin-bottom: 15px;
}

.aa-product-description-content ul,
.aa-product-description-content ol {
    margin: 15px 0;
    padding-left: 20px;
}

.aa-product-description-content li {
    margin-bottom: 8px;
}

.aa-product-description-content h2,
.aa-product-description-content h3,
.aa-product-description-content h4 {
    color: var(--aa-text);
    margin: 20px 0 10px;
}

/* Hide default tabs section (we moved tabs to column 1) */
.aa-product-layout > .woocommerce-tabs {
    display: none !important;
}

/* Responsive - Tablet (2 columns) */
@media (max-width: 1024px) {
    .aa-product-grid {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }

    .aa-product-col--description {
        grid-column: 1 / -1;
    }

    .aa-product-tabs {
        margin-top: 50px;
    }
}

/* Responsive - Mobile (1 column) */
@media (max-width: 768px) {
    .aa-product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .aa-product-tabs {
        margin-top: 30px;
    }

    .aa-product-tabs .woocommerce-tabs ul.tabs {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .aa-product-tabs .woocommerce-tabs ul.tabs li {
        flex: 1;
        min-width: 100px;
        text-align: center;
    }

    .aa-product-tabs .woocommerce-tabs ul.tabs li a {
        padding: 10px 15px;
        font-size: 0.9rem;
    }

    .aa-product-col--summary .product_title {
        font-size: 1.5rem;
    }

    .aa-product-col--description {
        padding: 20px;
    }
}

/* Legacy single product page styles (keep for fallback) */
.single-product .summary .product_title {
    color: var(--aa-text);
}

.single-product .summary .price {
    color: var(--aa-accent);
}

.single-product .summary .woocommerce-product-details__short-description {
    color: var(--aa-text-light);
}

/* Single Product - In Cart Notice and Delete Button */
.aa-in-cart-notice {
    margin-top: 20px !important;
}

.aa-in-cart-notice .aa-cart-quantity-notice {
    margin: 0 !important;
    color: var(--aa-text-light) !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* Delete From Cart button - outside the notice box */
a.aa-delete-from-cart {
    display: inline-block !important;
    background-color: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
    border: 1px solid var(--aa-accent) !important;
    padding: 10px 20px !important;
    border-radius: var(--aa-radius-sm) !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 15px !important;
    text-decoration: none !important;
}

a.aa-delete-from-cart:hover {
    background-color: var(--aa-accent) !important;
    color: var(--aa-primary) !important;
}

/* Page content area - for standard pages */
.page .hentry .entry-content,
.single .hentry .entry-content {
    color: var(--aa-text);
}

.page .hentry .entry-content h1,
.page .hentry .entry-content h2,
.page .hentry .entry-content h3,
.page .hentry .entry-content h4 {
    color: var(--aa-text);
}

.page .hentry .entry-content p {
    color: var(--aa-text-light);
}

.page .hentry .entry-content a {
    color: var(--aa-accent);
}

/* WordPress block styles on dark background */
.wp-block-heading {
    color: var(--aa-text);
}

.wp-block-paragraph {
    color: var(--aa-text-light);
}

.wp-block-columns {
    color: var(--aa-text);
}

/* ==========================================================================
   Custom Footer Styles
   ========================================================================== */

.site-footer {
    background-color: var(--aa-primary);
    padding: var(--aa-spacing-md) 0 var(--aa-spacing-sm);
}

.aa-footer-content {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: var(--aa-spacing-xl);
    margin-bottom: 0;
    padding: 0 var(--aa-spacing-lg);
}

.aa-footer-section {
    flex: 0 0 200px;
    width: 200px;
    min-height: 150px;
}

.aa-footer-section h4 {
    color: var(--aa-accent);
    font-family: var(--aa-font-heading);
    font-size: 1.1rem;
    margin-bottom: var(--aa-spacing-sm);
}

.aa-footer-section p,
.aa-footer-section li {
    color: var(--aa-text);
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 4px;
}

.aa-footer-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.aa-footer-section a,
.aa-footer-section a:link,
.aa-footer-section a:visited,
.site-footer .aa-footer-section a {
    color: var(--aa-text-white) !important;
    text-decoration: none;
    transition: var(--aa-transition-fast);
}

.aa-footer-section a:hover {
    color: var(--aa-accent) !important;
}

/* Contact headings color */
.aa-footer-section strong {
    color: var(--aa-text-light) !important;
}

/* Copyright centered, hide WooCommerce link */
.site-footer .site-info {
    text-align: center !important;
    padding: var(--aa-spacing-sm) var(--aa-spacing-lg) !important;
    color: var(--aa-text-light);
    font-size: 12px;
}

.site-footer .site-info a {
    display: none;
}

.site-footer .site-info br {
    display: none;
}

@media (max-width: 1024px) {
    .aa-footer-content {
        flex-wrap: wrap;
        justify-content: center;
    }

    .aa-footer-section {
        flex: 0 0 200px;
        width: 200px;
    }
}

@media (max-width: 768px) {
    .aa-footer-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .aa-footer-section {
        flex: 0 0 auto;
        width: 250px;
    }
}

/* ==========================================================================
   Cart Page - New in Store Section
   ========================================================================== */

/* Empty cart styling for dark background */
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2 {
    color: var(--aa-text) !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator {
    border-color: var(--aa-border) !important;
}

/* New in Store product cards */
.wp-block-woocommerce-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    background-color: var(--aa-background) !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    background-color: var(--aa-background) !important;
    border: 1px solid var(--aa-border) !important;
    border-radius: var(--aa-radius-md) !important;
    padding: var(--aa-spacing-md) !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    color: var(--aa-text) !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-title a,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title a {
    color: var(--aa-text) !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
    color: var(--aa-accent) !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
    background-color: var(--aa-accent) !important;
    color: var(--aa-primary) !important;
    border: none !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    background-color: var(--aa-accent-dark) !important;
}

/* ==========================================================================
   Cart Page - New in Store Header (match Our Story section title)
   ========================================================================== */

.woocommerce-cart .entry-content > h2,
.woocommerce-cart .entry-content h2:not(.wc-block-cart__empty-cart__title),
.woocommerce-cart h2.wp-block-heading {
    font-family: var(--aa-font-heading) !important;
    font-size: 2.5rem !important;
    font-weight: 400 !important;
    color: var(--aa-accent) !important;
    text-align: center !important;
    margin-top: var(--aa-spacing-xl) !important;
    margin-bottom: var(--aa-spacing-lg) !important;
}

/* Return to Shop button - inverse styling (gold text on gray) */
.woocommerce-cart a.button.wc-backward,
.woocommerce a.button.wc-backward,
a.button.wc-backward,
.wc-block-cart__empty-cart__link,
.wc-empty-cart-page a.button,
.cart-empty a.button {
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
    border: 1px solid var(--aa-accent) !important;
    padding: 12px 24px !important;
    border-radius: var(--aa-radius-sm) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    display: inline-block !important;
}

.woocommerce-cart a.button.wc-backward:hover,
.woocommerce a.button.wc-backward:hover,
a.button.wc-backward:hover,
.wc-block-cart__empty-cart__link:hover {
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
}

/* Cart Page - Coupon input field */
.woocommerce-cart .coupon input.input-text,
.woocommerce-cart #coupon_code,
.wc-block-components-totals-coupon__input input {
    background-color: var(--aa-background-light) !important;
    border: 1px solid var(--aa-border) !important;
    border-radius: var(--aa-radius-sm) !important;
    padding: 10px 15px !important;
    color: var(--aa-primary) !important;
}

/* Cart Page - Apply Coupon button */
.woocommerce-cart .coupon button[name="apply_coupon"],
.woocommerce-cart .coupon .button,
.wc-block-components-totals-coupon__button {
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
    border: 1px solid var(--aa-accent) !important;
    padding: 10px 20px !important;
    border-radius: var(--aa-radius-sm) !important;
    font-weight: 600 !important;
}

.woocommerce-cart .coupon button[name="apply_coupon"]:hover,
.woocommerce-cart .coupon .button:hover,
.wc-block-components-totals-coupon__button:hover {
    background-color: var(--aa-secondary) !important;
    background: var(--aa-secondary) !important;
    color: var(--aa-accent) !important;
}

/* Cart Page - Update Cart button */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .actions button.button,
.wc-block-cart__submit-button {
    background-color: var(--aa-accent) !important;
    background: var(--aa-accent) !important;
    color: var(--aa-primary) !important;
    border: 1px solid var(--aa-accent) !important;
    padding: 12px 24px !important;
    border-radius: var(--aa-radius-sm) !important;
    font-weight: 600 !important;
}

.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart .actions button.button:hover {
    background-color: var(--aa-accent-dark) !important;
    background: var(--aa-accent-dark) !important;
    color: var(--aa-primary) !important;
}

/* Cart Page - Proceed to Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background-color: var(--aa-accent) !important;
    background: var(--aa-accent) !important;
    color: var(--aa-primary) !important;
    border: none !important;
    padding: 15px 30px !important;
    border-radius: var(--aa-radius-sm) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-cart__submit-button:hover {
    background-color: var(--aa-accent-dark) !important;
    background: var(--aa-accent-dark) !important;
}

/* Cart Page - Mobile coupon field layout */
@media (max-width: 767px) {
    .woocommerce-cart .coupon {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart #coupon_code {
        width: 50% !important;
        max-width: 150px !important;
        flex-shrink: 0 !important;
    }

    .woocommerce-cart .coupon button[name="apply_coupon"],
    .woocommerce-cart .coupon .button {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        padding: 10px 15px !important;
    }
}

/* ==========================================================================
   Breadcrumb Navigation - All Pages
   ========================================================================== */

.woocommerce-breadcrumb,
.storefront-breadcrumb .woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
    font-size: 18pt !important;
}

.woocommerce-breadcrumb a,
.storefront-breadcrumb .woocommerce-breadcrumb a {
    font-size: 18pt !important;
}

/* Desktop: Reduce space between breadcrumb and product filters */
.storefront-breadcrumb {
    margin-bottom: 0.5em !important;
    padding-bottom: 0 !important;
}

/* ==========================================================================
   Mobile Menu Button - Hide "Menu" Text, Keep Hamburger Icon
   ========================================================================== */

/* Position the hamburger button in header - right aligned with margins */
@media (max-width: 767px) {
    .storefront-primary-navigation,
    nav#site-navigation,
    #site-navigation {
        position: absolute !important;
        top: 5px !important;
        right: 5px !important;
        left: auto !important;
        width: auto !important;
        float: none !important;
    }
}

/* Style the hamburger menu button - MAXIMUM SPECIFICITY to override customizer inline styles */
button#site-navigation-menu-toggle.menu-toggle,
button.menu-toggle#site-navigation-menu-toggle,
.storefront-primary-navigation button#site-navigation-menu-toggle,
nav#site-navigation button#site-navigation-menu-toggle,
button.menu-toggle,
button.menu-toggle:hover,
button.menu-toggle:focus,
button.menu-toggle:active {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 none transparent !important;
    border-width: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    position: relative !important;
    width: 40px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide the "Menu" text completely */
button#site-navigation-menu-toggle span,
button.menu-toggle span {
    font-size: 0 !important;
    color: transparent !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* All hamburger bars - position from RIGHT side of button */
button.menu-toggle::before,
button.menu-toggle::after,
button.menu-toggle span::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    right: 8px !important;
    left: auto !important;
    width: 20px !important;
    height: 2px !important;
    border-radius: 2px !important;
    top: 50% !important;
    margin-top: -1px !important;
}

/* Top bar - translateY up */
button.menu-toggle::before {
    transform: translateY(-6px) !important;
}

/* Middle bar - at center */
button.menu-toggle span::before {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* Bottom bar - translateY down */
button.menu-toggle::after {
    transform: translateY(6px) !important;
}

/* ==========================================================================
   Hamburger to X transformation when menu is open (.toggled state)
   ========================================================================== */

/* Add transition to hamburger bars - delayed when closing to sync with menu */
button.menu-toggle::before,
button.menu-toggle::after,
button.menu-toggle span::before {
    transition: transform 0.3s ease 0s, opacity 0.3s ease 0s !important;
}

/* When NOT toggled (closing), delay the transition to match menu close */
button.menu-toggle::before,
button.menu-toggle::after {
    transition: transform 0.3s ease 0.3s !important;
}

button.menu-toggle span::before {
    transition: opacity 0.3s ease 0.3s !important;
}

/* When menu is toggled open - transform hamburger to X immediately */
.toggled button.menu-toggle::before,
.main-navigation.toggled button.menu-toggle::before {
    transform: rotate(45deg) !important;
    transition: transform 0.3s ease 0s !important;
}

.toggled button.menu-toggle::after,
.main-navigation.toggled button.menu-toggle::after {
    transform: rotate(-45deg) !important;
    transition: transform 0.3s ease 0s !important;
}

/* Hide middle bar when toggled */
.toggled button.menu-toggle span::before,
.main-navigation.toggled button.menu-toggle span::before {
    opacity: 0 !important;
    transition: opacity 0.3s ease 0s !important;
}

/* ==========================================================================
   Mobile/Tablet Menu - Hide primary nav, show only handheld navigation
   ========================================================================== */

/* Hide primary navigation on tablet and mobile - only show handheld navigation */
@media (max-width: 1024px) {
    /* Hide the primary-navigation container (desktop menu) */
    .main-navigation .primary-navigation,
    #site-navigation .primary-navigation {
        display: none !important;
    }

    /* Ensure handheld-navigation is visible and can expand */
    .main-navigation .handheld-navigation,
    #site-navigation .handheld-navigation {
        display: block !important;
    }

    /* Allow handheld navigation to expand when toggled */
    .main-navigation.toggled .handheld-navigation,
    #site-navigation.toggled .handheld-navigation {
        max-height: 9999px !important;
        overflow: visible !important;
    }

    .main-navigation.toggled .handheld-navigation ul.menu,
    #site-navigation.toggled .handheld-navigation ul.menu {
        max-height: 9999px !important;
        display: block !important;
    }
}

/* ==========================================================================
   Storefront Handheld Navigation (Mobile Menu)
   ========================================================================== */

/* Handheld navigation container - floating menu style */
.handheld-navigation {
    background-color: var(--aa-primary) !important;
    clear: both !important;
    width: 200px !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    z-index: 9999 !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.8), 0 6px 20px rgba(0, 0, 0, 0.6), 0 0 60px rgba(0, 0, 0, 0.4) !important;
    border: none !important;
    border-radius: 12px !important;
    margin-top: 10px !important;
    overflow: hidden !important;
}

.handheld-navigation ul.menu {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background-color: var(--aa-primary) !important;
    border: none !important;
    border-radius: 12px !important;
}

/* Top-level menu items - no borders */
.handheld-navigation ul.menu > li {
    border: none !important;
    position: relative !important;
    margin: 0 !important;
}

/* Wrapper for the link to position toggle against */
.handheld-navigation ul.menu > li.menu-item-has-children {
    position: relative !important;
}

/* Ensure the link area has defined height for toggle positioning */
.handheld-navigation ul.menu > li.menu-item-has-children > a {
    position: relative !important;
}

.handheld-navigation ul.menu > li > a {
    display: block !important;
    padding: 14px 20px !important;
    color: var(--aa-text-light) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    background-color: var(--aa-primary) !important;
    border: none !important;
}

/* Menu item text - default white */
.handheld-navigation ul.menu > li > a {
    color: var(--aa-text-light) !important;
}

/* Menu item text - gold only on hover/active */
.handheld-navigation ul.menu > li > a:hover,
.handheld-navigation ul.menu > li > a:focus {
    background-color: transparent !important;
    color: var(--aa-accent) !important;
}

/* Parent menu item with OPEN submenu - gold text */
.handheld-navigation ul.menu > li.menu-item-has-children:has(.toggled-on) > a {
    color: var(--aa-accent) !important;
}

/* Parent menu item with CLOSED submenu - white text */
.handheld-navigation ul.menu > li.menu-item-has-children:not(:has(.toggled-on)) > a {
    color: var(--aa-text-light) !important;
}

/* Dropdown toggle button - fixed position at top of menu item */
.handheld-navigation .dropdown-toggle,
.handheld-navigation button.dropdown-toggle {
    background: transparent !important;
    border: none !important;
    color: transparent !important;
    padding: 0 !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    height: 48px !important;
    width: 40px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 1 !important;
    z-index: 10 !important;
}

/* Hide any default Storefront arrow/icon inside the button */
.handheld-navigation .dropdown-toggle *,
.handheld-navigation .dropdown-toggle svg {
    display: none !important;
}

/* Custom arrow - default state (pointing right) */
.handheld-navigation .dropdown-toggle::after,
.handheld-navigation button.dropdown-toggle::after {
    content: "›" !important;
    font-size: 1.6rem !important;
    font-weight: 400 !important;
    color: var(--aa-text-muted) !important;
    border: none !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
    display: block !important;
    transform: rotate(0deg) !important;
    transform-origin: center center !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    line-height: 1 !important;
}

/* Arrow when submenu is OPEN - rotated 90 degrees (pointing down), gold color */
.handheld-navigation .dropdown-toggle.toggled-on::after,
.handheld-navigation button.dropdown-toggle.toggled-on::after {
    content: "›" !important;
    color: var(--aa-accent) !important;
    transform: rotate(90deg) !important;
    transform-origin: center center !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
}

/* Arrow when submenu is CLOSED - back to normal (pointing right), white color */
.handheld-navigation .dropdown-toggle:not(.toggled-on)::after,
.handheld-navigation button.dropdown-toggle:not(.toggled-on)::after {
    content: "›" !important;
    color: var(--aa-text-muted) !important;
    transform: rotate(0deg) !important;
    transform-origin: center center !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
}

/* Adjust padding on links with children to make room for toggle */
.handheld-navigation ul.menu > li.menu-item-has-children > a {
    padding-right: 45px !important;
}

/* Sub-menu styling - no borders */
.handheld-navigation ul.menu .sub-menu {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background-color: #111 !important;
    border: none !important;
}

.handheld-navigation ul.menu .sub-menu li {
    border: none !important;
    margin: 0 !important;
}

.handheld-navigation ul.menu .sub-menu li a {
    display: block !important;
    padding: 12px 20px 12px 30px !important;
    color: var(--aa-text-muted) !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    background-color: #111 !important;
    border: none !important;
}

.handheld-navigation ul.menu .sub-menu li a:hover,
.handheld-navigation ul.menu .sub-menu li a:focus,
.handheld-navigation ul.menu .sub-menu li a:active,
.handheld-navigation ul.menu .sub-menu li:hover a,
.handheld-navigation ul.menu .sub-menu li:active a {
    background-color: transparent !important;
    color: var(--aa-accent) !important;
}

/* Nested sub-menus (3rd level) */
.handheld-navigation ul.menu .sub-menu .sub-menu li a {
    padding-left: 60px !important;
    font-size: 0.95rem !important;
}

/* Remove any default Storefront borders and ensure arrow visibility */
.handheld-navigation,
.handheld-navigation ul,
.handheld-navigation li,
.handheld-navigation a,
.handheld-navigation ul.menu,
.handheld-navigation ul.menu li,
.handheld-navigation ul.menu li a,
.handheld-navigation ul.menu .sub-menu,
.handheld-navigation ul.menu .sub-menu li,
.handheld-navigation ul.menu .sub-menu li a {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
}

.handheld-navigation button.dropdown-toggle {
    border: none !important;
    outline: none !important;
}

/* Override any Storefront SVG or icon styles on dropdown toggle */
.handheld-navigation .dropdown-toggle svg,
.handheld-navigation .dropdown-toggle img {
    display: none !important;
}

/* Ensure our custom arrow is always visible */
.handheld-navigation .dropdown-toggle::after,
.handheld-navigation button.dropdown-toggle::after {
    content: "›" !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-block !important;
}

/* ==========================================================================
   Comprehensive Mobile Responsive Styles
   ========================================================================== */

@media (max-width: 768px) {

    /* ----------------------------------------
       Hero Section
       ---------------------------------------- */

    .aa-hero {
        min-height: 70vh;
        padding: var(--aa-spacing-md);
    }

    .aa-hero__content {
        padding: var(--aa-spacing-md);
    }

    .aa-hero__title {
        font-size: 2rem !important;
        line-height: 1.2;
    }

    .aa-hero__subtitle {
        font-size: 1rem !important;
        line-height: 1.6;
    }

    .aa-hero__badge {
        font-size: 10px;
        padding: 6px 14px;
    }

    .aa-hero__cta {
        flex-direction: column;
        gap: var(--aa-spacing-sm);
    }

    .aa-hero__cta .aa-btn {
        width: 100%;
        text-align: center;
    }

    /* ----------------------------------------
       Trust Bar
       ---------------------------------------- */

    .aa-trust-bar__items {
        flex-direction: column;
        gap: var(--aa-spacing-sm);
    }

    .aa-trust-bar__item {
        padding: var(--aa-spacing-xs) var(--aa-spacing-sm);
    }

    /* ----------------------------------------
       Section Titles
       ---------------------------------------- */

    .aa-section-title {
        font-size: 1.75rem !important;
    }

    .aa-section-subtitle {
        font-size: 1rem !important;
        padding: 0 var(--aa-spacing-sm);
    }

    /* ----------------------------------------
       Flagship Section
       ---------------------------------------- */

    .aa-flagship {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .aa-flagship__content {
        flex-direction: column;
        text-align: center;
    }

    .aa-flagship__text {
        padding: var(--aa-spacing-md);
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .aa-flagship__title {
        font-size: 2rem !important;
    }

    .aa-flagship__features {
        text-align: left;
    }

    .aa-flagship__cta {
        flex-direction: column;
        gap: var(--aa-spacing-sm);
    }

    .aa-flagship__cta .aa-btn {
        width: 100%;
    }

    .aa-flagship__image {
        order: -1;
        margin-bottom: var(--aa-spacing-md);
    }

    /* ----------------------------------------
       Featured Products Grid - Stack on Mobile
       ---------------------------------------- */

    .aa-products__wc-grid ul.products,
    .aa-products__wc-grid .woocommerce ul.products {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--aa-spacing-md) !important;
        min-height: auto !important;
        position: relative !important;
    }

    .aa-products__wc-grid ul.products li.product,
    .aa-products__wc-grid .woocommerce ul.products li.product,
    .aa-products__wc-grid ul.products li.product:nth-child(1),
    .aa-products__wc-grid ul.products li.product:nth-child(2),
    .aa-products__wc-grid ul.products li.product:nth-child(3),
    .aa-products__wc-grid ul.products li.product:nth-child(4),
    .aa-products__wc-grid .woocommerce ul.products li.product:nth-child(1),
    .aa-products__wc-grid .woocommerce ul.products li.product:nth-child(2),
    .aa-products__wc-grid .woocommerce ul.products li.product:nth-child(3),
    .aa-products__wc-grid .woocommerce ul.products li.product:nth-child(4) {
        position: relative !important;
        width: 100% !important;
        left: auto !important;
        top: auto !important;
        margin: 0 !important;
        float: none !important;
    }

    /* ----------------------------------------
       Categories Grid - Stack on Mobile
       ---------------------------------------- */

    .aa-categories__wc-grid ul.products,
    .aa-categories__wc-grid .woocommerce ul.products {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--aa-spacing-md) !important;
        min-height: auto !important;
        position: relative !important;
    }

    .aa-categories__wc-grid ul.products li.product-category,
    .aa-categories__wc-grid .woocommerce ul.products li.product-category,
    .aa-categories__wc-grid ul.products li.product-category:nth-child(1),
    .aa-categories__wc-grid ul.products li.product-category:nth-child(2),
    .aa-categories__wc-grid ul.products li.product-category:nth-child(3),
    .aa-categories__wc-grid ul.products li.product-category:nth-child(4),
    .aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(1),
    .aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(2),
    .aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(3),
    .aa-categories__wc-grid .woocommerce ul.products li.product-category:nth-child(4) {
        position: relative !important;
        width: 100% !important;
        height: 200px !important;
        left: auto !important;
        top: auto !important;
        margin: 0 !important;
        float: none !important;
    }

    /* ----------------------------------------
       Calibers Grid
       ---------------------------------------- */

    .aa-calibers__grid {
        grid-template-columns: 1fr !important;
        gap: var(--aa-spacing-sm) !important;
    }

    .aa-caliber-card {
        padding: var(--aa-spacing-md);
    }

    /* ----------------------------------------
       Services Grid
       ---------------------------------------- */

    .aa-services__grid {
        grid-template-columns: 1fr !important;
        gap: var(--aa-spacing-md) !important;
    }

    .aa-service-card {
        padding: var(--aa-spacing-md);
    }

    /* ----------------------------------------
       Founder Section
       ---------------------------------------- */

    .aa-founder__content {
        flex-direction: column;
        gap: var(--aa-spacing-md);
    }

    .aa-founder__image {
        max-width: 100%;
    }

    .aa-founder__text {
        padding: var(--aa-spacing-md);
    }

    .aa-founder__title {
        font-size: 1.5rem !important;
    }

    .aa-founder__bio {
        font-size: 1rem !important;
    }

    .aa-founder__quote {
        font-size: 1rem !important;
        padding: var(--aa-spacing-sm);
    }

    /* ----------------------------------------
       Subscription Section
       ---------------------------------------- */

    .aa-subscription__content {
        flex-direction: column;
        gap: var(--aa-spacing-md);
    }

    .aa-subscription__text,
    .aa-subscription__form {
        padding: var(--aa-spacing-md);
    }

    .aa-subscription__title {
        font-size: 1.75rem !important;
    }

    .aa-subscription__tiers {
        flex-direction: column;
        gap: var(--aa-spacing-sm);
    }

    /* ----------------------------------------
       Shop Filters (Mobile)
       ---------------------------------------- */

    .storefront-sorting {
        flex-direction: column;
        align-items: stretch;
    }

    .aa-shop-filters {
        flex-wrap: wrap;
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .aa-filter-dropdown {
        flex: 1 1 45%;
        min-width: 0;
        font-size: 10pt;
        padding: 6px 8px;
        height: 34px;
    }

    .aa-filter-dropdown option {
        font-size: 10pt;
    }

    .aa-per-page {
        flex: 1 1 45%;
    }

    .aa-view-toggle {
        margin-right: 0;
        order: -1;
        width: 100%;
        justify-content: flex-start;
        margin-bottom: 8px;
    }

    .aa-view-btn {
        width: 34px;
        height: 34px;
    }

    /* ----------------------------------------
       Mobile Shop - GRID VIEW (2 columns, 100x100 images)
       ---------------------------------------- */

    body:not(.aa-shop-list-view).archive.woocommerce-page ul.products,
    body:not(.aa-shop-list-view).post-type-archive-product ul.products,
    body:not(.aa-shop-list-view).woocommerce-shop ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 1fr !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    /* Grid view - smaller product images (100x100) */
    body:not(.aa-shop-list-view) ul.products li.product a img,
    body:not(.aa-shop-list-view) ul.products li.product img.attachment-woocommerce_thumbnail {
        width: 100px !important;
        height: 100px !important;
        object-fit: cover !important;
    }

    /* Grid view - smaller padding with space for absolute button */
    body:not(.aa-shop-list-view) ul.products li.product {
        padding: 10px !important;
        padding-bottom: 45px !important;
        position: relative !important;
        height: 100% !important;
    }

    /* Grid view - button fixed 10px from bottom, no line wrap */
    body:not(.aa-shop-list-view) ul.products li.product .button,
    body:not(.aa-shop-list-view) ul.products li.product .add_to_cart_button,
    body:not(.aa-shop-list-view) ul.products li.product a.added_to_cart {
        position: absolute !important;
        bottom: 10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        white-space: nowrap !important;
        word-spacing: normal !important;
        max-width: none !important;
    }

    /* Grid view - smaller product title */
    body:not(.aa-shop-list-view) ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.8rem !important;
        margin-top: 8px !important;
    }

    /* Grid view - show stock status above price on mobile */
    body:not(.aa-shop-list-view) ul.products li.product .aa-stock-status {
        display: inline-block !important;
        font-size: 0.65rem !important;
        padding: 2px 6px !important;
        border-radius: 3px !important;
        margin-top: 6px !important;
    }

    body:not(.aa-shop-list-view) ul.products li.product .aa-stock-instock {
        background-color: rgba(40, 167, 69, 0.15) !important;
        color: var(--aa-success) !important;
    }

    body:not(.aa-shop-list-view) ul.products li.product .aa-stock-outofstock {
        background-color: rgba(220, 53, 69, 0.15) !important;
        color: var(--aa-error) !important;
    }

    body:not(.aa-shop-list-view) ul.products li.product .aa-stock-onbackorder {
        background-color: rgba(201, 162, 39, 0.15) !important;
        color: var(--aa-accent) !important;
    }

    /* Grid view - smaller price */
    body:not(.aa-shop-list-view) ul.products li.product .price {
        font-size: 0.85rem !important;
        margin-top: 4px !important;
    }

    /* ----------------------------------------
       Mobile Shop - LIST VIEW (50x50 images, no description, minimal padding)
       ---------------------------------------- */

    /* List view - compact row layout with 5px padding all around */
    body.aa-shop-list-view ul.products li.product,
    body.aa-shop-list-view.woocommerce-shop ul.products li.product,
    body.aa-shop-list-view.archive.woocommerce-page ul.products li.product,
    body.aa-shop-list-view.post-type-archive-product ul.products li.product {
        display: grid !important;
        grid-template-columns: 55px 1fr 45px !important;
        grid-template-rows: auto !important;
        height: auto !important;
        min-height: 50px !important;
        max-height: none !important;
        padding: 5px !important;
        gap: 5px !important;
        align-items: center !important;
    }

    /* List view - product link wrapper: remove all padding (override desktop 15px) */
    body.aa-shop-list-view ul.products li.product a.woocommerce-LoopProduct-link,
    body.aa-shop-list-view.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
    body.aa-shop-list-view.archive.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
    body.aa-shop-list-view.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link {
        padding: 0 !important;
        margin: 0 !important;
        width: 50px !important;
        height: 50px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    /* List view - smaller product images (50x50) flush with no extra space */
    body.aa-shop-list-view ul.products li.product a.woocommerce-LoopProduct-link img,
    body.aa-shop-list-view ul.products li.product img:not(.aa-hidden-in-list),
    body.aa-shop-list-view.woocommerce-shop ul.products li.product a img,
    body.aa-shop-list-view.archive.woocommerce-page ul.products li.product a img,
    body.aa-shop-list-view.post-type-archive-product ul.products li.product a img {
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: cover !important;
    }

    /* List view - hide description text on mobile */
    body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-product-excerpt {
        display: none !important;
    }

    /* List view - text content uses available space, 5px margin from button */
    body.aa-shop-list-view ul.products li.product .aa-list-text-content {
        padding: 0 5px 0 0 !important;
        gap: 1px !important;
        overflow: hidden !important;
    }

    /* List view - title allows 2 lines with ellipsis */
    body.aa-shop-list-view ul.products li.product .aa-list-text-content .woocommerce-loop-product__title {
        font-size: 0.7rem !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    /* List view - smaller stock status */
    body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-stock-status {
        font-size: 0.6rem !important;
        padding: 1px 3px !important;
    }

    /* List view - smaller price */
    body.aa-shop-list-view ul.products li.product .aa-list-text-content .price {
        font-size: 0.7rem !important;
    }

    /* List view - price row minimal spacing */
    body.aa-shop-list-view ul.products li.product .aa-list-text-content .aa-list-price-row {
        gap: 4px !important;
        margin: 1px 0 0 0 !important;
    }

    /* ----------------------------------------
       Mobile Shop - ADD TO CART BUTTONS
       ---------------------------------------- */

    /* Grid view - smaller button */
    body:not(.aa-shop-list-view) ul.products li.product .button,
    body:not(.aa-shop-list-view) ul.products li.product .add_to_cart_button,
    body:not(.aa-shop-list-view) ul.products li.product a.added_to_cart {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }

    /* List view - narrow button with line break (Add To / Cart) */
    body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper {
        padding: 0 5px 0 0 !important;
    }

    body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper .button,
    body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper .add_to_cart_button {
        padding: 4px 6px !important;
        font-size: 9px !important;
        max-width: 40px !important;
        white-space: normal !important;
        word-spacing: 100vw !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    /* View Cart button in list view - no word-spacing hack needed */
    body.aa-shop-list-view ul.products li.product .aa-list-button-wrapper a.added_to_cart {
        padding: 4px 6px !important;
        font-size: 9px !important;
        max-width: 40px !important;
        white-space: normal !important;
        word-spacing: normal !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    /* Result count mobile */
    .aa-result-count-wrapper {
        text-align: center;
    }

    /* ----------------------------------------
       About Us Page
       ---------------------------------------- */

    .aa-about-section,
    .aa-about-section.wp-block-group {
        padding: 0 var(--aa-spacing-md) !important;
    }

    .aa-about-section > .wp-block-columns {
        flex-direction: column !important;
        gap: var(--aa-spacing-md) !important;
    }

    .aa-about-section .aa-founder-image,
    .aa-about-section .aa-founder-image.wp-block-column {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: auto !important;
        max-width: 100% !important;
    }

    .aa-about-section .aa-founder-text,
    .aa-about-section .aa-founder-text.wp-block-column {
        min-width: auto !important;
    }

    .aa-veteran-section .wp-block-columns {
        width: 100% !important;
        flex-direction: column !important;
    }

    .aa-veteran-text-container,
    .aa-veteran-image-container {
        width: 100% !important;
    }

    /* ----------------------------------------
       Footer
       ---------------------------------------- */

    .aa-footer-content {
        padding: var(--aa-spacing-md) !important;
    }

    .aa-footer-section h4 {
        font-size: 1rem !important;
    }

    /* ----------------------------------------
       Breadcrumbs
       ---------------------------------------- */

    .woocommerce-breadcrumb,
    .storefront-breadcrumb .woocommerce-breadcrumb,
    nav.woocommerce-breadcrumb {
        font-size: 20px !important;
        padding: 0.5rem !important;
    }

    .woocommerce-breadcrumb a,
    .woocommerce-breadcrumb span,
    .woocommerce-breadcrumb,
    .storefront-breadcrumb .woocommerce-breadcrumb a,
    .storefront-breadcrumb .woocommerce-breadcrumb span {
        font-size: 20px !important;
    }

    /* Mobile: Reduce space above and below breadcrumb by 50% */
    .storefront-breadcrumb {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }

    /* ----------------------------------------
       Buttons on Mobile
       ---------------------------------------- */

    .aa-btn {
        padding: 12px 24px;
        font-size: 13px;
    }

    /* ----------------------------------------
       General Content Padding
       ---------------------------------------- */

    .col-full {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Product cards min-height adjustment */
    .woocommerce ul.products li.product {
        min-height: auto !important;
    }
}

/* ==========================================================================
   Extra Small Screen Adjustments (under 480px)
   ========================================================================== */

@media (max-width: 480px) {

    .aa-hero__title {
        font-size: 1.6rem !important;
    }

    .aa-section-title {
        font-size: 1.5rem !important;
    }

    .aa-site-logo__img,
    .site-header .site-branding .aa-site-logo__img {
        height: 40px !important;
    }

    .aa-site-identity .beta.site-title,
    .site-branding .beta.site-title {
        font-size: 1.4rem !important;
    }

    .aa-site-identity .site-description,
    .site-branding .site-description {
        font-size: 0.85rem !important;
    }
}

/* ==========================================================================
   AAFC - Aitken Arms Featured Carousel
   Completely isolated namespace for carousel styles
   ========================================================================== */

/* Section wrapper */
.aafc-section {
    padding: var(--aa-spacing-xxl, 60px) 0;
    background-color: var(--aa-background, #f8f8f8);
}

.aafc-section__title {
    font-family: var(--aa-font-heading, 'Bebas Neue', sans-serif);
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--aa-accent, #c9a227);
    text-align: center;
    margin: 0 0 10px 0;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.aafc-section__subtitle {
    font-size: 1.1rem;
    color: var(--aa-text-light, #666);
    text-align: center;
    margin: 0 0 30px 0;
}

.aafc-section__cta {
    text-align: center;
    margin-top: var(--aa-spacing-xl, 40px);
}

/* Carousel Container */
.aafc {
    position: relative;
    width: 100%;
    padding: 15px 60px 20px 60px; /* Top for hover lift, sides for nav buttons */
    box-sizing: border-box;
}

/* Viewport - clips overflow */
.aafc-viewport {
    width: 100%;
    overflow: hidden;
}

/* Track - flex container that scrolls */
.aafc-track {
    display: flex;
    flex-direction: row;
    gap: 20px;
    transition: transform 0.5s ease;
}

/* Individual product card - matches Shop .woocommerce ul.products li.product */
.aafc-item {
    flex: 0 0 220px;
    width: 220px;
    min-width: 220px;
    background-color: #2a2a2a;
    border: 1px solid #3a3a3a;
    border-radius: 8px;
    padding: 15px;
    padding-bottom: 55px;
    position: relative;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.aafc-item:hover {
    box-shadow: var(--aa-shadow-md, 0 8px 20px rgba(0, 0, 0, 0.15));
    transform: translateY(-4px);
}

/* Product link (wraps image, title, stock, price) */
.aafc-item__link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.aafc-item__link:hover {
    text-decoration: none;
}

/* Product image - matches Shop li.product a img */
.aafc-item__image {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: var(--aa-radius-sm, 4px);
    margin-bottom: var(--aa-spacing-sm, 10px);
    margin-left: auto;
    margin-right: auto;
}

/* Product title - matches Shop .woocommerce-loop-product__title */
.aafc-item__title {
    font-family: var(--aa-font-heading, 'Bebas Neue', sans-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 5px 0;
    padding: 0;
    color: var(--aa-text, #e0e0e0);
    min-height: 2.8em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Stock status badge - matches Shop .aa-stock-status */
.aafc-stock {
    display: inline-block;
    width: fit-content;
    align-self: center;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 3px;
    margin-bottom: 8px;
}

.aafc-stock--instock {
    background-color: rgba(40, 167, 69, 0.15);
    color: #28a745;
}

.aafc-stock--outofstock {
    background-color: rgba(220, 53, 69, 0.15);
    color: #dc3545;
}

.aafc-stock--onbackorder {
    background-color: rgba(201, 162, 39, 0.15);
    color: #c9a227;
}

/* Product price - matches Shop .price */
.aafc-item__price {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--aa-accent, #c9a227);
    margin-bottom: var(--aa-spacing-md, 15px);
    display: block;
}

/* Add to Cart button - matches Shop .button */
.aafc-btn {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: auto;
    background-color: var(--aa-accent, #c9a227) !important;
    color: var(--aa-primary, #1a1a1a) !important;
    border: none;
    border-radius: var(--aa-radius-sm, 4px);
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.3s ease;
}

.aafc-btn:hover {
    background-color: var(--aa-accent-dark, #b8922a) !important;
    color: var(--aa-primary, #1a1a1a) !important;
    text-decoration: none;
}

.aafc-btn--backorder {
    background-color: var(--aa-accent, #c9a227) !important;
}

.aafc-btn--outofstock {
    background-color: #666 !important;
    color: #999 !important;
    cursor: not-allowed;
}

/* View Cart button in carousel - matches Shop page styling */
.aafc-item a.added_to_cart,
.aafc-item .aafc-btn.added_to_cart {
    display: inline-block !important;
    width: auto;
    background-color: var(--aa-secondary, #2a2a2a) !important;
    background: var(--aa-secondary, #2a2a2a) !important;
    color: var(--aa-accent, #c9a227) !important;
    border: 1px solid var(--aa-accent, #c9a227) !important;
    border-radius: var(--aa-radius-sm, 4px);
    padding: 10px 20px !important;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.3s ease;
}

.aafc-item a.added_to_cart:hover,
.aafc-item .aafc-btn.added_to_cart:hover {
    background-color: var(--aa-secondary, #2a2a2a) !important;
    background: var(--aa-secondary, #2a2a2a) !important;
    color: var(--aa-accent, #c9a227) !important;
    text-decoration: none !important;
}

/* Hide the arrow on View Cart in carousel */
.aafc-item a.added_to_cart::after,
.aafc-item a.added_to_cart.wc-forward::after {
    display: none !important;
}

/* Hide Add to Cart button when product is in cart */
.aafc-item .add_to_cart_button.added {
    display: none !important;
}

/* Navigation Arrows */
.aafc-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: var(--aa-accent, #c9a227);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, transform 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.aafc-nav__icon {
    color: var(--aa-primary, #1a1a1a);
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
}

.aafc-nav:hover {
    background: var(--aa-accent-dark, #b8922a);
    transform: translateY(-50%) scale(1.1);
}

.aafc-nav--prev {
    left: 5px;
}

.aafc-nav--next {
    right: 5px;
}

/* Cloned items for infinite scroll */
.aafc-clone {
    /* Same styles as .aafc-item - they're cloned so inherit automatically */
}

/* Empty state */
.aafc-empty {
    text-align: center;
    padding: 40px;
    color: var(--aa-text-light, #666);
}

/* Mobile - stack vertically, show only first 4 */
@media (max-width: 768px) {
    .aafc-section__title {
        font-size: 2rem;
    }

    .aafc {
        padding: 0;
    }

    .aafc-viewport {
        overflow: visible;
    }

    .aafc-track {
        flex-direction: column;
        transform: none !important;
        transition: none !important;
    }

    .aafc-item {
        width: 100%;
        min-width: 100%;
        flex: 0 0 auto;
    }

    /* Hide items after the first 4 on mobile */
    .aafc-item:nth-child(n+5) {
        display: none;
    }

    /* Also hide cloned items on mobile */
    .aafc-clone {
        display: none !important;
    }

    .aafc-nav {
        display: none !important;
    }

    .aafc-item__image {
        height: 200px;
    }
}

/* ==========================================================================
   Cart Recommendations Carousel
   Smaller cards to match Shop page product cards
   Uses aafc--compact modifier for isolated styling
   ========================================================================== */

/* Cart-specific section styling */
.aafc-section--cart {
    margin-top: 40px;
    padding: 40px 0 60px;
    border-top: 1px solid var(--aa-border-dark, #3a3a3a);
    background-color: var(--aa-primary, #1a1a1a);
}

/* Centered title for cart carousel - same font as frontpage but not uppercase */
.aafc-section--cart .aafc-section__title,
.aafc-section__title.aafc-section__title--centered {
    text-align: center;
    text-transform: none !important;
}

/* Ensure proper spacing on cart page */
.woocommerce-cart .aafc-section--cart {
    margin-bottom: 0;
}

/* Product page carousel section styling */
.aafc-section--product {
    margin-top: 40px;
    padding: 40px 0 60px;
    border-top: 1px solid var(--aa-border-dark, #3a3a3a);
    background-color: var(--aa-primary, #1a1a1a);
}

/* Centered title for product carousel */
.aafc-section--product .aafc-section__title {
    text-align: center;
    text-transform: none !important;
}

/* Empty cart specific styling - more spacing since there's less content */
.woocommerce-cart .cart-empty ~ .aafc-section--cart,
.woocommerce-cart .wc-empty-cart-message ~ .aafc-section--cart {
    margin-top: 60px;
    border-top: none;
}

/* --------------------------------------------------------------------------
   Compact Carousel Cards (aafc--compact modifier)
   EXACT match to Shop page .woocommerce ul.products li.product
   -------------------------------------------------------------------------- */

/* Gap between items */
.aafc--compact .aafc-track {
    gap: var(--aa-spacing-md, 15px);
}

/* Add padding to viewport for hover animation overflow */
.aafc--compact .aafc-viewport {
    padding-top: 8px !important;
    margin-top: -8px !important;
}

/* Product cards - match frontpage carousel */
.aafc--compact .aafc-item {
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    background-color: #2a2a2a !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 8px !important;
    padding: 15px !important;
    padding-bottom: 55px !important;
    position: relative !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.aafc--compact .aafc-item:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-4px) !important;
}

/* Link wrapper - covers entire card, no underline */
.aafc--compact .aafc-item__link,
.aafc--compact .aafc-item__link:hover,
.aafc--compact .aafc-item__link:focus,
.aafc--compact .aafc-item__link:active {
    text-decoration: none !important;
    color: inherit !important;
}

/* Image - match Shop page: 200x200 */
.aafc--compact .aafc-item__image {
    width: 200px !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Title - WHITE text, match Shop .woocommerce-loop-product__title */
.aafc--compact .aafc-item .aafc-item__title,
.aafc--compact .aafc-item h2.aafc-item__title,
.aafc--compact h2.aafc-item__title {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #e7e7e7 !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

/* Stock badge - match Shop page .aa-stock-status */
.aafc--compact .aafc-stock {
    display: inline-block !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
    margin-top: 8px !important;
}

/* Price - GOLD like Shop page */
.aafc--compact .aafc-item__price {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #c9a227 !important;
}

/* Button - absolute at bottom, centered */
.aafc--compact .aafc-btn {
    position: absolute !important;
    bottom: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: #c9a227 !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.aafc--compact .aafc-btn:hover {
    background-color: #b8922a !important;
    text-decoration: none !important;
}

/* Navigation arrows */
.aafc--compact .aafc-nav {
    width: 44px;
    height: 44px;
}

.aafc--compact .aafc-nav__icon {
    font-size: 1.5rem;
}

/* Mobile adjustments for cart carousel */
@media (max-width: 768px) {
    .aafc-section--cart {
        margin-top: 30px;
        padding: 30px 15px 40px;
    }

    .aafc-section--cart .aafc-section__title {
        font-size: 1.5rem;
    }

    /* Reset compact items for mobile stacking */
    .aafc--compact .aafc-item {
        width: 100% !important;
        min-width: 100% !important;
        flex: 0 0 auto !important;
        min-height: auto !important;
    }
}

