/*
Theme Name: Opal Avant-Garde
Theme URI: https://labgrownopals.com/
Author: Thrice Agency
Author URI: https://thrice.agency/
Description: A standalone avant-garde theme for Lab Grown Opals.
Version: 4.1.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: Proprietary

*/

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Montserrat:wght@300;400;500;600;700;800;900&display=swap");

:root {
    --black: #000000;
    --charcoal: #333333;
    --graphite: #4a4a4a;
    --slate: #666666;
    --pewter: #888888;
    --silver: #b8b8b8;
    --ivory: #f8f6f3;
    --white: #ffffff;
    --light-gray: #fcfcfc; 
    --mid-gray: #f4f4f4;
    --gold: #b58e4f;
    --ink: #111111;
    --ink-soft: #4a4a4a;
    --surface: #ffffff;
    --surface-muted: #ffffff; 
    --surface-strong: #fcfcfc;
    --line: rgba(0,0,0,0.05);
    --font-display: "Cormorant Garamond", Georgia, serif;
    --font-body: "Montserrat", -apple-system, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; }

body {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
    color: var(--ink);
    background: var(--surface-muted);
    width: 100% !important;
}

/* Global structural resets */
.wp-site-blocks {
    width: 100% !important;
    max-width: none !important;
    overflow-x: hidden;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure no space below the footer */
.site-footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

footer.site-footer .wp-block-group,
.site-footer p {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.wp-site-blocks > main.wp-block-group,
.entry-content > .wp-block-group {
    width: 100% !important;
    max-width: none !important;
}

h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: 400; line-height: 1.2; margin: 0 0 1.5rem 0; }
h1 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; }
h2 { font-size: clamp(2rem, 5vw, 3.5rem); }
h3 { font-size: 1.1rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; font-family: var(--font-body); }
p { margin: 0 0 1.5rem 0; font-size: 0.95rem; color: var(--slate); }

/* 
   ========================================
   CORE HEADER ARCHITECTURE (V5 FINAL)
   - Clean 3-Part Desktop Split
   - Balanced Mobile Interaction
   ======================================== 
*/

/* Global fixed header architecture */
header.site-header,
header.wp-block-template-part,
.wp-block-template-part[slug="header"] {
    width: 100% !important;
    max-width: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 10000 !important;
    box-sizing: border-box !important;
    background: #2a2a2a !important;
}

header.site-header {
    height: 80px !important;
    padding: 0 4vw !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
}
header .wp-block-site-logo,
header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

header .wp-block-site-logo img,
header .custom-logo-link img {
    max-height: 50px !important;
    width: auto !important;
}

/* --- DESKTOP STATE (≥1001px) --- */
@media (min-width: 1001px) {
    header.site-header { height: 100px !important; }

    /* 3-Column Split for Desktop */
    header.site-header .wp-block-site-logo,
    header.site-header .custom-logo-link { 
        flex: 1 !important; 
        order: 1 !important; 
        display: flex !important;
        justify-content: flex-start !important;
    }
    header.site-header .wp-block-navigation { 
        flex: 2 !important; 
        display: flex !important; 
        justify-content: center !important; 
        order: 2 !important; 
    }
    header.site-header > .wp-block-group,
    header.site-header > div:last-child,
    .desktop-only-utility { 
        flex: 1 !important; 
        display: flex !important;
        justify-content: flex-end !important;
        order: 3 !important;
        gap: 20px !important;
    }

    /* Move Login to the right of Cart on Desktop */
    header .wp-block-woocommerce-customer-account {
        order: 2 !important;
    }
    header .wc-block-mini-cart {
        order: 1 !important;
    }

    /* Show Horizontal Links and their container */
    header .wp-block-navigation__container,
    header .wp-block-navigation__responsive-container,
    header .wp-block-navigation__responsive-container-content,
    header .wp-block-navigation ul {
        display: flex !important;
        visibility: visible !important;
        flex-direction: row !important;
        gap: 2.5rem !important;
        list-style: none !important;
        opacity: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header .wp-block-navigation-item__content {
        color: #ffffff !important;
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.15em !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    /* Strictly Hide Hamburger Button on Desktop */
    header .wp-block-navigation__responsive-container-open,
    header .wp-block-navigation-toggle,
    header button[aria-label*="menu"],
    header button[aria-label*="Menu"] {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        position: absolute !important;
        pointer-events: none !important;
    }

    /* Desktop Utility Sizing */
    header .wc-block-mini-cart__button svg,
    header .wp-block-woocommerce-customer-account svg {
        width: 34px !important;
        height: 34px !important;
    }
}

/* --- MOBILE STATE (≤1000px) --- */
@media (max-width: 1000px) {
    /* Fluid Mobile Layout */
    header.site-header {
        justify-content: space-between !important;
        padding: 0 4vw !important;
        display: flex !important;
    }

    /* Force Logo to the Left */
    header.site-header .wp-block-site-logo,
    header.site-header .custom-logo-link { 
        flex: 0 1 auto !important; 
        order: 1 !important;
        margin-right: auto !important; /* Push everything else to the right */
    }
    
    /* Utility Icons (Login/Cart) - Moved to Right Side of Logo */
    header.site-header .desktop-only-utility,
    header.site-header .wp-block-woocommerce-customer-account,
    header.site-header .wc-block-mini-cart,
    header.site-header > .wp-block-group,
    header.site-header > div:last-child { 
        flex: 0 0 auto !important; 
        display: flex !important;
        align-items: center !important;
        order: 2 !important;
        margin-right: 15px !important;
        gap: 15px !important;
    }
    
    /* Mobile Menu (Hamburger) - Moved to Far Right */
    header.site-header .wp-block-navigation { 
        flex: 0 0 auto !important; 
        display: flex !important;
        order: 3 !important;
        justify-content: flex-end !important;
    }

    /* Hide Desktop Links */
    header .wp-block-navigation__container:not(.is-menu-open .wp-block-navigation__container) {
        display: none !important;
    }

    /* Show & Style Hamburger (Small & Technical) */
    header .wp-block-navigation__responsive-container-open,
    header .wp-block-navigation-toggle,
    header button[aria-label*="menu"],
    header button[aria-label*="Menu"] {
        display: flex !important;
        visibility: visible !important;
        width: 44px !important;
        height: 44px !important;
        padding: 10px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 2000 !important;
        margin-right: -10px !important;
    }

    header .wp-block-navigation__responsive-container-open svg,
    header .wp-block-navigation-toggle svg,
    header button[aria-label*="menu"] svg {
        width: 24px !important; 
        height: 24px !important;
        fill: #ffffff !important;
    }

    /* Mobile Utility Sizing */
    header .wc-block-mini-cart__button svg,
    header .wp-block-woocommerce-customer-account svg {
        width: 22px !important;
        height: 22px !important;
    }

    /* Hide Login text, icons only */
    header .wc-block-customer-account__account-link-text {
        display: none !important;
    }

    /* Move Login to the right of Cart on Mobile */
    header .wp-block-woocommerce-customer-account {
        order: 2 !important;
    }
    header .wc-block-mini-cart {
        order: 1 !important;
    }

    /* Move Login to the right of Cart on Mobile */
    header .wp-block-woocommerce-customer-account {
        order: 2 !important;
    }
    header .wc-block-mini-cart {
        order: 1 !important;
    }

    /* MOBILE OVERLAY when open */
    .wp-block-navigation__responsive-container.is-menu-open {
        background: #111111 !important;
        z-index: 99999 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        position: fixed !important;
        inset: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        width: 100%;
        height: 100%;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Show nav links INSIDE the overlay */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        display: flex !important;
        visibility: visible !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2rem !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        font-size: 1rem !important; /* Reduced from 1.3rem for "smaller" mobile menu */
        letter-spacing: 0.25em !important;
        color: #ffffff !important;
    }

    /* CLOSE BUTTON - Only inside open overlay */
    .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
        display: none !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
        display: block !important;
        position: absolute !important;
        top: 24px !important;
        right: 24px !important;
        background: transparent !important;
        border: none !important;
        color: #ffffff !important;
        cursor: pointer !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
        fill: #ffffff !important;
        width: 24px !important;
        height: 24px !important;
    }
}

/* Common Utility Styles */
header .wc-block-mini-cart__button,
header .wp-block-woocommerce-customer-account a,
header .wc-block-customer-account__account-link {
    color: #ffffff !important;
    fill: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    gap: 8px !important;
}

header .wc-block-customer-account__account-link-text {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

header .wc-block-mini-cart__button:hover svg,
header .wp-block-woocommerce-customer-account:hover svg {
    transform: scale(1.1);
}

/* Icons Grouping (Login + Cart) */
header .wp-block-group:has(.wc-block-mini-cart) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
}

header .wc-block-mini-cart__button,
header .wc-block-mini-cart__button *,
header .wc-block-customer-account__account-link,
header .wc-block-customer-account__account-link *,
header .wp-block-woocommerce-customer-account a,
header .wp-block-woocommerce-customer-account svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Clean up mobile login text */
@media (max-width: 600px) {
    header .wc-block-customer-account__account-link-text {
        display: none !important;
    }
}

/* Account and Cart - Grouped on Right */
header .wp-block-woocommerce-customer-account,
header .wc-block-mini-cart {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    color: #ffffff !important;
    z-index: 100 !important;
    padding: 0 10px !important;
    margin: 0 !important;
}

header .wp-block-group:has(.wc-block-mini-cart) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin-left: auto !important;
    gap: 5px;
    flex-shrink: 0 !important;
}

