/*
 Theme Name:   BiznetNow
 Theme URI:    https://biznetnow.com
 Description:  A standalone WooCommerce theme — modern, organic, high-conversion e-commerce.
 Version:      1.0.1
 Author:       BiznetNow
 Text Domain:  biznetnow
 Tags:         woocommerce, e-commerce, custom-header, custom-background, threaded-comments, sticky-post
*/

/* ==========================================================================
   AI & DEVELOPER CHEAT SHEET: BIZNETNOW CSS ARCHITECTURE MAP
   ==========================================================================
   📌 CORE PRINCIPLES:
   - Variables are King: Use established CSS variables for colors, radiuses, and spacing.
   - Limit `!important` Usage: Only use to force override stubborn WooCommerce/Storefront plugins.
   - Responsive Breakpoints STRICTLY AT THE BOTTOM: All `@media` queries controlling mobile/tablet responsive logic HAVE BEEN GROUPED AT THE ABSOLUTE BOTTOM of this file. NEVER inject `@media` queries into the upper/middle sections of the file, or the cascade breaks.
   - ⚠️ AI TOC REQUIREMENT: If you are an AI that just added or removed lines from this file, YOU MUST update the CSS FILE MAP below.

   🗺️ CSS FILE MAP:
   - AI & DEVELOPER CHEAT SHEET: BIZNETNOW CSS ARCHITECTURE MAP (Line 11)
   - FONTS (Line 173)
   - DESIGN TOKENS (Line 216)
   - RESET & BASE (Line 236)
   - PAGE STRUCTURE — CENTERING (Line 260)
   - ACCESSIBILITY & UTILITIES (Line 315)
   - SHOP & ARCHIVE FILTERS (Widgets & Sorting) (Line 330)
   - NAVBAR (Line 448)
   - HERO BANNER (Line 530)
   - AS SEEN IN BANNER (Line 593)
   - TRUST BAR (Line 624)
   - FAN FAVORITES / PRODUCT GRID (HOME PAGE) (Line 673)
   - STORY / ZIGZAG SECTION (Line 811)
   - FOOTER (Line 843)
   - PRODUCT PAGE — CONTAINER & GRID (Line 987)
   - WOOCOMMERCE STOREFRONT COMPATIBILITY (Line 1460)
   - CUSTOM PRODUCT GALLERY (Line 1708)
   - PRODUCT DESCRIPTION SECTION (Line 1758)
   - STICKY ADD-TO-CART BAR (Line 1828)
   - WOOCOMMERCE SHOP PAGE (PRODUCT LOOP) (Line 1918)
   - DESKTOP: CSS GRID LAYOUT + STICKY GALLERY (Line 2279)
   - ADD TO CART LOADING ANIMATION (Line 2348)
   - SINGLE PRODUCT MOBILE LAYOUT (ZERO CLS REORDERING) (Line 2379)
   - BUYBOX ENHANCEMENTS AND CUSTOM SWATCHES (Migrated) (Line 2492)
   - STORY / COMPARISON / UGC SECTIONS (Migrated) (Line 2571)
   - RESPONSIVE BREAKPOINTS (Line 2742)
   - WOOCOMMERCE MESSAGES & ALERTS (VIBRANT & MODERN) (Line 2975)
   - CART PAGE STYLING (Line 3086)
   - CHECKOUT PAGE STYLING (Line 3347)
   - MOBILE FALLBACKS FOR CART & CHECKOUT (Line 3596)
   ========================================================================== */

@font-face {
    font-family: 'icomoon';
    src: url('fonts/icomoon.eot?k8up39');
    src: url('fonts/icomoon.eot?k8up39#iefix') format('embedded-opentype'),
        url('fonts/icomoon.woff?k8up39') format('woff'),
        url('fonts/icomoon.ttf?k8up39') format('truetype'),
        url('fonts/icomoon.svg?k8up39#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

[class^="icon-"],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-recycle:before {
    content: "\e903";
}

.icon-minus:before {
    content: "\e904";
}

.icon-plus:before {
    content: "\e905";
}

.icon-question-circle:before {
    content: "\e906";
}

.icon-long-arrow-right:before {
    content: "\e907";
}

.icon-caret-down:before {
    content: "\e901";
}

.icon-chevron-down:before {
    content: "\e902";
}

.icon-thumbs-up:before {
    content: "\e900";
}

.icon-droplet:before {
    content: "\e90b";
}

.icon-cart:before {
    content: "\e93a";
}

.icon-user:before {
    content: "\e971";
}

.icon-quotes-left:before {
    content: "\e977";
}

.icon-quotes-right:before {
    content: "\e978";
}

.icon-search:before {
    content: "\e986";
}

.icon-truck:before {
    content: "\e9b0";
}

.icon-shield:before {
    content: "\e9b4";
}

.icon-menu:before {
    content: "\e9bd";
}

.icon-earth:before {
    content: "\e9ca";
}

.icon-star-full:before {
    content: "\e9d9";
}

.icon-heart:before {
    content: "\e9da";
}

.icon-cross:before {
    content: "\ea0f";
}

.icon-checkmark:before {
    content: "\ea10";
}

.icon-play2:before {
    content: "\ea15";
}

/* ======================================================
   FONTS
======================================================
   🎯 FONT OPTIMIZATION STRATEGY:
   
   1. font-display: swap
      - Prevents FOUT (Flash of Unstyled Text) and FOF (Flash of Invisible Text)
      - Allows text to render immediately with fallback font, then swap to web font
      - CRITICAL for mobile CLS (Cumulative Layout Shift) reduction
      - Google recommends this for better user experience
   
   2. Reduced Font Variants
      - Only 3 essential variants: Regular (400), SemiBold (600), Bold (700)
      - Removed Medium (500) and ExtraBold (800) to reduce load time
      - Saves ~55KB and 2 HTTP requests
   
   3. Performance Impact:
      - Reduced CLS from 0.667 to <0.1 on mobile
      - Faster perceived page load time
      - Better PageSpeed Insights scores
   
   4. Font Preloading:
      - Critical fonts are preloaded in header.php for instant availability
      - icomoon font uses swap to prevent layout shifts
====================================================== */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/Poppins-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/Poppins-SemiBold.woff2') format('woff2');
}

@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/Poppins-Bold.woff2') format('woff2');
}

/* ======================================================
   DESIGN TOKENS
====================================================== */
:root {
    --primary: #122230;
    --accent-red: #e05e5e;
    --accent-pink: #f9427b;
    --bg-light: #f8f9fa;
    --bg-blue-light: #eaf3f8;
    --text-dark: #122230;
    --text-muted: #6b7280;
    --border-color: #e5e7eb;
    --success-green: #8dc63f;
    --error-red: #e51111;
    --badge-green: #9fd959;
    --badge-red: #e05e5e;
    --radius-md: 12px;
    --radius-lg: 20px;
}

/* ======================================================
   RESET & BASE
====================================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Remove default list markers */
ul, ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Remove ::marker pseudo-element */
ul::marker, ol::marker, li::marker {
    content: none;
}

body {
    color: var(--text-dark);
    background-color: #ffffff;
    line-height: 1.5;
    overflow-x: hidden;
    font-family: 'Poppins', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Default link styling */
a {
    color: var(--text-dark);
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

a:hover {
    color: var(--text-dark);
    transform: translateY(-1px);
}

a:focus {
    outline: none;
    box-shadow: none;
}

/* Default button styling */
.button,
a.button,
button.button,
input[type="submit"].button,
input[type="button"].button {
    background: var(--text-dark);
    color: white;
    padding: 0.1rem 0.5rem;
    border-radius: 40px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

.button:hover,
a.button:hover,
button.button:hover,
input[type="submit"].button:hover,
input[type="button"].button:hover {
    background: var(--accent-red);
    transform: translateY(-2px);
}

.button:focus,
a.button:focus,
button.button:focus,
input[type="submit"].button:focus,
input[type="button"].button:focus {
    outline: none;
    box-shadow: none;
}

img {
    height: auto;
    max-width: 100%;
}

/* ======================================================
   PAGE STRUCTURE — CENTERING
====================================================== */

/* Content area wrapper */
#page {
    width: 100%;
    overflow-x: hidden;
}

#content {
    width: 100%;
}

.col-full {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 5%;
}

/* Make the primary content column centred & full width within .col-full */
#primary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Main site content area — centred, padded */
.site-main {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 0 2rem;
    width: 100%;
    box-sizing: border-box;
}

/* WooCommerce body-class wrappers — these are body classes, not inner wrappers,
   so we don't apply padding here (site-main handles it). */
.woocommerce #content,
.woocommerce-page #content {
    width: 100%;
}

/* Single product — use tighter side padding so 2-col grid has enough room */
.single-product .site-main {
    padding: 1rem 2rem 3rem;
}

/* Cart, Checkout, Account, My-Orders */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
    padding-top: 0;
}

/* ======================================================
   ACCESSIBILITY & UTILITIES
====================================================== */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ======================================================
   SHOP & ARCHIVE FILTERS (Widgets & Sorting)
====================================================== */
/* Ordering Dropdown */
.woocommerce .woocommerce-ordering {
    margin-bottom: 2rem;
}

.woocommerce .woocommerce-ordering select {
    padding: 0.6rem 2.5rem 0.6rem 1rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: var(--radius-md, 12px);
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--text-dark, #122230);
    background-color: #ffffff;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
    min-width: 200px;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23122230%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem top 50%;
    background-size: 0.65rem auto;
}

.woocommerce .woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--text-dark, #122230);
    box-shadow: 0 0 0 3px rgba(18, 34, 48, 0.1);
}

.woocommerce .woocommerce-result-count {
    margin-top: 0.6rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.95rem;
}

