/*
Theme Name: Velum Care
Theme URI: https://velumcare.pl
Author: Velum Care
Author URI: https://velumcare.pl
Description: Premium white theme for Velum Care automotive cosmetics. Cormorant Garamond + Space Grotesk, gold accent #c9a84c. Mobile-first, flat design, full WooCommerce integration.
Version: 1.0.0
Text Domain: velum
License: GPL-2.0-or-later
*/

/* ==========================================================================
   VELUM CARE - Root tokens
   ========================================================================== */
:root{
    --v-bg:#ffffff;
    --v-bg-dark:#0a0a0a;
    --v-bg-soft:#f6f5f1;
    --v-text:#0a0a0a;
    --v-text-muted:#6a6a6a;
    --v-text-light:#ffffff;
    --v-border:#e6e3db;
    --v-border-dark:#1f1f1f;
    --v-gold:#c9a84c;
    --v-gold-dark:#a88a35;
    --v-gold-soft:#e6d48a;
    --v-green:#2fa35b;
    --v-red:#c83a3a;
    --v-maxw:1320px;
    --v-font-serif:"Cormorant Garamond", "Times New Roman", serif;
    --v-font-sans:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   Reset / base
   ========================================================================== */
*,
*::before,
*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
    font-family:var(--v-font-sans);
    font-size:15px;
    line-height:1.65;
    color:var(--v-text);
    background:var(--v-bg);
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
img,svg{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--v-gold);}
button{font-family:inherit;cursor:pointer;border:0;background:none;}
h1,h2,h3,h4,h5,h6{
    font-family:var(--v-font-serif);
    font-weight:500;
    line-height:1.15;
    letter-spacing:-.01em;
    margin:0 0 .5em;
    color:var(--v-text);
}
p{margin:0 0 1em;}
input,textarea,select{font-family:inherit;font-size:inherit;}
::selection{background:var(--v-gold);color:#fff;}

/* Every element: no rounded corners */
*{border-radius:0 !important;}

/* Containers */
.v-wrap{width:100%;max-width:var(--v-maxw);margin:0 auto;padding:0 32px;}
.v-section{padding:96px 0;}
.v-section-dark{background:var(--v-bg-dark);color:var(--v-text-light);}
.v-section-dark h1,
.v-section-dark h2,
.v-section-dark h3,
.v-section-dark h4{color:#fff;}

/* Eyebrow / kicker */
.v-eyebrow{
    font-family:var(--v-font-sans);
    font-size:11px;
    font-weight:500;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--v-gold);
    margin-bottom:18px;
    display:inline-block;
}
.v-section-title{
    font-size:clamp(32px,4.4vw,56px);
    font-weight:400;
    margin:0 0 14px;
    font-style:italic;
}
.v-section-title em{font-style:normal;color:var(--v-gold);}
.v-section-lead{
    font-size:16px;
    color:var(--v-text-muted);
    max-width:620px;
    margin:0 auto 48px;
    line-height:1.7;
}
.v-section-head{text-align:center;margin-bottom:56px;}
.v-section-dark .v-section-lead{color:rgba(255,255,255,.65);}

/* Gold decorative line */
.v-gold-line{
    display:block;
    width:80px;
    height:1px;
    background:var(--v-gold);
    margin:28px auto;
    position:relative;
}
.v-gold-line::before,
.v-gold-line::after{
    content:"";
    position:absolute;
    top:50%;
    width:4px;
    height:4px;
    background:var(--v-gold);
    transform:translateY(-50%) rotate(45deg);
}
.v-gold-line::before{left:-10px;}
.v-gold-line::after{right:-10px;}

/* ==========================================================================
   Buttons
   ========================================================================== */
.v-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 32px;
    font-family:var(--v-font-sans);
    font-size:12px;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    border:1px solid var(--v-text);
    background:var(--v-text);
    color:#fff;
    cursor:pointer;
    transition:all .25s ease;
    white-space:nowrap;
    text-align:center;
}
.v-btn:hover{background:var(--v-gold);border-color:var(--v-gold);color:#fff;}
.v-btn-outline{background:transparent;color:var(--v-text);border-color:var(--v-text);}
.v-btn-outline:hover{background:var(--v-text);color:#fff;border-color:var(--v-text);}
.v-btn-gold{background:var(--v-gold);border-color:var(--v-gold);color:#fff;}
.v-btn-gold:hover{background:var(--v-gold-dark);border-color:var(--v-gold-dark);color:#fff;}
.v-btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.35);color:#fff;}
.v-btn-ghost-light:hover{background:#fff;color:var(--v-text);border-color:#fff;}

/* ==========================================================================
   Topbar
   ========================================================================== */
.v-topbar{
    background:var(--v-bg-dark);
    color:rgba(255,255,255,.85);
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.v-topbar-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:38px;
}
.v-topbar a{color:rgba(255,255,255,.75);}
.v-topbar a:hover{color:var(--v-gold);}
.v-topbar-left,.v-topbar-right{display:flex;gap:28px;align-items:center;}
.v-topbar-right span{color:var(--v-gold);}

/* ==========================================================================
   Header + Nav
   ========================================================================== */
.v-header{
    background:#fff;
    border-bottom:1px solid var(--v-border);
    position:sticky;
    top:0;
    z-index:100;
}
.v-header-inner{
    position:relative;
    padding:20px 0;
}
.v-nav-group{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:28px;
    max-width:960px;
    margin:0 auto;
}
.v-logo{
    grid-column:2;
    text-align:center;
    text-decoration:none !important;
    display:inline-block;
    justify-self:center;
    padding:0 8px;
}
.v-logo-word{
    font-family:var(--v-font-serif);
    font-size:36px;
    font-weight:500;
    letter-spacing:.32em;
    color:var(--v-text);
    line-height:1;
    padding-left:.32em;
}
.v-logo-tag{
    display:block;
    font-family:var(--v-font-serif);
    font-style:italic;
    font-size:11px;
    letter-spacing:.18em;
    color:var(--v-gold);
    margin-top:4px;
    font-weight:400;
}

/* Desktop nav - split on both sides of logo */
.v-nav{display:flex;align-items:center}
.v-nav-left{grid-column:1;justify-self:end}
.v-nav-right{grid-column:3;justify-self:start}
.v-nav ul,.v-nav .menu{
    list-style:none;
    margin:0;padding:0;
    display:flex;
    gap:26px;
    align-items:center;
}
.v-nav li{position:relative;}
.v-nav a{
    font-size:11.5px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--v-text);
    padding:8px 0;
    display:inline-block;
    position:relative;
    white-space:nowrap;
    text-decoration:none;
}
.v-nav a::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:1px;
    background:var(--v-gold);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .25s ease;
}
.v-nav a:hover::after,
.v-nav .current-menu-item > a::after{transform:scaleX(1);}
.v-nav a:hover{color:var(--v-gold);}

/* Header actions - absolute positioned over right edge so they don't affect logo centering */
.v-header-actions{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    gap:18px;
    align-items:center;
}
.v-header-actions a,
.v-header-actions button{
    color:var(--v-text);
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    position:relative;
}
.v-header-actions a:hover{color:var(--v-gold);}
.v-cart-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    background:var(--v-gold);
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:0;
}

/* Hamburger */
.v-hamburger{
    display:none;
    width:40px;
    height:40px;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    background:transparent;
    border:0;
    padding:0;
}
.v-hamburger span{
    display:block;
    width:22px;
    height:2px;
    background:var(--v-text);
    transition:all .25s ease;
}
.v-hamburger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.v-hamburger.is-active span:nth-child(2){opacity:0;}
.v-hamburger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile nav drawer */
.v-mobile-nav{
    position:fixed;
    top:0;
    right:-100%;
    width:100%;
    max-width:360px;
    height:100vh;
    background:#fff;
    z-index:200;
    transition:right .3s ease;
    overflow-y:auto;
    padding:24px;
    box-shadow:-20px 0 40px rgba(0,0,0,.08);
}
.v-mobile-nav.is-open{right:0;}
.v-mobile-nav-close{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin-bottom:24px;
}
.v-mobile-nav-close button{
    width:36px;height:36px;
    font-size:22px;
    color:var(--v-text);
    background:transparent;
}
.v-mobile-nav-logo{
    font-family:var(--v-font-serif);
    font-size:24px;
    letter-spacing:.3em;
    text-align:center;
    margin-bottom:8px;
    padding-left:.3em;
}
.v-mobile-nav-tag{
    text-align:center;
    font-style:italic;
    color:var(--v-gold);
    font-size:10px;
    letter-spacing:.2em;
    margin-bottom:28px;
    font-family:var(--v-font-serif);
}
.v-mobile-nav ul{list-style:none;margin:0;padding:0;}
.v-mobile-nav li{border-bottom:1px solid var(--v-border);}
.v-mobile-nav a{
    display:block;
    padding:18px 4px;
    font-size:13px;
    font-weight:500;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--v-text);
}
.v-mobile-nav a:hover{color:var(--v-gold);}
.v-mobile-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    opacity:0;
    pointer-events:none;
    transition:opacity .3s ease;
    z-index:150;
}
.v-mobile-backdrop.is-open{opacity:1;pointer-events:auto;}

