/**
 * Main Stylesheet
 * Aurora WO Shop Theme
 *
 * Note: theme tokens are defined directly in this file
 *
 * TABLE OF CONTENTS
 * =================
 * 1.  BASE & RESET
 * 2.  TYPOGRAPHY & FONTS
 * 3.  CSS VARIABLES
 * 4.  GLOBAL STYLES & UTILITIES
 * 5.  PERFORMANCE OPTIMIZATIONS
 * 6.  LINKS & IMAGES
 * 7.  PRODUCT DESCRIPTION ACCORDION
 * 8.  RELATED PRODUCTS SLIDER
 * 9.  SUBHEADER / ANNOUNCEMENT BAR
 * 10. NAVIGATION
 * 11. BACK TO TOP BUTTON
 * 12. SITE CONTENT
 * 13. HERO SECTION
 * 14. SECTIONS & CONTAINERS
 * 15. BRANDS SECTION
 * 16. GUARANTEES SECTION
 * 17. PRODUCT CARDS & GRIDS
 * 18. HOT DEALS SECTION
 * 19. NEWSLETTER SECTION
 * 20. FOOTER
 * 21. SHOP PAGE
 * 22. FILTER PLUGIN STYLES
 * 23. SINGLE PRODUCT PAGE
 * 24. MOBILE MENU
 * 25. RESPONSIVE STYLES
 * 26. LAZY LOADING & UTILITIES
 */


/* ==========================================================================
   1. BASE & RESET
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Kalnia Regular', Helvetica, Arial, sans-serif;
    background-color: var(--body-bg, #1a1208);
    color: var(--text, #2D3748);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeSpeed;
    overflow-x: hidden;
}

/* ==========================================================================
   2. TYPOGRAPHY & FONTS
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.section-title {
    font-family: var(--font--heading--family);
}

@font-face {
    font-family: 'Kalnia Regular';
    src: url('../fonts/Kalnia-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Shadows Into Light';
    src: url('../fonts/ShadowsIntoLight.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   3. CSS VARIABLES
   ========================================================================== */

/* Typography tokens (desktop) */
:root {
    --font--featured-heading--size: 64px;
    --font--section-heading--size: 32px;
    --font--block-heading--size: 24px;
    --font--heading--uppercase: uppercase;
    --font--paragraph--size: 17px;
    --font--paragraph--size-80-percent: 13px;
    --font--navigation--size: 18px;
    --font--heading--family: 'Kalnia Regular', Helvetica, Arial, sans-serif;
    --font--heading--weight: 400;
    --font--heading--normal-weight: 400;
    --font--heading--style: normal;
    --font--accent--family: Helvetica, Arial, sans-serif;
    --font--accent--weight: 400;
    --font--accent--style: normal;
    --font--accent--size: 12px;
    --font--paragraph--family: Helvetica, Arial, sans-serif;
    --font--paragraph--weight: 400;
    --font--paragraph--style: normal;
    --font--bolder-paragraph--weight: 700;
    --font--mobile-nav-weight: 600;
    --font--desktop-nav-weight: 600;
    --font--button--uppercase: uppercase;
    --font--button--letter_spacing: 0.08em;
    --font--button--text_size: 14px;
    --small_feature_link_font_size: 0.75;
    --button-padding-top: 1.2;
    --button-padding-bottom: 1.2;
    --button-radius: 0px;
    --body-bg: #1a1208;
    --secondary-bg: #f1e3cf;
    --card-bg: rgba(22, 17, 13, 0.92);
    --header-bg: #1a1208;
    --footer-bg: #d4bc8a;
    --primary: #1a1208;
    --secondary: #d4bc8a;
    --accent: #c89b5d;
    --text: #d4bc8a;
    --text-light: #d4bc8a;
    --text-muted: #a79276;
    --heading: #d4bc8a;
    --link: #d4bc8a;
    --link-hover: #e6bc82;
    --footer-text: #2c1d10;
    --subheader-bg: #1a1208;
    --subheader-text: #d4bc8a;
    --subheader-font-size: 14px;
    --newsletter-bg: #0d0a08;
    --newsletter-text: #eadfcd;
    --newsletter-title: #f4e7d3;
    --footer-link: #2c1d10;
    --border: #51402d;
    --border-light: #2a2017;
    --input-border: #6f5a41;
    --input-focus: #d4bc8a;
    --button-bg: #d4bc8a;
    --button-text: #16110d;
    --button-hover: #e6bc82;
    --button-secondary-bg: #1a1208;
    --button-secondary-text: #d4bc8a;
    --hero-gradient-start: #1a1208;
    --hero-gradient-end: #1a140f;
    --hero-text: #ffffff;
    --success: #c89b5d;
    --error: #9f3d2f;
    --warning: #d4bc8a;
    --info: #b88952;
    --product-name-color: #d4bc8a;
    --price: #d9b178;
    --sale-price: #d4bc8a;
    --sale-badge: #d4bc8a;
    --rating-star: #d4bc8a;
    --stock-low: #d4bc8a;
    --stock-out: #a79276;
    --featured-section-text: #2c1d10;
    --featured-product-name-color: #2c1d10;
    --featured-product-name-hover-color: #8b5f35;
    --latest-section-text: #eadfcd;
    --hot-deals-text: #16110d;
    --reviews-text: #2c1d10;
    --review-card-bg: #1a1208;
    --nav-bg: rgba(26, 18, 8, 0.96);
    --nav-link: #d4bc8a;
    --nav-height-desktop: 80px;
    --nav-padding-y: 20px;
    --nav-link-hover: #f0ca93;
    --nav-active-color: #f0ca93;
    --nav-active-underline: 100%;
    --back-to-top-bg: #d4bc8a;
    --back-to-top-icon: #16110d;
    --back-to-top-border: #9a7345;
    --back-to-top-border-width: 1px;
    --radius-card: 0px;
    --radius-product-image: 0px;
    --radius-box: 0px;
    --radius-button: 0px;
    --radius-reviews: 0px;
    --featured-grid-columns: 4;
    --featured-grid-columns-mobile: 2;
    --latest-grid-columns: 4;
    --latest-grid-columns-mobile: 2;
    --hot-grid-columns: 3;
    --hot-grid-columns-mobile: 1;
    --shop-grid-columns: 4;
    --shop-grid-columns-mobile: 2;
    --woocommerce-grid-columns-mobile: 2;
    --brands-columns: 6;
    --brand-collection-columns: 2;
    --brand-collection-columns-mobile: 1;
    --about-us-media-max-height: 400px;
    --hero-overlay-opacity: 0;
    --hero-content-padding-top: 0rem;
    --white: #ffffff;
    --black: #000000;
    --message-success-bg: rgba(200, 155, 93, 0.18);
    --message-success-text: #d4bc8a;
    --message-info-bg: rgba(212, 188, 138, 0.14);
    --message-info-text: #d4bc8a;
    --message-error-bg: rgba(159, 61, 47, 0.18);
    --message-error-text: #f1d3cb;
    --message-error-border: #9f3d2f;
}

h1 { font-size: 42px; }
h2 { font-size: 26px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; }
p { font-size: 17px; }

@media (max-width: 768px) {
    :root {
        --font--featured-heading--size: 64px;
        --font--section-heading--size: 32px;
        --font--block-heading--size: 24px;
        --font--heading--uppercase: uppercase;
        --font--paragraph--size: 14px;
        --font--paragraph--size-80-percent: 11px;
        --font--navigation--size: 18px;
        --font--heading--family: 'Kalnia Regular', Helvetica, Arial, sans-serif;
        --font--heading--weight: 400;
        --font--heading--normal-weight: 400;
        --font--heading--style: normal;
        --font--accent--family: Helvetica, Arial, sans-serif;
        --font--accent--weight: 400;
        --font--accent--style: normal;
        --font--accent--size: 12px;
        --font--paragraph--family: Helvetica, Arial, sans-serif;
        --font--paragraph--weight: 400;
        --font--paragraph--style: normal;
        --font--bolder-paragraph--weight: 700;
        --font--mobile-nav-weight: 600;
        --font--desktop-nav-weight: 600;
        --font--button--uppercase: uppercase;
        --font--button--letter_spacing: 0.08em;
        --font--button--text_size: 14px;
        --small_feature_link_font_size: 0.75;
        --button-padding-top: 1.2;
        --button-padding-bottom: 1.2;
        --button-radius: 0px;
    }

    h1 { font-size: 30px; }
    h2 { font-size: 22px; }
    h3 { font-size: 18px; }
    h4 { font-size: 16px; }
    p { font-size: 16px; }
}
/* ==========================================================================
   4. GLOBAL STYLES & UTILITIES
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.section-title {
    color: var(--heading);
}

a {
    color: var(--link);
}

a:hover {
    color: var(--link-hover);
}

.section-alt,
.featured-section,
.latest-section {
    background: var(--secondary-bg);
}

.site-header {
    background: var(--header-bg);
}

.hero:not(.hero-with-image):not(.hero--has-slider) {
    background: linear-gradient(135deg, var(--hero-gradient-start) 0%, var(--hero-gradient-end) 100%);
}

.hero,
.hero h1,
.hero h2,
.hero p,
.hero .hero-title,
.hero .hero-subtitle {
    color: var(--hero-text);
}

.review-card,
.cart-item {
    background: var(--card-bg);
}

.bordered,
.cart-item {
    border-color: var(--border);
}

input,
textarea,
select {
    border-color: var(--input-border);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--input-focus);
    box-shadow: 0 0 0 3px rgba(212, 188, 138, 0.12);
}

.btn,
.button,
button[type='submit'] {
    background: var(--button-bg);
    color: var(--button-text);
}

.btn:hover,
.button:hover,
button[type='submit']:hover {
    background: var(--button-hover);
}

.btn-secondary,
.button-secondary {
    background: var(--button-secondary-bg);
    color: var(--button-secondary-text);
}

.site-footer {
    background: var(--footer-bg);
    color: var(--footer-text);
}

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

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

.success-message {
    border-color: var(--success);
    color: var(--success);
}

.error-message {
    border-color: var(--error);
    color: var(--error);
}

.info-message {
    border-color: var(--info);
    color: var(--info);
}

.text-muted,
.meta,
.product-meta {
    color: var(--text-muted);
}

.text-light,
.description {
    color: var(--text-light);
}

html {
    -webkit-tap-highlight-color: transparent;
    overflow-x: hidden;
    max-width: 100vw;
}

/* Type utility sizes */
.p1, .text-lg { font-size: 18px; }
.p2, .text-md { font-size: 17px; }
.p3, .text-sm { font-size: 15px; }
.text-xs { font-size: 13px; }

@media (max-width: 768px) {
    .p1, .text-lg { font-size: 16px; }
    .p2, .text-md { font-size: 16px; }
    .p3, .text-sm { font-size: 14px; }
    .text-xs { font-size: 10px; }
}

/* Global mobile overflow prevention */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        width: 100% !important;
    }

    .site-content,
    .site-main,
    main,
    article,
    section,
    .section,
    .container {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

}

