/*
Theme Name: Volt E-Bike Store
Theme URI: https://example.com/volt-ebike
Author: Custom Build
Author URI: https://example.com
Description: A premium, fully responsive WooCommerce theme for electric bike (e-bike) stores. Includes a professional header with logo support, an attractive product page, product comparison, live order notifications, trust badges, payment icons, countdown urgency, testimonials, a refined footer, and a clean Customizer. All colours and content are editable. Built for electric bikes.
Version: 2.4.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: volt-ebike
Tags: e-commerce, woocommerce, custom-logo, custom-menu, featured-images, full-width-template, theme-options, responsive
WC requires at least: 6.0
WC tested up to: 8.8
*/

/* =========================================================================
   DESIGN TOKENS  (colours editable in Customizer -> Volt E-Bike Options)
   ========================================================================= */
:root{
    --vt-primary:        #12B886;   /* emerald - main brand / buttons */
    --vt-primary-dark:   #0C8C66;   /* hover */
    --vt-ink:            #0F2233;   /* deep navy - dark sections (NOT black) */
    --vt-ink-2:          #143A4D;   /* navy gradient end */
    --vt-accent:         #C8FF45;   /* electric volt-lime - highlights */
    --vt-sale:           #FF7A45;   /* warm coral - sale/urgency */
    --vt-primary-tint:   #E6F8F1;

    --vt-text:           #16263A;
    --vt-muted:          #5E7283;
    --vt-line:           #E4EBF0;
    --vt-bg:             #FFFFFF;
    --vt-soft:           #F3F7F9;

    --vt-font-head: "Plus Jakarta Sans","Segoe UI",sans-serif;
    --vt-font-body: "DM Sans","Helvetica Neue",Arial,sans-serif;

    --vt-wrap: 1280px;
    --vt-radius: 16px;
    --vt-radius-sm: 10px;
    --vt-shadow: 0 18px 50px -22px rgba(15,34,51,.30);
    --vt-shadow-sm: 0 6px 20px -10px rgba(15,34,51,.20);
    --vt-t: .25s cubic-bezier(.4,0,.2,1);
}

/* =========================================================================
   RESET / BASE  (bulletproof full-width)
   ========================================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
html,body{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0;
    overflow-x:hidden;
}
body{
    font-family:var(--vt-font-body);
    color:var(--vt-text);
    background:var(--vt-bg);
    line-height:1.65;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
}
/* Stop any parent constraint from squeezing the page */
.vt-main{ width:100%; max-width:100%; display:block; }
.vt-main > section,
.vt-main > div{ width:100%; max-width:100%; }

h1,h2,h3,h4,h5,h6{
    font-family:var(--vt-font-head);
    font-weight:800; line-height:1.14; color:var(--vt-text);
    margin:0 0 .5em; letter-spacing:-.025em;
}
h1{ font-size:clamp(2.2rem,4.5vw,3.6rem); }
h2{ font-size:clamp(1.7rem,3.2vw,2.6rem); }
h3{ font-size:1.35rem; }
p{ margin:0 0 1rem; }
a{ color:var(--vt-primary-dark); text-decoration:none; transition:color var(--vt-t); }
a:hover{ color:var(--vt-primary); }
img{ max-width:100%; height:auto; display:block; }