/* ==========================================================================
   Hero
   ========================================================================== */
.v-hero{
    background:#fff;
    padding:120px 0 110px;
    text-align:center;
    position:relative;
    overflow:hidden;
}
.v-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(ellipse at 20% 10%, rgba(201,168,76,.06), transparent 50%),
        radial-gradient(ellipse at 80% 90%, rgba(201,168,76,.04), transparent 50%);
    pointer-events:none;
}
.v-hero-inner{position:relative;z-index:1;max-width:920px;margin:0 auto;}
.v-hero-eyebrow{
    font-size:12px;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--v-gold);
    margin-bottom:28px;
    font-weight:500;
}
.v-hero-title{
    font-family:var(--v-font-serif);
    font-size:clamp(72px,12vw,160px);
    letter-spacing:.08em;
    font-weight:400;
    line-height:.95;
    margin:0 0 12px;
    padding-left:.08em;
}
.v-hero-sub{
    font-family:var(--v-font-serif);
    font-style:italic;
    font-size:clamp(18px,2.2vw,26px);
    color:var(--v-gold);
    margin:0 0 36px;
    letter-spacing:.08em;
}
.v-hero-desc{
    font-size:16px;
    line-height:1.8;
    color:var(--v-text-muted);
    max-width:580px;
    margin:0 auto 44px;
}
.v-hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ==========================================================================
   Category strip
   ========================================================================== */
.v-cat-strip{
    background:var(--v-bg-dark);
    padding:0;
    overflow:hidden;
}
.v-cat-strip-inner{
    display:flex;
    gap:0;
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
}
.v-cat-strip-inner::-webkit-scrollbar{display:none;}
.v-cat-item{
    flex:0 0 auto;
    min-width:220px;
    padding:38px 32px;
    text-align:center;
    color:rgba(255,255,255,.85);
    border-right:1px solid rgba(255,255,255,.08);
    transition:background .25s ease,color .25s ease;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
}
.v-cat-item:hover{background:#141414;color:#fff;}
.v-cat-item-name{
    font-family:var(--v-font-serif);
    font-size:20px;
    letter-spacing:.04em;
    color:#fff;
}
.v-cat-item-count{
    font-size:10px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--v-gold);
}

/* ==========================================================================
   Filter toolbar
   ========================================================================== */
.v-filter-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    padding:28px 0 20px;
    border-bottom:1px solid var(--v-border);
    margin-bottom:48px;
}
.v-filter-pills{display:flex;gap:10px;flex-wrap:wrap;}
.v-filter-pill{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 22px;
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:500;
    background:#fff;
    border:1px solid var(--v-border);
    color:var(--v-text);
    cursor:pointer;
    transition:all .2s ease;
}
.v-filter-pill:hover{border-color:var(--v-text);}
.v-filter-pill.is-active{background:var(--v-text);color:#fff;border-color:var(--v-text);}
.v-dot{
    display:inline-block;
    width:8px;
    height:8px;
    background:var(--v-text);
}
.v-dot-green{background:var(--v-green);}
.v-dot-red{background:var(--v-red);}
.v-filter-count{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--v-text-muted);}

/* ==========================================================================
   Product grid + Card
   ========================================================================== */
.v-products-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
}
.v-product-card{
    background:#fff;
    border:1px solid var(--v-border);
    transition:border-color .25s ease,transform .25s ease;
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
}
.v-product-card:hover{border-color:var(--v-text);transform:translateY(-4px);}
.v-product-card[data-stock="niedostepne"]{opacity:.75;}
.v-product-thumb{
    position:relative;
    background:var(--v-bg-dark);
    aspect-ratio:1/1.1;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.v-product-thumb img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:24px;
    transition:transform .4s ease;
}
.v-product-card:hover .v-product-thumb img{transform:scale(1.05);}
.v-product-placeholder{
    font-family:var(--v-font-serif);
    font-size:48px;
    letter-spacing:.2em;
    color:rgba(255,255,255,.15);
    padding-left:.2em;
}
.v-stock-badge{
    position:absolute;
    top:14px;
    left:14px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 12px;
    background:#fff;
    color:var(--v-text);
    font-size:9px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:600;
    z-index:2;
}
.v-product-body{
    padding:22px 20px 24px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1;
}
.v-product-cat{
    font-size:10px;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--v-gold);
    font-weight:500;
}
.v-product-name{
    font-family:var(--v-font-serif);
    font-size:22px;
    font-weight:500;
    line-height:1.2;
    margin:0;
    color:var(--v-text);
}
.v-product-name a{color:inherit;}
.v-product-name a:hover{color:var(--v-gold);}
.v-product-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:auto;
    padding-top:16px;
    gap:12px;
}
.v-product-price{
    font-family:var(--v-font-serif);
    font-size:24px;
    font-weight:500;
    color:var(--v-text);
    letter-spacing:.01em;
}
.v-product-price .woocommerce-Price-amount{
    font-family:var(--v-font-serif);
    color:var(--v-text);
}
.v-product-price del{color:var(--v-text-muted);font-size:16px;margin-right:6px;}
.v-product-cart-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    background:var(--v-text);
    color:#fff;
    font-size:18px;
    line-height:1;
    transition:all .2s ease;
    text-decoration:none !important;
    font-weight:400;
    border:0;
    cursor:pointer;
}
.v-product-cart-btn:hover,
.v-product-cart-btn.added{background:var(--v-gold);color:#fff;}
.v-product-cart-btn.loading{opacity:.6;}

/* See all button area */
.v-see-all{
    text-align:center;
    padding-top:56px;
}

/* ==========================================================================
   "Co nas wyroznia" section
   ========================================================================== */
.v-advantages{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:1px solid rgba(255,255,255,.1);
    border-left:1px solid rgba(255,255,255,.1);
}
.v-adv-card{
    padding:48px 36px;
    border-right:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1);
    background:transparent;
    transition:background .3s ease;
}
.v-adv-card:hover{background:rgba(201,168,76,.05);}
.v-adv-num{
    font-family:var(--v-font-serif);
    font-size:48px;
    font-weight:400;
    color:var(--v-gold);
    line-height:1;
    margin-bottom:28px;
    font-style:italic;
}
.v-adv-title{
    font-family:var(--v-font-serif);
    font-size:24px;
    font-weight:500;
    color:#fff;
    margin:0 0 14px;
    line-height:1.25;
}
.v-adv-desc{
    font-size:14px;
    line-height:1.7;
    color:rgba(255,255,255,.65);
    margin:0;
}