/* ==========================================================================
   5. PERFORMANCE OPTIMIZATIONS
   ========================================================================== */

/* Contain layout for major sections */
.site-content,
.shop-container,
.product-container {
    contain: layout style;
}

/* Performance: content-visibility for below-fold sections
   Skips rendering until scrolled into view - major performance boost */
.hot-deals,
.newsletter,
.reviews-section,
.related-products,
.footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 500px;
}

/* ==========================================================================
   6. LINKS & IMAGES
   ========================================================================== */

/* Prevent CLS: Reserve space for images */
img {
    height: auto;
    max-width: 100%;
}

a {
    color: var(--link, inherit);
    text-decoration: none;
}

a:hover {
    color: var(--link-hover, var(--accent));
}

/* ==========================================================================
   7. PRODUCT DESCRIPTION ACCORDION
   ========================================================================== */

.woocommerce-product-details__short-description.prod.guarantee-card__description {
    margin: 0;
    color: color-mix(in srgb, var(--text-light, #6b7280) 80%, transparent);
    line-height: 1.6;
}

.woocommerce-product-details__short-description {
    margin-top: 0.5rem;
}

.woocommerce-product-details__short-description .description-full {
    border-radius: var(--radius-card, 12px);
    margin-bottom: 10px;
    color: #553110;
    background: transparent;
}

.woocommerce-product-details__short-description .description-toggle {
    list-style: none;
    background: color-mix(in srgb, var(--card-bg, #ffffff) 92%, transparent);
    border: 1px solid color-mix(in srgb, var(--border, #e2e8f0) 70%, transparent);
    color: var(--text);
    font-weight: 600;
    cursor: pointer;
    padding: 0.75rem 1rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-radius: var(--radius-card, 12px);
    box-shadow: 0 10px 24px -22px rgba(15, 23, 42, 0.3);
    text-align: left;
}

.woocommerce-product-details__short-description .description-toggle::-webkit-details-marker {
    display: none;
}

.woocommerce-product-details__short-description .description-toggle::after {
    content: "▾";
    color: color-mix(in srgb, var(--text, #1f2937) 60%, transparent);
    transition: transform 0.2s ease;
}

.woocommerce-product-details__short-description[open] .description-toggle::after {
    transform: rotate(-180deg);
}

.woocommerce-product-details__short-description[open] .description-toggle {
    border-color: color-mix(in srgb, var(--accent, #3b82f6) 30%, var(--border, #e2e8f0) 70%);
}

.product-policy-accordion .policy-toggle {
    list-style: none;
    background: color-mix(in srgb, var(--card-bg, #ffffff) 94%, transparent);
    border: 1px solid color-mix(in srgb, var(--border, #e2e8f0) 70%, transparent);
    color: var(--text);
    font-weight: 600;
    cursor: pointer;
    padding: 0.7rem 0.9rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-radius: var(--radius-card, 12px);
    text-align: left;
}

.product-policy-accordion .policy-toggle::-webkit-details-marker {
    display: none;
}

.product-policy-accordion .policy-toggle::after {
    content: "+";
    color: color-mix(in srgb, var(--text, #1f2937) 60%, transparent);
    transition: transform 0.2s ease;
}

.product-policy-accordion[open] .policy-toggle::after {
    content: "–";
}

.product-policy-accordion .policy-content {
    padding: 0.75rem 0.9rem 0.25rem;
    color: color-mix(in srgb, var(--text-light, #6b7280) 88%, transparent);
    line-height: 1.6;
}

.product-accordion-divider {
    margin: 0.85rem 0 0.35rem;
}

.product-description__title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: var(--text);
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    text-align: left;
}

.description-full {
    color: color-mix(in srgb, var(--text-light, #6b7280) 90%, transparent);
    line-height: 1.6;
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    text-align: left;
}

.product-accordion__toggle {
    list-style: none;
    color: var(--text);
    font-weight: 600;
    cursor: pointer;
    padding: 0.75rem 1rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    border: 0;
    border-top: 1px solid color-mix(in srgb, var(--border, #e2e8f0) 70%, transparent);
    background: transparent;
}

.product-accordion:last-of-type .product-accordion__toggle {
    border-bottom: 1px solid color-mix(in srgb, var(--border, #e2e8f0) 70%, transparent);
}

.product-accordion__toggle::-webkit-details-marker {
    display: none;
}

.product-accordion__toggle::after {
    content: "▾";
    color: color-mix(in srgb, var(--text, #1f2937) 60%, transparent);
    transition: transform 0.2s ease;
}

.product-accordion[open] .product-accordion__toggle::after {
    transform: rotate(-180deg);
}

.product-accordion__content {
    padding: 0.85rem 1rem 0.2rem;
    color: color-mix(in srgb, var(--text-light, #6b7280) 90%, transparent);
    line-height: 1.6;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.product-accordion[open] .product-accordion__toggle {
    border-bottom: 0;
}

.product-accordion[open] .product-accordion__content {
    border-bottom: 1px solid color-mix(in srgb, var(--border, #e2e8f0) 70%, transparent);
}

/* ==========================================================================
   8. RELATED PRODUCTS SLIDER
   ========================================================================== */

.related-products-wrapper,
.related.products {
    background: transparent;
    overflow: visible;
}

.aurora-related-slider {
    margin: 0 -1rem;
}

.aurora-related-slider .splide__slide {
    padding: 0 1rem;
}

/* Force arrows to always be visible */
.aurora-related-slider .splide__arrows {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    height: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    pointer-events: none;
    padding: 0 1rem;
    opacity: 1;
    visibility: visible;
    z-index: 10;
}

.aurora-related-slider .splide__arrow,
.related-products-arrow {
    background: #d4bc8a;
    opacity: 0.3 !important;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 10;
    opacity: 1;
    visibility: visible;
    top: var(--related-arrow-center, 50%);
    transform: translateY(-50%);
}

.aurora-related-slider .splide__arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: scale(1);
}

.aurora-related-slider .splide__arrow:disabled:hover,
.related-products-arrow:disabled:hover {
    background: var(--card-bg, white);
    border-color: var(--border, #e0e0e0);
    transform: scale(1);
}

.aurora-related-slider .splide__arrow--prev {
    left: calc(-2.75rem - 40px);
}

.aurora-related-slider .splide__arrow--next {
    right: calc(-2.75rem - 40px);
}

/* Reuse theme arrow icons across Splide sliders while preserving each slider's button styling */
.splide__arrow svg {
    display: none !important;
}

.splide__arrow--prev {
    background-image: url(../img/arrow_left.png) !important;
    background-repeat: no-repeat !important;
    background-position: 17px 18px !important;
    background-size: 11px 15px !important;
}

.splide__arrow--next {
    background-image: url('../img/arrow_right.png') !important;
    background-repeat: no-repeat !important;
    background-position: 21px 18px !important;
    background-size: 11px 15px !important;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .aurora-related-slider {
        margin: 0;
    }

    .aurora-related-slider .splide__slide {
        padding: 0 0.5rem;
    }

    .aurora-related-slider .splide__arrow {
        display: flex;
        width: 34px;
        height: 34px;
        opacity: 0.3 !important;
    }

    .aurora-related-slider .splide__arrows {
        display: flex;
        padding: 0;
        top: 0;
        bottom: auto;
        height: 0;
        align-items: flex-start;
    }

    .aurora-related-slider .splide__arrow--prev {
        left: 10px;
        background-position: 11px 10px !important;
    }

    .aurora-related-slider .splide__arrow--next {
        right: 10px;
        background-position: 13px 10px !important;
    }

    .related.products {
        overflow: hidden;
        padding: 0 1rem;
    }

    .entry-header {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .aurora-related-slider {
        margin: 0;
    }

    .aurora-related-slider .splide__slide {
        padding: 0 0.25rem;
    }
}

/* ==========================================================================
   9. SUBHEADER / ANNOUNCEMENT BAR
   ========================================================================== */

.subheader {
    position: relative;
    z-index: 10;
    background: var(--subheader-bg, #0f172a);
    color: var(--subheader-text, #ffffff);
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    overflow: hidden;
    white-space: nowrap;
    display: block;
    padding: 0.25rem 0;
    min-height: var(--subheader-height, auto);
}

.nav + .subheader {
    margin-top: var(--nav-height-desktop, 70px);
}

.subheader__marquee {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.subheader__track {
    display: inline-flex;
    gap: 4rem;
    animation: subheader-marquee 18s linear infinite;
    will-change: transform;
}

.subheader__text {
    display: inline-block;
    padding-inline: 1.5rem;
}

.subheader:hover .subheader__track {
    animation-play-state: paused;
}

@keyframes subheader-marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 640px) {
    .subheader {
        letter-spacing: 0.05em;
    }

    .subheader__track {
        gap: 2rem;
        animation-duration: 22s;
    }
}

/* ==========================================================================
   10. NAVIGATION
   ========================================================================== */

.nav {
    position: fixed;
    top: 0;
    width: 100%;
    background: #d4bc8a;
    color: #1a1208;
    border-bottom: 1px solid var(--border);
    z-index: 1000;
    transition: all 0.3s;
    min-height: var(--nav-height-desktop);
}

body.admin-bar .nav {
    top: 22px;
}

.nav.scrolled {
    box-shadow: 0 2px 20px var(--nav-shadow);
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 2rem 1px 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; /* for absolute-positioned mobile menu */
}

.logo {
    font-weight: 700;
    color: #1a1208;
    text-decoration: none;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    font-family: var(--font--heading--family);
}

/* Custom logo image styles */
.custom-logo-link {
    display: flex;
    align-items: center;
    height: 100%;
}

.aurora-site-branding {
    display: flex;
    align-items: center;
    height: 100%;
}

.aurora-site-branding .custom-logo--mobile {
    display: none;
}

.aurora-site-branding.aurora-site-branding--single-logo .custom-logo--desktop {
    display: block;
}

.custom-logo-link img {
    height: 100%;
    width: auto;
    max-height: var(--nav-height-desktop, 80px);
    object-fit: contain;
}

.nav-links {
    display: flex;
    gap: 2rem;
    list-style: none;
    align-items: center;
    font-family: var(--font--heading--family);
}

.aurora-wo-nav-links--right {
    justify-content: flex-end;
}

/* Contact form placeholders */
.contact-input::placeholder {
    color: #553110;
    opacity: 1;
}

.contact-input::-webkit-input-placeholder {
    color: #553110;
}

.contact-input::-moz-placeholder {
    color: #553110;
}

.contact-input:-ms-input-placeholder {
    color: #553110;
}

.contact-input::-ms-input-placeholder {
    color: #553110;
}

/* Contact form input styles - original from page-contact.php */
.contact-form input {
    width: auto;
    max-width: 100%;
    padding: 12px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    height: 45px; /* Reset to 45px as requested */
}
.contact-form textarea {
    width: auto;
    max-width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    height: 60px; /* Reset to 45px as requested */
}

.contact-form input,
.contact-form textarea {
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
}

.contact-form textarea.contact-input {
    flex: 1; /* Fill remaining space */
    min-height: 200px; /* Minimum height */
    width: 100%; /* Textarea can be full width */
    resize: vertical; /* Allow vertical resize */
    margin-bottom: 15px; /* Keep margin */
}

.contact-submit {
    height: 45px; /* Match input height */
    width: 8rem;
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    border: none;
    background: var(--primary, #5b3a1e);
    color: white;
    cursor: pointer;
}

.contact-submit:hover {
    background: var(--primary-dark, #3a2310);
    transform: translateY(-2px);
    color: #553110;
}

.contact-submit:active {
    transform: translateY(0);
}

/* Contact form layout */
.contact-wrapper {
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
}

.contact-image-and-form {
    display: flex;
    gap: 3rem;
    align-items: flex-start;
    justify-content: center;
    margin: 0 auto;
    max-width: 1000px; /* Adjust based on image + form width */
}

.contact-image {
    flex: 0 0 auto;
    max-width: 300px;
}

.contact-image img {
    width: 100%;
    height: auto;
}

.contact-form {
    flex: 1;
    height: 365px;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    height: 100%; /* Fill parent height */
}

.contact-button-wrapper {
    text-align: center;
    margin-top: 1rem;
        button.contact-submit {
            background: #553110;
            color: var(--button-text);
        }
        button.contact-submit:hover {
            background: var(--button-hover);
            color: #553110;
        }
}

/* Responsive contact layout */
@media (max-width: 768px) {
    .contact-image-and-form {
        flex-direction: column;
        gap: 2rem;
        align-items: center;
        max-width: 100%;
    }
    
    .contact-image {
        max-width: 100%;
        margin: 0 auto;
    }
    
    .contact-form {
        max-width: 100%;
    }
    
    .contact-button-wrapper {
        margin: 0 auto 0;
        text-align: center;
    }
}

/* ==========================================================================
   11. BACK TO TOP BUTTON
   ========================================================================== */

.aurora-back-to-top {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    border: var(--back-to-top-border-width, 1px) solid var(--back-to-top-border, transparent);
    background: var(--back-to-top-bg, var(--accent));
    color: var(--back-to-top-icon, #fff);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease, transform 0.3s ease, background 0.3s ease;
    opacity: 0;
    pointer-events: none;
    z-index: 999;
    transform: translateY(10px);
}

.aurora-back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.aurora-back-to-top:hover {
    background: var(--nav-link-hover, var(--back-to-top-bg, var(--accent)));
    transform: translateY(-3px);
}

.aurora-back-to-top:focus {
    outline: 3px solid rgba(59, 130, 246, 0.35);
    outline-offset: 2px;
}

.aurora-back-to-top span {
    line-height: 1;
}

.aurora-back-to-top img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.aurora-back-to-top-image {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    width: 52px;
    height: auto;
    cursor: pointer;
    z-index: 1000;
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
}

.aurora-back-to-top-image.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.woocommerce-cart .aurora-back-to-top,
.woocommerce-cart .aurora-back-to-top-image {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.woocommerce-order-received .aurora-back-to-top,
.woocommerce-order-received .aurora-back-to-top-image {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.aurora-back-to-top-image:hover {
    transform: translateY(-3px);
    opacity: 0.8;
}

.aurora-wo-nav-links--left {
    justify-content: flex-start;
}

.nav-container--menu-center {
    justify-content: space-between;
}

.nav-container--menu-left {
    justify-content: flex-start;
    gap: 2rem;
}

.nav-container--menu-center .aurora-wo-nav-links--center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nav-container--menu-left .aurora-wo-nav-links--left {
    margin-left: 2rem;
}

.nav-container--menu-left .aurora-wo-nav-links--left .nav-links {
    justify-content: flex-start;
}

.nav-container--menu-center .aurora-wo-nav-links--center .nav-links {
    justify-content: center;
}

.nav-links a {
    color: #1a1208;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
    position: relative;
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: #1a1208;
    transition: width 0.3s;
}

.nav-links a:hover::after {
    width: 100%;
}

.nav-links a:hover {
    color: #1a1208;
}

.nav-links .current-menu-item > a,
.nav-links .current-menu-ancestor > a,
.nav-links .current_page_item > a,
.nav-links .current_page_parent > a,
.nav-links a[aria-current="page"],
.nav-links a[aria-current="true"] {
    color: #1a1208;
}

.nav-links .current-menu-item > a::after,
.nav-links .current-menu-ancestor > a::after,
.nav-links .current_page_item > a::after,
.nav-links .current_page_parent > a::after,
.nav-links a[aria-current="page"]::after,
.nav-links a[aria-current="true"]::after {
    width: var(--nav-active-underline);
}

.cart-icon {
    cursor: pointer;
    position: relative;
    color: #1a1208;
}

.mobile-menu-btn {
    color: #1a1208;
}

.cart-icon-image {
    display: block;
    width: 24px;
    height: 24px;
}

.cart-count {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #96A14E;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================================================
   12. SITE CONTENT
   ========================================================================== */

.site-content {
    padding-top: 80px;
    min-height: 100vh;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ==========================================================================
   13. HERO SECTION
   ========================================================================== */

.hero {
    height: 90vh;
    min-height: 560px; /* Prevent CLS on slow connections */
    background: linear-gradient(180deg, #efe1d2 0%, #e6d5c2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    text-align: center;
    color: var(--hero-text, #fff);
    contain: layout paint;
}

.hero--has-slider {
    background: none;
}

.aurora-hero-slider {
    width: 100%;
    height: 100%;
}

.aurora-hero-slider .splide__track,
.aurora-hero-slider .splide__list,
.aurora-hero-slider .splide__slide {
    height: 100%;
}

.hero-slide {
    width: 100%;
    height: 100%;
    position: relative;
}

.hero-slide-desktop,
.hero-slide-mobile {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.hero-slide-mobile {
    display: none;
}

/* Hero with background image */
.hero-with-image {
    overflow: hidden;
}

.hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-media__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-media__image--mobile {
    display: none;
}

.hero-with-image .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .hero-slide-desktop {
        display: none;
    }

    .hero-slide-mobile {
        display: block;
    }

    .hero-media__image--desktop {
        display: none;
    }

    .hero-media__image--mobile {
        display: block;
    }
}

.hero--has-slider .hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.hero--has-slider .hero-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero--has-slider .hero-content {
    position: relative;
    z-index: 2;
    width: min(100%, 680px);
    color: #fff;
}

.hero--has-slider .hero-content h1,
.hero--has-slider .hero-content p {
    color: #fff;
}

.hero--has-slider .hero-content p {
    opacity: 1;
}

.aurora-hero-slider .splide__pagination {
    bottom: 2rem;
}

.aurora-hero-slider .splide__pagination__page {
    background: #fff !important;;
    opacity: 0.3 !important;
    border: none !important;;
}

.aurora-hero-slider .splide__pagination__page.is-active {
    transform: scale(1.15) !important;;
    background: #fff !important;;
    opacity: 1 !important;
}

.aurora-hero-slider .splide__arrow {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #fff;
    width: 3rem;
    height: 3rem;
    transition: background 0.2s ease;
}

.aurora-hero-slider .splide__arrow:hover {
    background: rgba(255, 255, 255, 0.35);
}

.hero-with-image::before {
    display: none;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background: rgba(0, 0, 0, var(--hero-overlay-opacity, 0.5));
}

.aurora-reviews-slider .splide__pagination__page {
    background: #553110 !important;;
    opacity: 0.3 !important;
    border: none !important;;
}

.aurora-reviews-slider .splide__pagination__page.is-active {
    transform: scale(1.15) !important;;
    background: #553110 !important;;
    opacity: 1 !important;
}

/* Static decorative pattern - no animation for better LCP */
.hero::before {
    display: none;
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 680px;
    padding: calc(3rem + var(--hero-content-padding-top, 0rem)) 2rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.hero h1 {
    margin-bottom: 0;
    font-family: 'Shadows Into Light', 'Kalnia Regular', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(3.25rem, 5vw, 4.8rem);
    line-height: 0.95;
    letter-spacing: 0.02em;
    text-shadow: 0 8px 24px rgba(34, 23, 10, 0.18);
}

.hero p {
    margin-bottom: 0.75rem;
    font-family: 'Shadows Into Light', 'Kalnia Regular', Helvetica, Arial, sans-serif;
    max-width: 30rem;
    font-size: clamp(1rem, 1.5vw, 1.35rem);
    line-height: 1.45;
    opacity: 0.92;
    text-shadow: 0 2px 14px rgba(34, 23, 10, 0.15);
}

.cta-btn {
    display: inline-block;
    padding: 0.95rem 2.75rem;
    background: transparent;
    color: #fff;
    text-decoration: none;
    border-radius: var(--radius-button, 50px);
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.82);
    transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
    font-weight: 600;
}

.cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.16);
    background: rgba(255, 255, 255, 0.18);
    color: white;
}

.hero.hero-with-image .cta-btn {
    margin-top: 0;
    font-family: var(--font--heading--family);
}

/* ==========================================================================
   14. SECTIONS & CONTAINERS
   ========================================================================== */

.section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 5rem 2rem;
    background: var(--white);
    color: var(--text);
}

.section[style*="var(--secondary)"] {
    background: var(--secondary);
    color: var(--primary);
}

.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

/* Featured Products Section Header - Theme Font Variable */
#homepage-featured-products .section-header p {
    font-family: var(--font--heading--family);
}

/* reviews */
 .review-card {
    box-shadow: none !important;
    /* opacity: 40%; */
}
/* ==========================================================================
   15. BRANDS SECTION
   ========================================================================== */

.brands-section {
    padding: clamp(2.5rem, 4vw, 4rem) clamp(1.5rem, 4vw, 3rem);
    background: var(--brands-bg, transparent);
}

.brands-section .section-header {
    text-align: center;
    margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}

.brands-grid {
    display: grid;
    grid-template-columns: repeat(var(--brands-columns, 4), minmax(0, 1fr));
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: center;
    justify-items: center;
}

.aurora-brands-slider {
    position: relative;
}

.brands-section--slider .splide__track {
    padding-block: clamp(0.5rem, 2vw, 1.5rem);
}

.brand-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.5rem, 2vw, 1.25rem);
}

.brand-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(160px, 18vw, 260px);
    aspect-ratio: 3 / 2;
    border-radius: var(--radius-box, 20px);
    padding: clamp(0.75rem, 2vw, 1.5rem);
    background: transparent;
    border: 1px solid rgba(209, 167, 109, 0.18);
    box-shadow: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.brand-link img,
.brand-link .brand-placeholder {
      width: 100%;
      height: 100%;
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      border-radius: inherit;
  }

.brand-placeholder {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--footer-link, #c89b5d);
}

.brands-section--slider .brand-link {
    width: clamp(140px, 16vw, 260px);
}

.brands-section--slider .splide__arrow {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(201, 155, 93, 0.14);
    color: var(--accent, #c89b5d);
    border: 1px solid rgba(209, 167, 109, 0.32);
    box-shadow: none;
}

.brands-section--slider .splide__arrow svg {
    width: 55%;
    height: 55%;
}

.brand-link:hover {
    transform: translateY(-4px);
    border-color: rgba(230, 188, 130, 0.55);
    box-shadow: 0 20px 30px -28px rgba(0, 0, 0, 0.6);
}

@media (max-width: 1024px) {
    .brands-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: clamp(1rem, 4vw, 1.75rem);
    }

    .brands-section--slider .brand-link {
        width: clamp(120px, 24vw, 220px);
    }
}

@media (max-width: 640px) {
    .brands-section {
        padding: clamp(2rem, 6vw, 2.75rem) clamp(1rem, 6vw, 1.5rem);
    }

    .brand-link {
        width: clamp(120px, 60vw, 200px);
        aspect-ratio: 3 / 2;
        padding: clamp(0.5rem, 4vw, 1rem);
    }

    .brand-link img,
    .brand-link .brand-placeholder {
          max-height: 100%;
    }
}

/* ==========================================================================
   16. GUARANTEES SECTION
   ========================================================================== */

.guarantees-section {
    position: relative;
    isolation: isolate;
}

.guarantees-section--front {
    padding: clamp(3rem, 4vw, 4.25rem) clamp(1.75rem, 4vw, 3rem);
    overflow: hidden;
}

.guarantees-section--front::before {
    content: '';
    position: absolute;
    inset: -35%;
    opacity: 0.45;
    z-index: -1;
}

.guarantees-section--product {
    margin-top: clamp(0.85rem, 2.5vw, 1.35rem);
    margin-bottom: clamp(0.75rem, 2vw, 1rem);
}

.guarantees-section__header {
    max-width: 60ch;
    margin: 0 auto clamp(1.75rem, 3vw, 2.5rem);
    text-align: center;
}

.guarantees-section--product .guarantees-section__header {
    margin: 0 0 clamp(1.5rem, 3vw, 2rem);
    text-align: left;
}

.guarantees-section__title {
    font-weight: 800;
    letter-spacing: -0.02em;
    color: inherit;
}

.guarantees-section__subtitle {
    margin-top: 0.75rem;
    color: color-mix(in srgb, var(--text-light, #c7b79f) 88%, transparent);
}

.guarantees-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(1.5rem, 2.5vw, 2.75rem);
}

.guarantees-section--product .guarantees-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: clamp(1.25rem, 3vw, 2rem);
}

.guarantees-list {
    display: grid;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.guarantees-list--inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
}

.guarantees-section--product .guarantees-list {
    gap: 0.6rem;
}

.guarantee-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
    justify-items: center;
    padding: 0.85rem 1rem;
    border: 1px solid color-mix(in srgb, var(--accent, #c89b5d) 28%, transparent);
    border-radius: var(--radius-card, 16px);
    background: color-mix(in srgb, var(--primary, #0d0a08) 92%, transparent);
    box-shadow: none;
    text-align: center;
}

.guarantee-item--inline {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-card, 16px);
    gap: 0.5rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid rgba(212, 188, 138, 0.55);
    background: #1a1208;
    box-shadow: none;
    justify-content: space-evenly;
}

.guarantees-section--product .guarantee-item {
    padding: 0.65rem 0.85rem;
    width: -webkit-fill-available;
    border-color: rgba(212, 188, 138, 0.55);
    background: #1a1208;
}

.guarantee-item__icon {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(209, 167, 109, 0.12);
    color: var(--accent, #c89b5d);
    flex-shrink: 0;
}

.guarantee-item--inline .guarantee-item__icon {
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 0.45rem;
}

.guarantees-section--product .guarantee-item__icon {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 0.6rem;
    background: transparent;
    color: #d4bc8a;
}

.guarantee-item__icon svg {
    width: 60%;
    height: 60%;
}

.guarantee-item__text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    color: color-mix(in srgb, var(--text-light, #c7b79f) 85%, transparent);
    flex-wrap: wrap;
    white-space: normal;
    text-align: center;
}

.guarantee-item__separator {
    opacity: 0.5;
}

.guarantee-item__content {
    display: grid;
    gap: 0.2rem;
    color: color-mix(in srgb, var(--text-light, #c7b79f) 85%, transparent);
    justify-items: center;
    text-align: center;
}

.guarantee-item--inline .guarantee-item__content {
    display: none;
}

.guarantee-item__title {
    /* font-weight: 600; */
    font-family: 'Kalnia Regular', sans-serif;
    color: #93877A;
}

.guarantee-item__description {
    line-height: 0.35;
    font-family: 'Kalnia Regular', sans-serif;
    color: #93877A;
}

.guarantees-section--product .guarantee-item__title,
.guarantees-section--product .guarantee-item__description,
.guarantees-section--product .guarantee-item__separator {
    color: #d4bc8a;
}

.guarantee-item--success .guarantee-item__icon {
    background: rgba(16, 185, 129, 0.16);
    color: var(--success, #10b981);
}

.guarantee-item--info .guarantee-item__icon {
    background: rgba(99, 102, 241, 0.18);
    color: var(--info, #6366f1);
}

.guarantee-item--warning .guarantee-item__icon {
    background: rgba(245, 158, 11, 0.18);
    color: var(--warning, #f59e0b);
}

.guarantee-item--primary .guarantee-item__icon {
    background: rgba(59, 130, 246, 0.16);
    color: var(--primary, #2563eb);
}

.guarantee-card {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(1rem, 2vw, 1.5rem);
    padding: clamp(1.5rem, 2.75vw, 2.1rem);
    background: rgba(15, 11, 8, 0.92);
    border: 1px solid rgba(209, 167, 109, 0.2);
    border-radius: var(--radius-card, 18px);
    box-shadow: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    min-height: 100%;
}

 .guarantees-section--product .guarantee-card {
    display: inline;
 }

.guarantees-section--front .guarantee-card {
    background: rgba(15, 11, 8, 0.92);
    backdrop-filter: none;
}

.guarantee-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(3rem, 4vw, 3.5rem);
    height: clamp(3rem, 4vw, 3.5rem);
    border-radius: 1rem;
    background: rgba(209, 167, 109, 0.12);
    color: var(--accent, #c89b5d);
    flex-shrink: 0;
    box-shadow: none;
}

.guarantee-card__icon svg {
    width: 65%;
    height: 65%;
}

.guarantee-card__title {
    font-weight: 700;
    color: var(--text, #1f2937);
    margin-bottom: 0.35rem;
}

.guarantee-card__description {
    color: color-mix(in srgb, var(--text-light, #6b7280) 88%, transparent);
    line-height: 1.6;
}

.guarantee-card--success {
    border-color: rgba(16, 185, 129, 0.28);
}

.guarantee-card--success .guarantee-card__icon {
    background: rgba(16, 185, 129, 0.16);
    color: var(--success, #10b981);
    box-shadow: 0 18px 36px -28px rgba(16, 185, 129, 0.4);
}

.guarantee-card--info {
    border-color: rgba(99, 102, 241, 0.28);
}

.guarantee-card--info .guarantee-card__icon {
    background: rgba(99, 102, 241, 0.18);
    color: var(--info, #6366f1);
}

.guarantee-card--warning {
    border-color: rgba(245, 158, 11, 0.3);
}

.guarantee-card--warning .guarantee-card__icon {
    background: rgba(245, 158, 11, 0.18);
    color: var(--warning, #f59e0b);
    box-shadow: 0 18px 36px -28px rgba(245, 158, 11, 0.38);
}

.guarantee-card--primary {
    border-color: rgba(37, 99, 235, 0.3);
}

.guarantee-card--primary .guarantee-card__icon {
    background: rgba(59, 130, 246, 0.16);
    color: var(--primary, #2563eb);
    box-shadow: 0 18px 36px -28px rgba(59, 130, 246, 0.4);
}

@media (hover: hover) {
    .guarantee-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 26px 55px -34px rgba(15, 23, 42, 0.32);
        border-color: color-mix(in srgb, var(--accent, #6366f1) 20%, rgba(226, 232, 240, 0.75) 80%);
    }
}

@media (max-width: 768px) {
    .guarantee-card {
        flex-direction: row;
        padding: clamp(1.35rem, 4vw, 1.75rem);
    }

    .guarantees-section--front {
        padding: clamp(2.25rem, 5vw, 3rem) clamp(1.5rem, 5vw, 2rem);
    }
}

@media (max-width: 640px) {
    .guarantee-card {
        flex-direction: row;
        gap: 1rem;
    }

    .guarantees-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   17. PRODUCT CARDS & GRIDS
   ========================================================================== */

/* Homepage About Us Section */
.homepage-about-us {
    padding: 0;
    background: var(--body-bg, #1a1208);
    color: var(--text, #d4bc8a);
}

.homepage-about-us .container {
    max-width: 1200px;
    margin: 0 auto;
}

.about-us-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items: stretch;
    gap: 0;
}

.about-us-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* First column - Text content */
.about-us-column--text,
.about-us-column:first-child {
    justify-content: center;
    padding: clamp(3rem, 5vw, 4.5rem) clamp(2rem, 4vw, 4rem) clamp(3rem, 5vw, 4.5rem) clamp(3rem, 6vw);
}

.about-us-text {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    justify-content: center;
    width: 80%;
    margin: 0;
}

.homepage-about-us .section-title {
    font-size: clamp(2rem, 3.2vw, 2.5rem);
    margin: 0;
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    color: var(--text, #d4bc8a);
    line-height: 1.2;
    text-align: left;
}

.about-description {
    font-size: 1rem;
    line-height: 1.75;
    margin: 0;
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    color: var(--text, #d4bc8a);
    text-align: left;
}

.homepage-symbols {
    padding: clamp(3.5rem, 6vw, 5rem) 0;
    color: var(--text, #d4bc8a);
}

.homepage-symbols__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.symbols-section__header {
    max-width: 42rem;
    margin: 0 auto;
    align-items: center;
    text-align: center;
}

.symbols-section__header .section-title {
    margin: 0;
    font-size: var(--font--section-heading--size, 32px);
    line-height: 1.15;
    color: var(--text, #d4bc8a);
}

.about-elements {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    margin-top: 0.5rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(209, 167, 109, 0.18);
}

.about-elements__intro {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.about-elements__lead {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.7;
    color: var(--text, #d4bc8a);
}

.about-elements__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.homepage-symbols .about-elements {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.homepage-symbols .about-elements__grid {
    gap: 0;
}

.homepage-symbols .about-element-card {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
}

.homepage-symbols .about-element-card__icon-wrap {
    width: auto;
    height: auto;
    flex: none;
    background: transparent;
    border: 0;
}

.homepage-symbols .about-element-card__icon {
    width: 8.25rem;
    height: 8.25rem;
}

.homepage-symbols .about-element-card__content {
    align-items: center;
}

.homepage-symbols .about-element-card__content h3 {
    font-size: 1.1rem;
    color: var(--text, #d4bc8a);
}

.homepage-symbols .about-element-card__content p {
    max-width: 15rem;
    color: var(--text, #d4bc8a);
}

.aurora-symbols-slider {
    width: 100%;
    margin: 0 auto;
    padding: 1.5rem 0 0;
}

.aurora-symbols-slider .splide__track {
    overflow: hidden;
}

.aurora-symbols-slider .splide__list {
    display: flex;
}

.aurora-symbols-slider .splide__slide {
    display: flex;
    justify-content: center;
    align-items: stretch;
    padding: 0 0.75rem;
}

.aurora-symbols-slider .about-element-card {
    width: 100%;
    max-width: 22rem;
    margin: 0 auto;
}

.aurora-symbols-slider .splide__pagination {
    margin-top: 2rem;
    padding-top: 0.75rem;
    padding-bottom: 0.25rem;
}

.aurora-symbols-slider .splide__pagination__page {
    width: 0.55rem;
    height: 0.55rem;
    margin: 0 0.35rem;
    background: rgba(212, 188, 138, 0.35);
    border: 0;
    opacity: 1;
}

.aurora-symbols-slider .splide__pagination__page.is-active {
    background: #d4bc8a;
    transform: scale(1.1);
}

.about-element-card,
.about-material-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(209, 167, 109, 0.12);
    background: rgba(255, 255, 255, 0.02);
}

.about-element-card__icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(209, 167, 109, 0.08);
    border: 1px solid rgba(209, 167, 109, 0.16);
}

.about-element-card__icon {
    width: 2.35rem;
    height: 2.35rem;
    object-fit: contain;
    filter: brightness(1) saturate(0.9);
}

.about-element-card__content,
.about-material-card__content {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.about-element-card__content h3,
.about-material-card__content h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--text, #d4bc8a);
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
}

.about-element-card__content p,
.about-material-card__content p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--text, #d4bc8a);
}

/* Second column - Image */
.about-us-column:last-child,
.about-us-column-image {
    justify-content: center;
    align-items: stretch;
}

.about-us-image {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
}

.about-us-image img {
    width: min(100%, 350px);
    max-height: none;
    min-height: var(--about-us-media-max-height);
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-product-image, 12px);
    margin-left: auto;
}

/* Homepage About Us Responsive */
@media (max-width: 768px) {
    .homepage-about-us {
        padding: 0;
    }
    
    .about-us-content {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    .about-us-column {
        max-width: 100%;
        align-items: stretch;
    }
    
    .about-us-column--text,
    .about-us-column:first-child {
        justify-content: flex-start;
        padding: 3rem 2rem 2rem;
    }
    
    .about-us-column:last-child {
        justify-content: center;
        align-items: stretch;
    }
    
    .about-us-text {
        justify-content: flex-start;
        width: 80%;
        margin: 0 auto;
        align-items: center;
    }
    
    .about-us-image {
        max-width: 100%;
        margin: 0;
    }
    
    .about-us-image img {
        width: 100%;
        min-height: 0;
        max-height: none;
        height: auto;
        aspect-ratio: 0.67;
        object-fit: cover;
    }
    
    .homepage-about-us .section-title {
        font-size: 2rem;
        text-align: center;
    }
    
    .about-description {
        font-size: 16px;
        text-align: center;
        max-width: 18rem;
        margin: 0 auto;
    }

    .about-elements {
        width: 100%;
        align-items: stretch;
    }

    .about-elements__intro {
        align-items: center;
        text-align: center;
    }

    .about-elements__grid {
        grid-template-columns: 1fr;
    }

    .homepage-symbols .about-elements__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-element-card,
    .about-material-card {
        padding: 1rem;
    }
}

@media (max-width: 480px) {
    .about-us-text {
        gap: 1.125rem;
    }
    
    .about-us-image img {
        width: 100%;
        max-height: none;
        aspect-ratio: 0.67;
        border-radius: var(--radius-product-image, 12px);
    }
    
    .homepage-about-us .section-title {
        font-size: 28px;
    }
    
    .about-description {
        font-size: 15px;
        max-width: 17rem;
    }

    .about-element-card,
    .about-material-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .about-element-card__content,
    .about-material-card__content {
        align-items: center;
    }

    .homepage-symbols .about-elements__grid {
        gap: 0;
    }
}

/* Featured Products */
.featured-grid {
    display: grid;
    --grid-columns: var(--featured-grid-columns, 4);
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    gap: 4rem;
}

.featured-products-button-container {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

.section-title-secondary {
    padding: 2rem 0.5rem 0.5rem;
}

.section-subtitle {
    color: inherit;
}

.featured-products-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;
    background: #d4bc8a;
    color: #1a1208;
    text-decoration: none;
    border-radius: var(--radius-button, 50px);
    font-weight: 600;
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    font-size: 1rem;
    transition: all 0.3s ease;
    border: 2px solid #d4bc8a;
}

.cta-btn--transparent {
    background: transparent !important;
    border: 2px solid #ffffff !important;
    transition: transform 0.3s, box-shadow 0.3s !important;
}

.featured-products-button:hover {
    background-color: #1a1208;
    border-color: #d4bc8a;
    color: #d4bc8a;
    transform: translateY(-2px);
}

.featured-products-button:focus {
    outline: 2px solid #d4bc8a;
    outline-offset: 2px;
}

/* Brand Collection */
.brand-collection {
    background:
        radial-gradient(circle at top left, rgba(78, 61, 46, 0.38) 0%, rgba(24, 18, 15, 0) 34%),
        linear-gradient(135deg, #221a14 0%, #14100d 52%, #090807 100%);
    color: #eadfcd;
}

.brand-collection__header {
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.brand-collection__title {
    margin: 0 0 0.5rem;
    color: inherit;
}

.brand-collection__eyebrow {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    color: rgba(209, 167, 109, 0.82);
    margin-bottom: 0.45rem;
}

.brand-collection__divider {
    display: inline-block;
    color: #d1a76d;
    font-size: 1.05rem;
    line-height: 1;
}

.brand-collection__header p {
    margin-top: 0.85rem;
    max-width: 32rem;
}

.brand-collection__list {
    display: grid;
    gap: 0;
}

.brand-collection__item {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
    align-items: stretch;
}

.brand-collection--columns-1 .brand-collection__item,
.brand-collection--columns-1 .brand-collection__item--reverse {
    grid-template-columns: minmax(0, 1fr);
}

.brand-collection__item--reverse {
    grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr);
}

.brand-collection__item--reverse .brand-collection__media {
    order: 2;
}

.brand-collection__item--reverse .brand-collection__content {
    order: 1;
}

.brand-collection__media {
    min-width: 0;
}

.brand-collection__image-link {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 260px;
    background: #1c1511;
    text-decoration: none;
    overflow: hidden;
    position: relative;
    isolation: isolate;
}

.brand-collection__image-link img,
.brand-collection__image-tag {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transform: scale(1.03);
    filter: saturate(0.96) contrast(1.02);
}

.brand-collection__image-link::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at center, rgba(0, 0, 0, 0) 52%, rgba(18, 14, 11, 0.18) 68%, rgba(18, 14, 11, 0.48) 100%),
        linear-gradient(180deg, rgba(18, 14, 11, 0.22) 0%, rgba(18, 14, 11, 0) 18%, rgba(18, 14, 11, 0) 82%, rgba(18, 14, 11, 0.3) 100%),
        linear-gradient(90deg, rgba(18, 14, 11, 0.28) 0%, rgba(18, 14, 11, 0) 14%, rgba(18, 14, 11, 0) 86%, rgba(18, 14, 11, 0.28) 100%);
    mix-blend-mode: normal;
}

.brand-collection__image-link::before {
    content: '';
    position: absolute;
    inset: -14px;
    pointer-events: none;
    border-radius: 24px;
    box-shadow: inset 0 0 40px rgba(12, 9, 7, 0.7);
    filter: blur(10px);
    opacity: 0.9;
    z-index: 1;
}

.brand-collection__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(2rem, 4vw, 3.25rem);
    background: transparent;
}

.brand-collection__label {
    display: inline-block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: rgba(209, 167, 109, 0.72);
}

.brand-collection__content h3 {
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 0.98;
    color: #f3e7d6;
}

.brand-collection__content p {
    max-width: 25rem;
    color: rgba(234, 223, 205, 0.82);
    line-height: 1.75;
}

.brand-collection__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
    color: #d1a76d;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.72rem;
    font-weight: 600;
}

.brand-collection__cta:hover {
    color: #f0ca93;
}

/* Products Grid */
.products-grid {
    display: grid;
    --grid-columns: var(--latest-grid-columns, 4);
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    gap: 2rem;
}

.skeleton-line {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 999px;
    height: 12px;
}

.shimmer {
    background: linear-gradient(
        90deg,
        #ededed 30%,
        #dcdcdc 50%,
        #ededed 70%
    );
    background-size: 400%;
    animation: shimmer 1.5s infinite linear;
}

.skeleton-line--title {
    width: 60%;
    height: 14px;
}

.skeleton-line--text {
    width: 80%;
}

.skeleton-line--price {
    width: 40%;
}

.skeleton-line--badge {
    width: 30%;
}

@keyframes skeleton-shimmer {
    0% {
        background-position-x: -150%;
    }
    100% {
        background-position-x: 150%;
    }
}

.product-card {
    cursor: pointer;
    transition: transform 0.3s;
    position: relative;
    background: transparent;
    color: inherit;
}

.product-card--skeleton {
    pointer-events: none;
    border-radius: var(--radius-card, 16px);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.product-card--skeleton .product-image {
    position: relative;
    border-radius: var(--radius-product-image, 12px);
    background: linear-gradient(135deg, rgba(148, 163, 184, 0.25), rgba(226, 232, 240, 0.6));
    overflow: hidden;
}

.product-card--skeleton .product-image .skeleton-glow {
    position: absolute;
    inset: 0;
    display: block;
}

@keyframes shimmer {
    0% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0 0;
    }
}

.product-card--skeleton .product-info {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.product-card:hover {
    transform: translateY(-5px);
}

.product-badge-stack {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    z-index: 3;
}

.product-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.1rem 0.6rem;
    border-radius: var(--radius-button, 50px);
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #553110;
    box-shadow: 0 12px 18px -12px rgba(26, 26, 26, 0.5);
    backdrop-filter: blur(8px);
    font-size: 12px;
    font-family: 'Kalnia Regular';
}

.product-badge--bestseller {
    background: linear-gradient(135deg, var(--warning, #f59e0b) 0%, var(--warning, #d97706) 100%);
}

.product-badge--hot {
    background: linear-gradient(135deg, var(--sale-badge, #d1a76d) 0%, #b88952 100%);
}

.product-badge--new {
   background: #FFEFDD;
}

.product-image {
    width: 100%;
    aspect-ratio: 3/4;
    background: var(--secondary);
    border-radius: var(--radius-product-image, 12px);
    overflow: hidden;
    position: relative;
    contain: layout paint;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
    will-change: transform;
}

@media (hover: hover) {
    .product-card:hover .product-image img {
        transform: scale(1.05);
    }
}

/* Disable hover effects on touch devices for better performance */
@media (hover: none) {
    .product-card:hover .product-image img {
        transform: none;
    }
}

/* Simple product click loader */
.product-card.is-loading .product-image::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255, 255, 255, 0.35);
      z-index: 5;
      animation: aurora-product-loader-timeout 20s linear forwards;
  }

.product-card.is-loading .product-image::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    margin-left: -14px;
      border-radius: 50%;
      border: 3px solid rgba(0, 0, 0, 0.2);
      border-top-color: rgba(0, 0, 0, 0.7);
      animation: aurora-product-loader-spin 0.7s linear infinite, aurora-product-loader-timeout 20s linear forwards;
      z-index: 6;
  }

@keyframes aurora-product-loader-spin {
      to {
          transform: rotate(360deg);
      }
  }

@keyframes aurora-product-loader-timeout {
      0% {
          opacity: 1;
          visibility: visible;
      }
      100% {
          opacity: 0;
          visibility: hidden;
      }
  }

.deal-card-link.is-loading .deal-card::before {
    background: rgba(255, 255, 255, 0.35);
}

.deal-card-link.is-loading .deal-card::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    margin-left: -14px;
    border-radius: 50%;
    border: 3px solid rgba(0, 0, 0, 0.2);
    border-top-color: rgba(0, 0, 0, 0.7);
    animation: aurora-product-loader-spin 0.7s linear infinite;
    z-index: 3;
}

.product-info {
    padding: 0.5rem 0px 1.5rem 0px;
}

.product-status-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 26, 26, 0.35);
    color: var(--white);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.2em;
    z-index: 4;
    backdrop-filter: blur(4px);
}

.product-status-overlay span {
    border: 2px solid rgba(255, 255, 255, 0.65);
    padding: 0.75rem 1.25rem;
}

.product-name {
    font-weight: 700;
    color: var(--product-name-color, #553110);
    margin-bottom: 0.5rem;
    word-break: keep-all;
    line-height: 1.25;
    letter-spacing: 0.030em;
    margin-bottom: 0.5rem;
    font-family: var(--font--heading--family);
}

#homepage-featured-products .product-name span {
    color: var(--featured-product-name-color, inherit);
    transition: color 0.25s ease;
}

#homepage-featured-products .product-card:hover .product-name span,
#homepage-featured-products .product-name span:hover,
#homepage-featured-products .product-name span:focus {
    color: var(--featured-product-name-hover-color, var(--link-hover));
}

#homepage-featured-products,
#homepage-featured-products .product-card,
#homepage-featured-products .product-info,
#homepage-featured-products .product-name,
#homepage-featured-products .product-price,
#homepage-featured-products .product-price *,
#homepage-featured-products .price-old,
#homepage-featured-products .price-old *,
#homepage-featured-products .onsale {
    color: #d4bc8a;
}

#homepage-featured-products .product-price del,
#homepage-featured-products .product-price del span,
#homepage-featured-products .price-old del span {
    color: rgba(212, 188, 138, 0.72);
}

#homepage-featured-products {
    background: transparent;
    color: #d4bc8a;
    --product-name-color: #d4bc8a;
    --featured-product-name-color: #d4bc8a;
    --featured-product-name-hover-color: #e6bc82;
    --price: #d4bc8a;
    --sale-price: #d4bc8a;
}

#homepage-featured-products .section-header,
#homepage-featured-products .section-header h2,
#homepage-featured-products .section-header h3,
#homepage-featured-products .section-header p {
    color: #d4bc8a;
}

#homepage-latest-products {
    background: #0d0a08;
    color: #eadfcd;
    --product-name-color: #eadfcd;
    --price: #d9b178;
}

#homepage-latest-products .section-header,
#homepage-latest-products .section-header h2,
#homepage-latest-products .section-header h3,
#homepage-latest-products .section-header p {
    color: #eadfcd;
}

#homepage-hot-deals {
    background: #d9bf93;
    color: #16110d;
}

#homepage-hot-deals h2,
#homepage-hot-deals h3,
#homepage-hot-deals p,
#homepage-hot-deals .section-subtitle {
    color: #16110d;
}

#homepage-brands {
    background: #0d0a08;
    color: #d9b178;
}

#homepage-brands h1,
#homepage-brands h2,
#homepage-brands h3,
#homepage-brands h4,
#homepage-brands h5,
#homepage-brands h6,
#homepage-brands p {
    color: #d9b178;
}

#homepage-guarantees {
    background: #0d0a08;
    color: #eadfcd;
}

#homepage-guarantees h1,
#homepage-guarantees h2,
#homepage-guarantees h3,
#homepage-guarantees h4,
#homepage-guarantees h5,
#homepage-guarantees h6,
#homepage-guarantees p {
    color: #eadfcd;
}

#homepage-symbols {
    background: transparent;
    color: #d4bc8a;
    margin-bottom: 25px;
}

#homepage-about-us {
    background: #1a1208;
    color: #d4bc8a;
}

#homepage-additional-footer {
    background: #d4bc8a;
    color: #2c1d10;
}

.product-price {
    color: inherit;
    font-weight: 700;
}

.product-price ins {
    text-decoration: none;
    color: var(--sale-price, var(--error));
}

.price-old del span,
.product-price del {
    color: var(--text-muted, #a79276);
}

.single-product.product-price.price--variable span {
    padding-right: 5px;
}


/**/
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item) {
    border-radius: var(--radius-button, 0px);
}

/* ==========================================================================
   18. HOT DEALS SECTION
   ========================================================================== */

.hot-deals {
    background: linear-gradient(135deg, var(--hero-gradient-start) 0%, var(--hero-gradient-end) 100%);
    color: var(--hot-deals-text, white);
    padding: 5rem 2rem;
    text-align: center;
}

.deals-grid {
    display: flex;
    justify-content: center;
    max-width: 1400px;
    margin: 0 auto;
    margin-top: 3rem;
    gap: 3rem;
}

.deal-card {
    padding: 2rem;
    border-radius: var(--radius-card, 12px);
    transition: transform 0.3s;
    aspect-ratio: 4 / 5;
    min-height: 300px;
    display: flex;
    contain: layout style;
    align-items: flex-end;
    position: relative;
    overflow: hidden;
    max-height: 350px;
}

.deal-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.deal-card--skeleton {
    justify-content: center;
}

.deal-card--skeleton .deal-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 2rem;
}

.deal-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(20, 14, 10, 0.08) 0%, rgba(20, 14, 10, 0.56) 72%, rgba(20, 14, 10, 0.82) 100%);
}

.deal-overlay {
    position: relative;
    z-index: 2;
    color: inherit;
    text-align: center;
    width: 100%;
    text-shadow: -1px 0 #918e8e, 0 1px #918e8e, 1px 0 #918e8e, 0 -1px #918e8e;
}

.deal-overlay h3, .deal-overlay p {
    font-size: 25px;
    font-family: var(--font--heading--family);
}

.deal-overlay .deal-price {
    font-size: 35px;
}
/* Deal card link styles */
.deal-card-link,
.deal-card-link--skeleton {
    display: block;
    text-decoration: none;
    color: inherit;
}

.deal-card-link:hover {
    text-decoration: none;
    color: inherit;
}

.deal-card-link:hover .deal-card {
    transform: scale(1.05);
}

.deal-card-link--skeleton:hover .deal-card {
    transform: none;
}

.deal-card--skeleton .skeleton-line {
    border-radius: 999px;
    height: 14px;
    opacity: 0.8;
}

.deal-card--skeleton .skeleton-line--price {
    width: 50%;
    height: 18px;
}

.deal-card--skeleton .skeleton-line--badge {
    width: 35%;
    height: 12px;
}

.deal-price {
    font-weight: 800;
    margin: 1rem 0;
}

.deal-original {
    opacity: 0.7;
}

.hot-deals .deal-price ins {
    text-decoration: none;
}

/* ==========================================================================
   19. NEWSLETTER SECTION
   ========================================================================== */

.newsletter {
    background: var(--newsletter-bg, var(--primary));
    color: var(--newsletter-text, #ffffff);
    padding: 5rem 2rem;
    text-align: center;
    border-top: 1px solid rgba(209, 167, 109, 0.12);
    border-bottom: 1px solid rgba(209, 167, 109, 0.12);
}

.newsletter h2 {
    margin-bottom: 1rem;
}

.newsletter-form {
    max-width: 500px;
    margin: 2rem auto 0;
    display: flex;
    gap: 1rem;
}

.newsletter-input {
    flex: 1;
    padding: 1rem 1.5rem;
    border: 1px solid var(--input-border, #6f5a41);
    border-radius: var(--radius-button, 50px);
    background: rgba(255, 255, 255, 0.02);
    color: var(--newsletter-text, #eadfcd);
}

.newsletter-btn {
    padding: 1rem 2rem;
    background: var(--accent);
    color: #16110d;
    border: none;
    border-radius: var(--radius-button, 50px);
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.3s;
}

.newsletter-btn:hover {
    transform: scale(1.05);
    background: var(--link-hover, #e6bc82);
}

.discount-badge {
    display: inline-block;
    background: transparent;
    padding: 0.35rem 0;
    border-radius: var(--radius-button, 50px);
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--accent, #c89b5d);
    border-bottom: 1px solid rgba(209, 167, 109, 0.32);
}

/* ==========================================================================
   20. FOOTER
   ========================================================================== */

.footer {
    background: var(--footer-bg, var(--primary));
    padding: 2rem;
    text-align: center;
    color: var(--footer-text, #f5f5f5);
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.footer-links a {
    color: var(--footer-text, #f5f5f5);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-links a:hover {
    color: var(--accent);
}

/* ==========================================================================
   21. SHOP PAGE
   ========================================================================== */

.shop-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 3rem 2rem;
}

.shop-header {
    margin-bottom: 1rem;
    text-align: center;
}

.shop-header h1 {
    margin-bottom: 0rem;
    color: var(--text, #d4bc8a);
}

.shop-header p {
    color: var(--text, #d4bc8a);
}

.shop-tools {
    display: block;
    width: 100%;
    padding: 45px 10px;
}

.filters {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.filter-btn {
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--border);
    background: var(--card-bg, white);
    color: var(--text);
    border-radius: var(--radius-button, 50px);
    cursor: pointer;
    transition: all 0.3s;
    font-weight: 500;
}

.filter-btn:hover, .filter-btn.active {
    border-color: var(--button-bg, var(--accent));
    background: var(--button-bg, var(--accent));
    color: var(--button-text, white);
}

.sort-dropdown {
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--input-border, var(--border));
    border-radius: var(--radius-button, 50px);
    background: var(--card-bg, white);
    color: var(--text);
    cursor: pointer;
    font-weight: 500;
}

/* ==========================================================================
   22. FILTER PLUGIN STYLES (WPC)
   ========================================================================== */

.widget_wpc_filters_widget input.wpc-filter-search-field {
    display: none;
   
}

body .wpc-filters-open-button-container a.wpc-filters-open-widget, body .wpc-filters-open-button-container a.wpc-open-close-filters-button  {
   background: var(--accent) !important;
   border-radius: var(--radius-button, 50px) !important;
   color: var(--white) !important;
   font-weight: 600 !important;
   letter-spacing: 0.02em !important;
}

.wpc-horizontal-layout .wpc-filters-widget-wrapper {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    align-items: start !important;
    gap: 10px !important; /* Optional spacing between items */
}

.wpc-horizontal-layout .wpc-filters-widget-wrapper > *:first-child {
    flex: 0 0 100% !important;
}

.wpc-horizontal-layout .wpc-filters-widget-wrapper > *:not(:first-child) {
    flex: 1 1 0 !important; /* Equal width distribution */
    min-width: 0 !important;
}

.wpc-horizontal-layout .widget-title.wpc-filter-title {
    font-family: var(--font--heading--family);
    font-size: 16px;

}

.wpc-filters-main-wrap li.wpc-term-item a {
    font-weight: 600 !important;
    color: var(--text) !important;
    text-decoration: none !important;
}

body .wpc-filters-main-wrap input.wpc-label-input+label:hover {
    border: none !important;
}

body .wpc-filters-main-wrap input.wpc-label-input:checked+label span.wpc-filter-label-wrapper {
    color: transparent !important;
    background: transparent !important;
    border-bottom: 2px solid #96A14E !important;
}

body .wpc-filters-main-wrap input.wpc-label-input+label:hover span.wpc-filter-label-wrapper {
    color: transparent !important;
    background: transparent !important;
    border-bottom: 2px solid #554110 !important;
}

.wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label {
    border: none !important;
}

.wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label span.wpc-filter-label-wrapper {
    padding: 4px 0px !important;
    white-space: normal !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 2px solid transparent !important;
}

.wpc-term-count {
    display: none !important;
}

.wpc-filter-link {
    margin-right: 0 !important;
}

.wpc-filter-chips-list a,
body .wpc-filter-chips-list li.wpc-filter-chip a {
    font-weight: 600 !important;
    padding: 0 !important;
    border: none !important;
}

.wpc-filters-widget-content input[type=email],
.wpc-filters-widget-content input[type=number],
.wpc-filters-widget-content input[type=password],
.wpc-filters-widget-content input[type=search],
.wpc-filters-widget-content input[type=tel],
.wpc-filters-widget-content input[type=text],
.wpc-filters-widget-content input[type=url],
.wpc-filters-widget-content select {
    padding: 12px 17px !important;
    border: none !important;
    background: #FFEFDD !important;
    color: #553110 !important;
    box-shadow: none !important;
    font-family: 'Kalnia Regular', Helvetica, Arial, sans-serif !important;
}

/* focus */
.wpc-filters-widget-select:focus {
  outline: none;
}

/* DROPDOWN OPTIONS (limited kontrola) */
.wpc-filters-widget-select option {
  background: #6b3708;
  color: #fffaf4;
  font-size: 16px;
  padding: 15px;
  font-family: 'Kalnia Regular', Helvetica, Arial, sans-serif;
}

/* selected option */
.wpc-filters-widget-select option:checked {
  background: #6b3708;
  color: #fffaf4;
}

/* hover (radi samo u nekim browserima) */
.wpc-filters-widget-select option:hover {
  background: #7a4210;
}

.wpc-filter-title {
    display: none !important;
}

.wpc-filters-widget-select option:checked {
  background: #6b3708;
  color: #fffaf4;
}


.wpc-term-image-wrapper {
    display: none !important;
}

.wpc-search-icon {
    display: none !important;
}

.wpc-filters-main-wrap ul.wpc-filters-ul-list {
    gap: 1rem !important;
    padding-left: 1rem !important;
}

.wpc-filters-widget-top-container {
    display: none !important;
}

.wpc-term-name {
    display: block !important;
}

.wpc-filters-section {
    margin-bottom: 0 !important;
}

.wpc-filters-widget-content.wpc-opened.wpc-show-counts-yes {
    margin-bottom: 2rem;
}

.wpc-filters-widget-wrapper {
    gap: 0 !important;
}

.wpc-filters-widget-select {
    max-width: 400px !important;
}

.wpc-filter-content .wpc-filters-widget-select {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

.wpc-term-item-content-wrapper label {
    font-size: 14px !important;
}

.wpc-custom-selected-terms {
    display: none !important;
}

.wpc-posts-found:has(p:empty),
.wpc-posts-found:has(p:only-child) {
    display: none !important;
}

input[type="checkbox"] {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #d1d5db;
    border-radius: 50%; /* Fully rounded */
    background-color: white;
    cursor: pointer;
    transition: all 0.2s ease;
}

input[type="checkbox"]:checked {
    background-color: #10b981;
    border-color: #10b981;
    box-shadow: inset 0 0 0 3px white;
}

/* Mobile styles */
@media (max-width: 768px) {
    .wpc-horizontal-layout .wpc-filters-widget-wrapper > *:not(:first-child) {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   23. SINGLE PRODUCT PAGE
   ========================================================================== */

.product-single {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 30px;
}

.product-gallery {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.back-btn {
    display: inline-block;
    margin-bottom: 2rem;
    color: var(--text);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.back-btn:hover {
    color: var(--accent);
}

.main-image {
    width: 100%;
    aspect-ratio: 3/4;
    background: var(--secondary);
    border-radius: var(--radius-product-image, 12px);
    overflow: hidden;
}

.main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    padding: 1rem 0;
}

.thumbnail {
    aspect-ratio: inherit;
    border-radius: var(--radius-product-image, 12px);
    overflow: hidden;
    cursor: pointer;
}

.thumbnail:hover, .thumbnail.active {
    border-color: var(--accent);
}

.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-details h1 {
    margin-bottom: 1rem;
}

.product-details .price {
    color: var(--accent);
    font-weight: 700;
    margin-bottom: 2rem;
}

.rating {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.stars-display {
    color: var(--rating-star, var(--warning));
}

.product-description {
    line-height: 1.8;
    color: var(--text-light);
    text-align: center;
}

.product-features {
    margin-bottom: 2rem;
}

.product-features ul {
    list-style: none;
    padding-left: 0;
}

.product-features li {
    padding: 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.product-features li::before {
    content: '✓';
    color: var(--accent);
    font-weight: bold;
}

.size-selector, .color-selector {
    margin-bottom: 2rem;
}

.size-selector h3, .color-selector h3 {
    margin-bottom: 1rem;
}

.sizes, .colors {
    display: flex;
    gap: 1rem;
}

.size-btn {
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--border);
    background: var(--card-bg, white);
    color: var(--text);
    border-radius: var(--radius-button, 50px);
    cursor: pointer;
    transition: all 0.3s;
    font-weight: 500;
}

.size-btn:hover, .size-btn.active {
    border-color: var(--button-bg, var(--accent));
    background: var(--button-bg, var(--accent));
    color: var(--button-text, white);
}

.color-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer;
    transition: all 0.3s;
}

.color-btn.active {
    border-color: var(--primary);
    transform: scale(1.1);
}

.quantity-selector {
    display: block;
}

.quantity-selector__row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.quantity-label {
    font-weight: 600;
    color: var(--text);
    margin: 0;
}

.quantity-btn {
    width: 40px;
    height: 40px;
    border: 2px solid #553110;
    background:white;
    color: var(--text);
    border-radius: var(--radius-button, 50px);
    cursor: pointer;
    transition: all 0.3s;
}

.quantity-btn:hover {
    border-color: var(--accent);
}

.quantity {
    font-weight: 600;
    min-width: 40px;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.buy-btn {
    width: 100%;
    padding: 1.25rem;
    background: var(--button-bg, var(--primary));
    color: var(--button-text, white);
    border: none;
    border-radius: var(--radius-button, 50px);
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.3s, box-shadow 0.3s;
    margin-bottom: 1rem;
}

.buy-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.wishlist-btn {
    width: 100%;
    padding: 1rem;
    background: #FFEFDD;
    color: var(--text);
    border: none;
    border-radius: var(--radius-button, 50px);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}

.wishlist-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.product-tabs {
    margin-top: 4rem;
    border-top: 1px solid var(--border);
    padding-top: 2rem;
}

.tab-buttons {
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;
}

.tab-btn {
    padding: 1rem 0;
    background: none;
    border: none;
    font-weight: 600;
    cursor: pointer;
    color: var(--text-light);
    border-bottom: 3px solid transparent;
    transition: all 0.3s;
}

.tab-btn.active {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
    animation: fadeIn 0.5s;
}

/* ==========================================================================
   24. MOBILE MENU
   ========================================================================== */

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #553110;
    padding: 0;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

/* Inline mobile cart next to hamburger */
.mobile-cart-inline {
    display: none; /* hidden on desktop */
    margin-left: 1rem;
}

.mobile-menu-shell,
.mobile-menu-overlay,
.mobile-menu-header,
.mobile-menu-footer {
    display: none;
}

body.mobile-menu-open {
    overflow: hidden;
}

body .product-short-desc {
    font-size: 14px;
}

body.wp-singular .product-short-desc {
    font-size: 16px;
}

/* ==========================================================================
   25. RESPONSIVE STYLES
   ========================================================================== */

@media (max-width: 768px) {
    #navLinks {
        display: none;
    }

    .mobile-menu-shell {
        display: block;
        position: fixed;
        inset: 0;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.28s ease, visibility 0.28s ease;
        z-index: 1100;
    }

    .mobile-menu-shell.active {
        pointer-events: auto;
        opacity: 1;
        visibility: visible;
    }

    .mobile-menu-overlay {
        display: block;
        position: absolute;
        inset: 0;
        background: rgba(33, 22, 10, 0.42);
        opacity: 0;
        transition: opacity 0.28s ease;
    }

    .mobile-menu-shell.active .mobile-menu-overlay {
        opacity: 1;
    }

    .mobile-menu-drawer {
        position: absolute;
        top: 0;
        left: 0;
        width: min(82vw, 276px);
        height: 100%;
        background: var(--nav-bg);
        color: #553110;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 1.25rem 1.7rem 1.5rem;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        box-shadow: 18px 0 40px rgba(38, 22, 7, 0.14);
    }

    .mobile-menu-shell.active .mobile-menu-drawer {
        transform: translateX(0);
    }

    .mobile-menu-header {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        min-height: 2.5rem;
        margin-bottom: 1.8rem;
    }

    .mobile-menu-shell .mobile-menu-close {
        width: 2.5rem;
        height: 2.5rem;
        border: 0;
        background: transparent;
        color: #553110;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 2.15rem !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        cursor: pointer;
        padding: 0 !important;
        min-width: 2.5rem;
        min-height: 2.5rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 2.5rem;
    }

    .mobile-menu-shell .mobile-menu-close span {
        display: block;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: inherit;
        font-weight: 400 !important;
        line-height: 1 !important;
        transform: translateY(-0.03em);
    }

    .mobile-menu-content {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
    }

    .mobile-drawer-nav {
        display: flex;
        flex-direction: column;
        gap: 0;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-drawer-nav > li {
        position: relative;
    }

    .mobile-drawer-nav > li > a {
        display: block;
        padding: 1.05rem 2.2rem 1.05rem 0;
        color: #553110;
        font-size: 1.18rem;
        line-height: 1.45;
        letter-spacing: -0.01em;
        text-decoration: none;
        font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    }

    .mobile-drawer-nav > li.menu-item-has-children > a {
        padding-right: 3rem;
    }

    .mobile-drawer-nav .sub-menu {
        display: none;
        list-style: none;
        margin: -0.25rem 0 0.5rem;
        padding: 0 0 0.5rem 1rem;
    }

    .mobile-drawer-nav .submenu-open > .sub-menu {
        display: block;
    }

    .mobile-drawer-nav .sub-menu a {
        display: block;
        padding: 0.65rem 0;
        color: #7d5a33;
        text-decoration: none;
        font-size: 1.1rem;
    }

    .submenu-toggle {
        position: absolute;
        top: 0.7rem;
        right: 0;
        width: 2.25rem;
        height: 2.25rem;
        border: 0;
        background: transparent;
        color: #553110;
        padding: 0;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.15rem;
    }

    .submenu-toggle span {
        display: block;
        transition: transform 0.2s ease;
    }

    .submenu-open > .submenu-toggle span {
        transform: rotate(180deg);
    }

    .mobile-menu-footer {
        display: flex;
        margin-top: auto;
        padding-top: 1.75rem;
        flex-direction: column;
        gap: 1rem;
    }

    .mobile-menu-social {
        display: flex;
        align-items: center;
        gap: 0.8rem;
    }

    .mobile-menu-social-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 42px;
        height: 42px;
        padding: 0 12px;
        border: 1px solid currentColor;
        border-radius: 999px;
        color: inherit;
        text-decoration: none;
    }

    .mobile-menu-copyright {
        color: #553110;
        font-size: 0.78rem;
        letter-spacing: -0.01em;
        font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    }

    body.mobile-menu-open .subheader {
        visibility: hidden;
    }

    .aurora-wo-nav-links {
        display: block;
    }

    .nav {
        height: var(--nav-height-mobile, 56px);
        min-height: var(--nav-height-mobile, 56px);
    }

    .nav-container--menu-left .aurora-wo-nav-links--left {
        margin-left: 0;
    }

    .nav-container--menu-center .aurora-wo-nav-links--center {
        position: static;
        transform: none;
    }

    .site-content {
        padding-top: 56px !important;
    }

    .nav + .subheader {
        margin-top: var(--nav-height-mobile, 56px);
    }

    .aurora-back-to-top {
        right: 1rem;
        bottom: 1rem;
        width: 3rem;
        height: 3rem;
    }

    .mobile-menu-btn {
        display: inline-flex;
    }

    .mobile-cart-inline {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
    }

    .nav-container {
        display: grid;
        grid-template-columns: 44px 1fr 44px;
        align-items: center;
        padding: 0 20px 0 10px;
        height: var(--nav-height-mobile, 56px);
        gap: 0.75rem;
    }

    .mobile-menu-btn {
        justify-self: start;
    }

    .custom-logo-link,
    .logo {
        justify-self: center;
    }

    .mobile-cart-inline {
        justify-self: end;
        margin-left: 0;
    }

    /* Mobile logo styles */
    .custom-logo-link {
        height: 100%;
    }

    .custom-logo-link img {
        max-height: var(--nav-height-mobile, 56px);
    }

    .aurora-site-branding:not(.aurora-site-branding--single-logo) .custom-logo--desktop {
        display: none;
    }

    .aurora-site-branding .custom-logo--mobile {
        display: block;
        max-height: var(--nav-height-mobile, 56px);
        padding: 10px;
    }

    .hero {
        min-height: 100svh;
        align-items: flex-start;
    }

    .hero-content {
        max-width: 22rem;
        padding: 6.5rem 1.5rem 2rem;
        gap: 0.9rem;
    }

    .hero h1 {
        font-size: clamp(2.5rem, 10vw, 3.5rem);
        line-height: 0.98;
    }

    .hero p {
        max-width: 240px;
        word-wrap: break-word;
        font-size: 1.5rem;
        line-height: 1.35;
    }

    .cta-btn {
        padding: 0.9rem 2.2rem;
        width: 60%;
    }

    .menu-cart-item,
    ul.nav-links.aurora-wo-cart-icon {
        display: none !important;
    }

    .product-single {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .products-grid,
    .featured-grid {
        gap: clamp(0.75rem, 3vw, 1.25rem);
    }

    .featured-grid {
        grid-template-columns: repeat(var(--featured-grid-columns-mobile, 2), minmax(0, 1fr));
    }

    .brand-collection--mobile-1 .brand-collection__item,
    .brand-collection--mobile-1 .brand-collection__item--reverse {
        grid-template-columns: 1fr;
    }

    .brand-collection__item--reverse .brand-collection__media,
    .brand-collection__item--reverse .brand-collection__content {
        order: initial;
    }

    .brand-collection__image-link {
        min-height: 220px;
    }

    .brand-collection__content {
        padding: 1.75rem 1.25rem 2rem;
    }

    .brand-collection__content h3 {
        font-size: 1.85rem;
    }

    .featured-products-button-container {
        margin-top: 2rem;
    }

    .featured-products-button {
        padding: 0.875rem 1.75rem;
        font-size: 0.9rem;
    }

    .products-grid {
        grid-template-columns: repeat(var(--latest-grid-columns-mobile, var(--shop-grid-columns-mobile, 2)), minmax(0, 1fr));
    }

    .section {
        padding: 3rem 1rem;
    }

    .newsletter-form {
        flex-direction: column;
    }

    .shop-tools {
        flex-direction: column;
        align-items: stretch;
        padding: 20px 10px 20px 010px;
    }

    .deals-grid {
        flex-direction: column;
        align-items: stretch;
        gap: 2rem;
    }

    .deal-card {
        margin: 0 auto;
    }

    body .product-short-desc {
       font-size: 12px;
    }

    body.wp-singular .product-short-desc {
        font-size: 14px;
    }
}

/* ==========================================================================
   26. LAZY LOADING & UTILITIES
   ========================================================================== */

img[data-src] {
    filter: blur(10px);
    transition: filter 0.3s;
}

img.loaded {
    filter: blur(0);
}

.woocommerce-notices-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    /* padding: 0 2rem 0 2rem; */
}

.aurora-wo-nav-links {
    display: flex;
}

ul.nav-links.aurora-wo-cart-icon {
    padding: 0 0 0 2rem;
}

.footer {
    padding: 10px 0;
    border-top: 1px solid var(--border);
}

.copyright-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
    font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
    color: #553110;
    position: relative;
}

.copyright-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.social-icons {
    display: flex;
    gap: 10px;
    margin-left: auto;
    margin-right: 100px;
}

.social-link-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

@media (max-width: 768px) {
    .copyright-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        flex-wrap: wrap;
        font-family: 'Kalnia Regular', var(--font--heading--family), sans-serif;
        color: #553110;
        position: relative;
        padding: 0 20px;
        min-height: 80px;
        gap: 15px;
    }

    .copyright-text {
        position: static;
        transform: none;
        text-align: center;
        padding: 0 10px;
        order: 2;
        width: 100%;
    }

    .social-icons {
        display: flex;
        gap: 20px;
        margin-left: 0;
        margin-right: 0;
        order: 1;
        justify-content: center;
    }

    .social-icons img {
        width: 32px;
        height: auto;
    }
}

/* Hide variation labels only */
.single-product form.variations_form.cart table.variations th.label {
    display: none !important;
}

/* Only color swatch type: keep circles */
.single-product .variation-row[data-swatch-type="color"] .color-variable-item,
.single-product .variation-row[data-swatch-type="color"] .color-variable-item .variable-item-contents,
.single-product .variation-row[data-swatch-type="color"] .color-variable-item .variable-item-span-color {
    border-radius: 50% !important;
}

.single-product .variation-row {
    margin-bottom: 0.5rem;
}

/* Button-type swatches: equal width for all options */
.single-product .variation-row[data-swatch-type="button"] .button-variable-item {
    flex: 0 0 2.7rem !important;
    height: 2.7rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.single-product .variation-row[data-swatch-type="button"] .button-variable-item .variable-item-contents,
.single-product .variation-row[data-swatch-type="button"] .button-variable-item .variable-item-span-button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Selected variation uses active theme palette colors */
.single-product .woo-variation-swatches .variable-item.selected,
.single-product .woo-variation-swatches .variable-item[aria-checked="true"] {
    border-color: #d4bc8a !important;
    box-shadow: 0 0 0 1px #d4bc8a !important;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
    box-shadow: none;
    -webkit-box-shadow: none;
}

.single-product .variation-row[data-swatch-type="button"] .button-variable-item.selected,
.single-product .variation-row[data-swatch-type="button"] .button-variable-item[aria-checked="true"] {
    background: #d4bc8a !important;
    color: #1a1208 !important;
    border-color: #d4bc8a !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
    color: #d4bc8a !important;
    border-color: rgba(212, 188, 138, 0.65) !important;
}

@media (max-width: 768px) {
    .woo-variation-swatches .variable-items-wrapper {
        justify-content: space-around !important;
    }

    .single-product .variation-row[data-swatch-type="button"] .button-variable-item {
        flex: 0 0 2.5rem !important;
        height: 2.5rem !important;
    }
}

/* Loop product variation availability (non-clickable) */
.loop-variation-overview {
    margin-top: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.loop-variation-overview__row {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    flex-wrap: wrap;
    font-size: 0.75rem;
}

.loop-variation-overview__label {
    font-weight: 600;
    color: var(--text, #111);
}

.loop-variation-overview__list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
}

.loop-variation-overview__item {
    padding: 0.08rem 0.35rem;
    border-radius: 999px;
    border: 1px solid var(--border, #ddd);
    background: var(--card-bg, #fff);
    pointer-events: none;
    user-select: none;
    position: relative;
}

.loop-variation-overview__item.is-in-stock {
    color: var(--text, #111);
}

.loop-variation-overview__item.is-out-of-stock {
    color: var(--text-light, #777);
    opacity: 0.65;
    text-decoration: line-through;
    text-decoration-color: #ff0000;
    text-decoration-thickness: 1.5px;
}

.loop-variation-overview__row--type-button .loop-variation-overview__item {
    border-radius: 0;
    padding: 0.25rem 0.25rem;
    font-size: 0.72rem;
    border-radius: 4px;
}

.loop-variation-overview__item--color {
    padding: 0;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    overflow: hidden;
}

.loop-variation-overview__swatch-color {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.loop-variation-overview__item--color.is-out-of-stock {
    text-decoration: none;
}

@media (max-width: 768px) {
    .loop-variation-overview__list {
        justify-content: space-between;
        width: 100%;
    }
}

.woocommerce button {
    font-family: var(--font--heading--family);
}

.wp-block-heading.has-text-align-center {
    margin-bottom: 10px;
}