header .wc-block-mini-cart__button,
header .wc-block-mini-cart__button *,
header .wc-block-customer-account__account-link,
header .wc-block-customer-account__account-link *,
header .wp-block-woocommerce-customer-account a,
header .wp-block-woocommerce-customer-account svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}


/* Style the Mini Cart Count Badge - Minimalist Look */
.wc-block-mini-cart__badge {
    background: var(--gold) !important;
    color: #000000 !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: -5px !important;
    right: -10px !important;
    z-index: 10 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

/* Hide only the amount (price), keep the count badge */
.wc-block-mini-cart__amount {
    display: none !important;
}

header .wp-block-site-title {
    display: none !important;
}

header .wp-block-woocommerce-customer-account,
header .wc-block-mini-cart {
    color: #ffffff !important;
}

header .wc-block-mini-cart__button,
header .wc-block-customer-account__account-link {
    color: #ffffff !important;
}

/* HERO V3 - LEFT ALIGNED CRAFTSMAN STYLE */
.hero-fullscreen-v2 {
    position: relative !important;
    height: 100vh !important;
    min-height: 850px !important;
    width: 100% !important;
    /* Prefer local theme asset */
    background-image: url('images/bricks.png') !important;
    background-size: cover !important;
    background-position: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; 
    padding-top: 100px !important; 
    overflow: hidden;
    color: var(--ink) !important; /* Allow gray/ink hero typography on white wash */
    margin-top: 0 !important;
}

.hero-fullscreen-v2::before {
    content: "";
    position: absolute;
    inset: 0;
    /* White filter wash (strongest where text sits) */
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0.58) 0%,
        rgba(255, 255, 255, 0.38) 45%,
        rgba(255, 255, 255, 0.10) 100%
    ) !important;
    z-index: 1;
    pointer-events: none;
}

.hero-v3-container {
    position: relative;
    z-index: 10;
    padding-left: 10vw; 
    width: 100%;
    margin-top: 0; /* Removed extra margin */
}

.hero-v3-content {
    max-width: 1000px;
    text-align: left; /* Back to left align */
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Back to left align items */
    gap: 1.5rem;
}

.hero-v3-pretitle {
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important; /* Slightly smaller for precision */
    font-weight: 700 !important;
    letter-spacing: 0.5em !important; /* Wide tracking for technical feel */
    text-transform: uppercase !important;
    color: var(--slate) !important;
    margin: 0 !important;
    opacity: 1; /* Increased from 0.8 for clarity */
    text-shadow: none;
}

.iridescent-text {
    background: linear-gradient(
        to right, 
        #ff8df2 0%, 
        #7856ff 25%, 
        #4ecfff 50%, 
        #fff05e 75%, 
        #ff8df2 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shine 6s linear infinite;
    display: inline-block;
}

@keyframes shine {
    to { background-position: 200% center; }
}

.hero-v3-title {
    font-family: var(--font-body) !important;
    font-size: clamp(3rem, 8vw, 6.5rem) !important; /* Massive for perfection */
    font-weight: 900 !important;
    line-height: 0.95 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    color: var(--black) !important;
    letter-spacing: -0.04em !important; /* Tighter for the impact */
    text-shadow: none;
}

.hero-v3-tagline {
    font-family: var(--font-body) !important;
    font-size: 1rem !important; /* Balanced with pretitle */
    line-height: 1.8 !important;
    font-weight: 500 !important;
    color: var(--slate) !important;
    margin: 0 !important;
    max-width: 800px;
    letter-spacing: 0.15em !important; /* Tracking added to balance the top line */
    text-transform: uppercase; /* Matching the pretitle style for architectural balance */
    text-shadow: none;
}

.hero-v3-buttons {
    margin-top: 1.5rem !important;
    display: flex !important;
    justify-content: flex-start !important;
}

.hero-fullscreen-v2 .hero-v3-buttons .wp-block-button .wp-block-button__link,
.hero-fullscreen-v2 .hero-v3-buttons .wp-block-button__link,
.hero-v3-buttons .wp-block-button__link {
    background: #2a2a2a !important;
    border: 1px solid #2a2a2a !important;
    border-image: none !important;
    padding: 1.2rem 3.5rem !important;
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    backdrop-filter: none !important;
    transition: all 0.4s ease !important;
    border-radius: 0 !important;
}

.hero-fullscreen-v2 .hero-v3-buttons .wp-block-button .wp-block-button__link:hover,
.hero-fullscreen-v2 .hero-v3-buttons .wp-block-button__link:hover,
.hero-v3-buttons .wp-block-button__link:hover {
    background: #3d3d3d !important;
    border-color: #3d3d3d !important;
    transform: translateY(-2px);
}

.home .entry-title, .home .entry-header, .home .wp-block-post-title,
.page-id-40 .entry-title, .page-id-40 .entry-header, .page-id-40 .wp-block-post-title,
.faqs .entry-title, .faqs .entry-header, .faqs .wp-block-post-title,
.page-id-40 .wp-block-spacer, .faqs .wp-block-spacer { display: none !important; }

.page-id-40 .faq-section, .faqs .faq-section {
    padding-top: 8vh !important;
}

/* HERO */
.hero-fullscreen {
    display: none !important;
}

.hero-split {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    height: 100vh !important;
    min-height: 700px !important;
    background: var(--surface-muted);
    overflow: hidden;
    position: relative;
}

.hero-split-image {
    position: relative !important;
    overflow: hidden !important;
    height: 100% !important;
}

.hero-split-image figure,
.hero-split-image .wp-block-image {
    margin: 0 !important;
    height: 100% !important;
    width: 100% !important;
}

.hero-split-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: var(--surface-muted) !important;
    transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

.hero-split:hover .hero-split-image img {
    transform: scale(1.05) !important;
}

.hero-split-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 8vw !important;
    background: var(--surface) !important;
    color: var(--ink);
    position: relative;
    height: 100% !important;
}