/* ==========================================================================
   3-column features (light)
   ========================================================================== */
.v-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:48px;
}
.v-feature{
    text-align:center;
    padding:36px 24px;
}
.v-feature-icon{
    font-size:40px;
    color:var(--v-gold);
    margin-bottom:20px;
    line-height:1;
    font-family:var(--v-font-serif);
}
.v-feature-title{
    font-family:var(--v-font-serif);
    font-size:24px;
    margin:0 0 12px;
    font-weight:500;
}
.v-feature-desc{
    font-size:14px;
    color:var(--v-text-muted);
    line-height:1.7;
    margin:0;
}

/* ==========================================================================
   YouTube tutorials section
   ========================================================================== */
.v-tutorials{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.v-tut-card{
    background:#141414;
    border:1px solid rgba(255,255,255,.08);
    overflow:hidden;
    transition:border-color .25s ease;
    cursor:pointer;
    display:flex;
    flex-direction:column;
}
.v-tut-card:hover{border-color:var(--v-gold);}
.v-tut-thumb{
    aspect-ratio:16/9;
    background:linear-gradient(135deg,#1a1a1a 0%,#0a0a0a 100%);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.v-tut-thumb::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 50%, rgba(201,168,76,.12) 0%, transparent 60%);
}
.v-tut-play{
    width:72px;
    height:72px;
    background:var(--v-gold);
    position:relative;
    transition:transform .25s ease,background .25s ease;
    z-index:1;
}
.v-tut-play::before{
    content:"";
    position:absolute;
    top:50%;
    left:58%;
    transform:translate(-50%,-50%);
    width:0;
    height:0;
    border-top:14px solid transparent;
    border-bottom:14px solid transparent;
    border-left:22px solid #fff;
}
.v-tut-card:hover .v-tut-play{transform:scale(1.1);background:var(--v-gold-dark);}
.v-tut-body{padding:24px 24px 28px;flex:1;display:flex;flex-direction:column;gap:8px;}
.v-tut-cat{
    font-size:10px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--v-gold);
    font-weight:500;
}
.v-tut-title{
    font-family:var(--v-font-serif);
    font-size:22px;
    color:#fff;
    margin:0;
    line-height:1.25;
    font-weight:500;
}
.v-tut-meta{
    font-size:11px;
    color:rgba(255,255,255,.5);
    margin-top:8px;
    letter-spacing:.1em;
}

/* ==========================================================================
   Opinie (reviews) section
   ========================================================================== */
.v-reviews-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    margin-bottom:72px;
}
.v-review{
    padding:36px 32px;
    background:var(--v-bg-soft);
    border:1px solid var(--v-border);
    display:flex;
    flex-direction:column;
    gap:18px;
    transition:border-color .25s ease;
}
.v-review:hover{border-color:var(--v-gold);}
.v-review-stars{
    color:var(--v-gold);
    font-size:18px;
    letter-spacing:.12em;
}
.v-review-text{
    font-family:var(--v-font-serif);
    font-style:italic;
    font-size:18px;
    line-height:1.55;
    color:var(--v-text);
    margin:0;
    flex:1;
}
.v-review-text::before{content:"\201C";color:var(--v-gold);font-size:36px;line-height:0;margin-right:4px;vertical-align:-8px;}
.v-review-author{
    padding-top:16px;
    border-top:1px solid var(--v-border);
}
.v-review-name{
    font-family:var(--v-font-sans);
    font-size:12px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--v-text);
    margin:0;
}
.v-review-product{
    font-size:11px;
    color:var(--v-gold);
    margin-top:3px;
    letter-spacing:.08em;
}

/* Add review form */
.v-review-form-wrap{
    max-width:760px;
    margin:0 auto;
    padding:48px 40px;
    border:1px solid var(--v-border);
    background:#fff;
}
.v-review-form-wrap h3{
    text-align:center;
    font-size:32px;
    margin:0 0 8px;
    font-style:italic;
    font-weight:400;
}
.v-review-form-wrap h3 em{color:var(--v-gold);font-style:normal;}
.v-review-form-lead{text-align:center;color:var(--v-text-muted);margin-bottom:36px;}
.v-review-form{display:grid;gap:20px;}
.v-review-form .v-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.v-review-form label{
    display:block;
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:500;
    margin-bottom:8px;
    color:var(--v-text);
}
.v-review-form input[type="text"],
.v-review-form textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid var(--v-border);
    background:#fff;
    font-size:14px;
    color:var(--v-text);
    transition:border-color .2s ease;
}
.v-review-form input[type="text"]:focus,
.v-review-form textarea:focus{outline:none;border-color:var(--v-gold);}
.v-review-form textarea{min-height:120px;resize:vertical;}

/* Star rating */
.v-star-rating{
    display:inline-flex;
    flex-direction:row-reverse;
    gap:6px;
}
.v-star-rating input{display:none;}
.v-star-rating label{
    cursor:pointer;
    font-size:32px;
    color:var(--v-border);
    transition:color .15s ease;
    margin:0;
    padding:0;
    letter-spacing:0;
    text-transform:none;
    font-weight:400;
    line-height:1;
}
.v-star-rating label:hover,
.v-star-rating label:hover ~ label,
.v-star-rating input:checked ~ label{color:var(--v-gold);}

.v-review-form-submit{display:flex;justify-content:center;padding-top:8px;}
.v-review-notice{
    background:rgba(47,163,91,.08);
    border:1px solid var(--v-green);
    color:var(--v-green);
    padding:16px 20px;
    text-align:center;
    margin-bottom:28px;
    font-size:13px;
    letter-spacing:.06em;
}

/* ==========================================================================
   "O marce" section (dark)
   ========================================================================== */
.v-brand{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:80px;
    align-items:center;
}
.v-brand-text h2{
    font-size:clamp(32px,4vw,52px);
    font-style:italic;
    font-weight:400;
    color:#fff;
    margin:0 0 24px;
}
.v-brand-text h2 em{color:var(--v-gold);font-style:normal;}
.v-brand-text p{
    font-size:16px;
    line-height:1.85;
    color:rgba(255,255,255,.75);
    margin:0 0 20px;
}
.v-brand-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding:40px;
    background:#141414;
    border:1px solid rgba(255,255,255,.08);
}
.v-brand-stat{text-align:center;}
.v-brand-stat-num{
    font-family:var(--v-font-serif);
    font-size:48px;
    color:var(--v-gold);
    line-height:1;
    margin-bottom:8px;
    font-style:italic;
}
.v-brand-stat-label{
    font-size:10px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.v-features-strip{
    background:#fff;
    border-top:1px solid var(--v-border);
    border-bottom:1px solid var(--v-border);
    padding:44px 0;
}
.v-features-strip-inner{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.v-feat-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:0 12px;
    border-right:1px solid var(--v-border);
}
.v-feat-item:last-child{border-right:0;}
.v-feat-icon{
    font-size:28px;
    color:var(--v-gold);
    line-height:1;
    font-family:var(--v-font-serif);
}
.v-feat-title{
    font-family:var(--v-font-serif);
    font-size:17px;
    font-weight:500;
    color:var(--v-text);
    margin:0 0 2px;
    line-height:1.3;
}
.v-feat-desc{
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--v-text-muted);
}