.vt-container{
    width:100%;
    max-width:var(--vt-wrap);
    margin-left:auto; margin-right:auto;
    padding-left:28px; padding-right:28px;
}
.vt-section{ padding:84px 0; }
.vt-section--soft{ background:var(--vt-soft); }
.vt-section--dark{ background:linear-gradient(135deg,var(--vt-ink),var(--vt-ink-2)); color:#fff; }
.vt-section--dark h1,.vt-section--dark h2,.vt-section--dark h3{ color:#fff; }

/* =========================================================================
   BUTTONS
   ========================================================================= */
.vt-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    background:var(--vt-primary); color:#fff !important; border:none;
    border-radius:999px; padding:15px 30px;
    font-family:var(--vt-font-head); font-weight:700; font-size:.98rem;
    cursor:pointer; transition:var(--vt-t); line-height:1; text-align:center;
}
.vt-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce .button:hover{
    background:var(--vt-primary-dark); color:#fff !important;
    transform:translateY(-2px); box-shadow:var(--vt-shadow-sm);
}
.vt-btn--accent,
.woocommerce .single_add_to_cart_button,.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,.woocommerce button.button.alt{
    background:var(--vt-accent); color:var(--vt-ink) !important;
}
.vt-btn--accent:hover,.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
    background:#b6f01f; color:var(--vt-ink) !important;
}
.vt-btn--ghost{ background:transparent; color:#fff !important; border:2px solid rgba(255,255,255,.5); }
.vt-btn--ghost:hover{ background:#fff; color:var(--vt-ink) !important; border-color:#fff; }
.vt-btn--lg{ padding:18px 38px; font-size:1.05rem; }

/* =========================================================================
   TOP BAR
   ========================================================================= */
.vt-topbar{ background:var(--vt-ink); color:#cfe0ea; font-size:.84rem; }
.vt-topbar .vt-container{ display:flex; justify-content:space-between; align-items:center; min-height:42px; flex-wrap:wrap; gap:8px; }
.vt-topbar a{ color:#fff; }
.vt-topbar__promo .vt-bolt{ color:var(--vt-accent); }
.vt-topbar__links{ display:flex; gap:20px; align-items:center; }
.vt-countdown{ color:var(--vt-accent); font-weight:700; font-family:var(--vt-font-head); }

/* =========================================================================
   HEADER
   ========================================================================= */
.vt-header{
    position:sticky; top:0; z-index:200; background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px); border-bottom:1px solid var(--vt-line);
    transition:box-shadow var(--vt-t);
}
.vt-header.is-stuck{ box-shadow:var(--vt-shadow-sm); }
.vt-header__inner{ display:flex; align-items:center; gap:30px; min-height:80px; }
.vt-logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.vt-logo img{ max-height:48px; width:auto; }
.vt-logo__text{ font-family:var(--vt-font-head); font-weight:800; font-size:1.55rem; color:var(--vt-ink); letter-spacing:-.04em; }
.vt-logo__text .vt-bolt{ color:var(--vt-primary); }

.vt-nav{ margin-left:auto; }
.vt-nav ul{ list-style:none; display:flex; gap:4px; margin:0; padding:0; }
.vt-nav a{ display:block; padding:11px 16px; font-family:var(--vt-font-head); font-weight:600; color:var(--vt-text); border-radius:999px; }
.vt-nav a:hover,.vt-nav .current-menu-item>a{ background:var(--vt-primary-tint); color:var(--vt-primary-dark); }
.vt-nav li{ position:relative; }
.vt-nav .sub-menu{ position:absolute; flex-direction:column; background:#fff; box-shadow:var(--vt-shadow); border-radius:var(--vt-radius-sm); padding:8px; min-width:210px; display:none; z-index:50; }
.vt-nav li:hover>.sub-menu{ display:flex; }

.vt-header__actions{ display:flex; align-items:center; gap:6px; }
.vt-icon-btn{ position:relative; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:var(--vt-ink); background:transparent; border:none; cursor:pointer; transition:var(--vt-t); }
.vt-icon-btn:hover{ background:var(--vt-primary-tint); color:var(--vt-primary-dark); }
.vt-icon-btn svg{ width:22px; height:22px; }
.vt-cart-count{ position:absolute; top:3px; right:0; background:var(--vt-sale); color:#fff; font-size:.68rem; font-weight:800; min-width:19px; height:19px; border-radius:10px; display:grid; place-items:center; padding:0 5px; font-family:var(--vt-font-head); }
.vt-burger{ display:none; }
.vt-search-drawer{ border-top:1px solid var(--vt-line); background:#fff; }

/* =========================================================================
   HERO  (full-bleed, e-bike specific illustration)
   ========================================================================= */
.vt-hero{ position:relative; background:linear-gradient(120deg,var(--vt-ink) 0%,var(--vt-ink-2) 60%,#155e54 100%); color:#fff; overflow:hidden; }
.vt-hero::before{ content:""; position:absolute; top:-20%; right:-5%; width:560px; height:560px; background:radial-gradient(circle,rgba(200,255,69,.20),transparent 60%); pointer-events:none; }
.vt-hero::after{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px); background-size:26px 26px; pointer-events:none; }
.vt-hero__inner{ display:grid; grid-template-columns:1.02fr .98fr; gap:48px; align-items:center; padding:90px 0; position:relative; z-index:2; }
.vt-hero__eyebrow{ display:inline-flex; align-items:center; gap:8px; background:rgba(200,255,69,.14); color:var(--vt-accent); border:1px solid rgba(200,255,69,.35); padding:8px 16px; border-radius:999px; font-family:var(--vt-font-head); font-weight:700; font-size:.8rem; margin-bottom:24px; text-transform:uppercase; letter-spacing:.06em; }
.vt-hero__eyebrow svg{ width:16px; height:16px; }
.vt-hero h1{ color:#fff; max-width:15ch; }
.vt-hero h1 span{ color:var(--vt-accent); }
.vt-hero p{ color:#cfe0e4; font-size:1.14rem; max-width:48ch; margin:20px 0 32px; }
.vt-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; }
.vt-hero__stats{ display:flex; gap:40px; margin-top:46px; border-top:1px solid rgba(255,255,255,.16); padding-top:28px; }
.vt-hero__stat strong{ display:block; font-family:var(--vt-font-head); font-size:2rem; color:var(--vt-accent); }
.vt-hero__stat span{ font-size:.85rem; color:#aecdd2; }

.vt-hero__media{ position:relative; }
.vt-hero__card{ position:relative; border-radius:24px; overflow:hidden; box-shadow:0 50px 90px -40px rgba(0,0,0,.6); background:linear-gradient(160deg,#1c4e57,#0f2a33); aspect-ratio:4/3.6; }
.vt-hero__card img{ width:100%; height:100%; object-fit:cover; }
.vt-hero__illus{ width:100%; height:100%; display:block; }
.vt-hero__chip{ position:absolute; background:#fff; color:var(--vt-ink); border-radius:14px; padding:11px 16px; box-shadow:var(--vt-shadow); font-family:var(--vt-font-head); font-weight:700; display:flex; align-items:center; gap:9px; font-size:.9rem; }
.vt-hero__chip--stock{ bottom:18px; left:18px; }
.vt-hero__chip--spec{ top:18px; right:18px; flex-direction:column; align-items:flex-start; gap:2px; }
.vt-hero__chip--spec small{ color:var(--vt-muted); font-weight:600; font-size:.7rem; text-transform:uppercase; }
.vt-hero__chip--spec b{ color:var(--vt-primary-dark); font-size:1.05rem; }
.vt-dot{ width:10px; height:10px; border-radius:50%; background:var(--vt-primary); box-shadow:0 0 0 4px rgba(18,184,134,.25); }

/* =========================================================================
   SECTION HEADS
   ========================================================================= */
.vt-head{ text-align:center; max-width:660px; margin:0 auto 52px; }
.vt-head .vt-kicker{ color:var(--vt-primary-dark); font-family:var(--vt-font-head); font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:.8rem; }
.vt-head p{ color:var(--vt-muted); }
.vt-section--dark .vt-head p{ color:#bcd2d6; }

/* =========================================================================
   TRUST BADGES
   ========================================================================= */
.vt-trust{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.vt-trust__item{ display:flex; gap:15px; align-items:center; padding:24px; background:#fff; border:1px solid var(--vt-line); border-radius:var(--vt-radius); transition:var(--vt-t); }
.vt-trust__item:hover{ box-shadow:var(--vt-shadow-sm); transform:translateY(-3px); }
.vt-trust__icon{ flex-shrink:0; width:54px; height:54px; border-radius:14px; display:grid; place-items:center; background:var(--vt-primary-tint); color:var(--vt-primary-dark); }
.vt-trust__icon svg{ width:28px; height:28px; }
.vt-trust__item strong{ font-family:var(--vt-font-head); display:block; font-size:1.02rem; }
.vt-trust__item span{ color:var(--vt-muted); font-size:.86rem; }

/* =========================================================================
   CATEGORY TILES
   ========================================================================= */
.vt-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vt-cat{ position:relative; border-radius:var(--vt-radius); overflow:hidden; min-height:240px; display:flex; align-items:flex-end; color:#fff; padding:26px; background:var(--vt-ink); transition:var(--vt-t); }
.vt-cat:hover{ transform:translateY(-4px); box-shadow:var(--vt-shadow); }
.vt-cat img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:transform .5s; }
.vt-cat:hover img{ transform:scale(1.06); }
.vt-cat::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 30%,rgba(15,34,51,.88)); z-index:1; }
.vt-cat__content{ position:relative; z-index:2; }
.vt-cat h3{ color:#fff; margin:0 0 2px; }
.vt-cat span{ color:var(--vt-accent); font-weight:700; font-size:.9rem; }

/* =========================================================================
   PRODUCT GRID & CARDS
   ========================================================================= */
.woocommerce ul.products,.vt-grid{
    display:grid !important; grid-template-columns:repeat(4,1fr); gap:26px;
    margin:0; padding:0; list-style:none;
}
.woocommerce ul.products li.product,.vt-card{
    width:auto !important; margin:0 !important; background:#fff;
    border:1px solid var(--vt-line); border-radius:var(--vt-radius);
    overflow:hidden; transition:var(--vt-t); position:relative; display:flex; flex-direction:column;
}
.woocommerce ul.products li.product:hover,.vt-card:hover{ transform:translateY(-6px); box-shadow:var(--vt-shadow); border-color:transparent; }
.woocommerce ul.products li.product{ position:relative; }
.woocommerce ul.products li.product a img,.vt-card__media img{ aspect-ratio:1/1; object-fit:var(--vt-img-fit,contain); width:100%; margin:0; background:#fff; padding:6px; }
.vt-card__media{ position:relative; overflow:hidden; background:var(--vt-soft); }
.woocommerce span.onsale,.vt-tag{ position:absolute; top:14px; left:14px; background:var(--vt-sale); color:#fff; font-family:var(--vt-font-head); font-weight:800; padding:5px 13px; border-radius:999px; font-size:.76rem; min-height:auto; min-width:auto; line-height:1.4; margin:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.vt-card__title{ font-family:var(--vt-font-head); font-weight:700; font-size:1.06rem; padding:16px 18px 4px; color:var(--vt-text); }
.vt-card__specs{ display:flex; gap:14px; padding:2px 18px 0; color:var(--vt-muted); font-size:.78rem; flex-wrap:wrap; }
.vt-card__specs span{ display:inline-flex; align-items:center; gap:4px; }
.vt-card__specs svg{ width:14px; height:14px; color:var(--vt-primary); }
.woocommerce ul.products li.product .price,.vt-card__price{ color:var(--vt-ink) !important; font-family:var(--vt-font-head); font-weight:800; font-size:1.22rem; padding:8px 18px 0; }
.woocommerce ul.products li.product .price del{ color:var(--vt-muted); font-weight:500; font-size:.9rem; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{ margin:14px 18px 18px; width:calc(100% - 36px); }

.vt-compare-toggle{ position:absolute; top:14px; right:14px; background:#fff; border-radius:999px; padding:7px 13px; font-size:.76rem; font-weight:700; font-family:var(--vt-font-head); cursor:pointer; box-shadow:var(--vt-shadow-sm); display:flex; align-items:center; gap:6px; color:var(--vt-ink); border:1px solid var(--vt-line); z-index:3; transition:var(--vt-t); }
.vt-compare-toggle svg{ width:15px; height:15px; }
.vt-compare-toggle:hover,.vt-compare-toggle.is-active{ background:var(--vt-primary); color:#fff; border-color:var(--vt-primary); }

/* =========================================================================
   FEATURE BAND / WHY US
   ========================================================================= */
.vt-feature{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.vt-feature__item{ text-align:center; padding:30px 22px; }
.vt-feature__icon{ width:64px; height:64px; margin:0 auto 18px; border-radius:18px; display:grid; place-items:center; background:rgba(200,255,69,.14); color:var(--vt-accent); }
.vt-feature__icon svg{ width:30px; height:30px; }
.vt-feature__item h3{ color:#fff; }
.vt-feature__item p{ color:#bcd2d6; font-size:.94rem; margin:0; }

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.vt-reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vt-review{ background:#fff; border:1px solid var(--vt-line); border-radius:var(--vt-radius); padding:28px; }
.vt-review__stars{ color:#F5A623; font-size:1.05rem; margin-bottom:12px; }
.vt-review p{ font-size:1.02rem; color:var(--vt-text); }
.vt-review__author{ display:flex; align-items:center; gap:12px; margin-top:18px; }
.vt-review__avatar{ width:44px; height:44px; border-radius:50%; background:var(--vt-primary-tint); color:var(--vt-primary-dark); display:grid; place-items:center; font-weight:800; font-family:var(--vt-font-head); }
.vt-review__author strong{ font-family:var(--vt-font-head); display:block; font-size:.95rem; }
.vt-review__author span{ color:var(--vt-muted); font-size:.82rem; }

/* =========================================================================
   SINGLE PRODUCT
   ========================================================================= */
.woocommerce div.product{ display:grid; grid-template-columns:1fr 1fr; gap:52px; }
.woocommerce div.product div.images,.woocommerce div.product div.summary{ float:none; width:auto; margin:0; }
.woocommerce div.product div.images img{ border-radius:var(--vt-radius); }
.woocommerce div.product .product_title{ font-size:clamp(1.9rem,3vw,2.5rem); }
.woocommerce div.product p.price,.woocommerce div.product span.price{ color:var(--vt-ink); font-family:var(--vt-font-head); font-weight:800; font-size:2rem; }
.woocommerce div.product p.price del{ color:var(--vt-muted); font-size:1.2rem; font-weight:500; }
.woocommerce div.product form.cart{ margin:26px 0; display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; }
.woocommerce div.product form.cart .quantity input{ height:54px; width:82px; border:1px solid var(--vt-line); border-radius:var(--vt-radius-sm); text-align:center; font-weight:700; }
.woocommerce div.product form.cart .single_add_to_cart_button{ flex:1; min-width:220px; padding:17px; }
.vt-product-usp{ list-style:none; padding:0; margin:22px 0; display:grid; gap:11px; }
.vt-product-usp li{ display:flex; gap:10px; align-items:center; }
.vt-product-usp svg{ width:20px; height:20px; color:var(--vt-primary); flex-shrink:0; }
.vt-product-trust{ border:1px dashed var(--vt-line); border-radius:var(--vt-radius); padding:18px; margin-top:22px; display:flex; gap:22px; flex-wrap:wrap; align-items:center; background:var(--vt-soft); }
.vt-product-trust .vt-pt-item{ display:flex; gap:8px; align-items:center; font-size:.85rem; font-weight:600; color:var(--vt-ink); }
.vt-product-trust svg{ width:22px; height:22px; color:var(--vt-primary); }
.woocommerce-tabs,.woocommerce div.product .up-sells,.woocommerce div.product .related,.woocommerce div.product .woocommerce-product-gallery + .summary ~ *{ grid-column:1/-1; margin-top:28px; }
.woocommerce div.product .up-sells h2,.woocommerce div.product .related h2{ font-family:var(--vt-font-head); font-size:1.5rem; margin-bottom:22px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ border-radius:var(--vt-radius-sm) var(--vt-radius-sm) 0 0; border:1px solid var(--vt-line); background:var(--vt-soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:#fff; border-bottom-color:#fff; }

/* =========================================================================
   CART & CHECKOUT
   ========================================================================= */
.woocommerce table.shop_table{ border-radius:var(--vt-radius); border-color:var(--vt-line); overflow:hidden; }
.woocommerce-cart table.cart img{ width:74px; border-radius:var(--vt-radius-sm); }
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce form.checkout_coupon{ border:1px solid var(--vt-line); border-radius:var(--vt-radius); padding:24px; background:#fff; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection{ border:1px solid var(--vt-line); border-radius:var(--vt-radius-sm); padding:12px 14px; min-height:50px; font-family:var(--vt-font-body); }
.woocommerce-message,.woocommerce-info{ border-top-color:var(--vt-primary); background:var(--vt-primary-tint); border-radius:var(--vt-radius-sm); }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--vt-primary); }
.vt-checkout-secure{ display:flex; align-items:center; gap:10px; justify-content:center; background:var(--vt-primary-tint); border-radius:var(--vt-radius); padding:15px; margin-bottom:22px; color:var(--vt-primary-dark); font-weight:700; font-family:var(--vt-font-head); }
.vt-checkout-secure svg{ width:22px; height:22px; }

/* =========================================================================
   LIVE ORDER POPUP
   ========================================================================= */
.vt-sale-pop{ position:fixed; bottom:24px; left:24px; z-index:9999; background:#fff; border-radius:var(--vt-radius); box-shadow:var(--vt-shadow); border:1px solid var(--vt-line); display:flex; align-items:center; gap:14px; padding:12px 18px 12px 12px; max-width:350px; transform:translateY(160%); opacity:0; transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s; font-size:.88rem; }
.vt-sale-pop.is-visible{ transform:translateY(0); opacity:1; }
.vt-sale-pop__img{ width:56px; height:56px; border-radius:11px; object-fit:cover; flex-shrink:0; background:var(--vt-soft); }
.vt-sale-pop__body strong{ font-family:var(--vt-font-head); display:block; color:var(--vt-text); }
.vt-sale-pop__body span{ color:var(--vt-muted); }
.vt-sale-pop__time{ color:var(--vt-primary-dark); font-weight:600; font-size:.76rem; display:flex; align-items:center; gap:5px; margin-top:3px; }
.vt-sale-pop__time::before{ content:""; width:7px; height:7px; border-radius:50%; background:#2ecc71; box-shadow:0 0 0 3px rgba(46,204,113,.2); }
.vt-sale-pop__close{ position:absolute; top:6px; right:9px; background:none; border:none; cursor:pointer; color:var(--vt-muted); font-size:1.1rem; line-height:1; }
.vt-sale-pop__verified{ color:#2ecc71; font-size:.72rem; font-weight:700; }

/* =========================================================================
   COMPARE BAR & MODAL
   ========================================================================= */
.vt-compare-bar{ position:fixed; bottom:0; left:0; right:0; z-index:9000; background:var(--vt-ink); color:#fff; transform:translateY(100%); transition:transform .4s ease; box-shadow:0 -10px 30px -10px rgba(0,0,0,.3); }
.vt-compare-bar.is-open{ transform:translateY(0); }
.vt-compare-bar .vt-container{ display:flex; align-items:center; gap:16px; padding-top:14px; padding-bottom:14px; flex-wrap:wrap; }
.vt-compare-bar__items{ display:flex; gap:10px; flex:1; flex-wrap:wrap; }
.vt-compare-chip{ display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border-radius:999px; padding:6px 10px 6px 6px; font-size:.85rem; }
.vt-compare-chip img{ width:32px; height:32px; border-radius:50%; object-fit:cover; }
.vt-compare-chip button{ background:none; border:none; color:#fff; cursor:pointer; opacity:.7; }
.vt-compare-bar__count{ font-family:var(--vt-font-head); font-weight:700; }
.vt-compare-modal{ position:fixed; inset:0; z-index:9500; background:rgba(15,34,51,.65); display:none; align-items:center; justify-content:center; padding:20px; }
.vt-compare-modal.is-open{ display:flex; }
.vt-compare-modal__inner{ background:#fff; border-radius:var(--vt-radius); max-width:1000px; width:100%; max-height:88vh; overflow:auto; padding:30px; position:relative; }
.vt-compare-table{ width:100%; border-collapse:collapse; }
.vt-compare-table th,.vt-compare-table td{ border:1px solid var(--vt-line); padding:14px; text-align:left; vertical-align:top; }
.vt-compare-table thead th{ background:var(--vt-primary-tint); font-family:var(--vt-font-head); }
.vt-compare-table img{ width:100%; max-width:160px; border-radius:var(--vt-radius-sm); }
.vt-compare-modal__close{ position:absolute; top:14px; right:16px; background:var(--vt-soft); border:none; width:40px; height:40px; border-radius:50%; cursor:pointer; font-size:1.2rem; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.vt-footer{ background:var(--vt-ink); color:#bccdd8; padding-top:68px; }
.vt-footer a{ color:#bccdd8; }
.vt-footer a:hover{ color:var(--vt-accent); }
.vt-footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:44px; padding-bottom:48px; }
.vt-footer h4{ color:#fff; font-size:1.05rem; margin-bottom:18px; }
.vt-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:11px; }
.vt-footer__brand .vt-logo__text{ color:#fff; }
.vt-footer__brand .vt-logo__text .vt-bolt{ color:var(--vt-accent); }
.vt-footer__brand p{ font-size:.92rem; line-height:1.7; }
.vt-newsletter{ display:flex; gap:8px; margin-top:14px; }
.vt-newsletter input{ flex:1; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); border-radius:999px; padding:13px 18px; color:#fff; }
.vt-newsletter input::placeholder{ color:#8fa9b4; }
.vt-social{ display:flex; gap:10px; margin-top:18px; }
.vt-social a{ width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08); display:grid; place-items:center; transition:var(--vt-t); }
.vt-social a:hover{ background:var(--vt-accent); color:var(--vt-ink); }
.vt-social svg{ width:18px; height:18px; }
.vt-payments{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:12px; }
.vt-payments svg{ height:30px; width:auto; border-radius:4px; }
.vt-footer__bottom{ border-top:1px solid rgba(255,255,255,.12); padding:24px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; font-size:.85rem; }

/* =========================================================================
   FLOATING WHATSAPP + BACK TO TOP
   ========================================================================= */
.vt-float{ position:fixed; right:22px; bottom:22px; z-index:8000; display:flex; flex-direction:column; gap:12px; }
.vt-whatsapp{ width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:grid; place-items:center; box-shadow:var(--vt-shadow); transition:var(--vt-t); }
.vt-whatsapp:hover{ transform:scale(1.08); color:#fff; }
.vt-whatsapp svg{ width:30px; height:30px; }
.vt-totop{ width:48px; height:48px; border-radius:50%; background:var(--vt-ink); color:#fff; border:none; cursor:pointer; display:grid; place-items:center; box-shadow:var(--vt-shadow); opacity:0; visibility:hidden; transition:var(--vt-t); }
.vt-totop.is-visible{ opacity:1; visibility:visible; }
.vt-totop svg{ width:22px; height:22px; }

/* =========================================================================
   DRAWERS / PAGE TITLE / MISC
   ========================================================================= */
.vt-mobile-drawer{ position:fixed; top:0; right:0; bottom:0; width:min(300px,80vw); background:#fff; z-index:9999; transform:translateX(100%); transition:transform .35s cubic-bezier(.16,1,.3,1); box-shadow:-20px 0 50px -20px rgba(0,0,0,.3); padding:22px; overflow-y:auto; }
.vt-mobile-drawer.is-open{ transform:translateX(0); }
.vt-mobile-drawer ul{ list-style:none; padding:0; margin:16px 0 0; }
.vt-mobile-drawer ul a{ display:block; padding:14px 6px; border-bottom:1px solid var(--vt-line); font-family:var(--vt-font-head); font-weight:600; color:var(--vt-text); }
.vt-drawer-overlay{ position:fixed; inset:0; background:rgba(15,34,51,.5); z-index:9998; opacity:0; visibility:hidden; transition:.3s; }
.vt-drawer-overlay.is-open{ opacity:1; visibility:visible; }
.vt-drawer-close{ background:var(--vt-soft); border:none; width:42px; height:42px; border-radius:50%; cursor:pointer; float:right; font-size:1.2rem; }
.vt-page-title{ background:var(--vt-soft); padding:46px 0; border-bottom:1px solid var(--vt-line); }
.vt-breadcrumb{ color:var(--vt-muted); font-size:.85rem; margin-top:6px; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
.vt-shop-layout{ width:100%; }

/* =========================================================================
   SLIDE-OUT CART DRAWER
   ========================================================================= */
.vt-cart-overlay{ position:fixed; inset:0; background:rgba(15,34,51,.5); z-index:9600; opacity:0; visibility:hidden; transition:.3s; }
.vt-cart-overlay.is-open{ opacity:1; visibility:visible; }
.vt-cart-drawer{ position:fixed; top:0; right:0; bottom:0; width:min(400px,88vw); background:#fff; z-index:9700; transform:translateX(100%); transition:transform .38s cubic-bezier(.16,1,.3,1); display:flex; flex-direction:column; box-shadow:-22px 0 60px -22px rgba(0,0,0,.4); }
.vt-cart-drawer.is-open{ transform:translateX(0); }
.vt-cart-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--vt-line); flex-shrink:0; }
.vt-cart-drawer__head strong{ display:flex; gap:10px; align-items:center; font-family:var(--vt-font-head); font-size:1.12rem; color:var(--vt-text); }
.vt-cart-drawer__head svg{ width:22px; height:22px; color:var(--vt-primary); }
.vt-cart-drawer__close{ background:var(--vt-soft); border:none; width:38px; height:38px; border-radius:50%; font-size:1.4rem; cursor:pointer; line-height:1; color:var(--vt-ink); }
.vt-cart-drawer__close:hover{ background:var(--vt-line); }
.vt-cart-drawer__body{ flex:1; overflow-y:auto; padding:4px 22px; }
.vt-cart-drawer__body.is-loading{ opacity:.5; pointer-events:none; }
.vt-cart-items{ list-style:none; margin:0; padding:0; }
.vt-cart-item{ display:flex; gap:14px; align-items:center; padding:16px 0; border-bottom:1px solid var(--vt-line); }
.vt-ci-thumb{ flex-shrink:0; }
.vt-ci-thumb img{ width:64px; height:64px; object-fit:cover; border-radius:10px; background:var(--vt-soft); }
.vt-ci-info{ flex:1; min-width:0; }
.vt-ci-name{ font-family:var(--vt-font-head); font-weight:700; color:var(--vt-text); font-size:.95rem; display:block; line-height:1.3; }
.vt-ci-meta{ color:var(--vt-muted); font-size:.85rem; }
.vt-ci-remove{ color:var(--vt-muted); font-size:1.4rem; text-decoration:none; line-height:1; padding:4px; }
.vt-ci-remove:hover{ color:var(--vt-sale); }
.vt-cart-drawer__foot{ border-top:1px solid var(--vt-line); padding:18px 22px; display:grid; gap:10px; flex-shrink:0; }
.vt-cart-subtotal{ display:flex; justify-content:space-between; font-family:var(--vt-font-head); font-size:1.12rem; margin-bottom:4px; color:var(--vt-text); }
.vt-cart-empty{ text-align:center; padding:64px 14px; color:var(--vt-muted); }
.vt-cart-empty svg{ width:54px; height:54px; opacity:.35; margin:0 auto 14px; display:block; }
.vt-cart-empty p{ margin-bottom:18px; }
.vt-btn--block{ width:100%; }
.single_add_to_cart_button.loading{ opacity:.65; }

/* =========================================================================
   SOLD OUT BADGE + SALE COUNTDOWN
   ========================================================================= */
.vt-soldout{ position:absolute; top:14px; left:14px; z-index:4; background:var(--vt-ink); color:#fff; font-family:var(--vt-font-head); font-weight:800; font-size:.72rem; padding:5px 12px; border-radius:999px; letter-spacing:.04em; text-transform:uppercase; }
.vt-soldout--single{ position:static; display:inline-block; margin:0 0 14px; }
.vt-sale-timer{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--vt-primary-tint); border:1px solid #c7ece0; border-radius:var(--vt-radius-sm); padding:12px 16px; margin:16px 0; }
.vt-sale-timer__label{ display:flex; align-items:center; gap:6px; font-family:var(--vt-font-head); font-weight:700; color:var(--vt-primary-dark); font-size:.9rem; }
.vt-sale-timer__label svg{ width:16px; height:16px; }
.vt-sale-timer__clock{ display:flex; align-items:center; gap:3px; font-family:var(--vt-font-head); }
.vt-sale-timer__clock b{ background:var(--vt-ink); color:#fff; border-radius:6px; padding:5px 7px; font-size:1rem; min-width:32px; text-align:center; }
.vt-sale-timer__clock i{ font-style:normal; color:var(--vt-muted); font-size:.8rem; margin-right:5px; }

/* =========================================================================
   SEARCH MODAL (centered overlay)
   ========================================================================= */
.vt-search-modal{ position:fixed; inset:0; z-index:9800; background:rgba(15,34,51,.55); backdrop-filter:blur(4px); display:flex; align-items:flex-start; justify-content:center; padding:13vh 18px 20px; opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s ease; }
.vt-search-modal.is-open{ opacity:1; visibility:visible; }
.vt-search-modal__box{ position:relative; width:min(620px,100%); background:#fff; border-radius:20px; padding:30px 28px 26px; box-shadow:var(--vt-shadow); transform:translateY(-14px); transition:transform .3s cubic-bezier(.16,1,.3,1); }
.vt-search-modal.is-open .vt-search-modal__box{ transform:none; }
.vt-search-modal__box h3{ margin:0 0 16px; font-size:1.4rem; }
.vt-search-modal__close{ position:absolute; top:16px; right:16px; background:var(--vt-soft); border:none; width:40px; height:40px; border-radius:50%; font-size:1.4rem; cursor:pointer; line-height:1; color:var(--vt-ink); }
.vt-search-modal__close:hover{ background:var(--vt-line); }
.vt-search-modal form,.vt-search-modal .woocommerce-product-search,.vt-search-modal .search-form{ display:flex; gap:10px; margin:0; }
.vt-search-modal input[type="search"],.vt-search-modal input[type="text"],.vt-search-modal .search-field{ flex:1; border:1px solid var(--vt-line) !important; border-radius:999px !important; padding:15px 22px !important; font-size:1.02rem; min-height:auto !important; color:var(--vt-text); box-shadow:none !important; }
.vt-search-modal input[type="search"]:focus,.vt-search-modal .search-field:focus{ border-color:var(--vt-primary) !important; outline:none; box-shadow:0 0 0 3px rgba(18,184,134,.16) !important; }
.vt-search-modal button[type="submit"]{ border-radius:999px; padding:14px 28px; white-space:nowrap; background:var(--vt-primary); color:#fff; border:none; font-family:var(--vt-font-head); font-weight:700; cursor:pointer; }
.vt-search-modal label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
.vt-search-suggest{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:16px; font-size:.86rem; color:var(--vt-muted); }
.vt-search-suggest a{ background:var(--vt-soft); border-radius:999px; padding:6px 14px; color:var(--vt-ink); font-weight:600; }
.vt-search-suggest a:hover{ background:var(--vt-primary-tint); color:var(--vt-primary-dark); }

/* =========================================================================
   WOOCOMMERCE CART / CHECKOUT BLOCKS  (match theme + mobile fit)
   ========================================================================= */
:root{ --wp--style--root--padding-left:0px; --wp--style--root--padding-right:0px; }

/* Outer wrapper: always centered with comfortable side gutters (desktop + mobile) */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wp-block-woocommerce-order-confirmation{
    max-width:1180px !important; margin:0 auto !important; padding:52px 32px 96px !important; box-sizing:border-box;
}
/* Inner blocks fill their column but never force overflow */
.wc-block-cart,.wc-block-checkout,.wc-block-components-sidebar-layout,
.wc-block-cart__main,.wc-block-checkout__main,.wc-block-cart__sidebar,.wc-block-checkout__sidebar{
    max-width:100% !important; min-width:0 !important; box-sizing:border-box;
}
.wc-block-components-sidebar-layout{ gap:38px; align-items:flex-start; }
.wc-block-cart-items,.wc-block-checkout__main table{ width:100% !important; max-width:100% !important; }
.wc-block-cart-item__total,.wc-block-components-product-price,.wc-block-components-totals-item__value{ word-break:break-word; }

/* Buttons */
.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
    background:var(--vt-primary) !important; color:#fff !important; border-radius:999px !important;
    font-family:var(--vt-font-head) !important; font-weight:700 !important; padding:17px 30px !important;
}
.wc-block-components-button:hover{ background:var(--vt-primary-dark) !important; }
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{ background:var(--vt-ink) !important; }
.wc-block-components-checkout-place-order-button{ width:100%; }

/* Inputs */
.wc-block-components-text-input input,.wc-block-components-text-input textarea,.wc-block-components-select .wc-block-components-select__container,
.wc-block-checkout__form input,.wc-block-checkout__form select{ border-radius:var(--vt-radius-sm) !important; border-color:var(--vt-line) !important; }
.wc-block-components-text-input input:focus{ border-color:var(--vt-primary) !important; box-shadow:0 0 0 2px rgba(18,184,134,.18) !important; }
.wc-block-components-product-name{ color:var(--vt-primary-dark) !important; }
.wc-block-grid__product-title,.wc-block-components-product-price{ font-family:var(--vt-font-head); }
.wc-block-checkout,.wc-block-cart{ color:var(--vt-text); }

/* Headings inside checkout */
.wc-block-components-title,.wc-block-components-checkout-step__title{ font-family:var(--vt-font-head) !important; color:var(--vt-text) !important; }

/* Order summary -> a clean card, sticky on desktop */
.wc-block-components-sidebar-layout .wc-block-components-sidebar{
    background:#fff; border:1px solid var(--vt-line); border-radius:var(--vt-radius);
    padding:24px 22px; box-shadow:var(--vt-shadow-sm);
}
.wc-block-checkout__sidebar{ position:sticky; top:100px; }
.wc-block-components-totals-item--total .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ color:var(--vt-ink); font-family:var(--vt-font-head); font-weight:800; }

/* Order received / thank-you page */
.woocommerce-order{ max-width:820px; margin:0 auto; }
.woocommerce-order .woocommerce-notice--success,.woocommerce-thankyou-order-received{
    background:var(--vt-primary-tint); border:1px solid #c7ece0; border-radius:var(--vt-radius);
    padding:22px 24px; font-family:var(--vt-font-head); font-weight:700; color:var(--vt-primary-dark); font-size:1.15rem;
}
.woocommerce-order ul.order_details{
    list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px;
    padding:22px; margin:24px 0; background:var(--vt-soft); border-radius:var(--vt-radius); border:1px solid var(--vt-line);
}
.woocommerce-order ul.order_details li{ font-size:.82rem; color:var(--vt-muted); text-transform:uppercase; letter-spacing:.04em; border:none; }
.woocommerce-order ul.order_details li strong{ display:block; font-size:1.05rem; color:var(--vt-text); text-transform:none; letter-spacing:0; margin-top:4px; }
.woocommerce-order .woocommerce-column__title,.woocommerce-order h2{ font-family:var(--vt-font-head); }

/* Tablet / mobile: stack to one column, smaller gutters */
@media (max-width:880px){
    .wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wp-block-woocommerce-order-confirmation{ padding:30px 18px 64px !important; }
    .wc-block-components-sidebar-layout{ display:block !important; gap:0; }
    .wc-block-components-sidebar-layout .wc-block-components-main,
    .wc-block-components-sidebar-layout .wc-block-components-sidebar{ width:100% !important; max-width:100% !important; flex:none !important; padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; }
    .wc-block-checkout__sidebar{ position:static; margin-bottom:28px; }
}
/* cart/checkout pages use full width (not the narrow 780px entry) */
.woocommerce-cart .vt-entry,.woocommerce-checkout .vt-entry,.woocommerce-account .vt-entry{ max-width:100% !important; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1100px){
    .woocommerce ul.products,.vt-grid{ grid-template-columns:repeat(3,1fr); }
    .vt-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:880px){
    .vt-nav{ display:none; }
    .vt-burger{ display:grid; }
    .vt-hero__inner{ grid-template-columns:1fr; padding:60px 0; gap:34px; }
    .vt-hero__media{ order:-1; }
    .woocommerce div.product{ grid-template-columns:1fr; gap:30px; }
    .vt-cats,.vt-trust,.vt-feature,.vt-reviews{ grid-template-columns:1fr 1fr; }
    .vt-feature{ grid-template-columns:1fr; }
}
@media (max-width:600px){
    .vt-container{ padding-left:18px; padding-right:18px; }
    .vt-section{ padding:54px 0; }
    .woocommerce ul.products,.vt-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
    .vt-footer__grid{ grid-template-columns:1fr; gap:32px; }
    .vt-footer__bottom{ flex-direction:column; text-align:center; }
    .vt-sale-pop{ left:12px; right:12px; max-width:none; }
    .vt-cats,.vt-trust,.vt-reviews{ grid-template-columns:1fr; }
    .vt-topbar__links{ gap:12px; }
    .vt-hero__stats{ gap:22px; }
    /* product page fully fits */
    .woocommerce div.product form.cart{ gap:10px; }
    .woocommerce div.product form.cart .single_add_to_cart_button{ min-width:0; flex:1 1 100%; }
    .woocommerce div.product form.cart .quantity input{ width:72px; }
    .vt-product-trust{ gap:14px; padding:14px; }
    .vt-hero h1{ font-size:2rem; }
    .vt-hero p{ font-size:1rem; }
    .vt-card__title,.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:.95rem; padding:12px 12px 4px; }
    .woocommerce ul.products li.product .price,.vt-card__price{ padding:6px 12px 0; font-size:1.05rem; }
    .woocommerce ul.products li.product .button{ margin:10px 12px 14px; width:calc(100% - 24px); padding:12px; font-size:.85rem; }
    .vt-compare-toggle{ font-size:.68rem; padding:5px 9px; top:10px; right:10px; }
    .vt-sale-timer__clock b{ min-width:28px; padding:4px 5px; font-size:.9rem; }
    h2{ font-size:1.5rem; }
}
@media (max-width:400px){
    .woocommerce ul.products,.vt-grid{ grid-template-columns:1fr; }
    .vt-hero__chip{ font-size:.78rem; padding:8px 12px; }
    .vt-topbar{ font-size:.78rem; }
}
/* keep tables and wide content inside the screen everywhere */
.woocommerce table.shop_table,.woocommerce-cart .cart-collaterals{ max-width:100%; }
.woocommerce .woocommerce-cart-form,.woocommerce-cart .shop_table{ overflow-x:auto; display:block; }
img,svg,iframe,video,table{ max-width:100%; }