.hero-split-content::before {
    content: "";
    position: absolute;
    top: 0; left: 0; bottom: 0; width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(201,169,98,0.3), transparent);
}

.hero-split-content h1 {
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    line-height: 1.1 !important;
    margin-bottom: 2rem !important;
    font-style: italic !important;
    color: var(--ink) !important;
    font-weight: 300 !important;
}

.hero-split-content p {
    font-size: 0.8rem !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    color: #666 !important;
    margin-bottom: 3.5rem !important;
    font-weight: 500 !important;
}

.hero-split .wp-block-button__link {
    border-color: #c9a962 !important;
    color: #c9a962 !important;
    background: transparent !important;
}

.hero-split .wp-block-button__link:hover {
    background: #c9a962 !important;
    color: #1a1a1a !important;
}

@media (max-width: 992px) {
    .hero-split {
        grid-template-columns: 1fr;
        height: auto;
    }
    .hero-split-image {
        height: 50vh;
    }
    .hero-split-content {
        padding: 4rem 2rem;
    }
}

.hero-bg-image {
    position: relative !important;
    grid-column: 1 !important;
    inset: 0 !important;
    z-index: 1 !important;
    /* Prefer local theme asset */
    background-image: url('images/newopals5.png') !important;
    background-size: cover !important;
    background-position: center !important;
}

.hero-bg-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.2) 0%, transparent 100%);
    z-index: 2;
}

.hero-bg-image img {
    display: none !important;
}

.hero-content-center {
    position: relative !important;
    grid-column: 2 !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    padding: 8vw !important;
    background: var(--surface) !important;
    max-width: none !important;
    margin: 0 !important;
}
.hero-content-center h1 {
    color: var(--ink) !important;
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    font-weight: 300 !important;
    margin-bottom: 2rem !important;
    text-shadow: none !important;
    font-style: italic !important;
    line-height: 1.1 !important;
}

.hero-content-center p {
    color: #666 !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    margin-bottom: 3.5rem !important;
    text-shadow: none !important;
}

.scroll-indicator { position: absolute; bottom: 3rem; left: 50%; transform: translateX(-50%); z-index: 10; color: var(--white); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; }

/* BUTTONS */
.wp-block-button__link { font-family: var(--font-body) !important; font-size: 0.7rem !important; font-weight: 500 !important; letter-spacing: 0.25em; text-transform: uppercase; padding: 1.2rem 3rem !important; border-radius: 0 !important; border: 1px solid var(--ink) !important; background: var(--ink) !important; color: var(--white) !important; backdrop-filter: blur(10px); transition: all 0.5s ease; }
.wp-block-button__link:hover { background: var(--white) !important; color: var(--ink) !important; }

.section-light .wp-block-button__link, .section-white .wp-block-button__link { border-color: var(--ink) !important; background: transparent !important; color: var(--ink) !important; }
.section-light .wp-block-button__link:hover, .section-white .wp-block-button__link:hover { background: var(--ink) !important; color: var(--white) !important; }