.v-footer{
    background:var(--v-bg-dark);
    color:rgba(255,255,255,.75);
    padding:80px 0 0;
}
.v-footer-cols{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:60px;
    padding-bottom:64px;
}
.v-footer-logo{
    font-family:var(--v-font-serif);
    font-size:32px;
    color:#fff;
    letter-spacing:.3em;
    margin-bottom:6px;
    padding-left:.3em;
}
.v-footer-tag{
    font-family:var(--v-font-serif);
    font-style:italic;
    color:var(--v-gold);
    font-size:13px;
    letter-spacing:.14em;
    margin-bottom:22px;
}
.v-footer-desc{
    font-size:13px;
    line-height:1.75;
    color:rgba(255,255,255,.6);
    margin-bottom:24px;
    max-width:340px;
}
.v-footer-social{display:flex;gap:10px;}
.v-footer-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;height:38px;
    background:#141414;
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:14px;
    letter-spacing:0;
    transition:all .2s ease;
}
.v-footer-social a:hover{background:var(--v-gold);border-color:var(--v-gold);color:#fff;}
.v-footer h4{
    font-family:var(--v-font-sans);
    font-size:11px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--v-gold);
    margin:0 0 24px;
    font-weight:600;
}
.v-footer ul{list-style:none;padding:0;margin:0;}
.v-footer li{margin-bottom:12px;}
.v-footer li a{
    color:rgba(255,255,255,.7);
    font-size:13px;
    transition:color .2s ease;
}
.v-footer li a:hover{color:var(--v-gold);}
.v-footer-contact p{
    font-size:13px;
    line-height:1.8;
    color:rgba(255,255,255,.7);
    margin:0 0 10px;
}
.v-footer-contact strong{color:#fff;font-weight:500;}
.v-footer-bottom{
    padding:28px 0;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.5);
}
.v-footer-bottom a{color:rgba(255,255,255,.6);}
.v-footer-bottom a:hover{color:var(--v-gold);}

/* ==========================================================================
   WooCommerce archive / shop
   ========================================================================== */
.woocommerce-breadcrumb{
    padding:20px 0;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--v-text-muted);
}
.woocommerce-breadcrumb a{color:var(--v-text-muted);}
.woocommerce-breadcrumb a:hover{color:var(--v-gold);}
.v-shop-header{
    padding:64px 0 48px;
    text-align:center;
    border-bottom:1px solid var(--v-border);
}
.v-shop-header h1{
    font-size:clamp(40px,5vw,64px);
    font-style:italic;
    font-weight:400;
    margin-bottom:10px;
}
.v-shop-header-desc{color:var(--v-text-muted);max-width:640px;margin:16px auto 0;}
.woocommerce-result-count,
.woocommerce-ordering{display:none;}
.v-shop-grid{padding:48px 0 96px;}

/* Remove sidebar everywhere */
.woocommerce-sidebar,
#secondary,
.widget-area,
.sidebar{display:none !important;}

/* ==========================================================================
   Single product
   ========================================================================== */
.v-single-product{padding:48px 0 96px;}
.v-sp-layout{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:72px;
    margin-bottom:72px;
}
.v-sp-gallery{
    background:var(--v-bg-dark);
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.v-sp-gallery img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:48px;
}
.v-sp-info .v-product-cat{margin-bottom:12px;display:block;}
.v-sp-info h1{
    font-size:clamp(36px,4vw,56px);
    margin:0 0 16px;
    font-weight:400;
    line-height:1.1;
}
.v-sp-price{
    font-family:var(--v-font-serif);
    font-size:40px;
    color:var(--v-text);
    margin:16px 0 28px;
    padding:18px 0;
    border-top:1px solid var(--v-border);
    border-bottom:1px solid var(--v-border);
}
.v-sp-price .woocommerce-Price-amount{font-family:var(--v-font-serif);}
.v-sp-desc{
    font-size:15px;
    line-height:1.8;
    color:var(--v-text-muted);
    margin-bottom:32px;
}
.v-sp-stock{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    margin-bottom:24px;
    padding:10px 16px;
    border:1px solid var(--v-border);
}
.v-sp-add{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:40px;}
.v-sp-qty{
    display:inline-flex;
    align-items:center;
    border:1px solid var(--v-text);
}
.v-sp-qty button{
    width:46px;height:52px;
    background:transparent;
    font-size:18px;
    color:var(--v-text);
}
.v-sp-qty input{
    width:56px;height:52px;
    text-align:center;
    border:0;
    border-left:1px solid var(--v-text);
    border-right:1px solid var(--v-text);
    background:transparent;
    font-family:var(--v-font-serif);
    font-size:18px;
    color:var(--v-text);
}
.v-sp-qty input::-webkit-outer-spin-button,
.v-sp-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.v-sp-meta{
    display:grid;
    gap:12px;
    padding-top:28px;
    border-top:1px solid var(--v-border);
    font-size:13px;
    color:var(--v-text-muted);
}
.v-sp-meta strong{color:var(--v-text);font-weight:600;}

.v-sp-tabs{
    margin-top:48px;
    border-top:1px solid var(--v-border);
    padding-top:48px;
}
.v-sp-tabs h2{
    font-size:32px;
    font-style:italic;
    font-weight:400;
    margin:0 0 20px;
    text-align:center;
}

/* WooCommerce related/upsells */
.woocommerce .related,
.woocommerce .upsells{margin-top:56px;}
.woocommerce .related > h2,
.woocommerce .upsells > h2{
    font-size:32px;
    font-style:italic;
    font-weight:400;
    text-align:center;
    margin-bottom:32px;
}

/* ==========================================================================
   Pages (about / contact / static)
   ========================================================================== */
.v-page-hero{
    background:var(--v-bg-dark);
    color:#fff;
    padding:96px 0;
    text-align:center;
}
.v-page-hero h1{
    font-size:clamp(44px,5.5vw,72px);
    font-style:italic;
    font-weight:400;
    color:#fff;
    margin:0 0 14px;
}
.v-page-hero h1 em{color:var(--v-gold);font-style:normal;}
.v-page-hero-sub{
    color:rgba(255,255,255,.7);
    max-width:620px;
    margin:0 auto;
    font-size:16px;
    line-height:1.7;
}
.v-page-content{padding:80px 0;}
.v-page-content-inner{max-width:820px;margin:0 auto;font-size:16px;line-height:1.85;color:#333;}
.v-page-content-inner h2{
    font-size:32px;
    margin:40px 0 16px;
    font-style:italic;
    font-weight:400;
}
.v-page-content-inner h2 em{color:var(--v-gold);font-style:normal;}
.v-page-content-inner h3{
    font-size:22px;
    margin:28px 0 12px;
    font-weight:500;
}
.v-page-content-inner ul{padding-left:20px;}
.v-page-content-inner li{margin-bottom:8px;}

/* Contact page */
.v-contact-grid{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:60px;
    margin-top:20px;
}
.v-contact-info h3{
    font-size:24px;
    margin-bottom:20px;
    font-style:italic;
    font-weight:400;
}
.v-contact-info h3 em{color:var(--v-gold);font-style:normal;}
.v-contact-info p{margin-bottom:14px;font-size:15px;color:var(--v-text-muted);}
.v-contact-info strong{color:var(--v-text);display:block;margin-bottom:4px;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.2em;}
.v-contact-info ul{list-style:none;padding:0;}
.v-contact-info li{margin-bottom:18px;}

.v-contact-form{
    padding:40px;
    background:var(--v-bg-soft);
    border:1px solid var(--v-border);
}
.v-contact-form h3{
    font-size:26px;
    margin-bottom:8px;
    font-style:italic;
    font-weight:400;
}
.v-contact-form h3 em{color:var(--v-gold);font-style:normal;}
.v-contact-form .v-lead{color:var(--v-text-muted);margin-bottom:28px;font-size:14px;}
.v-contact-form label{
    display:block;
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:500;
    margin-bottom:8px;
}
.v-contact-form input,
.v-contact-form textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid var(--v-border);
    background:#fff;
    font-size:14px;
    margin-bottom:18px;
    transition:border-color .2s ease;
}
.v-contact-form input:focus,
.v-contact-form textarea:focus{outline:none;border-color:var(--v-gold);}
.v-contact-form textarea{min-height:140px;resize:vertical;}
.v-contact-success{
    background:rgba(47,163,91,.08);
    border:1px solid var(--v-green);
    color:var(--v-green);
    padding:14px 18px;
    margin-bottom:20px;
    font-size:13px;
}
.v-contact-error{
    background:rgba(200,58,58,.08);
    border:1px solid var(--v-red);
    color:var(--v-red);
    padding:14px 18px;
    margin-bottom:20px;
    font-size:13px;
}