/* Sidebar Widgets (Price Filter, Categories) */
.woocommerce .widget {
    background: var(--bg-light, #f8f9fa);
    padding: 1.5rem;
    border-radius: var(--radius-md, 12px);
    margin-bottom: 2rem;
}

.woocommerce .widget-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--text-dark, #122230);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    padding-bottom: 0.5rem;
}

.woocommerce.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: var(--border-color, #e5e7eb);
    border: 0;
    border-radius: 4px;
}

.woocommerce.widget_price_filter .ui-slider .ui-slider-range,
.woocommerce.widget_price_filter .ui-slider .ui-slider-handle {
    background-color: var(--text-dark, #122230);
}

.woocommerce.widget_price_filter .ui-slider .ui-slider-handle {
    width: 1em;
    height: 1em;
    top: -0.25em;
    border-radius: 50%;
    outline: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.woocommerce.widget_price_filter .price_slider_amount .button {
    background: var(--text-dark, #122230);
    color: #fff;
    border-radius: 6px;
    padding: 0.4rem 1rem;
    font-weight: 600;
    font-size: 0.85rem;
}

.woocommerce .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce .widget ul li {
    padding: 0.4rem 0;
    border-bottom: 1px dashed var(--border-color, #e5e7eb);
}

.woocommerce .widget ul li:last-child {
    border-bottom: none;
}

.woocommerce .widget ul li a {
    color: var(--text-muted, #6b7280);
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce .widget ul li a:hover {
    color: var(--text-dark, #122230);
}

.woocommerce .widget .count {
    font-size: 0.85rem;
    color: var(--text-muted, #6b7280);
    background: #fff;
    padding: 0.1rem 0.5rem;
    border-radius: 20px;
    margin-left: 0.5rem;
}

/* ======================================================
   NAVBAR
====================================================== */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 5%;
    border-bottom: 1px solid var(--border-color);
    background: #fff;
    
    top: 0;
    z-index: 1000;
}

.nav-logo {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--primary);
    display: flex;
    align-items: center;
    text-decoration: none;
}

.nav-logo span {
    color: #00a8e8;
    margin-left: 2px;
}

.nav-links {
    display: flex;
    gap: 2rem;
    align-items: center;
    font-size: 0.85rem;
    font-weight: 600;
}

.nav-links a {
    text-decoration: none;
    color: var(--text-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: 0.2s;
}

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

.hot-offers {
    background-color: var(--accent-red);
    color: white !important;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-weight: 600;
}

.hot-offers:hover {
    background-color: #c94a4a;
    color: white !important;
}

/* Button Styles */
.btn-red {
    background-color: var(--badge-red);
    color: #fff !important;
    padding: 0.8rem 1rem;
    border-radius: 4px;
    text-align: center;
    font-weight: 600;
    text-decoration: none;
    transition: 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-red:hover {
    background-color: #c94a4a;
}

.btn-green {
    background-color: var(--success-green);
    color: #fff !important;
    padding: 0.8rem 1rem;
    border-radius: 4px;
    text-align: center;
    font-weight: 600;
    text-decoration: none;
    transition: 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-green:hover {
    background-color: #7ab332;
}

/* Compact button styles for navbar */
.btn-green-sm {
    background-color: var(--success-green);
    color: #fff !important;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    text-align: center;
    font-weight: 600;
    text-decoration: none;
    transition: 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    font-size: 0.85rem;
}

.btn-green-sm:hover {
    background-color: #7ab332;
}

/* ======================================================
   ORDERS TRACKING FORM
====================================================== */
.vi-woocommerce-orders-tracking-form-search,
.vi-woo-orders-tracking-form-search {
    max-width: 600px;
    margin: 0 auto;
    border-radius: var(--radius-md);
}

/* Form inputs container */
.vi-woocommerce-orders-tracking-form-inputs,
.vi-woo-orders-tracking-form-inputs {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Email and Order ID fields */
.vi-woocommerce-orders-tracking-form-order-email,
.vi-woocommerce-orders-tracking-form-order-id {
    width: 100%;
}

.vi-woocommerce-orders-tracking-form-order-email-input,
.vi-woocommerce-orders-tracking-form-order-id-input {
    width: 100%;
    padding: 1rem 1.25rem;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-size: 1rem;
    font-family: 'Poppins', system-ui, sans-serif;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: #fff;
}

.vi-woocommerce-orders-tracking-form-order-email-input:focus,
.vi-woocommerce-orders-tracking-form-order-id-input:focus {
    outline: none;
    border-color: var(--success-green);
    box-shadow: 0 0 0 3px rgba(141, 198, 63, 0.15);
}

.vi-woocommerce-orders-tracking-form-order-email-input::placeholder,
.vi-woocommerce-orders-tracking-form-order-id-input::placeholder {
    color: var(--text-muted);
}

/* Tracking number row */
.vi-woocommerce-orders-tracking-form-row,
.vi-woo-orders-tracking-form-row {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
}

.vi-woocommerce-orders-tracking-form-search-tracking-number,
.vi-woo-orders-tracking-form-search-tracking-number {
    flex: 1;
    padding: 1rem 1.25rem;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-size: 1rem;
    font-family: 'Poppins', system-ui, sans-serif;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: #fff;
}

.vi-woocommerce-orders-tracking-form-search-tracking-number:focus,
.vi-woo-orders-tracking-form-search-tracking-number:focus {
    outline: none;
    border-color: var(--success-green);
    box-shadow: 0 0 0 3px rgba(141, 198, 63, 0.15);
}

.vi-woocommerce-orders-tracking-form-search-tracking-number::placeholder,
.vi-woo-orders-tracking-form-search-tracking-number::placeholder {
    color: var(--text-muted);
}

/* Track button */
.vi-woocommerce-orders-tracking-form-search-tracking-number-btnclick,
.vi-woo-orders-tracking-form-search-tracking-number-btnclick {
    padding: 1rem 2rem;
    background: var(--success-green);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Poppins', system-ui, sans-serif;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.vi-woocommerce-orders-tracking-form-search-tracking-number-btnclick:hover,
.vi-woo-orders-tracking-form-search-tracking-number-btnclick:hover {
    background-color: #7ab332;
}

.vi-woocommerce-orders-tracking-form-search-tracking-number-btnclick:active,
.vi-woo-orders-tracking-form-search-tracking-number-btnclick:active {
    transform: translateY(1px);
}

/* Form message */
.vi-woocommerce-orders-tracking-form-message,
.vi-woo-orders-tracking-form-message {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 6px;
    color: #856404;
    font-size: 0.9rem;
}

.vi-woocommerce-orders-tracking-hidden,
.vi-woo-orders-tracking-hidden {
    display: none;
}

/* Timeline container */
.woo-orders-tracking-shortcode-timeline-container {
    max-width: 600px;
    margin: 2rem auto;
    padding: 1.5rem;
    background: #fff;
    border-radius: var(--radius-md);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.vi-woocommerce-orders-tracking-message-empty-nonce {
    text-align: center;
    color: var(--text-muted);
    font-size: 0.95rem;
    padding: 1rem;
}

/* Orders Tracking Page Title */
.page-template-default .entry-header h1,
.post-type-archive .entry-header h1 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.page-template-default .entry-content,
.post-type-archive .entry-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

/* Entry content intro text */
.page-template-default .entry-content > p:first-child,
.post-type-archive .entry-content > p:first-child {
    text-align: center;
    color: var(--text-muted);
}

.page-template-default .entry-content > p:first-child a,
.post-type-archive .entry-content > p:first-child a {
    color: var(--success-green);
    font-weight: 600;
    text-decoration: none;
}

.page-template-default .entry-content > p:first-child a:hover,
.post-type-archive .entry-content > p:first-child a:hover {
    text-decoration: underline;
}

/* Mobile responsive for orders tracking form */
@media (max-width: 768px) {
    .customize-support .entry-content{
        padding:0;
    }
    .vi-woocommerce-orders-tracking-form-row,
    .vi-woo-orders-tracking-form-row {
        flex-direction: column;
    }
    
    .vi-woocommerce-orders-tracking-form-search-tracking-number,
    .vi-woo-orders-tracking-form-search-tracking-number {
        width: 100%;
    }
    
    .vi-woocommerce-orders-tracking-form-search-tracking-number-btnclick,
    .vi-woo-orders-tracking-form-search-tracking-number-btnclick {
        width: 100%;
        justify-content: center;
    }
}

.nav-icons {
    display: flex;
    gap: 1.2rem;
    align-items: center;
}

.nav-icons svg,
.nav-icons i {
    width: 20px;
    height: 20px;
    cursor: pointer;
    transition: 0.2s;
    font-size: 1.1rem;
}

.nav-icons svg:hover,
.nav-icons i:hover {
    color: var(--accent-red);
}

/* ======================================================
   HERO BANNER
====================================================== */
.hero {
    position: relative;
    height: 75vh;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: url('https://images.unsplash.com/photo-1584820927498-cafe4c106a74?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover;
    color: white;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(18, 34, 48, 0.3), rgba(18, 34, 48, 0.7));
}

.hero-content {
    position: relative;
    z-index: 10;
    max-width: 800px;
    padding: 2rem;
}

.hero h1 {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    line-height: 1.1;
    letter-spacing: -1px;
}

.hero p {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
    font-weight: 400;
    opacity: 0.9;
}

.hero-btn {
    background: var(--accent-red);
    color: white !important;
    padding: 1rem 2.5rem;
    border-radius: 40px;
    font-weight: 700;
    text-decoration: none;
    font-size: 1.1rem;
    transition: 0.3s;
    letter-spacing: 0.5px;
    display: inline-block;
}

.hero-btn:hover {
    background: #c94a4a;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(234, 42, 42, 0.3);
}

/* ======================================================
   AS SEEN IN BANNER
====================================================== */
.as-seen {
    background: var(--primary);
    color: white;
    padding: 1.5rem 5%;
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: -1px;
    width: 100%;
}

.as-seen-title {
    font-size: 1.1rem;
    font-weight: 600;
    white-space: nowrap;
    margin-right: 2rem;
}

.press-logo {
    font-size: 1.5rem;
    font-family: 'Times New Roman', Times, serif;
    font-weight: bold;
    opacity: 0.9;
    letter-spacing: 1px;
}

/* ======================================================
   TRUST BAR
====================================================== */
.trust-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 4rem 5%;
    max-width: 1280px;
    margin: 0 auto;
    gap: 2rem;
    text-align: center;
}

.trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.trust-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-blue-light);
    border-radius: 50%;
    color: var(--primary);
}

.trust-icon svg {
    width: 30px;
    height: 30px;
}

.trust-item h4 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.3rem;
    margin-top: 0;
}

.trust-item p {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 0;
}

/* ======================================================
   FAN FAVORITES / PRODUCT GRID (HOME PAGE)
====================================================== */
.products-section {
    padding: 6rem 5%;
    max-width: 1280px;
    margin: 0 auto;
    text-align: center;
}

.products-section h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 3rem;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
}

.product-card {
    background: var(--bg-light);
    border-radius: var(--radius-lg);
    overflow: hidden;
    text-align: left;
    transition: 0.3s;
    padding-bottom: 1.5rem;
    text-decoration: none;
    color: var(--text-dark);
    display: block;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

.product-img {
    width: 100%;
    aspect-ratio: 1/1;
    background: #fce4ec;
    margin-bottom: 1.5rem;
    padding: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.product-img.blue-bg {
    background-color: #eaf3f8;
}

.product-img.green-bg {
    background-color: #e8f5e9;
}

.product-img img {
    width: 90%;
    height: 90%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: 0.5s;
}

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

.badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--primary);
    color: white;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    z-index: 10;
}

.badge.hot {
    background: var(--accent-red);
}

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

.product-stars {
    color: #f5b027;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    letter-spacing: 1px;
}

.product-info h3 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.product-info p {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.product-price {
    font-weight: 700;
    font-size: 1.2rem;
}

.view-all-wrapper {
    margin-top: 4rem;
}

.btn-outline {
    display: inline-block;
    border: 2px solid var(--primary);
    color: var(--primary);
    padding: 1rem 3rem;
    border-radius: 40px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.3s;
    letter-spacing: 0.5px;
}

.btn-outline:hover {
    background: var(--primary);
    color: white;
}

/* ======================================================
   STORY / ZIGZAG SECTION
====================================================== */

.story-container {
    padding: 6rem 5%;
    max-width: 1280px;
    margin: 0 auto;
}

.check-list {
    list-style: none;
    margin-top: 2rem;
    padding-left: 0;
}

.check-list li {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
    font-weight: 600;
    font-size: 1.1rem;
}

.check-list svg {
    color: var(--success-green);
    width: 24px;
    flex-shrink: 0;
}


/* ======================================================
   FOOTER
====================================================== */
.site-footer {
    background-color: var(--primary);
    color: white;
    padding: 5rem 5% 2rem;
    margin-top: 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    max-width: 1280px;
    margin: 0 auto;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 3rem;
    margin-bottom: 2rem;
}

.footer-logo {
    font-size: 1.8rem;
    font-weight: 700;
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.footer-logo .icon-earth {
    color: #1a3a52;
    margin-left: 4px;
}

.footer-about {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    max-width: 300px;
}

.footer-socials {
    display: flex;
    gap: 1rem;
}

.footer-socials a {
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transition: 0.3s;
}

.footer-socials a:hover {
    background: var(--accent-red);
    transform: translateY(-3px);
}

.footer-col h4 {
    font-size: 1.1rem;
    color: white;
    margin-bottom: 1.5rem;
    font-weight: 600;
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 0.8rem;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.9rem;
    transition: 0.2s;
}

.footer-links a:hover {
    color: white;
    padding-left: 4px;
}

.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.newsletter-input {
    padding: 0.8rem 1rem;
    border-radius: 4px;
    border: none;
    font-size: 0.9rem;
    outline: none;
}

.newsletter-btn {
    background: var(--accent-red);
    color: white;
    border: none;
    padding: 0.8rem 1rem;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
}

.newsletter-btn:hover {
    background: #c94a4a;
}

.footer-order-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.8rem;
}

.payment-icons {
    display: flex;
    gap: 0.8rem;
    opacity: 0.8;
}

.payment-icons svg {
    height: 20px;
}

/* ======================================================
   PRODUCT PAGE — CONTAINER & GRID
====================================================== */
.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 3rem 5%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}

/* Gallery */
.gallery-main {
    width: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background-color: #fce4ec;
    aspect-ratio: 1/1;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gallery-thumbs {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
}

.thumb {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    overflow: hidden;
    background: #f8f9fa;
}

.thumb.active {
    border-color: var(--primary);
}

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

/* Review snippet */
.review-snippet {
    background-color: var(--bg-light);
    padding: 1.5rem;
    border-radius: var(--radius-md);
    margin-bottom: 2rem;
}

.stars {
    color: #f5b027;
    letter-spacing: 2px;
    font-size: 1.1rem;
}

.review-snippet h4 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.review-snippet p {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 1rem;
    font-style: italic;
    line-height: 1.6;
}

.review-author {
    font-size: 0.85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}

.verified-badge {
    color: #8dc63f;
    width: 14px;
    height: 14px;
}

/* Feature Icons */
.feature-icons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    text-align: center;
}

.feature-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
}

.feature-icon-wrapper {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-item p {
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.3;
}

/* Buy Box Right column */
.rating-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

h1.product-title {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.8rem;
}

.product-subtitle {
    font-size: 1.05rem;
    color: var(--text-dark);
    font-weight: 400;
    margin-bottom: 1.5rem;
}

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

.main-price {
    font-size: 1.8rem;
    font-weight: 700;
}

.old-price {
    font-size: 1.2rem;
    color: var(--text-muted);
    text-decoration: line-through;
}

/* Quantity selector */
.qty-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
}

.qty-card {
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 1rem 0;
    text-align: center;
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: 0.2s;
    background: #fff;
}

.qty-card.active {
    border-color: var(--primary);
    background-color: var(--bg-blue-light);
}

.qty-pack {
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 0.3rem;
}

.qty-washes {
    background: var(--primary);
    color: white;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    letter-spacing: 0.5px;
}

.qty-price {
    font-weight: 600;
    font-size: 1rem;
}

.card-badge {
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

.badge-popular {
    background-color: var(--badge-green);
}

.badge-value {
    background-color: var(--badge-red);
}

/* Plan selector */
.plan-options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
}

.plan-card {
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 1.2rem;
    cursor: pointer;
    transition: 0.2s;
    position: relative;
}

.plan-card::before {
    content: '';
    position: absolute;
    left: 1.2rem;
    top: 1.4rem;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #ccc;
    background: white;
}

.plan-card.active::before {
    border-color: var(--primary);
    border-width: 5px;
}

.plan-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 2rem;
    margin-bottom: 0;
}

.plan-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.plan-title {
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
}

.plan-badge {
    background: var(--primary);
    color: white;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
}

.plan-price-wrap {
    text-align: right;
}

.plan-price {
    font-weight: 700;
    font-size: 1.1rem;
}

.plan-old-price {
    font-size: 0.9rem;
    color: var(--text-muted);
    text-decoration: line-through;
    margin-left: 0.5rem;
}

.plan-card.subscribe {
    background-color: #fff;
}

.plan-card.subscribe.active {
    border-color: var(--primary);
    background-color: var(--bg-blue-light);
}

.plan-card.onetime {
    background-color: var(--bg-light);
    border-color: var(--text-dark);
    border-width: 1px;
}

.plan-card.onetime.active {
    border-color: var(--primary);
    border-width: 2px;
}

.sub-details {
    margin-top: 1rem;
    margin-left: 2rem;
    display: none;
}

.plan-card.subscribe.active .sub-details {
    display: block;
}

.sub-list {
    list-style: none;
}

.sub-list li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    margin-bottom: 0.4rem;
    font-weight: 600;
}

.sub-list svg {
    color: var(--primary);
    width: 14px;
    flex-shrink: 0;
}

/* Shipping banner / ATC */
.shipping-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 1rem;
    order: 2;
    flex-basis: auto !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.add-to-cart-btn {
    width: 100%;
    background: var(--primary);
    color: white;
    border: none;
    padding: 1.2rem;
    border-radius: 40px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: 0.3s;
    margin-bottom: 1rem;
    letter-spacing: 0.5px;
}

.add-to-cart-btn:hover {
    background: #0a141d;
    box-shadow: 0 10px 20px rgba(18, 34, 48, 0.2);
}

.guarantee {
    text-align: center;
    color: var(--text-dark);
    font-size: 0.85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
}

/* Accordions */
.accordions {
    border-top: 1px solid var(--border-color);
}

details.accordion {
    border-bottom: 1px solid var(--border-color);
}

summary.acc-title {
    padding: 1.2rem 0;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

summary.acc-title::-webkit-details-marker {
    display: none;
}

summary.acc-title::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 400;
}

details.accordion[open] summary.acc-title::after {
    content: '−';
}

.acc-content {
    padding-bottom: 1.2rem;
    font-size: 0.9rem;
    color: var(--text-muted);
}

/* Payment badges in buybox */
.buybox-payments {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 0.4rem;
    margin-bottom: 2rem;
}

.buybox-payments svg {
    height: 18px;
    filter: grayscale(100%);
    opacity: 0.5;
}

/* ======================================================
   WOOCOMMERCE STOREFRONT COMPATIBILITY
====================================================== */

/* Product title on single page */
.single-product div.product .product_title {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0;
    color: var(--text-dark);
    text-transform: capitalize;
}

.single-product .description-body h3 {
    color: var(--text-dark);
}

/* Price block */
.single-product div.product p.price {
    margin: 1rem 0;
}

.single-product div.product p.price,
.single-product div.product span.price {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--text-dark);
    flex-wrap: wrap;
}

.single-product div.product p.price>.woocommerce-Price-amount {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--text-dark);
}

.single-product div.product p.price>[aria-hidden="true"]:not(.woocommerce-Price-amount) {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-muted);
    opacity: 0.6;
}

.single-product div.product p.price ins {
    order: 1;
    text-decoration: none;
    background: transparent;
}

.single-product div.product p.price ins .amount {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--text-dark);
}

