.vtts-store {
    --vtts-red: #d71920;
    --vtts-red-dark: #8f0d14;
    --vtts-burgundy: #370408;
    --vtts-navy: #0d1d42;
    --vtts-gold: #e2ad19;
    --vtts-gold-light: #ffd55a;
    --vtts-ink: #111827;
    --vtts-muted: #5b6578;
    --vtts-line: #e7e9ef;
    --vtts-soft: #f7f8fb;
    --vtts-white: #fff;
    --vtts-green: #16884d;
    --vtts-shadow: 0 20px 60px rgba(14, 24, 52, .12);
    --vtts-radius: 24px;
    width: 100%;
    overflow: clip;
    background: #fff;
    color: var(--vtts-ink);
    font-family: inherit;
    isolation: isolate;
}

.vtts-store *, .vtts-store *::before, .vtts-store *::after { box-sizing: border-box; }
.vtts-store a { text-decoration: none; }
.vtts-store button, .vtts-store input, .vtts-store select { font: inherit; }
.vtts-store svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.vtts-container { width: min(1380px, calc(100% - 48px)); margin: 0 auto; }

/* Hero: store-specific selectors prevent theme/UI colour inheritance. */
.vtts-hero {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    padding: 116px 0 92px;
    background:
        radial-gradient(circle at 86% 30%, rgba(226, 173, 25, .34), transparent 28%),
        radial-gradient(circle at 14% 80%, rgba(215, 25, 32, .22), transparent 34%),
        linear-gradient(128deg, #110205 0%, #350408 48%, #741117 100%);
    color: #fff;
}
.vtts-hero::after { content:""; position:absolute; inset:0; opacity:.18; pointer-events:none; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, #000, transparent 82%); }
.vtts-hero__glow { position:absolute; border-radius:50%; filter:blur(8px); pointer-events:none; }
.vtts-hero__glow--one { width:380px; height:380px; right:8%; top:10%; background:rgba(255,202,58,.16); }
.vtts-hero__glow--two { width:280px; height:280px; left:-80px; bottom:-100px; background:rgba(215,25,32,.24); }
.vtts-hero__grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); gap:78px; align-items:center; }
.vtts-hero__copy { max-width:760px; }
.vtts-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:#fff0f1; color:var(--vtts-red); font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.vtts-eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px rgba(215,25,32,.1); }
.vtts-eyebrow--light { border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1); color:#fff; backdrop-filter:blur(12px); }
.vtts-eyebrow--light::before { background:var(--vtts-gold-light); box-shadow:0 0 0 5px rgba(255,213,90,.12); }
.vtts-hero .vtts-hero__copy h1 { max-width:760px; margin:22px 0 22px !important; color:#fff !important; font-family:inherit; font-size:clamp(52px,6vw,92px) !important; font-weight:950 !important; letter-spacing:-.065em !important; line-height:.94 !important; text-shadow:0 10px 36px rgba(0,0,0,.2); }
.vtts-hero .vtts-hero__copy h1 span { display:inline; color:var(--vtts-gold-light) !important; background:linear-gradient(100deg,#ffd85c,#ffb300); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.vtts-hero .vtts-hero__copy > p { max-width:680px; margin:0 !important; color:rgba(255,255,255,.82) !important; font-size:clamp(17px,1.35vw,21px) !important; line-height:1.65 !important; }
.vtts-hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.vtts-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:9px; padding:0 20px; border:1px solid transparent; border-radius:12px; font-size:14px; font-weight:900; line-height:1; text-align:center; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.vtts-button:hover, .vtts-button:focus-visible { transform:translateY(-2px); }
.vtts-button--gold { background:linear-gradient(135deg,#ffd45c,#e4a900); color:#201300 !important; box-shadow:0 18px 38px rgba(226,173,25,.22); }
.vtts-button--outline-light { border-color:rgba(255,255,255,.48); background:rgba(255,255,255,.06); color:#fff !important; backdrop-filter:blur(10px); }
.vtts-button--outline-light:hover { background:#fff; color:var(--vtts-navy) !important; }
.vtts-button--outline-light .vtts-cart-count { display:inline-grid; min-width:24px; height:24px; place-items:center; border-radius:999px; background:#fff; color:var(--vtts-red); font-size:11px; }
.vtts-hero__trust { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px; color:rgba(255,255,255,.82); font-size:12px; font-weight:750; }
.vtts-hero__trust span { display:inline-flex; align-items:center; gap:8px; }
.vtts-hero__trust i { width:7px; height:7px; border-radius:50%; background:var(--vtts-gold-light); box-shadow:0 0 0 4px rgba(255,213,90,.12); }
.vtts-hero__visual { min-width:0; }
.vtts-hero__visual-card { position:relative; min-height:440px; display:grid; place-items:center; overflow:visible; border:1px solid rgba(255,255,255,.2); border-radius:42px; background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.06)); box-shadow:0 36px 100px rgba(0,0,0,.3); backdrop-filter:blur(24px); }
.vtts-hero__visual-card::before { content:""; position:absolute; inset:22px; border:1px solid rgba(255,255,255,.13); border-radius:30px; background:radial-gradient(circle at 50% 50%,rgba(255,216,92,.18),transparent 56%); }
.vtts-hero__image { position:relative; z-index:2; width:min(84%,520px); max-height:390px; object-fit:contain; filter:drop-shadow(0 28px 32px rgba(0,0,0,.32)); }
.vtts-hero__float { position:absolute; z-index:4; min-width:190px; padding:15px 18px; border:1px solid rgba(255,255,255,.34); border-radius:17px; background:rgba(255,255,255,.9); color:var(--vtts-navy); box-shadow:0 18px 46px rgba(0,0,0,.2); backdrop-filter:blur(15px); }
.vtts-hero__float small { display:block; margin-bottom:4px; color:#6a7285; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.vtts-hero__float strong { color:var(--vtts-navy); font-size:14px; }
.vtts-hero__float--top { top:30px; right:-28px; }
.vtts-hero__float--bottom { bottom:34px; left:-32px; }
.vtts-fallback-art { position:relative; z-index:2; width:330px; height:330px; }
.vtts-fallback-art__ring { position:absolute; inset:18px; border:1px solid rgba(255,255,255,.24); border-radius:50%; box-shadow:inset 0 0 0 28px rgba(255,255,255,.035),0 0 80px rgba(255,201,56,.15); }
.vtts-fallback-art__bag { position:absolute; left:38px; bottom:45px; width:126px; height:150px; border-radius:22px 22px 30px 30px; background:linear-gradient(145deg,#f7f7f7,#d8dce6); box-shadow:0 24px 36px rgba(0,0,0,.23); transform:rotate(-8deg); }
.vtts-fallback-art__bag::before { content:""; position:absolute; width:58px; height:28px; left:34px; top:-18px; border:8px solid #dfe2e8; border-bottom:0; border-radius:28px 28px 0 0; }
.vtts-fallback-art__bag span { position:absolute; inset:0; display:grid; place-items:center; color:var(--vtts-red); font-family:Georgia,serif; font-size:58px; font-weight:900; }
.vtts-fallback-art__shirt { position:absolute; top:45px; right:25px; width:170px; height:180px; clip-path:polygon(23% 0,40% 8%,60% 8%,77% 0,100% 20%,84% 42%,76% 34%,76% 100%,24% 100%,24% 34%,16% 42%,0 20%); background:linear-gradient(145deg,#111d3c,#060a16); filter:drop-shadow(0 26px 30px rgba(0,0,0,.28)); }
.vtts-fallback-art__shirt i { position:absolute; inset:0; display:grid; place-items:center; color:#e8b31e; font-family:Georgia,serif; font-size:70px; font-style:normal; font-weight:900; }
.vtts-fallback-art__medal { position:absolute; right:38px; bottom:18px; width:100px; height:100px; display:grid; place-items:center; border:9px solid #f2bf28; border-radius:50%; background:linear-gradient(145deg,#a40d14,#e31c27); color:#fff; box-shadow:0 22px 32px rgba(0,0,0,.28); }
.vtts-fallback-art__medal::before,.vtts-fallback-art__medal::after { content:""; position:absolute; width:28px; height:90px; top:-80px; background:#101e42; z-index:-1; }
.vtts-fallback-art__medal::before { left:14px; transform:rotate(-17deg); }
.vtts-fallback-art__medal::after { right:14px; transform:rotate(17deg); }
.vtts-fallback-art__medal b { font-family:Georgia,serif; font-size:42px; }

/* Sections */
.vtts-category-section { padding:82px 0 52px; background:#fff; }
.vtts-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.vtts-section-heading--compact { margin-bottom:24px; }
.vtts-section-heading h2 { margin:10px 0 0 !important; color:var(--vtts-ink) !important; font-size:clamp(36px,4vw,58px) !important; font-weight:950 !important; letter-spacing:-.055em !important; line-height:1 !important; }
.vtts-section-heading p { max-width:680px; margin:14px 0 0 !important; color:var(--vtts-muted) !important; font-size:16px !important; line-height:1.65 !important; }
.vtts-text-link { flex:0 0 auto; color:var(--vtts-navy) !important; font-size:13px; font-weight:900; }
.vtts-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.vtts-category-card { width:100%; display:grid; grid-template-columns:86px minmax(0,1fr) auto; gap:16px; align-items:center; padding:12px; border:1px solid var(--vtts-line); border-radius:20px; background:#fff; color:var(--vtts-ink); text-align:left; cursor:pointer; box-shadow:0 10px 28px rgba(14,24,52,.06); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.vtts-category-card:hover,.vtts-category-card:focus-visible { transform:translateY(-4px); border-color:rgba(215,25,32,.34); box-shadow:var(--vtts-shadow); }
.vtts-category-card__media { width:86px; height:76px; display:grid; place-items:center; overflow:hidden; border-radius:14px; background:center/cover no-repeat linear-gradient(145deg,#f0f2f7,#fff); color:var(--vtts-red); }
.vtts-category-card__media svg { width:44px; height:44px; stroke-width:1.5; }
.vtts-category-card strong { display:block; color:var(--vtts-ink); font-size:15px; line-height:1.25; }
.vtts-category-card small { display:block; margin-top:5px; color:var(--vtts-muted); font-size:11px; }
.vtts-category-card > i { color:var(--vtts-red); font-style:normal; font-weight:900; }
.vtts-catalog-section { padding:68px 0 90px; background:linear-gradient(180deg,#fafbfc,#fff); }
.vtts-catalog-shortcuts { display:flex; gap:10px; }
.vtts-saved-button,.vtts-cart-shortcut { min-height:46px; display:inline-flex; align-items:center; gap:9px; padding:0 14px; border:1px solid var(--vtts-line); border-radius:12px; background:#fff; color:var(--vtts-navy) !important; font-size:12px; font-weight:850; cursor:pointer; box-shadow:0 8px 20px rgba(14,24,52,.05); }
.vtts-saved-button svg,.vtts-cart-shortcut svg { width:18px; height:18px; }
.vtts-saved-button b,.vtts-cart-shortcut b { display:inline-grid; min-width:22px; height:22px; place-items:center; border-radius:999px; background:#f3f4f7; color:var(--vtts-red); font-size:10px; }
.vtts-saved-button[aria-pressed="true"] { border-color:rgba(215,25,32,.28); background:#fff2f3; color:var(--vtts-red); }

/* Filters */
.vtts-filters { display:grid; grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(145px,.8fr)) minmax(170px,1fr) auto; gap:12px; align-items:end; margin:0 0 28px; padding:18px; border:1px solid var(--vtts-line); border-radius:20px; background:#fff; box-shadow:0 16px 42px rgba(14,24,52,.07); }
.vtts-filter label { display:block; margin:0 0 7px; color:#343b4c; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.vtts-filter input,.vtts-filter select { width:100%; height:44px; border:1px solid #dfe2e9; border-radius:10px; background:#fff; color:var(--vtts-ink); outline:none; }
.vtts-filter input { padding:0 12px; }
.vtts-filter select { padding:0 34px 0 12px; }
.vtts-filter input:focus,.vtts-filter select:focus { border-color:var(--vtts-red); box-shadow:0 0 0 3px rgba(215,25,32,.1); }
.vtts-filter--search > div { position:relative; }
.vtts-filter--search > div > span { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#7a8292; }
.vtts-filter--search svg { width:17px; height:17px; }
.vtts-filter--search input { padding-left:40px; }
.vtts-filter--price > div { display:grid; grid-template-columns:1fr auto 1fr; gap:6px; align-items:center; }
.vtts-filter--price > div > span { color:#8b92a0; }
.vtts-clear-button { height:44px; padding:0 16px; border:1px solid rgba(215,25,32,.22); border-radius:10px; background:#fff1f2; color:var(--vtts-red); font-size:12px; font-weight:900; cursor:pointer; }
.vtts-catalog-status { margin:0 0 20px; padding:13px 16px; border-radius:12px; background:#fff4dc; color:#6f4c00; font-size:13px; }
.vtts-catalog-results { position:relative; min-height:200px; }
.vtts-catalog-results.is-loading::before { content:""; position:absolute; z-index:20; inset:0; border-radius:22px; background:rgba(255,255,255,.76); backdrop-filter:blur(4px); }
.vtts-catalog-results.is-loading::after { content:""; position:absolute; z-index:21; top:90px; left:50%; width:38px; height:38px; margin-left:-19px; border:4px solid #f2d7d9; border-top-color:var(--vtts-red); border-radius:50%; animation:vtts-spin .75s linear infinite; }
@keyframes vtts-spin { to { transform:rotate(360deg); } }
.vtts-results-summary { display:flex; gap:7px; align-items:center; margin:0 0 18px; color:var(--vtts-muted); font-size:13px; }
.vtts-results-summary strong { color:var(--vtts-ink); }

/* Products */
.vtts-products { display:grid; gap:22px; align-items:stretch; }
.vtts-products--columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.vtts-products--columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vtts-products--columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vtts-product-card { position:relative; min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--vtts-line); border-radius:22px; background:#fff; box-shadow:0 13px 34px rgba(14,24,52,.08); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.vtts-product-card::before { content:""; position:absolute; z-index:3; left:0; top:0; width:100%; height:4px; background:var(--vtts-card-accent); }
.vtts-product-card:hover { transform:translateY(-7px); border-color:rgba(15,29,66,.16); box-shadow:0 26px 60px rgba(14,24,52,.14); }
.vtts-product-card__media { position:relative; aspect-ratio:1/1; overflow:hidden; background:linear-gradient(145deg,#f5f6f8,#fff); }
.vtts-product-card__media > a { display:block; width:100%; height:100%; }
.vtts-product-card__media img { width:100% !important; height:100% !important; margin:0 !important; object-fit:cover; transition:transform .5s ease; }
.vtts-product-card:hover .vtts-product-card__media img { transform:scale(1.045); }
.vtts-product-card__badges { position:absolute; z-index:4; top:14px; left:14px; display:flex; flex-wrap:wrap; gap:6px; max-width:calc(100% - 72px); }
.vtts-badge { display:inline-flex; min-height:25px; align-items:center; padding:0 9px; border-radius:999px; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 5px 15px rgba(0,0,0,.1); }
.vtts-badge--accent { background:var(--vtts-card-accent,var(--vtts-red)); color:#fff; }
.vtts-badge--gold { background:#fff0b8; color:#6d4c00; }
.vtts-product-card__tools { position:absolute; z-index:5; top:14px; right:14px; display:flex; flex-direction:column; gap:7px; }
.vtts-icon-button { width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid rgba(14,24,52,.1); border-radius:11px; background:rgba(255,255,255,.94); color:var(--vtts-navy); box-shadow:0 8px 18px rgba(14,24,52,.12); cursor:pointer; backdrop-filter:blur(8px); transition:transform .2s ease,color .2s ease,background .2s ease; }
.vtts-icon-button:hover,.vtts-icon-button:focus-visible { transform:translateY(-2px); color:var(--vtts-red); }
.vtts-icon-button[aria-pressed="true"] { background:var(--vtts-red); color:#fff; }
.vtts-icon-button svg { width:17px; height:17px; }
.vtts-icon-button[aria-pressed="true"] svg { fill:currentColor; }
.vtts-product-card__body { flex:1; padding:18px 18px 15px; }
.vtts-product-card__brand { margin:0 0 5px !important; color:var(--vtts-red) !important; font-size:9px !important; font-weight:950 !important; letter-spacing:.1em !important; text-transform:uppercase; }
.vtts-product-card__category { min-height:17px; margin-bottom:5px; color:#788194; font-size:10px; }
.vtts-product-card__category a { color:#788194 !important; }
.vtts-product-card h3 { margin:0 0 10px !important; color:var(--vtts-ink) !important; font-size:18px !important; font-weight:900 !important; letter-spacing:-.025em !important; line-height:1.28 !important; }
.vtts-product-card h3 a { color:var(--vtts-ink) !important; }
.vtts-product-card__price { min-height:30px; margin:4px 0 11px; color:var(--vtts-ink); font-size:20px; font-weight:950; }
.vtts-product-card__price del { color:#8a91a0; font-size:13px; font-weight:700; }
.vtts-product-card__price ins { color:var(--vtts-red); text-decoration:none; }
.vtts-product-card__price .woocommerce-Price-currencySymbol { margin-right:1px; }
.vtts-rating { display:flex; align-items:center; gap:7px; margin:0 0 5px; color:#778095; font-size:10px; }
.vtts-stars { position:relative; display:inline-block; color:#d6d9e0; font-size:12px; letter-spacing:1px; line-height:1; }
.vtts-stars::after { content:"★★★★★"; position:absolute; left:0; top:0; width:var(--vtts-rating,0%); overflow:hidden; color:#e5ad16; white-space:nowrap; }
.vtts-stars > span { display:block; }
.vtts-attribute { margin-top:10px; }
.vtts-attribute > span { display:block; margin-bottom:5px; color:#6b7383; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.vtts-attribute > div { display:flex; flex-wrap:wrap; gap:5px; }
.vtts-attribute small { display:inline-flex; min-height:24px; align-items:center; padding:0 8px; border:1px solid #e0e3e9; border-radius:8px; background:#fafbfc; color:#414959; font-size:9px; font-weight:750; }
.vtts-product-note { display:flex; gap:9px; align-items:flex-start; margin-top:13px; padding:10px; border:1px solid #d7e8f5; border-radius:10px; background:#f0f8ff; color:#234a68; font-size:10px; line-height:1.4; }
.vtts-product-note svg { flex:0 0 auto; width:15px; height:15px; margin-top:1px; color:#0981c1; }
.vtts-product-note strong { display:block; margin-bottom:2px; color:#17435f; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.vtts-stock { display:flex; align-items:center; gap:7px; margin-top:12px; color:#697286; font-size:10px; font-weight:750; }
.vtts-stock i { width:7px; height:7px; border-radius:50%; }
.vtts-stock.is-in-stock i { background:var(--vtts-green); box-shadow:0 0 0 4px rgba(22,136,77,.1); }
.vtts-stock.is-in-stock { color:var(--vtts-green); }
.vtts-stock.is-out-of-stock i { background:#aab0bb; }
.vtts-product-card__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:14px 16px 17px; border-top:1px solid #eef0f4; background:#fcfcfd; }
.vtts-product-card__actions .vtts-button { min-height:42px; padding:0 10px; border-radius:9px; font-size:11px; }
.vtts-button--accent { background:var(--vtts-card-accent,var(--vtts-red)); color:#fff !important; box-shadow:0 10px 20px rgba(215,25,32,.17); }
.vtts-button--light { border-color:#dfe2e9; background:#fff; color:var(--vtts-navy) !important; }
.vtts-button--dark { background:var(--vtts-navy); color:#fff !important; }
.vtts-empty { padding:70px 24px; border:1px dashed #d9dde6; border-radius:22px; background:#fff; text-align:center; }
.vtts-empty__icon { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 14px; border-radius:18px; background:#fff1f2; color:var(--vtts-red); }
.vtts-empty__icon svg { width:26px; height:26px; }
.vtts-empty h3 { margin:0 0 8px !important; color:var(--vtts-ink) !important; font-size:24px !important; }
.vtts-empty p { margin:0 0 18px !important; color:var(--vtts-muted) !important; }
.vtts-pagination { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:34px; }
.vtts-pagination > div { display:flex; align-items:center; gap:6px; }
.vtts-pagination button { min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 12px; border:1px solid #dde1e8; border-radius:10px; background:#fff; color:var(--vtts-navy); font-size:11px; font-weight:850; cursor:pointer; }
.vtts-pagination button[aria-current="page"] { border-color:var(--vtts-red); background:var(--vtts-red); color:#fff; }
.vtts-pagination button:disabled { opacity:.4; cursor:not-allowed; }
.vtts-pagination svg { width:15px; height:15px; }

/* Trust and CTA */
.vtts-features { padding:76px 0; border-top:1px solid var(--vtts-line); background:#fff; }
.vtts-features__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.vtts-features article { position:relative; min-height:230px; padding:28px; overflow:hidden; border:1px solid var(--vtts-line); border-radius:24px; background:linear-gradient(145deg,#fff,#f8f9fb); }
.vtts-features article > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#fff0f1; color:var(--vtts-red); }
.vtts-features article > span svg { width:23px; height:23px; }
.vtts-features article > small { position:absolute; top:20px; right:23px; color:#e2e5eb; font-size:50px; font-weight:950; letter-spacing:-.08em; }
.vtts-features h3 { margin:23px 0 10px !important; color:var(--vtts-ink) !important; font-size:22px !important; font-weight:900 !important; }
.vtts-features p { margin:0 !important; color:var(--vtts-muted) !important; font-size:14px !important; line-height:1.65 !important; }
.vtts-cta { padding:72px 0; background:radial-gradient(circle at 15% 50%,rgba(226,173,25,.18),transparent 25%),linear-gradient(135deg,#0c1837,#33050a); color:#fff; }
.vtts-cta .vtts-container { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.vtts-cta h2 { margin:14px 0 8px !important; color:#fff !important; font-size:clamp(36px,4vw,60px) !important; font-weight:950 !important; letter-spacing:-.055em !important; line-height:1 !important; }
.vtts-cta p { max-width:720px; margin:0 !important; color:rgba(255,255,255,.72) !important; font-size:16px !important; line-height:1.6 !important; }
.vtts-cta .vtts-button { flex:0 0 auto; }

/* Quick view */
.vtts-modal[hidden] { display:none !important; }
.vtts-modal { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:24px; }
.vtts-modal__backdrop { position:absolute; inset:0; background:rgba(3,8,20,.72); backdrop-filter:blur(7px); }
.vtts-modal__dialog { position:relative; z-index:2; width:min(1040px,100%); max-height:min(820px,calc(100vh - 48px)); overflow:auto; border:1px solid rgba(255,255,255,.3); border-radius:26px; background:#fff; box-shadow:0 40px 120px rgba(0,0,0,.36); }
.vtts-modal__close { position:sticky; z-index:8; top:14px; float:right; width:42px; height:42px; display:grid; place-items:center; margin:14px 14px -56px 0; border:0; border-radius:50%; background:var(--vtts-navy); color:#fff; font-size:25px; line-height:1; cursor:pointer; }
.vtts-modal__content { clear:both; min-height:440px; }
.vtts-modal__loader { min-height:440px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; color:var(--vtts-muted); }
.vtts-modal__loader i { width:42px; height:42px; border:4px solid #efd7d9; border-top-color:var(--vtts-red); border-radius:50%; animation:vtts-spin .75s linear infinite; }
.vtts-quick-view__grid { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.vtts-quick-view__gallery { padding:32px; background:#f5f6f8; }
.vtts-quick-view__main { aspect-ratio:1/1; overflow:hidden; border-radius:20px; background:#fff; }
.vtts-quick-view__main img { width:100%; height:100%; object-fit:contain; }
.vtts-quick-view__thumbs { display:flex; gap:8px; margin-top:12px; overflow:auto; }
.vtts-quick-view__thumbs button { flex:0 0 66px; height:66px; padding:3px; overflow:hidden; border:1px solid #dce0e7; border-radius:10px; background:#fff; cursor:pointer; }
.vtts-quick-view__thumbs img { width:100%; height:100%; object-fit:cover; }
.vtts-quick-view__content { padding:48px 42px 36px; color:var(--vtts-ink); }
.vtts-quick-view__content h2 { margin:12px 0 10px !important; color:var(--vtts-ink) !important; font-size:clamp(32px,4vw,50px) !important; font-weight:950 !important; letter-spacing:-.055em !important; line-height:1 !important; }
.vtts-quick-view__price { margin:12px 0; color:var(--vtts-red); font-size:28px; font-weight:950; }
.vtts-quick-view__price del { color:#9aa0ac; font-size:16px; }
.vtts-quick-view__price ins { text-decoration:none; }
.vtts-quick-view__description { color:var(--vtts-muted); font-size:14px; line-height:1.65; }
.vtts-quick-view__description p { color:inherit !important; }
.vtts-quick-view__fulfilment { margin:18px 0; padding:14px 16px; border:1px solid #d9e8f3; border-radius:12px; background:#f2f9fe; color:#31516a; font-size:12px; }
.vtts-quick-view__fulfilment p { margin:4px 0 !important; color:inherit !important; }
.vtts-quick-view__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.vtts-secure-note { display:flex; gap:9px; margin:20px 0 0 !important; color:#6b7485 !important; font-size:10px !important; line-height:1.5 !important; }
.vtts-secure-note svg { flex:0 0 auto; width:15px; height:15px; margin-top:1px; color:var(--vtts-green); }
body.vtts-modal-open { overflow:hidden; }
.vtts-toast { position:fixed; z-index:1000000; right:22px; bottom:22px; max-width:340px; padding:13px 16px; border-radius:12px; background:var(--vtts-navy); color:#fff; font-size:12px; font-weight:750; box-shadow:0 16px 42px rgba(0,0,0,.24); opacity:0; visibility:hidden; transform:translateY(12px); transition:.2s ease; }
.vtts-toast.is-visible { opacity:1; visibility:visible; transform:none; }

/* Embedded shortcode and Woo compatibility */
.vtts-store--embedded { overflow:visible; padding:30px 0; }
.vtts-store .added_to_cart { display:none !important; }
.vtts-store .woocommerce-error,.vtts-store .woocommerce-message,.vtts-store .woocommerce-info { border-radius:12px; }

/* Dark appearance set by VirTTunity UI */
html[data-vtt-theme="dark"] .vtts-store { background:#0d111a; color:#eef2f8; }
html[data-vtt-theme="dark"] .vtts-category-section,html[data-vtt-theme="dark"] .vtts-features { background:#0d111a; }
html[data-vtt-theme="dark"] .vtts-catalog-section { background:#101620; }
html[data-vtt-theme="dark"] .vtts-section-heading h2,html[data-vtt-theme="dark"] .vtts-product-card h3,html[data-vtt-theme="dark"] .vtts-product-card h3 a,html[data-vtt-theme="dark"] .vtts-features h3 { color:#fff !important; }
html[data-vtt-theme="dark"] .vtts-section-heading p,html[data-vtt-theme="dark"] .vtts-features p { color:#aeb7c7 !important; }
html[data-vtt-theme="dark"] .vtts-category-card,html[data-vtt-theme="dark"] .vtts-filters,html[data-vtt-theme="dark"] .vtts-product-card,html[data-vtt-theme="dark"] .vtts-saved-button,html[data-vtt-theme="dark"] .vtts-cart-shortcut,html[data-vtt-theme="dark"] .vtts-features article { border-color:#2a3341; background:#161e2a; }
html[data-vtt-theme="dark"] .vtts-product-card__actions { border-color:#29313e; background:#121925; }
html[data-vtt-theme="dark"] .vtts-product-card__price,html[data-vtt-theme="dark"] .vtts-category-card strong { color:#fff; }
html[data-vtt-theme="dark"] .vtts-filter input,html[data-vtt-theme="dark"] .vtts-filter select { border-color:#343e4c; background:#111824; color:#fff; }

/* Responsive */
@media (max-width:1200px) {
    .vtts-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:44px; }
    .vtts-products--columns-4 { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .vtts-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vtts-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .vtts-filter--search { grid-column:span 2; }
}
@media (max-width:900px) {
    .vtts-container { width:min(100% - 30px,1380px); }
    .vtts-hero { min-height:0; padding:88px 0 70px; }
    .vtts-hero__grid { grid-template-columns:1fr; }
    .vtts-hero__copy { max-width:800px; }
    .vtts-hero__visual { width:min(620px,100%); margin:0 auto; }
    .vtts-hero__float--top { right:12px; }
    .vtts-hero__float--bottom { left:12px; }
    .vtts-products--columns-4,.vtts-products--columns-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vtts-features__grid { grid-template-columns:1fr; }
    .vtts-features article { min-height:0; }
    .vtts-cta .vtts-container { align-items:flex-start; flex-direction:column; }
    .vtts-quick-view__grid { grid-template-columns:1fr; }
    .vtts-quick-view__gallery { padding:24px; }
    .vtts-quick-view__content { padding:32px 26px; }
}
@media (max-width:680px) {
    .vtts-container { width:min(100% - 22px,1380px); }
    .vtts-hero { padding:68px 0 58px; }
    .vtts-hero .vtts-hero__copy h1 { margin-top:18px !important; font-size:clamp(46px,14vw,66px) !important; }
    .vtts-hero .vtts-hero__copy > p { font-size:16px !important; }
    .vtts-hero__actions { display:grid; grid-template-columns:1fr; }
    .vtts-hero__actions .vtts-button { width:100%; }
    .vtts-hero__visual-card { min-height:350px; border-radius:28px; }
    .vtts-fallback-art { transform:scale(.82); }
    .vtts-hero__float { min-width:155px; padding:11px 13px; }
    .vtts-hero__float--top { top:16px; }
    .vtts-hero__float--bottom { bottom:16px; }
    .vtts-category-section { padding:58px 0 36px; }
    .vtts-section-heading { align-items:flex-start; flex-direction:column; }
    .vtts-section-heading h2 { font-size:38px !important; }
    .vtts-categories { grid-template-columns:1fr; }
    .vtts-catalog-section { padding:50px 0 68px; }
    .vtts-catalog-shortcuts { width:100%; }
    .vtts-saved-button,.vtts-cart-shortcut { flex:1; justify-content:center; }
    .vtts-filters { grid-template-columns:1fr; padding:14px; }
    .vtts-filter--search { grid-column:auto; }
    .vtts-products--columns-4,.vtts-products--columns-3,.vtts-products--columns-2 { grid-template-columns:1fr; }
    .vtts-product-card__media { aspect-ratio:1.12/1; }
    .vtts-pagination { gap:7px; }
    .vtts-pagination > button span { display:none; }
    .vtts-pagination button { min-width:36px; height:36px; padding:0 9px; }
    .vtts-modal { padding:10px; }
    .vtts-modal__dialog { max-height:calc(100vh - 20px); border-radius:18px; }
    .vtts-quick-view__gallery { padding:18px; }
    .vtts-quick-view__content { padding:26px 19px; }
    .vtts-quick-view__content h2 { font-size:34px !important; }
    .vtts-quick-view__actions { display:grid; }
    .vtts-cta { padding:58px 0; }
}
@media (prefers-reduced-motion:reduce) {
    .vtts-store * { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