/* ==========================================================================
   404
   ========================================================================== */
.v-404{
    padding:120px 0;
    text-align:center;
}
.v-404-num{
    font-family:var(--v-font-serif);
    font-size:clamp(120px,20vw,240px);
    line-height:1;
    color:var(--v-gold);
    font-style:italic;
    margin-bottom:20px;
}
.v-404 h1{font-size:36px;font-style:italic;font-weight:400;margin-bottom:16px;}
.v-404 p{color:var(--v-text-muted);margin-bottom:32px;max-width:480px;margin-left:auto;margin-right:auto;}

/* ==========================================================================
   WooCommerce cart & checkout overrides
   ========================================================================== */
.woocommerce-cart .v-cart-wrap,
.woocommerce-checkout .v-cart-wrap{padding:48px 0 96px;}
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-cart .wc-block-cart__main-title,
.woocommerce-cart-form,
.woocommerce form.checkout{font-family:inherit;}

.woocommerce-cart h1,
.woocommerce-checkout h1{
    font-size:clamp(36px,4.5vw,56px);
    font-style:italic;
    font-weight:400;
    margin:0 0 32px;
}

/* cart table */
.woocommerce table.shop_table{
    border:1px solid var(--v-border);
    border-collapse:collapse;
    background:#fff;
    font-size:14px;
}
.woocommerce table.shop_table th{
    font-family:var(--v-font-sans);
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:600;
    background:var(--v-bg-soft);
    padding:16px;
    border-bottom:1px solid var(--v-border);
    color:var(--v-text);
}
.woocommerce table.shop_table td{
    padding:16px;
    border-top:1px solid var(--v-border);
    color:var(--v-text);
    vertical-align:middle;
}
.woocommerce table.shop_table img{width:64px;height:auto;}

.woocommerce .cart-collaterals{
    margin-top:32px;
    display:flex;
    justify-content:flex-end;
}
.woocommerce .cart_totals{
    width:100%;
    max-width:420px;
    padding:32px;
    background:var(--v-bg-soft);
    border:1px solid var(--v-border);
}
.woocommerce .cart_totals h2{
    font-size:24px;
    font-style:italic;
    font-weight:400;
    margin:0 0 20px;
}

/* Woo buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce #place_order{
    background:var(--v-text);
    color:#fff;
    border:1px solid var(--v-text);
    padding:15px 28px;
    font-family:var(--v-font-sans);
    font-size:12px;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
    transition:all .25s ease;
    cursor:pointer;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
    background:var(--v-gold);
    border-color:var(--v-gold);
    color:#fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--v-gold-dark);border-color:var(--v-gold-dark);}

/* quantity inputs in cart */
.woocommerce .quantity input.qty{
    width:60px;
    padding:10px;
    border:1px solid var(--v-border);
    text-align:center;
    background:#fff;
}

/* Forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
    padding:12px 14px;
    border:1px solid var(--v-border);
    background:#fff;
    font-size:14px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--v-gold);}
.woocommerce form .form-row label{
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:500;
    margin-bottom:6px;
    display:block;
}

/* Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
    padding:14px 18px;
    background:var(--v-bg-soft);
    border-left:3px solid var(--v-gold);
    font-size:13px;
    color:var(--v-text);
    margin-bottom:24px;
}
.woocommerce-error{border-left-color:var(--v-red);color:var(--v-red);}
.woocommerce-message{border-left-color:var(--v-green);color:var(--v-green);}

/* Checkout layout */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{margin-bottom:28px;}

/* ==========================================================================
   Pagination
   ========================================================================== */
.woocommerce nav.woocommerce-pagination ul,
.v-pagination{
    display:flex;
    justify-content:center;
    gap:4px;
    list-style:none;
    padding:0;
    margin:48px 0 0;
    border:0;
}
.woocommerce nav.woocommerce-pagination ul li{border:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
    min-width:42px;height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:1px solid var(--v-border);
    background:#fff;
    font-size:13px;
    font-weight:500;
    color:var(--v-text);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
    background:var(--v-text);
    color:#fff;
    border-color:var(--v-text);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
    .v-wrap{padding:0 24px;}
    .v-section{padding:80px 0;}
    .v-products-grid{grid-template-columns:repeat(3,1fr);gap:24px;}
    .v-advantages{grid-template-columns:repeat(2,1fr);}
    .v-tutorials{grid-template-columns:repeat(2,1fr);}
    .v-reviews-grid{grid-template-columns:repeat(2,1fr);}
    .v-brand{grid-template-columns:1fr;gap:48px;}
    .v-footer-cols{grid-template-columns:1fr 1fr;gap:40px;}
    .v-features-strip-inner{grid-template-columns:repeat(2,1fr);gap:28px;}
    .v-feat-item{border-right:0;padding:12px 0;border-bottom:1px solid var(--v-border);}
    .v-feat-item:nth-last-child(-n+2){border-bottom:0;}
    .v-sp-layout{grid-template-columns:1fr;gap:40px;}
    .v-contact-grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:900px){
    .v-nav,.v-nav-left,.v-nav-right,.v-nav-group{display:none !important;}
    .v-hamburger{display:inline-flex;}
    .v-header-inner{display:grid !important;grid-template-columns:auto 1fr auto;gap:12px;padding:16px 0;position:static}
    .v-hamburger{grid-column:1;justify-self:start;}
    .v-logo{grid-column:2;justify-self:center;}
    .v-header-actions{position:static !important;transform:none !important;grid-column:3;justify-self:end;gap:12px;}
    .v-header-actions .v-action-label{display:none;}
    .v-topbar-left .v-topbar-hide-mobile{display:none;}
}
@media (max-width:768px){
    .v-section{padding:64px 0;}
    .v-wrap{padding:0 16px;}
    .v-hero{padding:72px 0 64px;}
    .v-products-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
    .v-advantages{grid-template-columns:1fr;}
    .v-adv-card{padding:36px 24px;}
    .v-features{grid-template-columns:1fr;gap:24px;}
    .v-feature{padding:24px 16px;}
    .v-tutorials{grid-template-columns:1fr;gap:20px;}
    .v-reviews-grid{grid-template-columns:1fr;gap:20px;}
    .v-review-form-wrap{padding:32px 22px;}
    .v-review-form .v-row{grid-template-columns:1fr;gap:18px;}
    .v-brand-stats{grid-template-columns:1fr;padding:28px;gap:24px;}
    .v-footer-cols{grid-template-columns:1fr;gap:36px;padding-bottom:48px;}
    .v-footer{padding:64px 0 0;}
    .v-features-strip-inner{grid-template-columns:1fr;}
    .v-feat-item:nth-last-child(-n+2){border-bottom:1px solid var(--v-border);}
    .v-feat-item:last-child{border-bottom:0;}
    .v-topbar-left{gap:14px;}
    .v-topbar{font-size:10px;}
    .v-cat-item{min-width:170px;padding:28px 22px;}
    .v-cat-item-name{font-size:17px;}
    .v-product-body{padding:18px 14px 18px;}
    .v-product-name{font-size:18px;}
    .v-product-price{font-size:20px;}
    .v-product-cart-btn{width:38px;height:38px;font-size:16px;}
    .v-filter-toolbar{padding:22px 0 16px;margin-bottom:32px;}
    .v-filter-pill{padding:10px 16px;font-size:10px;}
    .v-page-hero{padding:64px 0;}
    .v-page-content{padding:48px 0;}
    .v-section-head{margin-bottom:40px;}
    .v-contact-form{padding:28px 22px;}
    .v-brand-text h2{font-size:28px;}
    .v-hero-title{letter-spacing:.06em;padding-left:.06em;}
    .v-logo-word{font-size:28px;letter-spacing:.26em;padding-left:.26em;}
    .v-logo-tag{font-size:10px;}
}
@media (max-width:420px){
    .v-hero{padding:56px 0 52px;}
    .v-hero-cta{flex-direction:column;width:100%;}
    .v-hero-cta .v-btn{width:100%;}
    .v-products-grid{grid-template-columns:1fr;gap:16px;}
    .v-section{padding:52px 0;}
    .v-adv-num{font-size:40px;margin-bottom:20px;}
    .v-adv-title{font-size:20px;}
    .v-sp-price{font-size:30px;}
    .v-sp-add{gap:10px;}
    .v-btn{padding:14px 24px;font-size:11px;letter-spacing:.18em;}
    .v-hero-title{font-size:64px;}
    .v-logo-word{font-size:24px;}
}