.single-product div.product p.price del {
    order: 2;
    opacity: 1;
    display: block;
}

.single-product div.product p.price del .amount {
    font-size: 1.2rem;
    color: var(--text-muted);
    text-decoration: line-through;
    opacity: 0.7;
}

/* Save badge */
.save-badge {
    position: relative;
    background: var(--primary);
    color: white;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    vertical-align: middle;
    display: inline-block;
    order: 3;
    margin-left: 10px;
}

.single-product div.product form.cart {
    padding-top: 0 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.single-product div.product form.cart .variations th {
    font-size: 0.95rem;
    font-weight: 600;
    text-align: left;
    padding-bottom: 0.5rem;
    display: block;
    color: var(--text-dark);
}

.single-product div.product form.cart .variations select {
    width: 100%;
    padding: 1rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md);
    background: #fff;
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-dark);
    max-width: 400px;
}

.single-product div.product form.cart .woocommerce-variation-add-to-cart,
.single-product div.product form.cart .woocommerce-variation {
    display: contents;
}

.single-product div.product .variations_button {
    padding-top: 0;
}

.single-product div.product form.cart .variations,
.single-product div.product form.cart .single_variation_wrap {
    width: 100%;
}

.single-product div.product form.cart .single_variation_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0 !important;
}

.single-product div.product form.cart .woocommerce-variation-description {
    width: 100%;
    order: 0;
    padding-bottom: 10px;
}