/* MANIFESTO SECTION V2 - Molecular Standard - Gray background for depth */
.manifesto-section-v2 {
    padding: 15vh 10vw !important;
    text-align: left !important;
    background: #ebebeb !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

/* Section immediately below the manifesto - continue the gray background flow */
.manifesto-section-v2 + .wp-block-group {
    background: #ebebeb !important;
}

.manifesto-v2-container {
    max-width: 1200px;
    margin: 0;
}

.manifesto-v2-title {
    font-family: var(--font-body) !important;
    font-weight: 800 !important;
    font-size: clamp(1.2rem, 2.5vw, 1.5rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.35em !important;
    font-style: normal !important;
    color: var(--ink) !important;
    margin-bottom: 3rem !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

.manifesto-v2-text {
    font-family: var(--font-body) !important;
    font-size: 1.15rem !important;
    line-height: 1.9 !important;
    color: var(--ink-soft) !important;
    font-style: normal !important;
    margin: 0 0 2rem 0 !important;
    max-width: 900px;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-align: left !important;
}

/* GLOBAL SECTION SCALING - Increased font sizes for all main sections */
.home main h2, 
.home main .wp-block-heading {
    font-family: var(--font-body) !important;
    font-weight: 800 !important;
    font-size: clamp(1.2rem, 2.5vw, 1.5rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.35em !important;
    color: var(--ink) !important;
    margin-bottom: 3rem !important;
    text-align: left !important;
}

.home main p {
    color: var(--ink-soft) !important;
    font-size: 1.1rem !important;
    line-height: 1.9 !important;
    text-align: left !important;
}

/* Ensure sections below also scale and align left */
.section-light h2,
.section-dark h2,
.section-graphite h2,
.testimonial-section blockquote {
    text-align: left !important;
}

.section-light p,
.section-dark p {
    font-size: 1.1rem !important;
    text-align: left !important;
}

/* SECTIONS HEADINGS - MASCULINE REFINEMENT */
.section-dark h1, .section-dark h2, .section-dark h3,
.section-light h1, .section-light h2, .section-light h3,
.section-graphite h1, .section-graphite h2, .section-graphite h3,
.manifesto-section h2,
.wp-block-heading {
    font-family: var(--font-body) !important; /* Montserrat */
    font-weight: 800 !important;
    font-size: clamp(0.9rem, 2vw, 1.2rem) !important; /* Minimalist, high-end technical scale */
    text-transform: uppercase !important;
    letter-spacing: 0.3em !important; /* Extra wide tracking for luxury feel at small size */
    font-style: normal !important;
    margin-bottom: 2.5rem !important;
}

.section-dark { 
    background: var(--white) !important; 
    color: var(--ink) !important; 
    padding: 12vh 6vw !important; 
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
.section-dark h1, .section-dark h2, .section-dark h3 { color: var(--ink) !important; }
.section-dark p { color: var(--ink-soft) !important; }

.section-graphite { background: var(--white) !important; color: var(--ink) !important; padding: 12vh 8vw !important; }

.section-light {
    background: var(--white) !important;
    padding: 10vh 6vw !important;
}

.section-light h2 { color: var(--ink) !important; }
.section-light > p, .section-light .has-text-align-center { color: var(--ink-soft) !important; }

.section-light *,
.section-light .wp-block-group,
.section-light .wp-block-columns,
.section-light .wp-container-core-group-is-layout-1,
.section-light .wp-container-core-columns-is-layout-1,
.section-light .wp-block-group__inner-container,
.section-light .wp-block-columns__inner-container,
.section-light .alignwide,
.section-light .alignfull,
.section-light .wp-block-image,
.section-light .wp-block-image img,
.section-light .wp-block-paragraph,
.section-light .wp-block-heading,
.section-light p,
.section-light h1,
.section-light h2,
.section-light h3,
.section-light h4,
.section-light h5,
.section-light h6,
.section-light .wp-block-image figcaption,
.section-light .wp-block-media-text,
.section-light .wp-block-media-text__media,
.section-light .wp-block-media-text__content {
    width: 100% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Override any WordPress core constraints */
.section-light .wp-site-blocks .wp-container-core-group-is-layout-1,
.section-light .wp-site-blocks .wp-container-core-columns-is-layout-1,
.section-light [class*="wp-container-"],
.section-light [class*="is-layout-"] {
    width: 100% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Force all flex and grid items to expand */
.section-light .wp-block-columns > .wp-block-column,
.section-light .wp-block-group > *,
.section-light .is-layout-flex > *,
.section-light .is-layout-grid > * {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
}
.section-light h2 { color: var(--ink) !important; }
.section-light > p, .section-light .has-text-align-center { color: var(--ink-soft) !important; }

.section-white { background: var(--white) !important; padding: 12vh 8vw !important; }

.manifesto-section { text-align: center; max-width: 1400px !important; margin: 0 auto; background: var(--surface-muted); color: var(--ink); }
.manifesto-section h2 { font-size: clamp(3rem, 6vw, 4.5rem); font-style: italic; margin-bottom: 2.5rem; color: var(--ink) !important; }
.manifesto-section p { font-size: 1.25rem; line-height: 2.1; font-weight: 300; color: var(--ink-soft) !important; max-width: 1400px; margin: 0 auto 1.5rem auto; }

/* FEATURE GRID */
.feature-grid-images { display: flex !important; flex-direction: column !important; gap: 3rem; max-width: 1400px !important; margin: 0 auto; }
.feature-item-image { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; text-align: left; background: #f5f5f5; padding: 3rem; border-radius: 4px; border: 1px solid var(--line); }

/* Force images left, text right for all feature blocks */
.feature-item-image .feature-image { order: 1 !important; }
.feature-item-image .feature-content { order: 2 !important; }

/* Force WordPress native media-text blocks to always have media on left */
.wp-block-media-text {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas: "media content" !important;
}
.wp-block-media-text__media { grid-area: media !important; }
.wp-block-media-text__content { grid-area: content !important; }

/* Gray containers for WordPress media-text blocks (Integrity, Brilliance, Designer Grade) */
.wp-block-media-text,
.home .entry-content .wp-block-media-text,
.home main .wp-block-media-text {
    background: #f5f5f5 !important;
    padding: 4rem !important;
    border-radius: 8px !important;
    margin-bottom: 3rem !important;
    transition: all 0.4s ease !important;
}

.wp-block-media-text:hover,
.home .entry-content .wp-block-media-text:hover,
.home main .wp-block-media-text:hover {
    background: #eeeeee !important;
}
.feature-item-image:nth-child(even) { direction: rtl; }
.feature-item-image:nth-child(even) > * { direction: ltr; }
.feature-item-image .feature-image img { width: 100%; height: 450px; object-fit: cover; transition: transform 0.8s ease; }
.feature-item-image:hover .feature-image img { transform: scale(1.03); }
.feature-item-image h3 { font-size: 1rem; letter-spacing: 0.3em; margin-bottom: 1.2rem; color: #c9a962 !important; }
.feature-item-image p { font-size: 1.15rem; line-height: 1.9; color: var(--ink-soft) !important; margin-bottom: 0; }

@media (max-width: 768px) {
    .feature-item-image { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
    .feature-item-image:nth-child(even) { direction: ltr; }
    .feature-item-image .feature-image img { height: 280px; }
}

/* WOOCOMMERCE PRODUCTS - FORCE 2x2 GRID */
.woocommerce ul.products,
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4,
ul.products,
ul.products.columns-2,
ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    align-items: start !important;
    gap: 1.5rem !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 800px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product,
ul.products li.product,
.woocommerce-page ul.products li.product {
    position: relative !important;
    background: var(--white) !important;
    text-align: center !important;
    transition: all 0.4s ease !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.25) !important;
}

/* Ensure product containers are perfectly aligned */
.section-light ul.products,
.home ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 4rem 2rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 900px !important;
}

.section-light ul.products li.product,
.home ul.products li.product {
    flex: 0 1 calc(50% - 1rem) !important;
    max-width: calc(50% - 1rem) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Force children to respect alignment */
.section-light ul.products li.product > *,
.home ul.products li.product > * {
    margin-top: 0 !important;
    transform: none !important;
}

/* Final staggering override */
.section-light ul.products li.product:nth-child(n),
.home ul.products li.product:nth-child(n) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* PRODUCT IMAGES */
.woocommerce ul.products li.product img,
ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: 200px !important;
    object-fit: contain !important;
    background: #eaeaea !important;
    padding: 1rem !important;
    margin: 0 !important;
}

/* PRODUCT TITLES */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display) !important;
    font-size: 1.15rem !important;
    color: var(--charcoal) !important;
    padding: 1rem 1rem 0.4rem !important;
    margin: 0 !important;
}

/* PRODUCT PRICES */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    color: var(--slate) !important;
    font-size: 0.85rem !important;
    padding: 0 1rem 1rem !important;
    margin: 0 !important;
}

/* SELECT OPTIONS BUTTON */
.woocommerce ul.products li.product .button,
ul.products li.product .button {
    font-family: var(--font-body) !important;
    font-size: 0.6rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 0.75rem 1rem !important;
    background: var(--charcoal) !important;
    color: var(--white) !important;
    border-radius: 0 !important;
    margin: 0 1rem 1rem !important;
    display: block !important;
    width: calc(100% - 2rem) !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .button:hover,
ul.products li.product .button:hover {
    background: var(--gold) !important;
    color: var(--charcoal) !important;
}

/* TESTIMONIAL */
.testimonial-section { text-align: center; max-width: 900px; margin: 0 auto; }
.testimonial-section blockquote { font-family: var(--font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); font-style: italic; line-height: 1.7; color: var(--ink); }
.testimonial-section cite { font-family: var(--font-body); font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-soft); }

/* FOOTER - TECHNICAL REFINEMENT */
/* ========================================
   RESPONSIVE & UTILITY
   ======================================== */
@media (max-width: 600px) {
    .woocommerce ul.products,
    ul.products.columns-2,
    ul.products {
        grid-template-columns: 1fr !important;
        max-width: 350px !important;
    }
}

/* SHOP PAGE - DARK BACKGROUND */
body.woocommerce-shop,
body.post-type-archive-product,
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout {
    background: var(--surface-muted) !important;
}

body.woocommerce-shop .wp-site-blocks,
body.woocommerce-shop .has-background,
body.woocommerce-shop .has-base-background-color {
    background: var(--surface-muted) !important;
}

body.woocommerce-shop .woocommerce-result-count {
    color: #666666 !important;
}

body.woocommerce-shop .woocommerce-ordering select {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #d0d0d0 !important;
}

/* Shop and Product pages header - final clean reset */
body.woocommerce header.wp-block-template-part,
body.woocommerce .wp-block-template-part[slug="header"] {
    background: #2a2a2a !important;
    height: 100px !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10000 !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
}

@media (max-width: 1000px) {
    body.woocommerce header.wp-block-template-part,
    body.woocommerce .wp-block-template-part[slug="header"] {
        height: 80px !important; /* Match mobile standard height */
    }
}

body.woocommerce header.wp-block-template-part *:not(.wp-block-navigation__responsive-container):not(.wp-block-navigation__responsive-container *) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Ensure nav text is perfectly centered vertically in the 100px bar */
body.woocommerce header .wp-block-navigation-item__content {
    padding: 0 !important;
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
}

body.woocommerce header.wp-block-template-part a,
body.woocommerce header.wp-block-template-part nav a,
body.woocommerce .is-menu-open .wp-block-navigation-item__content {
    color: #ffffff !important;
}

body.woocommerce .wp-block-navigation__responsive-container.is-menu-open {
    background: #111111 !important;
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout {
    padding-top: 0 !important; /* Removed to prevent extra page height */
    margin: 0 !important;
}

body.single-product .wp-site-blocks,
body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks {
    min-height: 100vh !important; /* Full viewport height */
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.single-product main,
body.woocommerce-cart main,
body.woocommerce-checkout main {
    flex: 1 0 auto !important;
    padding-top: 180px !important; /* Move padding here so it doesn't push the container height */
}

body.woocommerce-cart footer.site-footer,
body.woocommerce-checkout footer.site-footer {
    flex-shrink: 0 !important;
}

body.single-product main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* SINGLE PRODUCT REFINEMENT - Masculine Technical Aesthetic */
body.single-product .product_title,
body.single-product h1.product_title,
body.single-product main .entry-title {
    font-family: var(--font-body) !important; /* Bold, Technical Montserrat */
    font-size: 1.1rem !important; /* Minimized to meet "still too big" feedback */
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: var(--black) !important;
    margin-bottom: 1rem !important;
    line-height: 1.2 !important;
    word-break: normal !important; 
    overflow-wrap: break-word !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .button.alt,
body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button:disabled,
body.single-product .single_add_to_cart_button.wc-variation-selection-needed {
    background-color: #b58e4f !important; /* Standout Gold */
    color: #000000 !important;
    border: none !important;
    padding: 1.25rem 3rem !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    opacity: 1 !important; /* Remove any washed-out opacity */
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .button.alt:hover {
    background-color: #111111 !important;
    color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.2) !important;
}

/* Ensure price and variations match the technical feel */
body.single-product .price {
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    color: #666 !important;
    font-size: 1.5rem !important;
    letter-spacing: -0.02em !important;
}

body.single-product .variations label {
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 0.75rem !important;
    color: var(--black) !important;
}

/* ========================================
   GENERAL PAGES (Contact, About, etc.)
   ======================================== */
body.page:not(.home) {
    background: #ffffff !important;
}

body.page:not(.home) .wp-site-blocks,
body.page:not(.home) main.wp-block-group {
    background: transparent !important;
}

/* Ensure all standard pages have enough top padding for the fixed header */
body.page:not(.home),
body.woocommerce:not(.home) {
    padding-top: 100px !important;
}

/* Global "Avant-Garde" Title Style - Aggressive Override */
h1, h2, h3, h4, h5, h6,
.entry-title,
.wp-block-post-title,
.contact-page-main .wp-block-post-title,
.faq-section-header h1,
.faqs .entry-title,
.faq-title,
body.page:not(.home) main h1,
body.woocommerce-cart main h1,
body.woocommerce-checkout main h1,
body.woocommerce-account main h1 {
    font-family: 'Montserrat', sans-serif !important;
}

body.page:not(.home) main h1.wp-block-post-title,
body.woocommerce-cart main h1,
body.woocommerce-checkout main h1,
body.woocommerce-account main h1,
.contact-page-main .wp-block-post-title,
.faq-section-header h1,
.faqs .entry-title,
.faq-title {
    font-size: clamp(2rem, 5vw, 2.5rem) !important; /* Reduced size to match My Account */
    font-weight: 800 !important;
    font-style: normal !important; /* Ensure no italics */
    text-align: center !important;
    margin: 0 auto 2rem auto !important; /* Set top margin to 0 globally */
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: var(--black) !important;
}

/* Add top padding/margin ONLY to the CONTACT page title */
.contact-page-main .wp-block-post-title,
.page-template-page-contact .faq-title {
    padding-top: 16vh !important;
    margin-top: 8rem !important;
}

/* My Account Alignment */
body.woocommerce-account .woocommerce {
    max-width: 800px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    text-align: center !important;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 600px !important;
}

/* WooCommerce Cart/Checkout Container Refinement */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 5vw !important;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
    background: #ffffff !important;
    padding: 3rem !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
    margin-bottom: 2rem !important;
}

/* Proceed to Checkout & Place Order Buttons */
body.woocommerce-cart .checkout-button,
body.woocommerce-cart .wc-forward,
body.woocommerce-cart .wc-proceed-to-checkout a.button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .wc-block-checkout__submit-button,
body.woocommerce-checkout .wc-block-components-button {
    background-color: #b58e4f !important; /* Gold */
    color: #000000 !important;
    padding: 1.25rem 2.5rem !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
    border: none !important;
    text-decoration: none !important;
    width: auto !important;
    min-width: 200px !important;
}

body.woocommerce-cart .checkout-button:hover,
body.woocommerce-cart .wc-forward:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout .wc-block-checkout__submit-button:hover,
body.woocommerce-checkout .wc-block-components-button:hover {
    background-color: #111111 !important;
    color: #ffffff !important;
}

/* Style the page content containers - ensure header is excluded from max-width */
body.page:not(.home) .wp-block-group:not(.site-header):not(.wp-block-template-part),
body.page:not(.home) .wp-block-columns {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.contact-page-main {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.contact-page-section {
    padding: 0 5vw !important;
}

.contact-page-section .contact-container {
    max-width: 1400px;
    margin: 0 auto;
}

.contact-page-section .wp-block-columns {
    display: flex !important;
    flex-direction: row !important;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,0,0,0.08) !important;
    background: #ffffff;
}

@media (max-width: 900px) {
    .contact-page-section .wp-block-columns {
        flex-direction: column !important;
    }
}

/* Dark sidebar styling (for the "Get in touch" side) */
.contact-sidebar {
    background-color: #2a2a2a !important; /* Matches navbar */
    padding: 4rem !important;
    color: #ffffff !important;
    flex: 1 !important;
}

.contact-sidebar * {
    color: #ffffff !important;
}

.contact-sidebar-title {
    color: #ffffff !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    margin-bottom: 2rem !important;
}

.contact-sidebar-intro {
    color: rgba(255,255,255,0.7) !important;
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 3rem !important;
    font-family: var(--font-body) !important;
}

.contact-sidebar-details {
    font-family: var(--font-body) !important;
    line-height: 2 !important;
    font-size: 0.95rem !important;
}

.contact-sidebar-details p {
    color: #ffffff !important;
}

.contact-email-link {
    color: var(--gold) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--gold);
    transition: opacity 0.3s ease;
}

.contact-email-link:hover {
    opacity: 0.8;
}

/* Form Styling - Clean, Rounded, Modern */
.contact-form-column {
    background-color: #ffffff !important;
    padding: 4rem !important;
    flex: 1.5 !important;
}

.form-row-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 600px) {
    .form-row-split {
        grid-template-columns: 1fr;
    }
}

.opal-contact-form input[type="text"],
.opal-contact-form input[type="email"],
.opal-contact-form textarea {
    width: 100% !important;
    padding: 1rem 1.2rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    margin-bottom: 1.5rem !important;
    transition: all 0.3s ease;
}

.opal-contact-form input:focus,
.opal-contact-form textarea:focus {
    border-color: #ad6d74 !important;
    box-shadow: 0 0 0 3px rgba(173, 109, 116, 0.1) !important;
    outline: none !important;
}

.opal-contact-form label {
    display: block !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    margin-bottom: 0.5rem !important;
    color: #1a202c !important;
}

/* The Mauve Submit Button */
.contact-submit-button {
    background: #ad6d74 !important; /* Mauve from screenshot */
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 1.2rem 2.5rem !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    width: 100% !important;
    cursor: pointer;
    transition: background 0.3s ease;
}

.contact-submit-button:hover {
    background: #965d64 !important;
}

.contact-success-banner {
    background: #d4edda !important;
    color: #155724 !important;
    padding: 1.5rem !important;
    border-radius: 8px !important;
    margin-bottom: 2rem !important;
    border: 1px solid #c3e6cb !important;
    font-weight: 600 !important;
    text-align: center !important;
    font-family: var(--font-body) !important;
}

.form-privacy-note {
    font-size: 0.8rem !important;
    color: #666 !important;
    margin-bottom: 2rem !important;
    font-family: var(--font-body) !important;
}

/* Technical Labels (e.g., CONTACT US) */
.wp-block-heading.has-text-align-center,
.section-label {
    text-transform: uppercase !important;
    letter-spacing: 0.3em !important;
    font-weight: 800 !important;
    font-size: 0.75rem !important;
}

.section-dark .wp-block-heading {
    color: var(--gold) !important;
}

/* ========================================
   FOOTER REFINEMENTS & CLEANUP
   ======================================== */

/* Single Dark Footer Background */
footer.wp-block-template-part,
.wp-block-template-part[slug="footer"],
footer {
    background: #2a2a2a !important;
    padding: 8vh 8vw !important;
    border-top: none !important;
    color: #ffffff !important;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
}

footer footer {
    display: contents !important;
}

/* Typography for footer - ensuring white on dark */
footer h2, 
footer .wp-block-heading {
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 1rem;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    margin-bottom: 2rem !important;
    text-align: left !important;
}

footer p, 
footer li,
footer .wp-block-navigation-item__content,
footer .wp-block-site-title a {
    color: #aaaaaa !important;
}

footer .wp-block-navigation-item__content:hover {
    color: var(--gold) !important;
}

/* Hide unwanted pre-footer CTA elements (BEGIN YOUR COLLECTION, etc.) */
footer.wp-block-template-part > h1,
footer.wp-block-template-part > h2,
footer.wp-block-template-part > h3,
footer.wp-block-template-part > p,
footer.wp-block-template-part > .wp-block-buttons,
footer.wp-block-template-part > div:not(.wp-block-group),
.wp-block-template-part[slug="footer"] > h1,
.wp-block-template-part[slug="footer"] > h2,
.wp-block-template-part[slug="footer"] > h3,
.wp-block-template-part[slug="footer"] > p,
.wp-block-template-part[slug="footer"] > .wp-block-buttons {
    display: none !important;
}

/* Clean Footer Content Group - No Card Look */
footer.wp-block-template-part .wp-block-group,
.wp-block-template-part[slug="footer"] .wp-block-group,
footer.wp-block-template-part .wp-block-columns {
    background: transparent !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 auto !important;
}

/* Hide the Contact Us link if it's orphaned near the footer - Target CTA areas only */
.home main .wp-block-button:has(a[href*="contact"]),
.home main a.wp-block-button__link[href*="contact"],
footer.wp-block-template-part a[href*="contact"],
footer.wp-block-template-part .wp-block-button:has(a[href*="contact"]) {
    display: none !important;
}

/* Adjust footer columns */
footer .wp-block-columns {
    gap: 4rem !important;
}

/* Designed with WordPress cleanup */
footer .wp-block-group p:has(a[href*="wordpress.org"]),
footer .wp-block-group a[href*="wordpress.org"],
.wp-block-template-part[slug="footer"] p:has(a[href*="wordpress.org"]),
footer .wp-block-site-title + p,
.wp-block-template-part[slug="footer"] .wp-block-paragraph:last-child {
    display: none !important;
}


/* ========================================
   REFINED SHOP PAGE STYLING
   ======================================== */

/* Elegant gradient background */
body.woocommerce-shop,
body.woocommerce-shop .wp-site-blocks,
body.woocommerce-shop .has-background,
body.woocommerce-shop .has-base-background-color {
    background: var(--surface-muted) !important;
}

/* Shop title styling */
body.woocommerce-shop .wp-block-query-title {
    display: none !important; /* Hide the random "Shop" title */
}

body.woocommerce-shop .wc-block-breadcrumbs {
    text-align: center !important;
    padding: 140px 0 1rem !important; /* Increased top padding to clear the 100px header */
    font-size: 0.7rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #666 !important;
}

body.woocommerce-shop .wc-block-breadcrumbs a {
    color: #666 !important;
    text-decoration: none !important;
}

body.woocommerce-shop .wc-block-breadcrumbs a:hover {
    color: #c9a962 !important;
}

/* Results count and sorting row */
body.woocommerce-shop .woocommerce-result-count {
    color: #999 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
}

body.woocommerce-shop .woocommerce-ordering select {
    background: #2d2d2d !important;
    color: #ddd !important;
    border: 1px solid #444 !important;
    padding: 0.6rem 1.5rem 0.6rem 1rem !important;
    font-size: 0.75rem !important;
    border-radius: 0 !important;
    cursor: pointer !important;
}

/* Product cards */
body.woocommerce-shop .wc-block-grid__product,
body.woocommerce-shop .wp-block-post,
body.woocommerce-shop .product {
    background: #fff !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.woocommerce-shop .wc-block-grid__product:hover,
body.woocommerce-shop .wp-block-post:hover,
body.woocommerce-shop .product:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.25) !important;
}

/* Product images */
body.woocommerce-shop .wc-block-components-product-image img,
body.woocommerce-shop .wc-block-grid__product-image img,
body.woocommerce-shop .wp-block-post img,
body.woocommerce-shop .product img,
ul.products li.product img {
    width: 100% !important;
    height: 300px !important; /* Fixed height for consistency */
    object-fit: contain !important; /* Ensure the whole image is visible */
    padding: 2rem !important; /* Zoom out by adding padding */
    background: #fcfcfc !important; /* Very light gray to define the card area */
    transition: transform 0.6s ease !important;
}

body.woocommerce-shop .wc-block-grid__product:hover .wc-block-components-product-image img,
body.woocommerce-shop .wc-block-grid__product:hover img,
body.woocommerce-shop .wp-block-post:hover img,
body.woocommerce-shop .product:hover img {
    transform: scale(1.02) !important; /* Very subtle hover for elegance */
}

/* Product titles */
body.woocommerce-shop .wp-block-post-title,
body.woocommerce-shop .wc-block-grid__product-title,
body.woocommerce-shop .woocommerce-loop-product__title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    padding: 1.25rem 1rem 0.5rem !important;
    margin: 0 !important;
    text-align: center !important;
}

body.woocommerce-shop .wp-block-post-title a {
    color: #1a1a1a !important;
    text-decoration: none !important;
}

/* Product prices */
body.woocommerce-shop .wc-block-components-product-price,
body.woocommerce-shop .wc-block-grid__product-price,
body.woocommerce-shop .price {
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    text-align: center !important;
    padding: 0.25rem 1rem 1rem !important;
}

/* Product buttons */
body.woocommerce-shop .wc-block-components-product-button .wc-block-components-product-button__button,
body.woocommerce-shop .wp-block-button__link,
body.woocommerce-shop .add_to_cart_button,
body.woocommerce-shop .product_type_variable {
    display: block !important;
    width: calc(100% - 2rem) !important;
    margin: 0 1rem 1rem !important;
    padding: 0.9rem 1.5rem !important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

body.woocommerce-shop .wc-block-components-product-button .wc-block-components-product-button__button:hover,
body.woocommerce-shop .wp-block-button__link:hover,
body.woocommerce-shop .add_to_cart_button:hover,
body.woocommerce-shop .product_type_variable:hover {
    background: #c9a962 !important;
    color: #1a1a1a !important;
}

/* Sale badge */
/* Pagination */
body.woocommerce-shop .wp-block-query-pagination,
body.woocommerce-shop nav.woocommerce-pagination {
    display: flex !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 3rem 0 !important;
}

body.woocommerce-shop .wp-block-query-pagination-numbers a,
body.woocommerce-shop .wp-block-query-pagination-numbers span,
body.woocommerce-shop .woocommerce-pagination a,
body.woocommerce-shop .woocommerce-pagination span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,0.1) !important;
    color: #ddd !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    transition: all 0.3s ease !important;
}

body.woocommerce-shop .wp-block-query-pagination-numbers a:hover,
body.woocommerce-shop .woocommerce-pagination a:hover {
    background: #c9a962 !important;
    color: #1a1a1a !important;
    border-color: #c9a962 !important;
}

body.woocommerce-shop .wp-block-query-pagination-numbers span.current,
body.woocommerce-shop .woocommerce-pagination span.current {
    background: #c9a962 !important;
    color: #1a1a1a !important;
    border-color: #c9a962 !important;
}

body.woocommerce-shop .wp-block-query-pagination-next,
body.woocommerce-shop .wp-block-query-pagination-previous {
    background: transparent !important;
    color: #c9a962 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 0 1rem !important;
}

body.woocommerce-shop .wp-block-query-pagination-next:hover,
body.woocommerce-shop .wp-block-query-pagination-previous:hover {
    color: #fff !important;
}

/* ========================================
   REFINED HOME PAGE STYLING
   ======================================== */

/* Smoother hero section */
.hero-fullscreen {
    position: relative;
}

/* hero content refinements removed gradients */
.hero-content-center h1 {
    font-size: clamp(3rem, 8vw, 6rem) !important;
    font-weight: 300 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    margin-bottom: 1.5rem !important;
}

.hero-content-center p {
    font-size: 0.85rem !important;
    letter-spacing: 0.35em !important;
    opacity: 0.9 !important;
}

/* Scroll indicator animation */
.scroll-indicator {
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 0.6; transform: translateX(-50%) translateY(0); }
    50% { opacity: 1; transform: translateX(-50%) translateY(5px); }
}

/* Section transitions - removed gradients */
.section-dark {
    position: relative;
    background: #2a2a2a !important;
}

/* Consistently wide and gray-toned sections */
.manifesto-section, .feature-grid-images {
    max-width: 1600px !important;
    margin: 0 auto !important;
}

.manifesto-section h2 {
    /* Inherit from masculine refinement rule at line 430 */
    margin-bottom: 3.5rem !important;
}

.manifesto-section p {
    font-size: 1.6rem !important;
    line-height: 1.8 !important;
    max-width: 1400px !important;
    margin: 0 auto 3rem auto !important;
}

/* Polished Professional CTA V2 */
/* Polished Professional CTA V2 - Dark Mode for Maximum Impact */
.full-width-cta-section {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #111111 !important;
    display: block !important;
}

.manifesto-cta-v2 {
    position: relative;
    padding: 12rem 6vw !important;
    background: #111111 !important; /* Deep Ink background */
    color: #ffffff !important;
    text-align: center;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    box-sizing: border-box !important;
    z-index: 10 !important;
}

.cta-v2-inner {
    max-width: 1000px;
    margin: 0 auto;
    position: relative !important;
    z-index: 20 !important;
}

.manifesto-cta-v2 h2.cta-v2-title {
    font-family: var(--font-body) !important; /* Switch to body font for cleaner, more technical look */
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    font-weight: 800 !important; /* Bold, masculine weight */
    color: #ffffff !important; 
    margin-bottom: 1.5rem !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important; /* Masculine technical standard */
    letter-spacing: 0.4em !important; /* Extreme tracking for luxury technical feel */
    text-align: center !important;
}

.manifesto-cta-v2 p.cta-v2-subtitle {
    font-family: var(--font-body) !important;
    font-size: clamp(0.8rem, 1.2vw, 1rem) !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.6) !important; 
    letter-spacing: 0.3em !important;
    text-transform: uppercase !important;
    margin-bottom: 6rem !important; /* Increased spacing above CTA button */
    line-height: 1.8 !important;
}

.manifesto-cta-v2 .wp-block-button__link {
    background: transparent !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.4) !important;
    padding: 1.5rem 4rem !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.3em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

.manifesto-cta-v2 .wp-block-button__link:hover {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #ffffff !important;
    transform: translateY(-5px);
    box-shadow: 0 30px 60px rgba(0,0,0,0.4);
}

.feature-item-image {
    background: #f5f5f5 !important;
    border-radius: 12px;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    padding: 4.5rem !important;
    gap: 6rem !important;
    margin-bottom: 2rem !important;
}

.feature-item-image h3 {
    font-size: 1.4rem !important;
    letter-spacing: 0.3em !important;
}

.feature-item-image p {
    font-size: 1.45rem !important;
    line-height: 1.7 !important;
}

.feature-item-image:hover {
    background: #eeeeee !important;
    transform: translateY(-5px);
}

/* Curated section (products on homepage) */
.section-light {
    position: relative;
    background: var(--white) !important;
    padding: 12vh 6vw !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
}

/* Force all content within section-light to expand fully */
.section-light > .wp-block-group,
.section-light > .wp-container-core-group-is-layout-1 {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.section-light::before {
    content: none !important;
}

.section-light .has-text-align-center {
    font-size: 0.9rem !important;
    color: #888 !important;
    margin-bottom: 4rem !important;
}

/* 
   TECHNICAL THEME OVERRIDES FOR FRONT PAGE - FINAL DEFINITIVE FORM
   Ensures all sections follow the masculine/technical dark aesthetic with left alignment
*/
.home .wp-site-blocks,
.home main.wp-block-group {
    background: var(--white) !important;
}

/* Alternate section backgrounds for depth - updated to gray flow */
.home main .wp-block-group:not(.hero-fullscreen-v2):not(.why-lab-grown-section):not(.section-light):not(.faq-section) {
    background: #ebebeb !important;
    color: var(--black) !important;
}

/* Specific fix for the "Science" section shown in screenshot */
.why-lab-grown-section {
    background: var(--surface) !important;
    padding: 12vh 10vw !important;
    border-top: none !important;
}

.why-lab-grown-container {
    max-width: 1400px;
    margin: 0 auto;
}

.why-lab-grown-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.75rem !important;
    margin-top: 3rem;
}

@media (max-width: 768px) {
    .why-lab-grown-grid {
        grid-template-columns: 1fr !important;
    }
}

.advantage-card {
    background: #f9f9f9 !important; /* Subtle gray cards on white for contrast */
    border: 1px solid var(--line) !important;
    padding: 2.5rem !important;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01) !important;
}