/* Utility */
.v-hidden{display:none !important;}
.v-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ==========================================================================
   VELUM FORMS - shared (B2B, contact)
   ========================================================================== */
.v-form{
    max-width:720px;
    margin:0 auto;
    background:#fff;
    border:1px solid var(--v-text);
    padding:36px 40px;
}
.v-form-row{margin:0 0 20px}
.v-form-row-group{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin:0 0 20px;
}
.v-form-row-group .v-form-row{margin:0}
.v-form label{
    display:block;
    font-family:var(--v-font-sans);
    font-size:12px;
    font-weight:500;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--v-text);
    margin-bottom:6px;
}
.v-form-hint{
    color:var(--v-text-muted);
    text-transform:none;
    font-weight:400;
    letter-spacing:0;
    font-size:11px;
}
.v-req{color:var(--v-gold);font-weight:600;margin-left:2px}
.v-form input[type="text"],
.v-form input[type="email"],
.v-form input[type="tel"],
.v-form input[type="number"],
.v-form select,
.v-form textarea{
    width:100%;
    padding:13px 14px;
    border:1px solid var(--v-text);
    background:#fff;
    font-family:var(--v-font-sans);
    font-size:14px;
    color:var(--v-text);
    line-height:1.4;
    transition:border-color .2s ease;
    -webkit-appearance:none;
    appearance:none;
}
.v-form select{
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230a0a0a' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    padding-right:36px;
}
.v-form input:focus,
.v-form select:focus,
.v-form textarea:focus{
    outline:0;
    border-color:var(--v-gold);
}
.v-form textarea{resize:vertical;min-height:140px}
.v-form-consent{
    margin:8px 0 24px;
    font-size:13px;
    color:var(--v-text-muted);
    line-height:1.6;
}
.v-form-consent label{
    display:flex;
    gap:10px;
    align-items:flex-start;
    text-transform:none;
    letter-spacing:0;
    font-weight:400;
    font-size:13px;
    color:var(--v-text-muted);
}
.v-form-consent input[type="checkbox"]{
    flex-shrink:0;
    margin-top:3px;
    width:16px;
    height:16px;
    accent-color:var(--v-gold);
}
.v-form-consent a{color:var(--v-gold);text-decoration:underline}
.v-form-submit{
    display:flex;
    gap:16px;
    align-items:center;
    flex-wrap:wrap;
}
.v-form-submit-note{
    font-size:12px;
    color:var(--v-text-muted);
    letter-spacing:0.03em;
}
.v-form-notice{
    max-width:720px;
    margin:0 auto 24px;
    padding:18px 22px;
    font-family:var(--v-font-sans);
    font-size:14px;
    line-height:1.6;
    border-left:3px solid var(--v-gold);
    background:#fafafa;
}
.v-form-notice-success{border-left-color:#2d7a4f;background:#f0f9f3}
.v-form-notice-error{border-left-color:#b00020;background:#fdf2f2}
.v-form-notice strong{color:var(--v-text);display:inline-block;margin-bottom:4px}

.v-wspolprace-form-section{padding:80px 0;background:#fafafa;border-top:1px solid var(--v-border)}

.v-contact-redirect{
    margin-top:28px;
    padding:16px 20px;
    border:1px solid var(--v-gold);
    display:inline-flex;
    gap:16px;
    align-items:center;
    flex-wrap:wrap;
    background:#fff;
    font-size:13px;
    color:var(--v-text-muted);
}
.v-btn-small{padding:8px 16px;font-size:11px}

/* ==========================================================================
   WOOCOMMERCE - LOGIN / REGISTER / MY ACCOUNT
   ========================================================================== */
.woocommerce-account .woocommerce,
.woocommerce-page .woocommerce{
    max-width:1100px;
    margin:0 auto;
    padding:40px 24px 80px;
}
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword{
    background:#fff;
    border:1px solid var(--v-text);
    padding:36px 40px;
    max-width:520px;
    margin:0 auto 40px;
}
.u-columns.col2-set{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    max-width:1100px;
    margin:0 auto;
}
.u-columns.col2-set > .col-1,
.u-columns.col2-set > .col-2{
    width:auto !important;
    float:none !important;
}
.woocommerce h2,
.woocommerce-account h2{
    font-family:var(--v-font-serif) !important;
    font-size:28px !important;
    font-weight:500 !important;
    margin:0 0 20px !important;
    padding-bottom:12px !important;
    border-bottom:1px solid var(--v-border);
}
.woocommerce-form-row label,
.woocommerce form .form-row label{
    display:block !important;
    font-family:var(--v-font-sans) !important;
    font-size:12px !important;
    font-weight:500 !important;
    letter-spacing:0.08em !important;
    text-transform:uppercase !important;
    color:var(--v-text) !important;
    margin-bottom:6px !important;
}
.woocommerce-form-row input.input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
    width:100% !important;
    padding:13px 14px !important;
    border:1px solid var(--v-text) !important;
    background:#fff !important;
    font-family:var(--v-font-sans) !important;
    font-size:14px !important;
    color:var(--v-text) !important;
    line-height:1.4 !important;
    -webkit-appearance:none !important;
    appearance:none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{
    outline:0 !important;
    border-color:var(--v-gold) !important;
}
.woocommerce form .form-row .required{color:var(--v-gold) !important;text-decoration:none}
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p{
    font-size:12px !important;
    color:var(--v-text-muted) !important;
    line-height:1.6 !important;
    margin:12px 0 16px !important;
}
.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox{
    display:flex !important;
    gap:8px !important;
    align-items:center !important;
    font-size:13px !important;
    color:var(--v-text-muted) !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    cursor:pointer;
    margin:10px 0 !important;
}
.woocommerce-form-login__rememberme input,
.woocommerce-form__input-checkbox{
    width:16px !important;
    height:16px !important;
    accent-color:var(--v-gold);
}
.woocommerce-form-login__submit,
.woocommerce-form-register__submit{
    background:var(--v-gold) !important;
    color:#fff !important;
    padding:13px 28px !important;
    font-family:var(--v-font-sans) !important;
    font-size:12px !important;
    font-weight:500 !important;
    letter-spacing:0.15em !important;
    text-transform:uppercase !important;
    border:0 !important;
    cursor:pointer;
    transition:background .2s ease;
}
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover{
    background:var(--v-text) !important;
}
.woocommerce-LostPassword a,
.lost_password a{
    color:var(--v-gold) !important;
    font-size:12px !important;
    letter-spacing:0.05em !important;
    text-decoration:none;
    margin-left:14px;
}
.woocommerce-LostPassword a:hover{text-decoration:underline}

/* My Account navigation */
.woocommerce-MyAccount-navigation{
    margin:0 0 24px;
}
.woocommerce-MyAccount-navigation ul{
    list-style:none;
    padding:0;
    margin:0;
    border:1px solid var(--v-border);
}
.woocommerce-MyAccount-navigation ul li{
    border-bottom:1px solid var(--v-border);
}
.woocommerce-MyAccount-navigation ul li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation ul li a{
    display:block;
    padding:14px 18px;
    font-family:var(--v-font-sans);
    font-size:12px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--v-text);
    text-decoration:none;
    transition:all .15s ease;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover{
    background:var(--v-text);
    color:#fff;
}
.woocommerce-MyAccount-content{
    background:#fff;
    border:1px solid var(--v-border);
    padding:30px 34px;
    min-width:0; /* critical: allow grid child to shrink below content width */
    width:auto;
}

/* =====================================================================
   My Account layout grid - belt-and-suspenders: applies whether WC set
   body class correctly or not. `minmax(0, 1fr)` prevents the content
   column from collapsing to the width of its inline content.
   ===================================================================== */
.v-wc-account-wrap{
    max-width:1200px;
    margin:0 auto;
}
.v-wc-account-wrap .woocommerce,
.woocommerce-account .woocommerce,
.page-template-page-moje-konto .woocommerce{
    display:block; /* default: mobile */
    width:100%;
    max-width:1200px;
    margin:0 auto;
}
.v-wc-account-wrap .woocommerce::before,
.v-wc-account-wrap .woocommerce::after{content:none;display:none}

.woocommerce-MyAccount-navigation{
    margin:0 0 24px;
    width:100%;
}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--v-border)}

@media (min-width:900px){
    .v-wc-account-wrap .woocommerce,
    .woocommerce-account .woocommerce,
    .page-template-page-moje-konto .woocommerce{
        display:grid !important;
        grid-template-columns:260px minmax(0, 1fr) !important;
        gap:32px !important;
        align-items:start !important;
        float:none !important;
    }
    .woocommerce-account .woocommerce-notices-wrapper,
    .v-wc-account-wrap .woocommerce-notices-wrapper{grid-column:1 / -1}

    .woocommerce-MyAccount-navigation{
        grid-column:1;
        margin:0;
        float:none !important;
        width:auto !important;
    }
    .woocommerce-MyAccount-content{
        grid-column:2;
        float:none !important;
        width:auto !important;
        max-width:none !important;
    }
}

/* ==========================================================================
   WOOCOMMERCE - CART
   ========================================================================== */
.woocommerce-cart .woocommerce{
    max-width:1200px;
    margin:0 auto;
    padding:40px 24px 80px;
}
.woocommerce-cart table.shop_table{
    border:0 !important;
    border-top:1px solid var(--v-text) !important;
    border-bottom:1px solid var(--v-text) !important;
    width:100% !important;
    background:#fff !important;
    border-collapse:collapse;
    margin-bottom:30px;
}
.woocommerce-cart table.shop_table thead th{
    background:#fff !important;
    color:var(--v-text) !important;
    font-family:var(--v-font-sans) !important;
    font-size:11px !important;
    font-weight:500 !important;
    letter-spacing:0.12em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid var(--v-border) !important;
    padding:16px 12px !important;
    text-align:left !important;
}
.woocommerce-cart table.shop_table tbody td{
    background:#fff !important;
    border-top:1px solid var(--v-border) !important;
    padding:20px 12px !important;
    font-family:var(--v-font-sans) !important;
    font-size:14px !important;
    color:var(--v-text) !important;
    vertical-align:middle !important;
}
.woocommerce-cart table.shop_table tbody td.product-thumbnail{width:110px;padding:16px !important;background:var(--v-bg-dark) !important}
.woocommerce-cart table.shop_table tbody td.product-thumbnail img{
    width:80px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto;
}
.woocommerce-cart table.shop_table tbody td.product-name a{
    color:var(--v-text) !important;
    text-decoration:none !important;
    font-family:var(--v-font-serif) !important;
    font-size:18px !important;
    font-weight:500 !important;
}
.woocommerce-cart table.shop_table tbody td.product-name a:hover{color:var(--v-gold) !important}
.woocommerce-cart table.shop_table tbody td.product-price,
.woocommerce-cart table.shop_table tbody td.product-subtotal{
    font-family:var(--v-font-serif) !important;
    font-size:18px !important;
    font-weight:500 !important;
    color:var(--v-text) !important;
    white-space:nowrap;
}
.woocommerce-cart .quantity{display:inline-flex;align-items:center}
.woocommerce-cart .quantity input.qty{
    width:64px !important;
    padding:10px 8px !important;
    border:1px solid var(--v-text) !important;
    text-align:center !important;
    font-family:var(--v-font-sans) !important;
    font-size:14px;
    background:#fff !important;
    -webkit-appearance:none;
    appearance:none;
}
.woocommerce-cart .product-remove a.remove,
.woocommerce a.remove{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:30px !important;
    height:30px !important;
    background:#fff !important;
    border:1px solid var(--v-border) !important;
    color:var(--v-text-muted) !important;
    font-size:18px !important;
    text-decoration:none !important;
    transition:all .15s ease;
}
.woocommerce-cart .product-remove a.remove:hover,
.woocommerce a.remove:hover{
    background:#b00020 !important;
    border-color:#b00020 !important;
    color:#fff !important;
}

/* Cart actions row: coupon + update */
.woocommerce-cart table.cart td.actions{
    padding:20px 0 !important;
    background:#fff !important;
    border-top:1px solid var(--v-border) !important;
}
.woocommerce-cart .coupon{
    display:inline-flex;
    gap:8px;
    align-items:center;
    margin-right:16px;
}
.woocommerce-cart .coupon input[name="coupon_code"]{
    padding:12px 14px !important;
    border:1px solid var(--v-text) !important;
    background:#fff !important;
    font-family:var(--v-font-sans) !important;
    min-width:200px;
    height:44px;
}
.woocommerce button.button,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .cart-collaterals .checkout-button{
    background:var(--v-gold) !important;
    color:#fff !important;
    border:0 !important;
    padding:14px 28px !important;
    font-family:var(--v-font-sans) !important;
    font-size:12px !important;
    font-weight:500 !important;
    letter-spacing:0.15em !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    height:auto !important;
    transition:background .2s ease !important;
}
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .cart-collaterals .checkout-button:hover{
    background:var(--v-text) !important;
    color:#fff !important;
}
.woocommerce a.button:not(.alt),
.woocommerce button.button:not(.alt):not(.checkout-button),
.woocommerce input.button:not(.alt){
    background:#fff !important;
    color:var(--v-text) !important;
    border:1px solid var(--v-text) !important;
}
.woocommerce a.button:not(.alt):hover,
.woocommerce button.button:not(.alt):hover,
.woocommerce input.button:not(.alt):hover{
    background:var(--v-text) !important;
    color:#fff !important;
}

/* Cart totals */
.cart-collaterals{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    margin-top:40px;
}
.cart-collaterals .cross-sells{display:none !important}
.cart_totals{
    grid-column:2;
    background:#fff;
    border:1px solid var(--v-text);
    padding:30px 34px;
}
.cart_totals h2{
    font-family:var(--v-font-serif) !important;
    font-size:26px !important;
    font-weight:500 !important;
    margin:0 0 20px !important;
    padding-bottom:12px !important;
    border-bottom:1px solid var(--v-border);
}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals table th,
.cart_totals table td{
    padding:14px 0 !important;
    border-bottom:1px solid var(--v-border) !important;
    font-family:var(--v-font-sans) !important;
    font-size:14px !important;
    color:var(--v-text) !important;
}
.cart_totals table th{
    font-size:11px !important;
    font-weight:500 !important;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--v-text-muted) !important;
    text-align:left;
    width:40%;
}
.cart_totals .order-total{
    font-size:16px !important;
}
.cart_totals .order-total .amount{
    font-family:var(--v-font-serif) !important;
    font-size:26px !important;
    color:var(--v-gold) !important;
    font-weight:500;
}
.cart_totals .wc-proceed-to-checkout{padding:20px 0 0 !important;margin:0 !important}
.cart_totals .wc-proceed-to-checkout .checkout-button{
    width:100%;
    display:block;
    text-align:center;
}