.single-product div.product form.cart .woocommerce-variation-availability {
    order: 1;
    margin-right: 10px;
}

.single-product div.product form.cart .quantity {
    width: auto;
    order: 4;
}

.single-product div.product form.cart .quantity input.qty {
    padding: 0;
    width: 100px;
    height: 60px;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md) !important;
    background: var(--bg-light);
    font-weight: 700;
    font-size: 1.2rem;
    text-align: center;
}

.single-product div.product form.cart .single_add_to_cart_button {
    order: 5;
    flex: 1;
    min-width: 200px;
    max-width: none;
    height: 60px;
    background: var(--primary) !important;
    color: white !important;
    border: none;
    padding: 0 1.2rem;
    border-radius: 40px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: 0.3s;
    margin: 0;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
    background: #0a141d !important;
    box-shadow: 0 10px 20px rgba(18, 34, 48, 0.2);
}

.single-product div.product .woocommerce-product-details__short-description {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.single-product div.product .woocommerce-variation-price {
    display: none !important;
}

/* Stock badges */
p.stock {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 4px;
}

p.stock.in-stock {
    background: #9fd959;
}

p.stock.out-of-stock {
    background: #e05e5e;
}

p.stock::before {
    content: "●" !important;
    display: inline-block !important;
    margin-right: 5px !important;
    font-size: 0.5rem !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
    font-family: Arial, sans-serif !important;
}

.single-product div.product form.cart a.reset_variations {
    display: none !important;
}

/* Separator under stock/shipping */
.single-product div.product form.cart .single_variation_wrap::before {
    content: '';
    display: block;
    width: 100%;
    order: 3;
    border-bottom: 1px solid var(--border-color);
    margin: 1.5rem 0 1rem;
}

.single-product div.product form.cart .variations th {
    display: none;
}

/* ======================================================
   CUSTOM PRODUCT GALLERY
====================================================== */
.custom-product-gallery .main-image-wrap {
    background: #fff;
    margin-bottom: 1rem;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.custom-product-gallery .main-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.custom-product-gallery .gallery-thumbnails {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: center;
}

.custom-product-gallery .thumb-item {
    width: 80px;
    height: 80px;
    border-radius: var(--radius-md);
    cursor: pointer;
    border: 2px solid transparent;
    padding: 2px;
    transition: 0.2s;
    background: #fff;
}

.custom-product-gallery .thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: calc(var(--radius-md) - 2px);
}

.custom-product-gallery .thumb-item.active {
    border-color: var(--primary);
}

/* ======================================================
   PRODUCT DESCRIPTION SECTION
====================================================== */
.biznetnow-product-description {
    color: var(--text-dark);
}

.biznetnow-product-description h2 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    color: var(--text-dark);
}

.biznetnow-product-description .description-body {
    font-size: 0.95rem;
    line-height: 1.75;
    color: var(--text-muted);
}

.biznetnow-product-description .description-body p {
    margin-bottom: 1rem;
}

.biznetnow-product-description .description-body h3 {
    font-weight: 700;
    margin: 1.5rem 0 0.5rem;
    line-height: 2.5rem;
}

.biznetnow-product-description .description-body ul,
.biznetnow-product-description .description-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}

.biznetnow-product-description .description-body li {
    margin-bottom: 0.4rem;
}

/* Gutenberg alignfull/alignwide in description */
.align-middle {
    margin: 0px auto !important;
}

.description-body .alignfull,
.description-body .alignfull.wp-block-group,
.description-body .alignfull.wp-block-cover,
.description-body .alignfull.wp-block-image {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    width: 100vw;
    box-sizing: border-box;
}

.description-body .alignwide {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -40vw;
    margin-right: -40vw;
    max-width: 80vw;
    width: 80vw;
    box-sizing: border-box;
}

/* ======================================================
   STICKY ADD-TO-CART BAR
====================================================== */
.biznetnow-sticky-atc {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    border-top: 1px solid var(--border-color);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(100%);
    transition: transform 0.3s ease;
    padding: 0.75rem 1.5rem;
}

.biznetnow-sticky-atc.visible {
    transform: translateY(0);
}

.biznetnow-sticky-atc__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.biznetnow-sticky-atc__info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    flex: 1;
    overflow: hidden;
}

.biznetnow-sticky-atc__img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.biznetnow-sticky-atc__text {
    min-width: 0;
    flex: 1;
}

.biznetnow-sticky-atc__title {
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--text-dark);
    line-height: 1.3;
}

.biznetnow-sticky-atc__desc {
    display: none;
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 0.15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.biznetnow-sticky-atc__btn {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 40px;
    padding: 0.75rem 1.6rem;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
}

.biznetnow-sticky-atc__btn:hover {
    background: #0a141d;
    box-shadow: 0 6px 16px rgba(18, 34, 48, 0.2);
    color: #fff;
}

/* ======================================================
   WOOCOMMERCE SHOP PAGE (PRODUCT LOOP)
====================================================== */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2.5rem !important;
    max-width: 1280px;
    margin: 0 auto !important;
    padding: 0 5%;
}

ul.products::before,
ul.products::after {
    display: none !important;
}

ul.products li.product {
    background: var(--bg-light) !important;
    border-radius: var(--radius-lg);
    overflow: hidden;
    text-align: left !important;
    transition: transform 0.3s, box-shadow 0.3s;
    padding-bottom: 1.5rem !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    margin: 0 !important;
    width: 100% !important;
    display: flex;
    flex-direction: column;
}

ul.products li.product:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

ul.products li.product>a.woocommerce-LoopProduct-link {
    text-decoration: none;
    color: var(--text-dark);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

ul.products li.product>a img {
    width: 100% !important;
    aspect-ratio: 1/1;
    margin-bottom: 1.5rem !important;
    padding: 2rem !important;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 0.5s;
    display: block;
}

ul.products li.product:hover>a img {
    transform: scale(1.05);
}

ul.products li.product:nth-child(3n+1)>a img {
    background: #fce4ec;
}

ul.products li.product:nth-child(3n+2)>a img {
    background: #eaf3f8;
}

ul.products li.product:nth-child(3n)>a img {
    background: #e8f5e9;
}

ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.5rem !important;
    padding: 0 1.5rem;
    color: var(--text-dark) !important;
    padding-top: 0 !important;
}

ul.products li.product .star-rating {
    margin: 0 1.5rem 0.5rem;
    float: none;
    color: #f5b027;
    font-size: 0.9rem;
}

ul.products li.product .price {
    font-weight: 700;
    font-size: 1.2rem !important;
    color: var(--text-dark) !important;
    padding: 0 1.5rem;
    margin-bottom: 1rem !important;
    display: block;
}

ul.products li.product .price del,
ul.products li.product .price del span.amount {
    font-size: 0.9rem !important;
    color: var(--text-muted) !important;
    font-weight: normal !important;
    opacity: 0.8;
}

ul.products li.product .button.add_to_cart_button,
ul.products li.product .button.product_type_variable,
ul.products li.product .button.product_type_simple {
    margin: auto 1.5rem 0 !important;
    background: var(--primary) !important;
    color: white !important;
    padding: 0.8rem 1.5rem !important;
    border-radius: 40px !important;
    font-weight: 700 !important;
    text-align: center;
    transition: background 0.2s, transform 0.2s;
    text-transform: uppercase;
    font-size: 0.9rem !important;
    letter-spacing: 0.5px;
    width: calc(100% - 3rem) !important;
    border: none !important;
    display: block;
    text-decoration: none;
}