.advantage-card:hover {
    background: var(--white) !important;
    border-color: var(--gold) !important;
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
}

.advantage-icon {
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.3em !important;
    color: var(--gold) !important;
    margin-bottom: 1.5rem !important;
}

.advantage-card h3 {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    color: var(--black) !important;
    margin: 0 0 1.25rem 0 !important;
}

.advantage-card p {
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: #555555 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* Ensure all content titles on homepage are solid black, but exclude hero and dark CTA */
.home main .wp-block-group:not(.hero-fullscreen-v2):not(.full-width-cta-section) h1,
.home main .wp-block-group:not(.hero-fullscreen-v2):not(.full-width-cta-section) h2,
.home main .wp-block-group:not(.hero-fullscreen-v2):not(.full-width-cta-section) h3,
.home main .wp-block-group:not(.hero-fullscreen-v2):not(.full-width-cta-section) .wp-block-heading {
    color: var(--black) !important;
}

/* Specific Hero Title Color */
.hero-v3-title {
    color: var(--black) !important;
    text-shadow: none;
}

.hero-v3-pretitle {
    color: var(--slate) !important;
}

.hero-v3-tagline {
    color: var(--slate) !important;
}

.home main p:not(.cta-v2-subtitle),
.home main .manifesto-v2-text,
.why-lab-grown-intro {
    color: #333333 !important;
    font-size: 1.25rem !important;
    line-height: 1.9 !important;
}

.why-lab-grown-cta {
    padding-top: 3rem;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.why-lab-grown-cta .cta-text {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    color: #666 !important;
    margin-bottom: 2rem !important;
    text-transform: uppercase !important;
}

.why-lab-grown-section .wp-block-button__link {
    background: transparent !important;
    border: 2px solid var(--gold) !important;
    color: var(--gold) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    padding: 1.25rem 3.5rem !important;
    transition: all 0.3s ease;
    display: inline-block !important;
    white-space: nowrap !important;
    width: auto !important;
    min-width: 300px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-shadow: none !important;
    transform: none !important;
    position: relative !important;
    border-image: none !important; /* Kill any staggered line effects */
}

.why-lab-grown-section .wp-block-button__link::before,
.why-lab-grown-section .wp-block-button__link::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

.why-lab-grown-section .wp-block-button__link:hover {
    background: var(--gold) !important;
    color: #0d0d0d !important;
}

/* ========================================
   FAQ SECTION - Technical Brief
   ======================================== */
.faq-section {
    background: var(--white) !important;
    padding: 12vh 10vw !important;
    border-top: none !important;
}

.faq-container {
    max-width: 1400px;
    margin: 0;
}

.faq-header {
    margin-bottom: 2rem;
    padding-top: 0 !important; /* Set to 0 globally */
}

/* Restore top padding ONLY to the CONTACT page title */
.page-template-page-contact .faq-header {
    padding-top: 20vh !important;
}

.faq-title {
    color: var(--black) !important;
    margin: 0 0 4rem 0 !important;
    text-align: center !important;
}

.faq-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 3rem !important;
}

@media (max-width: 900px) {
    .faq-grid {
        grid-template-columns: 1fr !important;
    }
}

.faq-item {
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.faq-question {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    color: var(--black) !important;
    margin: 0 0 1.25rem 0 !important;
    line-height: 1.5 !important;
}

.faq-answer {
    font-size: 0.95rem !important;
    line-height: 1.85 !important;
    color: #888 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* Testimonial refinement - Sharp, Technical, Authoritative */
.section-graphite,
.testimonial-section,
.wp-block-group.testimonial-section {
    background: #fdfdfd !important;
    padding: 15vh 10vw !important;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    text-align: left !important;
}

.testimonial-section blockquote,
.wp-block-quote.testimonial-section blockquote {
    font-family: var(--font-body) !important;
    font-size: clamp(1.2rem, 2.5vw, 1.8rem) !important; /* INCREASED */
    font-weight: 500 !important;
    line-height: 1.8 !important;
    color: #e0e0e0 !important;
    font-style: normal !important;
    max-width: 900px;
    margin: 0 !important; /* LEFT ALIGN */
    text-align: left !important;
    border: none !important;
    padding: 0 !important;
}

.testimonial-section cite,
.wp-block-quote.testimonial-section cite {
    display: block;
    margin-top: 3rem !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    color: var(--gold) !important;
    font-style: normal !important;
    text-align: left !important; /* LEFT ALIGN */
}

/* Ensure buttons in these sections match the gold technical style and align left */
.home main .wp-block-buttons {
    justify-content: flex-start !important;
}

.home main .wp-block-button__link {
    border-color: var(--gold) !important;
    color: var(--gold) !important;
    background: transparent !important;
    font-weight: 700 !important;
    transition: all 0.3s ease;
    margin-left: 0 !important;
}

.home main .wp-block-button__link:hover {
    background: rgba(201, 169, 98, 0.1) !important;
    transform: translateY(-2px);
}

.home main .full-width-cta-section .manifesto-cta-v2 .wp-block-button__link {
    background: transparent !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.4) !important;
}

.home main .full-width-cta-section .manifesto-cta-v2 .wp-block-button__link:hover {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #ffffff !important;
}

/* Reset specific manifesto-v2 overrides that might conflict */
.manifesto-v2-container {
    margin: 0 !important;
    max-width: none !important;
}

/* 
   GLOBAL STABILITY & OVERFLOW CONTROL
   Kills the "white space on the right" by forcing container containment.
*/
html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    width: 100% !important; /* Changed from 100vw to 100% to avoid scrollbar gaps */
    position: relative !important;
}

*, *::before, *::after {
    box-sizing: border-box;
}

/* Fix Hero Typography Overflow on Mobile */
.hero-v3-title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    font-size: clamp(2rem, 8vw, 6.5rem) !important;
}