.cart-empty{
    text-align:center;
    padding:60px 24px !important;
    font-family:var(--v-font-serif) !important;
    font-size:22px !important;
    color:var(--v-text-muted);
    border:1px solid var(--v-border);
    background:#fafafa;
    margin:0 auto 30px;
    max-width:600px;
}
.return-to-shop{text-align:center}

/* Mobile cart */
@media (max-width:768px){
    .v-form-row-group{grid-template-columns:1fr;gap:0}
    .v-form{padding:24px}
    .cart-collaterals{grid-template-columns:1fr}
    .cart_totals{grid-column:1}
    .u-columns.col2-set{grid-template-columns:1fr}
    .woocommerce-cart table.shop_table thead{display:none}
    .woocommerce-cart table.shop_table tbody tr{
        display:block;
        border-bottom:1px solid var(--v-border);
        padding:16px 0;
    }
    .woocommerce-cart table.shop_table tbody td{
        display:flex;
        justify-content:space-between;
        align-items:center;
        border:0 !important;
        padding:8px 0 !important;
    }
    .woocommerce-cart table.shop_table tbody td::before{
        content:attr(data-title);
        font-weight:500;
        font-size:11px;
        letter-spacing:0.08em;
        text-transform:uppercase;
        color:var(--v-text-muted);
    }
    .woocommerce-cart table.shop_table tbody td.product-thumbnail{
        padding:16px !important;
        justify-content:center;
    }
    .woocommerce-cart table.shop_table tbody td.product-thumbnail::before{display:none}
    .woocommerce-cart .coupon{
        display:flex;
        flex-direction:column;
        gap:8px;
        align-items:stretch;
        margin:0 0 16px;
    }
    .woocommerce-cart .coupon input[name="coupon_code"]{min-width:0;width:100%}
}