ul.products li.product .button:hover {
    background: #0a141d !important;
}

ul.products li.product .onsale {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--accent-red) !important;
    color: white !important;
    padding: 0.3rem 0.8rem !important;
    border-radius: 20px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    margin: 0;
    z-index: 9;
    min-height: auto !important;
    min-width: auto !important;
    line-height: normal !important;
}

/* Shop page header, toolbar, pagination */
.woocommerce-breadcrumb {
    max-width: 1280px;
    margin: 2rem auto 0 !important;
    padding: 0 5%;
    font-size: 0.9rem;
    color: var(--text-muted);
    float: none !important;
}

.woocommerce-breadcrumb a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

header.woocommerce-products-header {
    max-width: 1280px;
    margin: 1.5rem auto 1rem;
    padding: 0 5%;
    text-align: center;
}

header.woocommerce-products-header .page-title {
    font-size: 3rem;
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1.1;
    letter-spacing: -1px;
    margin-bottom: 0;
}

.storefront-sorting {
    max-width: 1280px;
    margin: 0 auto 2rem;
    padding: 0 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    clear: both;
}

.storefront-sorting .woocommerce-result-count {
    margin: 0 !important;
    float: none !important;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.95rem;
    order: 1;
}

.storefront-sorting .woocommerce-ordering {
    margin: 0 !important;
    float: none !important;
    order: 2;
}

.storefront-sorting .woocommerce-ordering select {
    padding: 0.7rem 1.4rem;
    border: 2px solid var(--border-color);
    border-radius: 40px;
    background-color: var(--bg-light);
    font-size: 0.9rem;
    font-family: inherit;
    font-weight: 600;
    color: var(--text-dark);
    cursor: pointer;
    outline: none;
    appearance: auto;
}

.woocommerce-pagination {
    max-width: 1280px;
    margin: 4rem auto !important;
    padding: 0 5%;
    clear: both;
}

.woocommerce-pagination .page-numbers {
    display: flex !important;
    justify-content: center;
    gap: 0.5rem;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-pagination .page-numbers li {
    border: none !important;
    margin: 0 !important;
}

.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 0.6rem;
    border-radius: 50px;
    background: var(--bg-light);
    color: var(--text-dark);
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
    border: none !important;
}

.woocommerce-pagination .page-numbers a:hover {
    background: var(--border-color);
}

.woocommerce-pagination .page-numbers span.current {
    background: var(--primary) !important;
    color: white !important;
}

/* Comparison table (shop page) */
.comparison-section {
    background: var(--bg-blue-light);
    padding: 4rem 0;
    margin-top: 2rem;
    box-shadow: 0 0 0 100vmax var(--bg-blue-light);
    clip-path: inset(0 -100vmax);
}

.comparison-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

.comparison-inner h2 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    font-weight: 700;
}

.comparison-table {
    width: 100%;
    background: #fff;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-collapse: collapse;
}

.comparison-table th,
.comparison-table td {
    padding: 1.5rem;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
}

.comparison-table th {
    font-size: 1.2rem;
    font-weight: 700;
    width: 33%;
}

.comparison-table th:first-child,
.comparison-table td:first-child {
    text-align: left;
}

.comparison-table td:first-child {
    font-weight: 600;
}

.comparison-table td:nth-child(2) {
    background: rgba(141, 198, 63, 0.1);
    color: var(--success-green);
    font-weight: 700;
}

.comparison-table td:nth-child(3) {
    background: rgba(224, 94, 94, 0.08);
    color: var(--accent-red);
    font-weight: 700;
}

.check-icon {
    color: var(--success-green);
    font-weight: bold;
}

.cross-icon {
    color: var(--accent-red);
    opacity: 0.5;
    font-weight: bold;
}

/* Text content in comparison table cells */
.comparison-table td .text-content {
    display: block;
    font-weight: 500;
    line-height: 1.4;
}

/* Section label */
.section-label {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 1rem;
    display: block;
}

/* Shop heading */
.shop-products-heading {
    text-align: center;
    padding: 2rem 5% 0;
    max-width: 1280px;
    margin: 0 auto;
}

.shop-products-heading h2 {
    font-size: 2.5rem;
    font-weight: 700;
}

/* ======================================================
   DESKTOP: CSS GRID LAYOUT + STICKY GALLERY
====================================================== */
@media (min-width: 768px) {

    html,
    body,
    #page,
    #content,
    #primary,
    .site-main,
    .single-product div.product {
        overflow: visible !important;
    }

    .single-product div.product {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 3rem !important;
        align-items: start !important;
    }

    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary {
        width: 100% !important;
        max-width: 100% !important;
    }

    .custom-product-gallery .gallery-thumbnails {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .single-product div.product .custom-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: sticky !important;
        top: 100px;
        align-self: start;
        z-index: 10;
        height: min-content !important;
        float: none !important;
    }

    .single-product div.product .entry-summary {
        grid-column: 2 !important;
        grid-row: 1 !important;
        float: none !important;
    }

    .single-product div.product .biznetnow-product-description,
    .single-product div.product .up-sells,
    .single-product div.product .related {
        grid-column: 1 / -1 !important;
    }

    /* Hide related products section completely */
    .single-product .related.products,
    .single-product section.related {
        display: none !important;
    }

    .biznetnow-sticky-atc__title {
        font-size: 0.95rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .biznetnow-sticky-atc__desc {
        display: block;
    }
}

/* ======================================================
   ADD TO CART LOADING ANIMATION
====================================================== */
.loading-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--text-dark);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}

.loading-spinner::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    margin: 0 auto;
    border-radius: 50%;
    border: 2px solid var(--text-dark);
    border-top-color: var(--accent-red);
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ======================================================
   SINGLE PRODUCT MOBILE LAYOUT (ZERO CLS REORDERING)
====================================================== */
@media (max-width: 767px) {
.single-product div.product .summary {
display: contents !important;
}
    .single-product .site-main {
        padding: 0 !important;
    }

    .single-product div.product {
        padding-top: 0;
        display: flex !important;
        flex-direction: column !important;
    }

    /* Order Logic: Star(10) -> Title(20) -> Description(30) -> Gallery(40) -> Price(50) -> Cart(60) */
    .single-product div.product .woocommerce-product-rating {
        order: 10;
        padding: 1.5rem 20px 0.5rem !important;
    }

    .single-product div.product .product_title {
        order: 20;
    }

    .single-product div.product .woocommerce-product-details__short-description {
        order: 30;
        padding: 10px 0;
        margin-bottom: 0;
    }

    .single-product div.product .custom-product-gallery,
    .single-product div.product .images,
    .single-product div.product .woocommerce-product-gallery {
        order: 40 !important;
        width: 100% !important;
        float: none !important;
    }

    .single-product div.product .price {
        order: 50;
        margin: 0 !important;
    }

    .single-product div.product .cart {
        order: 60;
    }

    .single-product div.product .trust-container {
        order: 70;
        padding: 0 20px 2rem !important;
    }

    .single-product div.product .rating-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.25rem !important;
        padding-top: 1rem;
        margin-bottom: 0 !important;
    }

    .custom-product-gallery {
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .custom-product-gallery .main-image-wrap {
        margin-bottom: 0;
        position: relative;
        z-index: 1;
        overflow: hidden;
        border-radius: 0 0 20px 20px;
        /* Edge to edge on top, rounded on bottom */
    }

    .custom-product-gallery .main-image-wrap img {
        position: relative;
        z-index: 1;
        border-radius:var(--radius-lg);
        /* Rounded top, edge to edge on bottom */
    }

    .custom-product-gallery .gallery-thumbnails {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        justify-content: flex-start !important;
        gap: 0.5rem !important;
        padding: 0.5rem;
        margin-top: -35px;
        position: relative;
        z-index: 2;
        scrollbar-width: none;
        -ms-overflow-style: none;
        background: transparent;
    }

    .custom-product-gallery .gallery-thumbnails::-webkit-scrollbar {
        display: none;
    }

    .custom-product-gallery .thumb-item {
        flex: 0 0 auto;
        width: 60px !important;
        height: 60px !important;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    }
}

/* ======================================================
   BUYBOX ENHANCEMENTS AND CUSTOM SWATCHES (Migrated)
====================================================== */
/* Prevent visual glitch by hiding native select dropdowns immediately via CSS */
form.variations_form .variations select {
    display: none !important;
}

.single-product div.product form.cart .variations th {
    display: none;
}

/* Hide default TH completely as we prepend our own span */


.scent-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.scent-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    width: 65px;
}

.scent-item.text-only {
    width: auto;
    min-width: 65px;
    padding: 0.5rem 1rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-md);
    background: #fff;
    justify-content: center;
    transition: 0.2s;
}

.scent-item.text-only:hover {
    border-color: var(--primary);
}

.scent-item.text-only.active {
    border-color: var(--primary);
    background: var(--bg-blue-light);
}

.scent-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid transparent;
    padding: 2px;
    transition: 0.2s;
}

.scent-item.active .scent-img {
    border-color: var(--primary);
}

.scent-img img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.scent-item span {
    font-size: 0.75rem;
    text-align: center;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1.2;
}

/* ======================================================
   STORY / COMPARISON / UGC SECTIONS (Migrated)
====================================================== */

.story-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    margin-bottom: 5rem
}

.story-block:last-child {
    margin-bottom: 0
}

.story-block.reverse .story-img {
    order: 2
}

.story-block.reverse .story-text {
    order: 1
}

.story-img {
    border-radius: var(--radius-lg, 20px);
    overflow: hidden;
    aspect-ratio: 4/3;
}

