/* Shared across the storefront, account pages, dashboard, and invoice portal. */
:root,html[data-theme="dark"]{
  --f-body:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --f-display:var(--f-body);
  --shadow-sm:none;--shadow:none;--shadow-lg:none;
}
body{font-family:var(--f-body);-webkit-font-smoothing:auto;text-rendering:auto}
*,*::before,*::after{box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
h1,h2,h3,h4,.btn,button,label,.brand-word > b,.brand-word > span{font-family:var(--f-body)!important}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.015em}
.btn,.btn:hover,.btn:active{font-weight:600;text-transform:none!important;letter-spacing:normal!important;transform:none!important;border-radius:6px}
label{letter-spacing:normal!important;text-transform:none!important}
.brand-logo,.brand img,.footer-logo img{filter:none!important;image-rendering:auto}
.brand-word > b{font-weight:650;font-size:1.3rem;letter-spacing:normal;text-transform:none}
.brand-word > span{font-style:normal;font-size:.8rem;letter-spacing:normal}
.site-header,.site-header.scrolled,.site-header.solid{background:#0b1a24;border-bottom:1px solid #2a3a46}
.nav a,.textlink,.mobile-nav a{font-family:var(--f-body);text-transform:none;letter-spacing:normal;font-weight:500}
.section-title,.page-hero h1{text-transform:none;line-height:1.1}
.section-title{font-size:clamp(1.8rem,3.5vw,2.7rem)}
.eyebrow{letter-spacing:.05em;font-size:.8rem}
.pdp-main,.discount-card,.military-band,.vb-promo{background-image:none}
.discount-card{background:#152631}
.social-btn:hover,.product-card:hover,.collection-card:hover{transform:none}
.vb-storefront .card:hover{transform:none;border-color:var(--line)}
.hero-content,.hero .eyebrow{filter:none}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.vb-storefront .hero h1{font-size:clamp(2.4rem,5.5vw,5rem);font-weight:650;line-height:1.08;letter-spacing:-.03em;text-transform:none}
.vb-storefront .card-name{text-transform:none;letter-spacing:normal;line-height:1.3}
.vb-storefront .acct-legend,.vb-storefront .kvrow .k{text-transform:none;letter-spacing:normal;font-size:13px}
@media(max-width:600px){
  .brand-logo{height:44px}.brand-word > span{font-size:11px}
  .site-header .container{padding:0 14px;gap:8px}.brand{gap:8px}
  .vb-storefront input,.vb-storefront select,.vb-storefront textarea{font-size:16px}
  .vb-storefront .hero h1{font-size:clamp(2.4rem,9vw,3.5rem)}
}

/* Storefront: quiet surfaces, readable type, and photography without decoration. */
:root[data-theme="dark"]{
  --paper:#111b22;--surface:#17242d;--surface-2:#202f39;--card:#192831;--inset:#132029;
  --text:#edf2f4;--muted:#afbdc5;--muted-2:#97a9b3;--faint:#97a9b3;
  --line:#34454f;--line-2:#283943;--accent:var(--brand-accent,#d9631c);--accent-press:#b25214;
  --accent-soft:#302820;--accent-tint:#302820;--ok:#8cc9ad;--nav-h:78px;
  color-scheme:dark;
}
.vb-storefront{background:var(--paper)}
.vb-storefront.has-announce{padding-top:var(--vb-announce-h,40px)}
.vb-storefront h1,.vb-storefront h2,.vb-storefront h3,.vb-storefront h4{text-transform:none}
.vb-storefront .site-header,.vb-storefront .site-header.scrolled,.vb-storefront .site-header.solid{background:#101b23;border-color:var(--line)}
.vb-storefront .site-header .brand,.vb-storefront .site-header .icon-btn{color:var(--text)}
.vb-storefront .brand-logo{height:52px;object-fit:contain}
.vb-storefront .site-header .brand-word > span{color:var(--muted);font-size:11px;font-style:normal;margin-top:6px}
.vb-storefront .nav a{color:var(--muted);font-size:14px;padding:8px 6px}
.vb-storefront .nav a:hover,.vb-storefront .nav a.active{color:var(--text)}
.vb-storefront .hero{min-height:600px;padding-top:120px;padding-bottom:76px}
.vb-storefront .hero .eyebrow{font-size:13px!important;font-style:normal!important;letter-spacing:.08em!important}
.vb-storefront .hero .eyebrow::before{display:none}
.vb-storefront .hero h1{max-width:740px;font-size:clamp(2.6rem,5vw,4.5rem);letter-spacing:-.045em}
.vb-storefront .hero .accent{color:#fff}
.vb-storefront .hero-sub{font-size:17px;line-height:1.7;max-width:530px;color:#e2e7e8}
.vb-storefront .hero .btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.vb-storefront .hero .btn:hover{background:var(--accent-press)}
.vb-storefront .hero .btn--ghost{background:transparent;color:#fff;border-color:#a4b1b8}
.vb-storefront .hero-media img{object-position:65% 42%}
.vb-storefront .section{padding:70px 0}
.vb-storefront .section--tight{padding:42px 0}
.vb-storefront .section-title{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em;line-height:1.16}
.vb-storefront .trust{background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}
.vb-storefront .trust b,.vb-storefront .feature-list b{font-family:var(--f-body);text-transform:none;letter-spacing:normal;font-size:14px}
.vb-storefront .trust small{color:var(--muted);font-size:12px}
.vb-storefront .eyebrow{font-family:var(--f-body);font-size:11px;letter-spacing:.1em}
.vb-storefront .card{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
:root[data-theme="dark"] .vb-storefront .card-media,:root[data-theme="dark"] .vb-storefront .pdp-main{background:#202e37;background-image:none;border-color:var(--line)}
.vb-storefront .card:hover .card-media img{transform:none}
.vb-storefront .card-name{font-size:17px;font-weight:600}
.vb-storefront .card-cat{font-family:var(--f-body);font-size:11px;letter-spacing:.06em;color:var(--muted)}
.vb-storefront .card-body{padding:20px}.vb-storefront .card-foot{margin-top:16px}
.vb-storefront .price{font-family:var(--f-body);font-size:17px;letter-spacing:normal;font-weight:600}
.vb-storefront .badge{background:var(--card);color:var(--text);border:1px solid var(--line);font:600 10px var(--f-body);letter-spacing:.04em;padding:6px 9px}
.vb-storefront .page-hero{color:var(--text);background:transparent;padding-bottom:36px}
.vb-storefront .side-rail{top:var(--nav-h);-webkit-mask-image:linear-gradient(180deg,#000 92%,transparent);mask-image:linear-gradient(180deg,#000 92%,transparent)}
.vb-storefront.has-announce .side-rail{top:calc(var(--nav-h) + var(--vb-announce-h,40px))}
.vb-storefront .page-hero .lead{color:var(--muted)}
.vb-storefront .page-hero p{color:var(--muted)}
.vb-storefront .page-hero::before,.vb-storefront .page-hero::after{display:none}
.vb-storefront .collection-band{padding-bottom:20px;border-bottom:1px solid var(--line)}
.vb-storefront .chip{font-family:var(--f-body);text-transform:none;letter-spacing:normal;border:1px solid var(--line);border-radius:5px}
.vb-storefront .chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.vb-storefront .site-footer{background:#14232a;border-top:1px solid #304047;padding:52px 0 24px;content-visibility:visible;contain-intrinsic-size:none}
.vb-storefront .footer-top{gap:28px;padding-bottom:28px}
.vb-storefront .footer-logo img{height:48px}
.vb-storefront .site-footer h5{font:600 13px var(--f-body);letter-spacing:normal;text-transform:none}
.vb-storefront .site-footer p,.vb-storefront .site-footer a{font-size:13px}
.vb-storefront .footer-bot,.vb-storefront .footer-warranty{font-size:12px;color:#b3c0c5}
.vb-storefront .footer-warranty{justify-content:flex-start}
.vb-storefront .site-footer input{background:var(--inset);color:var(--text)}
.vb-storefront .site-footer .btn{background:var(--accent);color:#fff}
.vb-storefront .vb-announce{background:var(--accent);font-size:12px;font-weight:400;padding:9px 16px}
.vb-storefront .mobile-nav{background:#14232a}
.vb-storefront .reveal{opacity:1;transform:none;transition:none}
.vb-storefront .warranty-band h2{font-size:24px;text-transform:none}
.vb-storefront .acct-card,.vb-storefront .cart-summary{background:var(--card)}
.vb-storefront .fld select option{background:var(--inset);color:var(--text)}
.vb-storefront .rv-card{border:1px solid var(--line);background:var(--card)}
.vb-storefront .rv-card p{font-size:15px}
.vb-storefront .dark .section-title,.vb-storefront .dark p{color:#eef2f3}
@media(min-width:1050px){
  .vb-storefront .site-header .container{grid-template-columns:auto 1fr auto;max-width:1380px;padding:0 32px}
  .vb-storefront .site-header .nav{display:flex;justify-content:center;gap:14px;margin:0 18px}
  .vb-storefront .hamburger{display:none}
}
@media(max-width:1049px){.vb-storefront .site-header .nav{display:none}.vb-storefront .hamburger{display:grid}}
@media(max-width:650px){
  .vb-storefront .hero{min-height:560px;padding-top:145px;padding-bottom:48px}
  .vb-storefront .hero h1{font-size:38px}.vb-storefront .hero-sub{font-size:16px}
  .vb-storefront .section{padding:44px 0}.vb-storefront .trust .container{gap:18px}
  .vb-storefront .card-body{padding:13px}.vb-storefront .card-name{font-size:15px}
  .vb-storefront .card-foot{gap:7px;flex-wrap:wrap}.vb-storefront .card-foot .btn{padding:8px 12px}
  .vb-storefront .site-header .container{grid-template-columns:minmax(0,1fr) auto}
  .vb-storefront .site-header .header-actions{grid-column:2}
  .vb-storefront .site-header .brand{gap:8px}
  .vb-storefront .site-header .brand-logo{height:clamp(40px,12vw,52px)}
  .vb-storefront .site-header .brand-word > b{font-size:clamp(1.3rem,calc(7.43vw - 3px),1.75rem)}
  .vb-storefront .site-header .brand-word > span{display:block;font-size:11px;margin-top:6px}
  .vb-storefront .site-header .brand-word [data-text-key],.vb-storefront .site-header .brand-word .vb-ed{white-space:nowrap}
  .vb-storefront .page-hero{padding-top:calc(var(--nav-h) + 42px)}
}

@media(max-width:359px){
  .vb-storefront .site-header .container{padding:0 10px;gap:4px}
  .vb-storefront .site-header .brand{gap:6px}
  .vb-storefront .site-header .header-actions{gap:0}
  .vb-storefront .site-header .icon-btn{width:40px;height:44px}
}

/* Dashboard navigation and commerce workspace. */
.vb-dashboard{--bg:#11181e;--panel:#172127;--card:#1b272e;--inset:#10191f;--line:#344148;--line-2:#2c383f;--accent:#ef7a2e;--accent-press:#d9631c;--accent-soft:rgba(239,122,46,.15);--muted:#b8c3c9;--faint:#9caab2}
.vb-dashboard .side{background:#121b21;width:auto}
.vb-dashboard .side-brand{padding:24px 18px;border-bottom:1px solid var(--line)}
.vb-dashboard .side-brand img{width:35px;height:42px;object-fit:contain}
.vb-dashboard .side-brand b{font-size:15px}.vb-dashboard .side-brand span{font-size:11px;margin-top:5px}
.vb-dashboard .side-nav{padding:12px 12px 20px}
.vb-dashboard .side-nav .nav-label{display:block;color:var(--faint);font-size:10px;text-transform:uppercase;letter-spacing:.13em;padding:18px 12px 7px}
.vb-dashboard .side-nav a{font-size:13px;min-height:37px;padding:8px 12px}
.vb-dashboard .side-nav a .ic{width:17px;height:17px}
.vb-dashboard .nav-section>summary{display:flex;align-items:center;gap:12px;min-height:37px;padding:8px 12px;border-radius:6px;color:#a6b4bc;font-family:var(--f-body);font-size:13px;font-weight:500;cursor:pointer;list-style:none;transition:background .15s,color .15s}
.vb-dashboard .nav-section>summary::-webkit-details-marker{display:none}
.vb-dashboard .nav-section>summary:hover{background:rgba(255,255,255,.055);color:#fff}
.vb-dashboard .nav-section>summary.active{background:var(--surface-2,#202f39);color:var(--text);border-radius:4px}
.vb-dashboard .nav-section>summary .ic{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;flex:none;opacity:.92}
.vb-dashboard .nav-section>summary .ic svg{width:19px;height:19px;display:block}
.vb-dashboard .nav-chevron{width:14px;height:14px;flex:none;margin-left:auto}
.vb-dashboard .nav-section[open]>summary .nav-chevron{transform:rotate(90deg)}
.vb-dashboard .nav-submenu{display:flex;flex-direction:column;gap:3px;margin:4px 0 6px 20px;padding-left:8px;border-left:1px solid var(--line-2)}
.vb-dashboard .nav-group{margin-top:12px;border-top:1px solid var(--line-2);padding-top:8px}
.vb-dashboard .nav-group summary{padding:10px 12px;cursor:pointer;color:var(--muted);font-size:13px}
.vb-dashboard .nav-group a{margin-left:8px}
.vb-dashboard .view-store{border-top:1px solid var(--line-2);margin-top:10px!important;padding-top:16px!important}
.vb-dashboard .page-head h1{font-size:28px;font-weight:600;letter-spacing:-.035em}
.vb-dashboard .page-head .sub{font-size:14px;line-height:1.6;margin-top:8px}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 24px}
.dashboard-shortcuts a{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.dashboard-shortcuts a:hover{border-color:var(--accent)}
.dashboard-shortcuts strong{font-size:15px;font-weight:600}.dashboard-shortcuts span{font-size:12px;color:var(--muted)}
.commerce-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 30px;overflow-x:auto}
.commerce-nav a{font-size:13px;white-space:nowrap;color:var(--muted);padding:0 0 13px;border-bottom:2px solid transparent}
.commerce-nav a[aria-current=page]{color:var(--text);border-color:var(--accent)}
.commerce-fieldset{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin:26px 0}
.commerce-fieldset legend{padding-right:14px;font-weight:600;font-size:15px}
.commerce-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.commerce-form-grid .full{grid-column:1/-1}
.commerce-form-grid label{margin-bottom:7px}
.commerce-save{border-top:1px solid var(--line);padding-top:20px}
.vb-dashboard .order-status-row{font-size:13px;padding:14px 0}
.vb-dashboard .orders-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) repeat(3,minmax(120px,auto)) auto;gap:10px}
.vb-dashboard .orders-toolbar input{min-width:0}
.vb-dashboard .orders-toolbar input,.vb-dashboard .orders-toolbar select{height:42px}
.vb-dashboard .orders-toolbar .btn{height:42px;padding:8px 16px}
.vb-dashboard .announcement-panel summary{cursor:pointer;font-size:14px;font-weight:600}
.vb-dashboard.vb-auth{background:#11181e;background-image:none}
.vb-auth .auth{max-width:420px;gap:26px}.vb-auth .brand img{height:46px}
.vb-auth .card{border-radius:10px;padding:32px}.vb-auth h1{font-size:26px;margin-bottom:10px}
.vb-auth .hint{font-size:14px;line-height:1.6}.vb-auth .lock a{color:var(--muted);text-decoration:none}
@media(max-width:900px){.vb-dashboard .side{width:min(290px,86vw)}}
@media(max-width:650px){.dashboard-shortcuts{grid-template-columns:1fr;gap:10px}.dashboard-shortcuts a{padding:16px}.commerce-nav{gap:20px}.commerce-form-grid{grid-template-columns:1fr}.vb-auth .card{padding:24px}}
@media(max-width:1150px){.vb-dashboard .orders-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.vb-dashboard .orders-toolbar input{grid-column:1/-1}.vb-dashboard .orders-toolbar .btn{grid-column:1/-1}}
@media(max-width:650px){.vb-dashboard .orders-toolbar{grid-template-columns:1fr 1fr}.vb-dashboard .orders-toolbar select[name=sort]{grid-column:1/-1}}
@media(max-width:650px){.commerce-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;overflow:visible}.commerce-nav a{padding:9px 0;font-size:12px}.vb-storefront .site-header .container{gap:8px}.vb-storefront .header-actions{gap:4px}}

.vb-storefront .btn{--fg:#fff}.vb-storefront .btn--ghost{--fg:var(--text)}

.vb-dashboard .btn:not(.ghost):not(.secondary):not(.danger){color:#fff}

/* Consistent form controls and shared list selection. */
.vb-dashboard select,.vb-storefront select{appearance:none;-webkit-appearance:none;background-color:var(--inset);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:10px 36px 10px 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23afbdc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;color-scheme:dark}
.vb-dashboard select option,.vb-storefront select option{background:#172127;color:#edf2f4}
.vb-dashboard .ed-bar select,.vb-dashboard .bulk-toolbar select,.vb-dashboard .commerce-nav select{width:auto;max-width:100%;min-width:0}
.vb-dashboard details>summary{display:flex;align-items:center;justify-content:flex-start;gap:9px;list-style:none;cursor:pointer}
.vb-dashboard details>summary::-webkit-details-marker{display:none}.vb-dashboard details>summary::before{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);flex:none}.vb-dashboard details[open]>summary::before{transform:rotate(45deg)}
.bulk-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;margin:18px 0;font-size:13px}
.bulk-toolbar label.bulk-all{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap;font-size:13px}
.bulk-toolbar input[type=checkbox],.bulk-item-check{width:18px!important;height:18px!important;accent-color:var(--accent);flex:none;cursor:pointer;margin:0}
.bulk-toolbar .btn{font-size:12px;padding:10px 13px}.bulk-toolbar select{font-size:13px}
.bulk-card-row{position:relative;padding-left:44px!important}.bulk-card-row>.bulk-item-check{position:absolute;left:13px;top:18px;z-index:4;background:var(--panel)}
.pcard.bulk-card-row,.vcard.bulk-card-row{padding-left:0!important}.pcard>.bulk-item-check,.vcard>.bulk-item-check{top:10px;left:10px;outline:4px solid #111b22;border-radius:2px}
.bulk-check-cell{width:38px!important;padding:12px 8px!important}.bulk-selected{outline:1px solid var(--accent);outline-offset:-1px;background-color:var(--accent-soft)!important}
.bulk-selected td{background-color:var(--accent-soft)}.bulk-toolbar button:disabled{opacity:.45;cursor:default}

/* Use the same restrained typography and controls across every page. */
.vb-storefront,.vb-dashboard{--r:6px;--r-sm:5px;--r-lg:8px}
.vb-storefront .btn--light{--bg:var(--accent);--fg:#fff;background:var(--accent);color:#fff}
.vb-storefront .btn--light:hover{background:var(--accent-press)}
.vb-storefront .btn--ghost:hover{background:var(--surface-2);color:var(--text);border-color:var(--muted)}
.vb-storefront .eyebrow{color:var(--muted);font-size:12px;font-weight:500;letter-spacing:normal;text-transform:none;gap:0}
.vb-storefront .eyebrow::before,.vb-storefront .eyebrow::after{display:none}
.vb-storefront .breadcrumb{font-size:12px;letter-spacing:normal;text-transform:none}
.vb-storefront .card-cat{font-size:12px;letter-spacing:normal;text-transform:none}
.vb-storefront .badge{border-radius:3px;font-size:11px;font-weight:500;letter-spacing:normal;text-transform:none;padding:5px 8px}
.vb-storefront .shop-search input{border-radius:5px}
.vb-storefront .textlink{font-size:14px;gap:6px}
.vb-storefront .textlink:hover .arr{transform:none}
.vb-storefront .hero-scroll{display:none}
.vb-storefront .warranty-band .wb-ic{background:none;border:0;border-radius:0;color:var(--muted);width:32px;height:36px}
.vb-storefront .warranty-band .wb-ic svg{width:24px;height:24px}
.vb-storefront .trust-item svg{color:var(--muted);width:22px;height:22px}
.vb-storefront .stat b{font-size:clamp(1.8rem,3vw,2.6rem);color:var(--text);font-variant-numeric:tabular-nums}
.vb-storefront .stat span{font-size:13px;text-transform:none;letter-spacing:normal}
.vb-storefront .step{padding-top:16px;border-top:1px solid var(--line)}
.vb-storefront .step::before{display:none}
.vb-storefront .step h4{font-size:16px;letter-spacing:normal}
.vb-storefront .gallery .g-item:hover img{transform:none}
.vb-storefront .wholesale-band{background:var(--surface);border:1px solid var(--line);border-radius:6px}
.vb-storefront .wholesale-band::before{display:none}
.vb-storefront .review{border-radius:6px;padding:24px;background:transparent}
.vb-storefront .rv-avatar{background:var(--surface-2);color:var(--muted);border-radius:4px;width:34px;height:34px;font-size:13px}
.vb-storefront .rating-summary .big{font-size:2rem;font-weight:600}
.vb-storefront .rating-summary .stars{font-size:1rem}
.vb-storefront .cta-band{background:transparent;border-radius:0;border-top:1px solid var(--line);text-align:left}
.vb-storefront .cta-band::before,.vb-storefront .military-band::before{display:none}
.vb-storefront .cta-band>.container{padding:32px 0 0}
.vb-storefront .cta-band .eyebrow{justify-content:flex-start}
.vb-storefront .cta-band h2{font-size:clamp(1.6rem,3vw,2rem);line-height:1.25}
.vb-storefront .cta-band p.lead{font-size:16px;margin:12px 0 20px!important;max-width:640px}
.vb-storefront .social-btn{padding:14px 16px;border-radius:6px}
.vb-storefront .social-btn .si{background:none;border:0;color:var(--muted);width:28px;height:28px;border-radius:0}
.vb-storefront .social-btn .st b{font-size:14px;text-transform:none;letter-spacing:normal}
.vb-storefront .notice{background:var(--surface);border-color:var(--line);color:var(--text);border-radius:5px}
.vb-storefront .acct-card,.vb-storefront .cart-summary,.vb-auth .card{border-radius:6px}
.vb-storefront .acct-legend{color:var(--muted);font-weight:600}
.vb-storefront .fld label{font-size:13px}
.vb-storefront .fld input:focus,.vb-storefront .fld select:focus{outline:2px solid var(--accent);outline-offset:2px}
.vb-storefront .military-band,.vb-storefront .warranty-band{border:1px solid var(--line);border-radius:6px}
.vb-storefront .discount-card .pct{font-size:2.5rem}
.vb-dashboard :is(.pill,.tag,.badge,.kindtag,.stock,.vis,.st){border-radius:4px;font-family:var(--f-body);font-size:12px;font-weight:500;letter-spacing:normal;text-transform:none}
.vb-dashboard :is(.vacts,.pacts,.acts) :is(a,button),.vb-dashboard .sw{font-family:var(--f-body);font-size:13px;text-transform:none;letter-spacing:normal}
.vb-dashboard :is(.tile,.panel,.card,.pcard,.vcard,.msg,.empty,.bulk-toolbar){border-radius:6px}
.vb-dashboard .tile .k{font-size:12px;letter-spacing:normal;text-transform:none;color:var(--muted)}
.vb-dashboard .tile .v{font-size:28px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}
.vb-dashboard table th{font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--muted)}
.vb-dashboard .side-nav .nav-label{font-size:11px;letter-spacing:normal;text-transform:none}
.vb-dashboard .side-nav a.active{background:var(--surface-2,#202f39);color:var(--text);border-radius:4px}
.vb-dashboard .savebar,.vb-dashboard .save-bar{background:var(--bg);border-top:1px solid var(--line);padding-top:16px}
.vb-dashboard .dashboard-shortcuts a{padding:18px;border-radius:6px;background:transparent}
.vb-dashboard .vthumb .play{inset:auto 10px 10px auto;background:#111b22;color:#edf2f4;border:1px solid #34454f;border-radius:4px;padding:5px 9px;font-size:12px}
.vb-auth .lock{font-size:12px}
/* These photographs already include their reviewed 3:2 framing. Extra padding
   would shrink the bait again, differently in the grid and product gallery. */
.vb-storefront img[src*="/products/normalized-2026-09-15/"]{
  padding:0;
  object-fit:contain;
  background:#fff;
}
.vb-storefront input:focus,.vb-storefront select:focus,.vb-storefront textarea:focus,.vb-dashboard input:focus,.vb-dashboard select:focus,.vb-dashboard textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
@media(max-width:650px){
  .vb-storefront .video-grid{grid-template-columns:minmax(0,1fr)}
  .vb-storefront .video-frame{min-height:200px}
  .vb-storefront .cta-band>.container{padding-top:24px}
  .vb-dashboard .tile .v{font-size:24px}
  .vb-dashboard input:not([type=checkbox]):not([type=radio]),.vb-dashboard select,.vb-dashboard textarea{font-size:16px}
}
/* Owners can open the dashboard from the menu at every screen size. */
.vb-storefront .hamburger.owner-menu{display:grid}
.catch-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.catch-tabs a{padding:10px 16px;border:1px solid var(--line);border-radius:6px;font-size:14px}
.catch-tabs [aria-current]{background:var(--accent);border-color:var(--accent);color:white}
@media(min-width:1050px) and (max-width:1239px){.vb-storefront .site-header .nav{display:none}.vb-storefront .hamburger{display:grid}.vb-storefront .site-header .container{grid-template-columns:1fr auto}}
/* Checkout options: card button, PayPal/Venmo express buttons, PayPal address step */
.pay-options{display:grid;gap:10px;margin-top:14px}
.pay-divider{display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.pay-divider::before,.pay-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.pay-express{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay-express.single{grid-template-columns:1fr}
.pay-btn{height:46px;border:0;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:filter .15s,box-shadow .15s}
.pay-btn:hover{filter:brightness(.94)}
.pay-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pay-btn.is-selected{box-shadow:0 0 0 2px var(--paper,#111b22),0 0 0 4px var(--accent)}
.pay-btn--paypal{background:#ffc439}
.pay-btn--venmo{background:#008cff}
.pp-word,.venmo-word{font:italic 800 1.2rem/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em}
.pp-word i:first-child{color:#003087}
.pp-word i:last-child{color:#009cde}
.venmo-word{color:#fff;font-size:1.3rem}
.pp-panel{border:1px solid var(--line);border-radius:8px;background:var(--inset);padding:16px}
.pp-panel h4{margin:0 0 4px;font-size:1rem;text-transform:none;letter-spacing:0;color:var(--text)}
.pp-sub{margin:0 0 14px;color:var(--muted);font-size:.85rem}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pp-field{display:grid;gap:5px;font-size:.78rem;color:var(--muted)}
.pp-field.full{grid-column:1/-1}
.pp-field input,.pp-field select{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:.95rem}
.pp-field input:focus,.pp-field select:focus{border-color:var(--accent)}
.pp-actions{display:flex;align-items:center;gap:14px;margin-top:16px}
.pp-actions .btn{flex:1}
.pp-link{background:none;border:0;padding:0;color:var(--muted);font-size:.85rem;text-decoration:underline;cursor:pointer}
.pp-review{display:grid;gap:12px}
.pp-review>.pp-link{justify-self:center}
.pp-totals{display:grid;gap:7px;font-size:.92rem;color:var(--muted)}
.pp-totals div{display:flex;justify-content:space-between}
.pp-totals .total{margin-top:4px;padding-top:10px;border-top:1px solid var(--line);color:var(--text);font-weight:700;font-size:1.05rem}
.pp-shipto{margin:2px 0 0;color:var(--muted-2);font-size:.8rem}
.pp-error{margin:12px 0 0;padding:10px 12px;border:1px solid var(--accent);border-radius:6px;background:var(--accent-soft);color:var(--text);font-size:.88rem}
.cart-drawer .pay-btn{height:42px}
/* Dashboard menu: number of customer uploads waiting for review */
.vb-dashboard .nav-count{margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font:700 11px/19px var(--f-body);text-align:center;flex:none}
.vb-dashboard .nav-count+.nav-chevron{margin-left:8px}
.vb-dashboard .nav-submenu a:has(.nav-count){display:flex;align-items:center}
/* "Notify me" box on sold-out product pages */
.pdp-notify{margin:4px 0 20px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2,#202f39)}
.pdp-notify strong{display:block;font-size:1rem}
.notify-opt{color:var(--muted);font-weight:500}
.notify-sub{margin:4px 0 12px;color:var(--muted);font-size:.88rem}
.notify-row{display:flex;gap:8px}
.notify-row input{flex:1;min-width:0}
.pdp-notify input[type=tel],.pdp-notify input[type=email]{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:.95rem}
.pdp-notify input[type=email]{width:100%;margin-top:8px}
.notify-consent{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:.76rem;color:var(--muted-2);line-height:1.45}
.notify-consent input{margin-top:2px;flex:none}
.notify-msg{margin:10px 0 0;font-size:.85rem;color:#ef7a2e}
.notify-msg.ok,.notify-done{color:var(--ok)}
.notify-done{margin:0;font-weight:600}
/* Shop cards: Sold Out + Notify me, and the pop-up */
.vb-storefront .card-soldout{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.notify-modal{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:16px;background:rgba(5,10,14,.72)}
.notify-card{position:relative;width:100%;max-width:440px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#17242d);padding:20px;box-shadow:0 18px 50px #000a}
.notify-close{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--muted);font-size:1.7rem;line-height:1;cursor:pointer}
.notify-head{display:flex;gap:14px;align-items:center;margin:0 26px 14px 0}
.notify-head img{width:84px;height:60px;object-fit:contain;border-radius:6px;background:var(--card)}
.notify-head h3{margin:2px 0 4px;font-size:1.05rem}
.notify-sold{font-size:.78rem;color:var(--muted)}
.notify-body .notify-form{display:block}
.notify-body input[type=tel],.notify-body input[type=email]{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:.95rem}
.notify-body input[type=email]{width:100%;margin-top:8px}
.disc-form{display:flex;gap:8px;margin-top:16px}.disc-form input{flex:1;min-width:0;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:.95rem;text-transform:uppercase}.disc-form input::placeholder{text-transform:none}.disc-form input:focus{border-color:var(--accent);outline:none}.disc-form .btn{height:42px;padding:0 16px}.disc-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding:10px 12px;border:1px dashed var(--accent);border-radius:6px;font-size:.9rem}.disc-msg{margin-top:8px;color:#e5484d;font-size:.85rem}.summary .disc-row span:last-child{color:var(--accent)}
.vb-storefront .rv-avatar{overflow:hidden}.vb-storefront .rv-avatar img{width:100%;height:100%;object-fit:cover;display:block}.vb-storefront .review .rv-photo{display:block;margin:0 0 16px}.vb-storefront .review .rv-photo img{width:100%;max-height:240px;object-fit:cover;border-radius:6px;display:block}
.cart-addons .ca-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.cart-addons .ca-card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}.cart-addons .ca-img{display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--surface-2)}.cart-addons .ca-img img{width:100%;height:100%;object-fit:cover;display:block}.cart-addons .ca-body{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.cart-addons .ca-name{color:inherit;font-weight:600;font-size:.95rem}.cart-addons .ca-price{color:var(--accent);font-weight:700;white-space:nowrap}.cart-addons .ca-labels{margin-top:14px;font-size:.85rem;color:var(--muted)}
/* Laptop widths: slim catch-photo rails beside the page (wider screens keep the full rails). */
@media (min-width:1280px) and (max-width:1499px){
  .vb-storefront{--container:calc(100vw - 248px)}
  .vb-storefront .side-rail{display:block;width:96px}
}
/* Side catch photos sit in front of full-width bands (still under the menu, cart and pop-ups). */
.vb-storefront .side-rail{z-index:4}
/* Tighter spacing between sections. */
.vb-storefront .section{padding:46px 0}
.vb-storefront .section--tight{padding:32px 0}
@media(max-width:820px){.vb-storefront .section{padding:34px 0}.vb-storefront .section--tight{padding:26px 0}}
/* The home page banner sits on top of the side catch photos; they slide out from under it as you scroll. */
.vb-storefront .hero{z-index:5}
/* Disabled buttons (Sold Out, Unavailable) look disabled, not like a clickable orange button. */
.vb-storefront .btn:disabled{background:transparent!important;color:var(--muted,#9fb2bd)!important;border:1.5px solid rgba(255,255,255,.2)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed;opacity:.85}

@media (min-width:1100px){.vb-storefront .trust .container{max-width:var(--container);padding:0 24px}}
.vb-storefront .spotlight,.vb-storefront .trust,.vb-storefront .site-footer{position:relative;z-index:5}
.vb-storefront .site-footer .foot-col a.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;text-align:center}
@media (min-width:1100px){.vb-storefront .spotlight .container,.vb-storefront .trust .container{max-width:min(1640px,calc(100vw - 80px))}}
@media (min-width:1600px){.vb-storefront .spotlight .sl-card{min-height:310px}}
.vb-dashboard .card-box .save-bar,.vb-dashboard .card-box .savebar{background:transparent}
.promo-box{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;margin:0 0 14px}.promo-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1rem;color:var(--text)}.promo-head svg{color:var(--accent);flex:none}.promo-box .disc-form{margin-top:10px}.promo-box .disc-form input{height:48px;font-size:1.02rem;letter-spacing:.05em}.promo-box .disc-form .btn{height:48px;padding:0 22px}.promo-help{margin:8px 0 0;font-size:.82rem;line-height:1.45;color:var(--muted)}.promo-box .disc-chip{margin-top:10px}.promo-box .promo-applied{border:1px solid rgba(70,180,135,.6);background:rgba(70,180,135,.12)}.promo-box .promo-applied svg{color:#46b487;flex:none;width:18px;height:18px}.promo-box .promo-applied span{flex:1}.promo-note{margin:8px 0 0;font-size:.85rem;color:var(--muted)}.summary .pay-hint{margin:18px 0 8px;text-align:center;font-size:.85rem;color:var(--muted)}.cart-drawer .drawer-continue{display:block;width:100%;margin-top:10px;padding:6px;background:none;border:0;color:var(--muted);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer}.cart-drawer #drawerCheckout{display:flex;align-items:center;justify-content:center;gap:8px}
.vb-storefront .pdp-main{position:relative;cursor:zoom-in}.vb-storefront .pdp-main img{transition:transform .18s ease}.vb-storefront .pdp-main img.hover-zoom{transform:scale(2)}.pdp-zoom{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:0;border-radius:999px;background:rgba(10,22,32,.78);color:#fff;font:600 .8rem var(--f-body);cursor:zoom-in;box-shadow:0 4px 14px rgba(0,0,0,.25)}.pdp-zoom svg{flex:none}.lightbox{overflow:hidden}.lightbox img{transition:transform .25s ease;cursor:zoom-in;touch-action:manipulation;user-select:none;-webkit-user-drag:none}.lightbox img.zoomed{transform:scale(2.5);cursor:zoom-out;touch-action:none}.lightbox.single .lb-nav{display:none}.lb-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 14px;border-radius:999px;background:rgba(0,0,0,.5);color:#e6edf0;font-size:.85rem;pointer-events:none;white-space:nowrap}