/* Account fallback grid (when WC shortcode returns empty) */
.v-account-fallback-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    max-width:1000px;
    margin:0 auto;
}
.v-account-fallback .v-form h2{
    font-size:22px;
    font-weight:500;
    padding-bottom:12px;
    border-bottom:1px solid var(--v-border);
}
#velum-loginform p{margin:0 0 16px}
#velum-loginform label{display:block;margin-bottom:6px;font-family:var(--v-font-sans);font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--v-text)}
#velum-loginform input[type="text"],
#velum-loginform input[type="password"]{
    width:100%;
    padding:13px 14px;
    border:1px solid var(--v-text);
    background:#fff;
    font-family:var(--v-font-sans);
    font-size:14px;
    color:var(--v-text);
    -webkit-appearance:none;
    appearance:none;
}
#velum-loginform .login-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--v-text-muted);text-transform:none;letter-spacing:0;font-weight:400}
#velum-loginform .login-remember input{width:16px;height:16px;accent-color:var(--v-gold)}
#velum-loginform .login-submit input[type="submit"]{
    background:var(--v-gold);
    color:#fff;
    padding:13px 28px;
    font-family:var(--v-font-sans);
    font-size:12px;
    font-weight:500;
    letter-spacing:0.15em;
    text-transform:uppercase;
    border:0;
    cursor:pointer;
    transition:background .2s ease;
}
#velum-loginform .login-submit input[type="submit"]:hover{background:var(--v-text)}
@media (max-width:768px){
    .v-account-fallback-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   BOXY MARKI - subcategory tiles
   ========================================================================== */
.v-boxes-subcats{padding:60px 0 40px;background:#fafafa}
.v-subcats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:20px;
}
.v-subcat-tile{
    display:block;
    background:#fff;
    border:1px solid var(--v-border);
    text-decoration:none;
    transition:border-color .2s ease, transform .2s ease;
}
.v-subcat-tile:hover{
    border-color:var(--v-gold);
    transform:translateY(-2px);
}
.v-subcat-tile-img{
    background:var(--v-bg-dark);
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.v-subcat-tile-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.v-subcat-tile-placeholder{
    font-family:var(--v-font-serif);
    font-size:64px;
    color:var(--v-gold);
    letter-spacing:0.1em;
}
.v-subcat-tile-body{padding:18px 20px}
.v-subcat-tile-name{
    font-family:var(--v-font-serif);
    font-size:20px;
    font-weight:500;
    color:var(--v-text);
    margin:0 0 6px;
}
.v-subcat-tile-desc{
    font-size:13px;
    color:var(--v-text-muted);
    line-height:1.6;
    margin:0 0 12px;
}
.v-subcat-tile-count{
    display:inline-block;
    font-size:11px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    color:var(--v-gold);
    font-weight:500;
}
@media (max-width:1000px){ .v-subcats-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:500px){  .v-subcats-grid{grid-template-columns:1fr} }

.v-cta-section{padding:70px 0;background:#fafafa;border-top:1px solid var(--v-border)}
.v-products-empty{max-width:600px;margin:0 auto;padding:40px 20px}

/* Hide action labels on medium screens so they don't crowd the right nav */
@media (max-width: 1200px){
    .v-header-actions .v-action-label{display:none;}
}

/* ==========================================================================
   AUTH FORMS - inline field validation errors
   ========================================================================== */
.v-form input[type="text"].v-field-error,
.v-form input[type="email"].v-field-error,
.v-form input[type="password"].v-field-error,
#velum-loginform input.v-field-error,
.velum-register-form input.v-field-error {
    border-color: #b00020 !important;
    box-shadow: 0 0 0 3px rgba(176, 0, 32, 0.08);
    background: #fdfafa;
}

.v-field-error-msg {
    color: #b00020;
    font-size: 12px;
    margin-top: 6px;
    line-height: 1.5;
    font-family: var(--v-font-sans, "Space Grotesk", system-ui, sans-serif);
    display: block;
}

.v-field-error-msg::before {
    content: "⚠ ";
    font-weight: 600;
}