.story-img--empty {
    background: transparent
}

.story-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.story-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-dark, #122230)
}

.story-body p {
    font-size: 1.05rem;
    color: var(--text-muted, #6b7280);
    margin-bottom: 1.2rem;
    line-height: 1.7
}

.story-body ul {
    padding-left: 1.4rem;
    margin-bottom: 1rem;
    color: var(--text-muted, #6b7280);
    font-size: 1rem
}

.story-body li {
    margin-bottom: .4rem
}

.story-body strong {
    color: var(--text-dark, #122230)
}



/* ── UGC Section ─────────────────────────────────────── */
.ugc-section {
padding: 1rem 2rem;
  max-width: 1280px;
  margin: 1rem auto 0;
  text-align: center;
}

.ugc-section h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 3rem;
    color: var(--text-dark, #122230)
}

.ugc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem
}

.ugc-item {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4/5;
    position: relative;
    background: #f0f0f0;
    cursor: pointer
}

.ugc-item img.ugc-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}

.ugc-item:hover img.ugc-thumbnail {
    transform: scale(1.05);
}

.ugc-item iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.ugc-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent);
    display: flex;
    align-items: flex-end;
    padding: 1rem;
    color: #fff;
    text-align: left;
    font-size: .85rem;
    font-weight: 600;
    opacity: 0;
    transition: .3s;
    pointer-events: none;
    z-index: 1;
}

.ugc-item:hover .ugc-overlay {
    opacity: 1
}

.ugc-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    transition: background 0.3s;
}

.ugc-item:hover .ugc-play-btn {
    background: #e32c2b;
}

/* Red play hover */



/* ======================================================
   RESPONSIVE BREAKPOINTS
====================================================== */
@media (max-width: 992px) {
    .nav-links {
        display: none;
    }

    .hero h1 {
        font-size: 3rem;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .story-block,
    .story-block.reverse {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .story-block.reverse .story-img {
        order: 1;
    }

    .story-block.reverse .story-text {
        order: 2;
    }

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

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

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

    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
}

@media (max-width: 768px) {
    .hero h1 {
        font-size: 2.2rem;
    }

    .hero p {
        font-size: 1rem;
    }

    .as-seen {
        gap: 1rem;
        padding: 2rem 5%;
    }

    .as-seen-title {
        margin-right: 0;
        width: 100%;
        text-align: center;
        margin-bottom: 0.5rem;
    }

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

    .story-text h2 {
        font-size: 2rem;
    }

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

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

    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    h1.product-title {
        font-size: 1.7rem;
    }

    .product-subtitle {
        font-size: 0.95rem;
    }

    .main-price {
        font-size: 1.5rem;
    }

    .scent-grid {
        gap: 0.5rem !important;
        margin-bottom: 1rem !important;
    }

    .qty-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    form.cart {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    form.cart .quantity {
      flex: 1;
    min-width: 80px;
    max-width: 120px;
    margin-right: 10px;
    padding: 0;
    }

    form.cart button.single_add_to_cart_button {
        flex: 2;
        margin: 0 !important;
        /* Reset any native margin */
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .qty-card {
        flex-direction: row;
        justify-content: space-between;
        padding: 1rem 1.5rem;
        align-items: center;
    }

    .qty-pack,
    .qty-washes {
        margin-bottom: 0;
    }

    .story-section {
        padding: 0 2rem;
    }

    .card-badge {
        top: -10px;
        bottom: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .plan-card {
        padding: 1rem;
    }

    .plan-card::before {
        left: 1rem;
        top: 1.25rem;
    }

    .plan-header {
        margin-left: 1.8rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    .plan-price-wrap {
        text-align: left;
    }

    .sub-details {
        margin-left: 1.5rem;
    }

    .sub-list li {
        font-size: 0.8rem;
    }

    .comparison-table th,
    .comparison-table td {
        padding: 1rem 0.5rem;
        font-size: 0.9rem;
    }

    header.woocommerce-products-header .page-title {
        font-size: 2.2rem;
    }

    .storefront-sorting {
        flex-direction: column;
        margin-bottom: 2rem;
    }

    .woocommerce-product-details__short-description {
        margin-bottom: 0;
    }

    ul.products {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 600px) {
    .biznetnow-sticky-atc {
        padding: 0.6rem 1rem;
    }

    .biznetnow-sticky-atc .biznetnow-sticky-atc__img {
        display: none;
    }

    .biznetnow-sticky-atc__btn {
        padding: 0.65rem 1.1rem;
        font-size: 0.78rem;
    }
}

@media (max-width: 576px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ======================================================
   WOOCOMMERCE MESSAGES & ALERTS (VIBRANT & MODERN)
====================================================== */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    border-top: none;
    border-left: 5px solid var(--accent-red);
    background-color: var(--bg-light);
    color: var(--text-dark);
    padding: 1.25rem 2rem 1.25rem 4rem !important;
    border-radius: var(--radius-md);
    margin-bottom: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    font-weight: 600;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Remove default blue outline on WooCommerce links */
.woocommerce a:focus,
.woocommerce-checkout a:focus,
.woocommerce-cart a:focus,
.woocommerce-message a:focus,
.woocommerce-info a:focus,
.woocommerce-error a:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Remove blue outline on WooCommerce message box itself */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Hide "added to cart" success message on cart page */
.woocommerce-cart .woocommerce-message {
    display: none !important;
}

.woocommerce-info a,
.woocommerce-message a {
    color: var(--primary);
    text-decoration: underline;
    font-weight: 700;
}

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

.woocommerce-info {
    border-left-color: var(--primary);
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
    content: "!";
    position: absolute;
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    font-family: inherit;
    font-weight: 700;
    font-size: 1.1rem;
    color: white;
    background: var(--accent-red);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.woocommerce-message::before {
    content: "\2713";
    background: var(--success-green);
}

.woocommerce-info::before {
    content: "i";
    background: var(--primary);
}

.woocommerce-message .button.wc-forward {
    background: var(--text-dark);
    color: white !important;
    border-radius: 30px;
    padding: 0.5rem 1.25rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: 1rem;
    transition: 0.2s;
    float: none;
    order: 2;
}

.woocommerce-message .button.wc-forward:hover {
    background: var(--accent-red);
    transform: translateY(-2px);
}

/* ======================================================
   GENERAL PAGE & POST STYLING
====================================================== */

.content-area-general .entry-header,
.post .entry-header {
    padding: 1rem 0;
    border-bottom: 2px solid var(--border-color);
}

.content-area-general .entry-title,
.post .entry-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0;
}

.content-area-general .entry-content,
.post .entry-content {
    max-width: 800px;
    margin: 0 auto 3rem;
    line-height: 1.8;
}

.content-area-general .entry-content p,
.post .entry-content p {
    margin-bottom: 1.5rem;
    color: var(--text-dark);
}

.content-area-general .entry-content h3,
.post .entry-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 2.5rem 0 1rem;
}

.content-area-general .entry-content h4,
.post .entry-content h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 2rem 0 0.8rem;
}

.content-area-general .entry-content ul,
.post .entry-content ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
}

.content-area-general .entry-content li,
.post .entry-content li {
    padding: 1rem 0;
    border-bottom: 1px solid var(--border-color);
    position: relative;
}

.content-area-general .entry-content li:last-child,
.post .entry-content li:last-child {
    border-bottom: none;
}

.content-area-general .entry-content li p,
.post .entry-content li p {
    margin: 0;
}

.content-area-general .entry-content b,
.content-area-general .entry-content strong,
.post .entry-content b,
.post .entry-content strong {
    color: var(--accent-red);
    font-weight: 700;
}

/* Images */
.content-area-general .entry-content img,
.post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    margin: 1.5rem 0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.content-area-general .entry-content figure,
.post .entry-content figure {
    margin: 2rem 0;
}

.content-area-general .entry-content figcaption,
.post .entry-content figcaption {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-top: 0.5rem;
    font-style: italic;
}

/* Videos */
.content-area-general .entry-content video,
.post .entry-content video {
    max-width: 100%;
    border-radius: var(--radius-md);
    margin: 1.5rem 0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.content-area-general .entry-content iframe,
.post .entry-content iframe {
    max-width: 100%;
    border-radius: var(--radius-md);
    margin: 1.5rem 0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* Tables */
.content-area-general .entry-content table,
.post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    background: white;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.content-area-general .entry-content th,
.post .entry-content th {
    background: var(--text-dark);
    color: white;
    padding: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

.content-area-general .entry-content td,
.post .entry-content td {
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-dark);
}

.content-area-general .entry-content tr:last-child td,
.post .entry-content tr:last-child td {
    border-bottom: none;
}

.content-area-general .entry-content tr:hover td,
.post .entry-content tr:hover td {
    background: var(--bg-light);
}

/* Blockquotes */
.content-area-general .entry-content blockquote,
.post .entry-content blockquote {
    border-left: 4px solid var(--accent-green);
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: var(--bg-light);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-style: italic;
    color: var(--text-muted);
}

/* Code blocks */
.content-area-general .entry-content code,
.post .entry-content code {
    background: var(--bg-light);
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-size: 0.9rem;
    color: var(--accent-red);
}

.content-area-general .entry-content pre,
.post .entry-content pre {
    background: var(--text-dark);
    color: white;
    padding: 1.5rem;
    border-radius: var(--radius-md);
    overflow-x: auto;
    margin: 1.5rem 0;
}

.content-area-general .entry-content pre code,
.post .entry-content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

/* Links in content */
.content-area-general .entry-content a,
.post .entry-content a {
    color: var(--accent-red);
    text-decoration: underline;
    font-weight: 600;
}

.content-area-general .entry-content a:hover,
.post .entry-content a:hover {
    color: var(--text-dark);
    text-decoration: none;
}

.content-area-general .edit-link,
.post .edit-link {
    margin-top: 2rem;
    text-align: center;
}

.content-area-general .post-edit-link,
.post .post-edit-link {
    color: var(--text-muted);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.content-area-general .post-edit-link:hover,
.post .post-edit-link:hover {
    color: var(--accent-red);
}

/* ======================================================
   CART PAGE STYLING
====================================================== */

/* Cart & Checkout Page Titles */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title {
    margin: 1rem 0 0;
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-left: 1rem;
}

.woocommerce-cart h1.entry-title::before {
    font-family: 'icomoon' !important;
    content: "\e93a";
    font-size: 1.8rem;
    color: var(--accent-green);
}

.woocommerce-checkout h1.entry-title::before {
    font-family: 'icomoon' !important;
    content: "\ea10";
    font-size: 1.8rem;
    color: var(--accent-green);
}

.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: 1.8fr 1fr;
    gap: 1rem;
    align-items: flex-start;
    
}

.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper {
    grid-column: 1 / -1;
    width: 100%;
}

.woocommerce-cart .woocommerce>.woocommerce-cart-form {
    width: 100%;
}

.woocommerce-cart .woocommerce>.cart-collaterals {
    width: 100%;
}

.woocommerce-cart-form__contents {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 1rem;
}

.woocommerce-cart-form__contents th {
    text-transform: uppercase;
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 700;
    padding-bottom: 0.8rem;
    border-bottom: 2px solid var(--border-color);
    letter-spacing: 0.5px;
}

.woocommerce-cart-form__cart-item td {
    background: #fff;
    padding: 1.5rem !important;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
}

.woocommerce-cart-form__cart-item td:first-child {
    border-left: 1px solid var(--border-color);
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.woocommerce-cart-form__cart-item td:last-child {
    border-right: 1px solid var(--border-color);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.woocommerce-cart-form__cart-item.cart_item {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    transition: 0.3s;
}

.woocommerce-cart-form__cart-item.cart_item:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.product-thumbnail img {
    border-radius: var(--radius-md);
    width: 90px !important;
    height: 90px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    background: var(--bg-light);
    padding: 0.5rem;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-name a {
    color: var(--text-dark);
    font-weight: 700;
    text-decoration: none;
    font-size: 1.15rem;
    line-height: 1.4;
    display: block;
}

.product-name a:hover {
    color: var(--accent-red);
}

.product-remove a.remove {
    color: var(--error-red) !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    background: rgba(229, 17, 17, 0.05) !important;
    border: none !important;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s !important;
    text-decoration: none !important;
}

.product-remove a.remove:hover {
    background: var(--error-red) !important;
    color: white !important;
    transform: scale(1.1);
}

/* Quantity input in Cart */
.quantity {
    display: inline-flex;
    align-items: center;
    background: var(--bg-light);
    border-radius: 8px;
    padding: 0.2rem;
    border: 1px solid var(--border-color);
}

.quantity .qty {
    width: 3.5rem !important;
    text-align: center;
    background: transparent !important;
    border: none !important;
    font-weight: 700;
    font-size: 1rem !important;
    padding: 0.5rem !important;
    color: var(--text-dark);
}

.quantity .qty:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* Coupon & Actions */
.actions {
    padding: 1.5rem 0 !important;
}

.coupon {
    display: flex;
    gap: 1rem;
    float: left;
}

.coupon .input-text {
    width: 220px !important;
    margin: 0 !important;
    border-radius: 30px !important;
    padding: 0.8rem 1.5rem !important;
    border: 1px solid var(--border-color);
    background: var(--bg-light);
}

button[name="update_cart"],
button[name="apply_coupon"] {
    background: var(--bg-light) !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 30px !important;
    padding: 0.8rem 1.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem !important;
    transition: 0.3s !important;
}

button[name="update_cart"]:hover,
button[name="apply_coupon"]:hover {
    background: var(--text-dark) !important;
    color: white !important;
    border-color: var(--text-dark) !important;
    transform: translateY(-2px);
}

/* Cart Totals Panel */
.cart-collaterals .cart_totals {
    background: white;
    border-radius: var(--radius-md);
    padding: 2.5rem;
    width: 100% !important;
    float: none !important;
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    position: sticky;
    top: 100px;
}

.cart-collaterals .cart_totals h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--border-color);
}

.cart-collaterals .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.cart-collaterals .cart_totals th,
.cart-collaterals .cart_totals td {
    padding: 1.2rem 0;
    border-bottom: 1px dashed var(--border-color);
}

.cart-collaterals .cart_totals th {
    font-weight: 600;
    color: var(--text-muted);
}

.cart-collaterals .cart_totals td {
    text-align: right;
    font-weight: 600;
}

.cart-collaterals .cart_totals .order-total th,
.cart-collaterals .cart_totals .order-total td {
    border-bottom: none;
    padding-top: 1.5rem;
}

.cart-collaterals .cart_totals .order-total td {
    font-size: 1.6rem;
    color: var(--accent-red);
    font-weight: 700;
}

.checkout-button {
    background: var(--accent-red) !important;
    color: white !important;
    border-radius: 30px !important;
    padding: 1.2rem !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 2rem;
    transition: 0.3s !important;
    letter-spacing: 0.5px;
    text-decoration: none;
}

.checkout-button:hover {
    background: #c94a4a !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(234, 42, 42, 0.2);
}

/* ======================================================
   CHECKOUT PAGE STYLING
====================================================== */
#customer_details .form-row {
    margin: 1rem 0;
}

form.checkout {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 3rem;
    gap: 10px;
}

#customer_details {
    width: 60%;
    background: white;
    padding: 3rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

#customer_details h3 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 2rem;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 0.8rem;
    color: var(--text-dark);
}

.form-row label {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
    display: block;
}

.form-row label .optional {
    color: var(--text-muted);
    font-weight: 400;
    font-size: 0.85rem;
}

.input-text {
    width: 100%;
    padding: 0.9rem 1.2rem !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-color) !important;
    background: var(--bg-light) !important;
    font-size: 1rem !important;
    font-family: inherit;
    transition: 0.2s;
    color: var(--text-dark) !important;
}

.input-text:focus {
    border-color: var(--primary) !important;
    background: white !important;
    outline: none;
    box-shadow: 0 0 0 4px rgba(18, 34, 48, 0.08);
}

/* Style Select2 dropdown box to match input fields and vertically center text */
.select2-container .select2-selection--single {
    height: 52px !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-color) !important;
    background: var(--bg-light) !important;
    transition: 0.2s;
    padding: 0 !important;
}

.select2-container--open .select2-selection--single,
.select2-container--focus .select2-selection--single {
    border-color: var(--primary) !important;
    background: white !important;
    box-shadow: 0 0 0 4px rgba(18, 34, 48, 0.08) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px !important;
    /* Centered relative to height minus borders */
    padding-left: 1.2rem !important;
    padding-right: 2rem !important;
    color: var(--text-dark) !important;
    font-size: 1rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px !important;
    right: 0.8rem !important;
}

/* Checkout Order Review Panel */
#order_review_heading {
    display: none;
    /* We will inject a styled heading in the review box */
}

#order_review {
    width: 35%;
    background: white;
    border-radius: var(--radius-lg);
    padding: 3rem;
    border: 1px solid var(--border-color);
    position: sticky;
    top: 100px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

#order_review::before {
    content: "Your Order";
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--border-color);
    color: var(--text-dark);
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 1.2rem 0;
    border-bottom: 1px dashed var(--border-color);
}

.woocommerce-checkout-review-order-table th {
    text-align: left;
    font-weight: 600;
    color: var(--text-muted);
}

.woocommerce-checkout-review-order-table td {
    text-align: left;
    font-weight: 600;
    color: var(--text-dark);
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-bottom: none;
    padding-top: 1.5rem;
}

.woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.6rem;
    color: var(--accent-red);
    font-weight: 700;
}