.hero-v3-container {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* SALE BADGE - SVG TAG ICON */
.onsale, 
span.onsale, 
.wc-block-components-product-sale-badge,
body.woocommerce-shop .onsale,
body.woocommerce-shop .wc-block-components-product-sale-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    left: auto;
    width: 45px;
    height: 45px;
    background: url('images/sale-tag.svg') no-repeat center center !important;
    background-size: contain !important;
    color: transparent !important;
    font-size: 0 !important;
    z-index: 50;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    display: block;
}

/* Position sale badge below the magnifying glass on single product pages */
body.single-product .onsale,
body.single-product .wc-block-components-product-sale-badge,
.woocommerce-product-gallery .onsale,
.woocommerce-product-gallery__wrapper .onsale {
    position: absolute !important;
    display: block !important;
    top: 75px !important; /* Clears the magnifying glass icon */
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    width: 45px !important;
    height: 45px !important;
    z-index: 100 !important;
    transform: none !important;
    margin: 0 !important;
}

/* Ensure the price container returns to normal */
body.single-product .price {
    display: block !important;
}

/* Ensure the logo area in the top-left remains clear */
.home li.product img,
.home .wc-block-grid__product img,
li.product img {
    position: relative !important;
    z-index: 1 !important;
}

/* Single product pages need explicit gutters after the global reset rules. */
body.single-product main {
    width: 100% !important;
    max-width: none !important;
    padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 5vw, 6rem) 5rem !important;
    margin: 0 auto !important;
}

body.single-product div.product,
body.single-product .product {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-product .woocommerce-breadcrumb {
    max-width: 1440px !important;
    margin: 0 auto 2rem !important;
}

body.single-product .woocommerce-product-gallery {
    padding-right: clamp(1rem, 3vw, 3rem) !important;
}

body.single-product .summary,
body.single-product .entry-summary {
    padding-left: clamp(1rem, 3vw, 3rem) !important;
}

body.single-product .woocommerce-tabs,
body.single-product .woocommerce-Tabs-panel {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 768px) {
    body.single-product main {
        padding: 2rem 1.25rem 4rem !important;
    }

    body.single-product .woocommerce-product-gallery,
    body.single-product .summary,
    body.single-product .entry-summary {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