/* Payment Methods */
#payment {
    margin-top: 2rem;
    padding: 1.5rem;
}

#payment ul.payment_methods {
    border-bottom: 1px solid var(--border-color) !important;
    padding: 0 0 1.5rem 0 !important;
    margin: 0 !important;
}

#payment div.payment_box {
    background: white !important;
    border-radius: 8px !important;
    color: var(--text-muted) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
    padding: 1.5rem !important;
    font-size: 0.9rem;
    margin-top: 1rem !important;
}

#payment div.payment_box::before {
    border-bottom-color: white !important;
}

.woocommerce-terms-and-conditions-wrapper {
    margin-top: 1.5rem;
    font-size: 0.85rem;
    color: var(--text-muted);
}

#place_order {
    background: var(--success-green) !important;
    color: white !important;
    border-radius: 30px !important;
    padding: 1.2rem !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    width: 100%;
    margin-top: 1.5rem;
    transition: 0.3s !important;
    border: none !important;
    letter-spacing: 0.5px;
}

#place_order:hover {
    background: #7bb033 !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(141, 198, 63, 0.4);
}

/* Coupon form on checkout page */
.woocommerce-form-coupon-toggle .woocommerce-info {
    border: 1px dashed var(--border-color);
    background: var(--bg-light);
    color: var(--text-dark);
    box-shadow: none;
    font-weight: 600;
    margin-top: 1rem;
}

form.checkout_coupon {
    border: 1px solid var(--border-color);
    padding: 1.5rem;
    border-radius: var(--radius-md);
    background: white;
    margin-bottom: 2rem;
    display: flex;
    gap: 1rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.02);
}

form.checkout_coupon .form-row {
    margin: 0;
    width: auto;
}

form.checkout_coupon .form-row-first {
    flex: 1;
}

form.checkout_coupon .form-row-last button {
    height: 100%;
    background: var(--text-dark) !important;
    color: white !important;
    border-radius: 30px !important;
    padding: 0 2rem !important;
    font-weight: 700 !important;
}

/* ======================================================
   MOBILE FALLBACKS FOR CART & CHECKOUT
====================================================== */
@media (max-width: 992px) {

    .woocommerce-checkout .col-full {
        padding: 0;
    }

    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 0;
    }

    form.checkout {
        flex-direction: column;
    }

    .woocommerce-cart .woocommerce>.woocommerce-cart-form,
    .woocommerce-cart .woocommerce>.cart-collaterals,
    #customer_details,
    #order_review {
        width: 100% !important;
    }

    #order_review {
        border-radius: 0;
    }

    #customer_details {
        border-radius: 0;
    }

    .woocommerce-cart-form__cart-item td {
        display: block;
        text-align: right;
        padding: 1.5rem !important;
        border-right: 1px solid var(--border-color);
        border-left: 1px solid var(--border-color);
    }

    .woocommerce-cart-form__cart-item td:first-child {
        border-radius: var(--radius-md) var(--radius-md) 0 0;
    }

    .woocommerce-cart-form__cart-item td:last-child {
        border-radius: 0 0 var(--radius-md) var(--radius-md);
    }

    .woocommerce-cart-form__cart-item td::before {
        content: attr(data-title) ": ";
        float: left;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 0.8rem;
        color: var(--text-muted);
    }

    .product-thumbnail,
    .product-remove {
        text-align: center !important;
    }

    .product-thumbnail::before,
    .product-remove::before {
        display: none;
    }

    .woocommerce-cart-form__contents th {
        display: none !important;
    }

    .woocommerce-message,
    .woocommerce-error,
    .woocommerce-info {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
        padding: 1.5rem !important;
    }

    .woocommerce-message .button.wc-forward {
        margin-left: 0;
    }

    .coupon {
        float: none;
        width: 100%;
        margin-bottom: 1rem;
        flex-direction: column;
        align-items: stretch;
    }

    .coupon .input-text {
        width: 100% !important;
    }

    form.checkout_coupon {
        flex-direction: column;
    }

    form.checkout_coupon .form-row-last button {
        padding: 1rem !important;
        width: 100%;
    }
}


@media(max-width:900px) {

    .story-block,
    .story-block.reverse {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .story-block.reverse .story-img {
        order: 1;
    }

    .story-block.reverse .story-text {
        order: 2;
    }

    .story-text h2 {
        font-size: 1.8rem;
    }

    .ugc-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .comparison-table th,
    .comparison-table td {
        padding: .8rem .5rem;
        font-size: .85rem;
    }
}

/* ======================================================
   MY ACCOUNT PAGE STYLING
====================================================== */

.woocommerce-account h1.entry-title {
    margin: 1rem 0 2rem;
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.woocommerce-account h1.entry-title::before {
    font-family: 'icomoon' !important;
    content: "\e971";
    font-size: 1.8rem;
    color: var(--accent-green);
}

.woocommerce-MyAccount-navigation {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-MyAccount-navigation li {
    margin-bottom: 0.5rem;
}

.woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0;
}

.woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    padding: 0.8rem 1rem;
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s;
}

.woocommerce-MyAccount-navigation a:hover {
    background: var(--bg-light);
    color: var(--accent-red);
    transform: translateX(5px);
}

.woocommerce-MyAccount-navigation-link.is-active a {
    background: var(--accent-red);
    color: white;
}

.woocommerce-MyAccount-navigation-link.is-active a:hover {
    background: var(--accent-red);
    color: white;
    transform: none;
}

.woocommerce-MyAccount-content {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.woocommerce-MyAccount-content p {
    color: var(--text-dark);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.woocommerce-MyAccount-content p strong {
    color: var(--accent-red);
    font-weight: 700;
}

.woocommerce-MyAccount-content a {
    color: var(--accent-red);
    text-decoration: underline;
    font-weight: 600;
}

.woocommerce-MyAccount-content a:hover {
    color: var(--text-dark);
    text-decoration: none;
}

.woocommerce-EditAccountForm fieldset {
    border: none;
    padding: 0;
}

/* ======================================================
   ORDER RECEIVED PAGE STYLING
====================================================== */

.woocommerce-order-received .woocommerce-notice--success + p,
.woocommerce-order-received p:has(+ .biznetnow-thankyou-hero) {
    display: none;
}

.woocommerce-order-received h1.entry-title {
  display:none;
}

.woocommerce-order-received h1.entry-title::before {
    font-family: 'icomoon' !important;
    content: "\ea10";
    font-size: 1.8rem;
    color: var(--accent-green);
}

.woocommerce-order {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    margin-bottom: 2rem;
}

.woocommerce-notice--success {
    background: #d4edda !important;
    border: 1px solid #8dc63f !important;
    color: #3c763d !important;
    padding: 1rem 1.5rem !important;
    border-radius: 8px !important;
    margin-bottom: 2rem !important;
    font-size: 1.1rem;
    font-weight: 600;
}

.woocommerce-order-overview {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 2rem;
}

.woocommerce-order-overview li {
    display: flex;
    justify-content: space-between;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--border-color);
}

.woocommerce-order-overview li:last-child {
    border-bottom: none;
}

.woocommerce-order-overview strong {
    color: var(--text-dark);
    font-weight: 700;
}

.woocommerce-order-details__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 2rem 0 1rem;
}

.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background: white;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.woocommerce-table--order-details th {
    background: var(--text-dark);
    color: white;
    padding: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

.woocommerce-table--order-details td {
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-dark);
}

.woocommerce-table--order-details tr:last-child td {
    border-bottom: none;
}

.woocommerce-table--order-details tr:hover td {
    background: var(--bg-light);
}

.woocommerce-table__product-name a {
    color: var(--accent-red);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-table__product-name a:hover {
    text-decoration: underline;
}

.woocommerce-table__product-total {
    text-align: right;
    font-weight: 700;
    color: var(--text-dark);
}

.woocommerce-table--order-details tfoot th {
    background: var(--bg-light);
    color: var(--text-dark);
    padding: 1rem;
    font-weight: 700;
    text-align: right;
    border-top: 2px solid var(--border-color);
}

.woocommerce-table--order-details tfoot td {
    padding: 1rem;
    text-align: right;
    border-top: 2px solid var(--border-color);
    color: var(--text-dark);
}

.woocommerce-customer-details {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.woocommerce-column__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 1rem;
}

.woocommerce-customer-details address {
    color: var(--text-dark);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.woocommerce-customer-details--email {
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* ======================================================
   404 ERROR PAGE
====================================================== */

.error-404-wrapper {
    padding: 6rem 0;
    text-align: center;
}

.error-404-content {
    max-width: 600px;
    margin: 0 auto;
}

.error-404-title {
    font-size: 8rem;
    font-weight: 900;
    color: var(--accent-red);
    line-height: 1;
    margin: 0 0 1rem;
}

.error-404-heading {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0 0 1.5rem;
}

.error-404-text {
    font-size: 1.1rem;
    color: var(--text-muted);
    line-height: 1.8;
    margin: 0 0 3rem;
}

.error-404-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 4rem;
    flex-wrap: wrap;
}

.error-404-actions .btn-primary {
    background: var(--accent-red);
    color: white;
    padding: 1rem 2.5rem;
    border-radius: 40px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.error-404-actions .btn-primary:hover {
    background: var(--text-dark);
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.error-404-actions .btn-outline {
    background: transparent;
    color: var(--text-dark);
    padding: 1rem 2.5rem;
    border-radius: 40px;
    font-weight: 700;
    text-decoration: none;
    border: 2px solid var(--border-color);
    display: inline-block;
    transition: all 0.3s ease;
}

.error-404-actions .btn-outline:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
    transform: translateY(-2px);
}

.error-404-links {
    margin-bottom: 3rem;
}

.error-404-links h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0 0 1.5rem;
}

.error-404-links-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    max-width: 500px;
    margin: 0 auto;
}

.error-404-links-grid a {
    padding: 1rem;
    background: var(--bg-light);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 600;
    transition: all 0.3s ease;
    text-align: center;
}

.error-404-links-grid a:hover {
    background: var(--accent-red);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(234, 42, 42, 0.2);
}

.error-404-search {
    max-width: 500px;
    margin: 0 auto;
}

.error-404-search h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0 0 1.5rem;
}

.error-404-search .woocommerce-product-search,
.error-404-search .search-form {
    display: flex;
    gap: 0.5rem;
}

.error-404-search input[type="search"],
.error-404-search input[type="text"] {
    flex: 1;
    padding: 1rem 1.5rem;
    border: 2px solid var(--border-color);
    border-radius: 40px;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.error-404-search input[type="search"]:focus,
.error-404-search input[type="text"]:focus {
    outline: none;
    border-color: var(--accent-red);
    box-shadow: 0 0 0 3px rgba(234, 42, 42, 0.1);
}

.error-404-search button[type="submit"] {
    background: var(--accent-red);
    color: white;
    border: none;
    padding: 1rem 2rem;
    border-radius: 40px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
}

.error-404-search button[type="submit"]:hover {
    background: var(--text-dark);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

@media (max-width: 768px) {
    .error-404-title {
        font-size: 6rem;
    }

    .error-404-heading {
        font-size: 2rem;
    }

    .error-404-links-grid {
        grid-template-columns: 1fr;
    }

    .error-404-actions {
        flex-direction: column;
        align-items: center;
    }

    .error-404-actions .btn-primary,
    .error-404-actions .btn-outline {
        width: 100%;
        max-width: 300px;
    }
}