:root { --yellow:#ffdd00; --black:#151515; --soft:#f5f5f3; --grey:#777; --line:#e5e5e2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:#fff; color:var(--black); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }

.vv-topline { height:48px; display:flex; align-items:center; justify-content:center; background:#ffa31a; color:#1b1b1b; font-size:14px; font-weight:750; }
.vv-header { background:#fff; position:relative; z-index:20; }
.vv-header-main { width:min(1300px,calc(100% - 40px)); height:100px; margin:0 auto; padding:0; display:grid; grid-template-columns:365px 390px 1fr; align-items:center; gap:40px; border-bottom:1px solid #ededed; }
.vv-brand-row { display:flex; align-items:center; gap:20px; }
.vv-logo img { display:block; width:220px; height:auto; }
.vv-subbrand { padding-left:18px; border-left:1px solid #ddd; color:#f08cae; font-size:11px; line-height:1.05; }
.vv-subbrand b { color:#888; font-size:9px; letter-spacing:.08em; }
.vv-search-box { height:50px; padding:4px 5px 4px 22px; display:flex; align-items:center; border:1px solid #ddd; border-radius:28px; }
.vv-search-box input { min-width:0; flex:1; border:0; outline:0; font-size:14px; }
.vv-search-box button { height:40px; width:88px; border:0; border-radius:22px; background:#ffa51e; color:#fff; font-size:12px; font-weight:800; cursor:pointer; }
.vv-mobile-search { display:none; }
.vv-utility { justify-self:end; text-align:right; }
.vv-utility > b { display:inline-block; padding:4px 10px; margin-bottom:12px; border-radius:4px; background:#111; color:#fff; font-size:10px; }
.vv-utility div { display:flex; align-items:center; gap:10px; font-size:11px; }
.vv-utility i { width:1px; height:10px; background:#bbb; }
.vv-menu-button { border:0; background:none; font-size:24px; cursor:pointer; }
.vv-nav { width:min(1300px,calc(100% - 40px)); height:64px; margin:0 auto; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:clamp(22px,2.25vw,46px); padding:0; font-size:15px; font-weight:800; white-space:nowrap; }
.vv-nav > a:nth-child(3),.vv-nav > a:nth-child(4) { color:#111; }
.vv-nav a { white-space:nowrap; }
.vv-nav-icons { margin-left:auto; display:flex; gap:22px; align-items:center; font-size:25px; font-weight:400; }
.vv-search-results { position:absolute; z-index:50; top:98px; left:50%; transform:translateX(-50%); width:min(760px,92vw); padding:22px; background:#fff; border:1px solid #ddd; box-shadow:0 22px 60px rgba(0,0,0,.2); }
.vv-search-results-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:15px; border-bottom:1px solid var(--line); font-size:15px; }
.vv-search-results-head button { width:34px; height:34px; border:0; border-radius:50%; background:#f1f1f1; font-size:25px; cursor:pointer; }
.vv-search-results-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:14px; }
.vv-search-results-grid > a { display:grid; grid-template-columns:66px 1fr; align-items:center; gap:12px; padding:8px; border:0; background:#fafafa; text-align:left; cursor:pointer; }
.vv-search-results-grid > a:hover { background:#fff2bd; }
.vv-search-results-grid img { width:66px; height:66px; object-fit:contain; }
.vv-search-results-grid span { font-size:12px; font-weight:700; }
.vv-search-results-grid small { display:block; margin-top:4px; color:#888; font-size:9px; font-weight:400; }

.vv-hero { height:690px; position:relative; overflow:hidden; padding-top:14px; background:#fff; touch-action:pan-y pinch-zoom; }
.vv-hero-track { display:flex; gap:34px; width:max-content; height:606px; transform:translateX(-5.1vw); }
.vv-hero-track a { width:35.4vw; min-width:560px; max-width:840px; height:606px; flex:none; overflow:hidden; border-radius:20px; }
.vv-hero-track img { display:block; width:100%; height:100%; object-fit:cover; }
.vv-hero-arrows { position:absolute; inset:0; pointer-events:none; }
.vv-hero-arrows button { pointer-events:auto; position:absolute; top:45%; transform:translateY(-50%); width:52px; height:76px; border:0; background:rgba(255,255,255,.72); font-size:45px; font-weight:200; cursor:pointer; }
.vv-hero-arrows button:first-child { left:14%; }
.vv-hero-arrows button:last-child { right:14%; }
.vv-slide-dots { position:absolute; left:50%; bottom:17px; transform:translateX(-50%); display:flex; align-items:center; gap:0; }
.vv-slide-dots button { position:relative; width:24px; height:24px; padding:0; border:0; background:transparent; cursor:pointer; }
.vv-slide-dots button::after { content:""; position:absolute; top:50%; left:50%; width:10px; height:10px; border-radius:50%; background:#d5d5d5; transform:translate(-50%,-50%); }
.vv-slide-dots button.active::after { width:13px; height:13px; border:2px solid #e79800; background:#fff; }

.vv-shortcuts { max-width:1200px; margin:0 auto; padding:18px 0 36px; display:grid; grid-template-columns:repeat(11,1fr); gap:8px; }
.vv-shortcuts a { min-width:0; display:flex; flex-direction:column; align-items:center; gap:12px; }
.vv-shortcuts span { width:96px; height:96px; border-radius:50%; display:block; background-image:url('/original-home-reference.jpg?v=2'); background-size:2048px 1118px; background-repeat:no-repeat; }
.vv-category-icon-1 { background-position:-377px -928px; }
.vv-category-icon-2 { background-position:-482px -928px; }
.vv-category-icon-3 { background-position:-586px -928px; }
.vv-category-icon-4 { background-position:-691px -928px; }
.vv-category-icon-5 { background-position:-795px -928px; }
.vv-category-icon-6 { background-position:-900px -928px; }
.vv-category-icon-7 { background-position:-1006px -928px; }
.vv-category-icon-8 { background-position:-1110px -928px; }
.vv-category-icon-9 { background-position:-1214px -928px; }
.vv-category-icon-10 { background-position:-1318px -928px; }
.vv-category-icon-11 { background-position:-1422px -928px; }
.vv-category-icon-12 { background-position:-1526px -928px; }
.vv-shortcuts strong { font-size:14px; line-height:1.25; text-align:center; }

.vv-media-section,.vv-products-section { max-width:1280px; margin:0 auto; padding:58px 20px 72px; }
.vv-media-section { padding-top:72px; }
.vv-media-section .vv-section-title { text-align:center; padding-bottom:32px; }
.vv-media-section .vv-section-title p { display:none; }
.vv-media-section .vv-section-title h2 { font-size:42px; font-weight:800; }
.vv-section-title p { margin:0 0 8px; font-size:12px; letter-spacing:.16em; font-weight:800; color:#555; }
.vv-section-title p span { color:#ef3b31; }
.vv-section-title h2,.vv-mini-heading h2 { margin:0 0 30px; font-size:42px; letter-spacing:-.045em; }
.vv-section-title.centered { text-align:center; margin-bottom:42px; }
.vv-video-wrap { position:relative; aspect-ratio:16/9; background:#111; overflow:hidden; border-radius:20px; }
.vv-video-wrap iframe,.vv-video-wrap video { width:100%; height:100%; border:0; }
.vv-video-wrap video { display:block; object-fit:cover; background:#111; }

.vv-products-section { padding-top:54px; }
.vv-catalog-filters { margin:-12px auto 22px; display:flex; flex-wrap:wrap; justify-content:center; gap:9px; }
.vv-catalog-filters button { padding:11px 17px; border:1px solid #ddd; border-radius:24px; background:#fff; color:#333; font-size:14px; font-weight:650; cursor:pointer; transition:.2s; }
.vv-catalog-filters button:hover,.vv-catalog-filters button.active { border-color:#111; background:#111; color:#fff; }
.vv-catalog-count { margin:0 0 24px; color:#555; font-size:14px; text-align:right; }
.vv-product-grid { display:grid; grid-template-columns:repeat(4,1fr); column-gap:22px; row-gap:58px; }
.vv-product-image { aspect-ratio:1; background:#f5f5f5; position:relative; overflow:hidden; display:grid; place-items:center; }
.vv-product-image img { width:92%; height:92%; object-fit:contain; transition:transform .35s; }
.vv-product:hover .vv-product-image img { transform:scale(1.04); }
.vv-label { position:absolute; left:13px; top:13px; z-index:2; background:#111; color:#fff; padding:7px 9px; font-size:8px; font-weight:800; }
.vv-hover { position:absolute; left:50%; bottom:-60px; transform:translateX(-50%); display:flex; gap:5px; transition:bottom .25s; }
.vv-hover span { width:38px; height:38px; border-radius:50%; background:#fff; box-shadow:0 3px 15px rgba(0,0,0,.15); display:grid; place-items:center; }
.vv-product:hover .vv-hover { bottom:15px; }
.vv-product-info { padding-top:17px; }
.vv-product-info h2,.vv-product-info h3 { min-height:52px; margin:0 0 8px; font-size:18px; line-height:1.4; font-weight:700; }
.vv-product-info h2 a:hover,.vv-product-info h3 a:hover { color:#c77b00; }
.vv-product-info p { margin:0 0 14px; font-size:14px; color:#707070; line-height:1.55; }
.vv-product-image-link { display:block; }
.vv-detail { width:100%; padding:12px 0 0; border:0; border-top:1px solid #ddd; background:none; display:flex; justify-content:space-between; font-size:12px; font-weight:800; cursor:pointer; }
.vv-detail:hover { color:#d84231; }
.vv-more { margin:60px auto 0; width:220px; display:flex; justify-content:space-between; padding:16px 18px; border:1px solid #111; background:#fff; font-size:13px; font-weight:800; cursor:pointer; }

.vv-product-page { min-height:100vh; background:#fff; }
.vv-product-page-header { height:112px; padding:0 max(24px,calc((100vw - 1280px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.vv-product-page-header img { width:220px; display:block; }
.vv-product-page-header nav { display:flex; gap:28px; font-size:13px; font-weight:800; }
.vv-product-breadcrumb { max-width:1280px; margin:0 auto; padding:28px 20px; color:#888; font-size:12px; }
.vv-product-breadcrumb a:hover { color:#111; }
.vv-product-detail-page { max-width:1280px; margin:0 auto; padding:20px 20px 110px; display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.86fr); gap:70px; align-items:start; }
.vv-product-detail-image { min-height:620px; display:grid; place-items:center; background:#f5f5f3; }
.vv-product-detail-image img { width:92%; height:600px; object-fit:contain; }
.vv-product-detail-copy { padding-top:24px; }
.vv-product-detail-copy > span { color:#d98c00; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vv-product-detail-copy h1 { margin:15px 0 18px; font-size:46px; line-height:1.08; letter-spacing:-.055em; }
.vv-product-lead { margin:0 0 32px; color:#666; font-size:16px; line-height:1.7; }
.vv-product-facts { margin:0 0 30px; border-top:1px solid #111; }
.vv-product-facts div { padding:17px 0; display:grid; grid-template-columns:120px 1fr; border-bottom:1px solid var(--line); font-size:13px; }
.vv-product-facts dt { color:#888; }
.vv-product-facts dd { margin:0; font-weight:700; }
.vv-product-note { padding:20px; background:#fff8d9; font-size:12px; line-height:1.7; }
.vv-product-actions { margin-top:24px; display:flex; gap:10px; }
.vv-product-actions a,.vv-buy-disabled { min-height:52px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #111; font-size:12px; font-weight:800; }
.vv-product-actions a { background:#111; color:#fff; }
.vv-buy-disabled { border-color:#ddd; background:#eee; color:#888; cursor:not-allowed; }
.vv-marketplace-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.vv-marketplace-actions a,.vv-marketplace-actions .vv-buy-disabled { padding:0 12px; text-align:center; }
.vv-marketplace-actions .vv-buy-ozon { border-color:#005bff; background:#005bff; }
.vv-marketplace-actions .vv-buy-wb { border-color:#a900b8; background:linear-gradient(135deg,#cb11ab,#7b1fa2); }
.vv-marketplace-actions .vv-buy-sifo { border:2px solid #f59d16; background:#fff; color:#e88400; }
.vv-marketplace-actions .vv-buy-sifo:hover,.vv-marketplace-actions .vv-buy-sifo:focus-visible { background:#f59d16; color:#fff; }
.vv-back-catalog { display:inline-block; margin-top:18px; color:#555; font-size:12px; font-weight:700; }
.vv-product-content { width:100%; max-width:1280px; min-width:0; margin:0 auto; padding:5px 20px 100px; overflow:hidden; }
.vv-product-content article { min-width:0; max-width:100%; padding:42px; border-top:1px solid #ddd; }
.vv-product-content article > span { color:#d89800; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.vv-product-content h2 { margin:9px 0 22px; font-size:30px; }
.vv-product-content-columns { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.vv-formatted-text { min-width:0; max-width:100%; color:#444; font-size:15px; line-height:1.8; overflow-wrap:anywhere; word-break:normal; white-space:normal; }
.vv-formatted-text * { max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.vv-formatted-text img,.vv-formatted-text iframe,.vv-formatted-text video,.vv-formatted-text table { max-width:100%; height:auto; }
.vv-formatted-text p { margin:0 0 10px; }
.vv-formatted-text h3 { margin:24px 0 10px; color:#111; font-size:20px; }
.vv-format-bullet { position:relative; padding-left:18px; }
.vv-format-bullet::before { content:""; position:absolute; left:0; top:.72em; width:5px; height:5px; border-radius:50%; background:#e5a400; }
.vv-format-space { height:9px; }
.vv-related { max-width:1280px; margin:0 auto; padding:0 20px 110px; }
.vv-related h2 { margin:0 0 32px; font-size:32px; }
.vv-related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.vv-related-card { display:block; }
.vv-related-card div { aspect-ratio:1; display:grid; place-items:center; background:#f5f5f3; }
.vv-related-card img { width:92%; height:92%; object-fit:contain; }
.vv-related-card h3 { margin:14px 0 5px; font-size:14px; line-height:1.35; }
.vv-related-card p { margin:0; color:#888; font-size:11px; }
.vv-product-page-footer { padding:35px max(24px,calc((100vw - 1280px)/2)); display:flex; justify-content:space-between; gap:20px; background:#191919; color:#888; font-size:10px; }

.vv-wide-banner { min-height:390px; padding:60px max(40px,calc((100vw - 1280px)/2)); background:#342669; color:#fff; position:relative; overflow:hidden; display:flex; align-items:center; }
.vv-wide-banner > div { position:relative; z-index:3; }
.vv-wide-banner small { color:#d9d1ff; letter-spacing:.16em; font-size:8px; }
.vv-wide-banner h2 { margin:16px 0; font-size:49px; line-height:1.02; letter-spacing:-.055em; }
.vv-wide-banner p { font-size:12px; color:#cfc9e7; }
.vv-wide-banner img { position:absolute; z-index:2; width:490px; height:430px; object-fit:contain; right:10%; bottom:-10%; filter:drop-shadow(0 24px 24px rgba(0,0,0,.25)); }
.vv-banner-word { position:absolute; right:-1%; bottom:-80px; font-size:250px; line-height:1; font-weight:900; color:rgba(255,255,255,.045); }
.vv-new { max-width:none; background:#fafafa; padding-left:max(20px,calc((100vw - 1280px)/2)); padding-right:max(20px,calc((100vw - 1280px)/2)); }

.vv-about { display:grid; grid-template-columns:1.15fr .85fr; min-height:600px; }
.vv-about-photo { position:relative; background:#1a543c; color:#fff; overflow:hidden; display:grid; place-items:center; }
.vv-about-photo:before,.vv-about-photo:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; width:500px; height:500px; }
.vv-about-photo:after { width:300px; height:300px; }
.vv-about-photo > span { position:relative; z-index:2; font-size:92px; font-weight:900; letter-spacing:-.07em; line-height:.8; color:#d9ff62; }
.vv-seoul { position:absolute; left:8%; bottom:10%; font-size:10px; letter-spacing:.13em; }
.vv-about-copy { padding:90px max(40px,calc((100vw - 1280px)/2)) 80px 70px; display:flex; flex-direction:column; justify-content:center; align-items:start; }
.vv-about-copy > p:first-child { font-size:9px; letter-spacing:.15em; font-weight:800; }
.vv-about-copy h2 { margin:15px 0 28px; font-size:54px; line-height:1.02; letter-spacing:-.06em; }
.vv-about-copy h2 + p { font-size:13px; line-height:1.85; color:#666; }
.vv-about-copy a { margin-top:20px; padding-bottom:5px; border-bottom:1px solid #111; font-size:10px; font-weight:800; }

.vv-news { max-width:1280px; margin:auto; padding:100px 20px; display:grid; grid-template-columns:1fr 2fr; gap:80px; }
.vv-news-title span { font-size:9px; letter-spacing:.15em; }
.vv-news-title h2 { margin:10px 0; font-size:36px; }
.vv-news-list { border-top:1px solid #111; }
.vv-news-list article { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:20px; padding:24px 5px; border-bottom:1px solid var(--line); }
.vv-news-list time { font-size:9px; color:#626262; }
.vv-news-list h3 { margin:0; font-size:13px; }

.vv-home-seo { max-width:1280px; margin:0 auto; padding:20px 20px 92px; }
.vv-home-seo-intro { max-width:900px; }
.vv-home-seo-kicker { margin:0 0 12px; color:#b56e00; font-size:13px; font-weight:800; letter-spacing:.16em; }
.vv-home-seo h2 { margin:0 0 22px; font-size:42px; line-height:1.08; letter-spacing:-.045em; }
.vv-home-seo h3 { margin:0 0 10px; font-size:20px; }
.vv-home-seo p { margin:0; color:#555; font-size:16px; line-height:1.75; }
.vv-home-seo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:46px; margin-top:36px; padding-top:30px; border-top:1px solid var(--line); }
.vv-home-seo-links { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.vv-home-seo-links a { padding:12px 18px; border:1px solid #111; border-radius:999px; font-size:14px; font-weight:750; transition:background .2s,color .2s,border-color .2s; }
.vv-home-seo-links a:first-child,.vv-home-seo-links a:hover { border-color:#ef9700; background:#ef9700; color:#fff; }
.vv-home-seo-note { margin-top:30px!important; padding:16px 18px; border-left:4px solid #f3a51d; background:#fff8e8; color:#3f3f3f!important; font-size:14px!important; }

.vv-footer { padding:65px max(30px,calc((100vw - 1280px)/2)) 28px; background:#191919; color:#fff; display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:45px; }
.vv-footer-logo img { width:190px; filter:brightness(0) invert(1); }
.vv-footer-logo p { max-width:320px; color:#aaa; font-size:14px; line-height:1.65; }
.vv-footer h3 { color:#aaa; font-size:12px; letter-spacing:.1em; }
.vv-footer > div:not(.vv-footer-logo) { display:flex; flex-direction:column; gap:11px; font-size:14px; }
.vv-footer small { grid-column:1/-1; margin-top:30px; padding-top:22px; border-top:1px solid #333; color:#aaa; font-size:12px; line-height:1.7; }

.vv-modal-backdrop { position:fixed; z-index:100; inset:0; padding:30px; display:grid; place-items:center; background:rgba(0,0,0,.64); }
.vv-product-modal { width:min(920px,96vw); max-height:90vh; overflow:auto; position:relative; display:grid; grid-template-columns:1fr 1fr; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.35); }
.vv-modal-close { position:absolute; z-index:3; top:15px; right:15px; width:42px; height:42px; border:0; border-radius:50%; background:#111; color:#fff; font-size:27px; cursor:pointer; }
.vv-modal-image { min-height:520px; padding:35px; display:grid; place-items:center; background:#f2f2f0; }
.vv-modal-image img { width:100%; height:100%; max-height:510px; object-fit:contain; }
.vv-modal-copy { padding:70px 55px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.vv-modal-copy > span { color:#e14735; font-size:10px; font-weight:800; letter-spacing:.15em; }
.vv-modal-copy h2 { margin:14px 0 10px; font-size:35px; line-height:1.1; letter-spacing:-.05em; }
.vv-modal-copy p { color:#666; font-size:14px; line-height:1.7; }
.vv-modal-line { width:100%; height:1px; margin:18px 0; background:#ddd; }
.vv-modal-copy button { margin-top:18px; padding:14px 20px; border:1px solid #111; background:#111; color:#fff; font-size:12px; font-weight:800; cursor:pointer; }

@media(max-width:1000px){
  .vv-nav { overflow-x:auto; justify-content:flex-start; padding:0 20px; }
  .vv-header-main { grid-template-columns:1fr 320px 1fr; }
  .vv-subbrand { display:none; }
  .vv-shortcuts { grid-template-columns:repeat(6,1fr); }
  .vv-product-grid { grid-template-columns:repeat(3,1fr); }
  .vv-about { grid-template-columns:1fr; }
  .vv-about-photo { min-height:520px; }
  .vv-about-copy { padding:80px 45px; }
  .vv-product-detail-page { grid-template-columns:1fr; gap:35px; }
  .vv-related-grid { grid-template-columns:repeat(2,1fr); }
}

@media(max-width:650px){
  .vv-topline { height:34px; padding:0 14px; font-size:12px; text-align:center; }
  .vv-header-main { width:100%; height:66px; padding:0 16px; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .vv-logo img { width:150px; }
  .vv-search-box { display:none; }
  .vv-utility { display:none; }
  .vv-header-catalog-link { padding:10px 14px; border-radius:22px; font-size:12px; white-space:nowrap; }
  .vv-mobile-search { height:50px; padding:6px 12px; display:flex; gap:7px; border-top:1px solid #ededed; background:#fff; }
  .vv-mobile-search input { min-width:0; flex:1; padding:0 15px; border:1px solid #dcdcdc; border-radius:21px; background:#f7f7f5; outline:0; font-size:16px; }
  .vv-mobile-search button { min-width:76px; border:0; border-radius:21px; background:#111; color:#fff; font-size:13px; font-weight:800; }
  .vv-nav { height:48px; gap:22px; padding:0 14px!important; font-size:14px; scrollbar-width:none; overscroll-behavior-x:contain; }
  .vv-nav::-webkit-scrollbar { display:none; }
  .vv-menu-button { font-size:20px; }
  .vv-nav-icons { display:none; }
  .vv-hero { height:322px; padding-top:8px; }
  .vv-hero-track { position:relative; left:50%; height:275px; gap:10px; transform:translateX(-50%); }
  .vv-hero-track a { width:calc(100vw - 32px); min-width:calc(100vw - 32px); max-width:none; height:275px; border-radius:12px; }
  .vv-hero-track img { min-width:0; width:100%; height:100%; }
  .vv-hero-arrows { display:none; }
  .vv-shortcuts { grid-template-columns:repeat(3,1fr); padding:20px 10px 55px; gap:18px 5px; }
  .vv-shortcuts span { width:96px; height:96px; }
  .vv-media-section,.vv-products-section { padding:65px 15px 75px; }
  .vv-video-wrap { aspect-ratio:16/10; }
  .vv-product-grid { grid-template-columns:repeat(2,1fr); gap:38px 10px; }
  .vv-catalog-filters { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin-left:-15px; margin-right:-15px; padding:0 15px 8px; }
  .vv-catalog-filters button { flex:none; }
  .vv-product-info h2,.vv-product-info h3 { min-height:auto; font-size:15px; }
  .vv-wide-banner { min-height:560px; padding:48px 22px; align-items:flex-start; }
  .vv-wide-banner h2 { font-size:40px; }
  .vv-wide-banner img { width:360px; right:-55px; bottom:-3%; }
  .vv-about-photo { min-height:420px; }
  .vv-about-photo > span { font-size:60px; }
  .vv-about-copy { padding:60px 22px; }
  .vv-about-copy h2 { font-size:44px; }
  .vv-product-page-header { height:82px; padding:0 16px; }
  .vv-product-page-header img { width:155px; }
  .vv-product-page-header nav { gap:14px; font-size:10px; }
  .vv-product-breadcrumb { padding:18px 16px; font-size:13px; line-height:1.4; }
  .vv-product-detail-page { padding:2px 15px 62px; gap:26px; }
  .vv-product-detail-image { min-height:0; aspect-ratio:1; }
  .vv-product-detail-image img { width:96%; height:96%; }
  .vv-product-detail-copy { padding-top:0; }
  .vv-product-detail-copy h1 { font-size:clamp(30px,8.5vw,38px); line-height:1.08; }
  .vv-product-actions { flex-direction:column; }
  .vv-product-actions a,.vv-buy-disabled { width:100%; }
  .vv-marketplace-actions { display:grid; grid-template-columns:1fr; }
  .vv-product-content { padding:0 15px 65px; }
  .vv-product-content article { width:100%; min-width:0; padding:32px 8px; overflow:hidden; }
  .vv-product-content-columns { width:100%; grid-template-columns:minmax(0,1fr); }
  .vv-related { padding:0 15px 75px; }
  .vv-related-grid { gap:20px 10px; }
  .vv-product-page-footer { flex-direction:column; padding:28px 18px; }
  .vv-news { grid-template-columns:1fr; gap:30px; padding:70px 20px; }
  .vv-news-list article { grid-template-columns:55px 1fr auto; gap:10px; }
  .vv-home-seo { padding:15px 20px 65px; }
  .vv-home-seo h2 { font-size:34px; }
  .vv-home-seo-grid { grid-template-columns:1fr; gap:28px; margin-top:28px; padding-top:25px; }
  .vv-home-seo-links { flex-direction:column; align-items:stretch; }
  .vv-home-seo-links a { text-align:center; }
  .vv-footer { grid-template-columns:1fr 1fr; padding:55px 22px 25px; }
  .vv-footer-logo { grid-column:1/-1; }
  .vv-search-results { top:74px; padding:15px; }
  .vv-search-results-grid { grid-template-columns:1fr; max-height:62vh; overflow:auto; }
  .vv-modal-backdrop { padding:12px; }
  .vv-product-modal { grid-template-columns:1fr; }
  .vv-modal-image { min-height:310px; max-height:45vh; }
  .vv-modal-copy { padding:36px 24px; }
  .vv-modal-copy h2 { font-size:28px; }
}

@media(max-width:650px){
  .vv-topline { font-size:13px; }
  .vv-nav { font-size:14px; }
  .vv-section-title p,.vv-news-title span,.vv-about-copy > p:first-child { font-size:14px; }
  .vv-product-info p,.vv-related-card p,.vv-product-note,.vv-back-catalog { font-size:14px; line-height:1.55; }
  .vv-label { padding:6px 8px; font-size:11px; }
  .vv-more { font-size:15px; }
  .vv-wide-banner small { font-size:14px; line-height:1.35; }
  .vv-shortcuts strong { font-size:14px; }
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Simplified catalogue navigation */
.vv-simple-header { background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:100; backdrop-filter:blur(14px); }
.vv-simple-header-inner { width:min(1280px,calc(100% - 40px)); min-height:96px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.vv-simple-header .vv-logo img { width:225px; }
.vv-simple-nav { display:flex; align-items:center; gap:34px; font-size:15px; font-weight:700; }
.vv-simple-nav a:hover { color:#c77b00; }
.vv-products-section .vv-section-title h1 { max-width:900px; margin:0 auto 30px; font-size:46px; line-height:1.08; letter-spacing:-.04em; }
.vv-products-section .vv-section-title > p { font-size:14px; }
.vv-catalog-filters { display:none; }
.vv-shortcuts a { cursor:pointer; border-radius:14px; padding:7px 3px; transition:background .2s,transform .2s; }
.vv-shortcuts a:hover,.vv-shortcuts a.active { background:#fff4d2; transform:translateY(-2px); }
.vv-wide-banner small { font-size:14px; font-weight:700; }
.vv-wide-banner p { font-size:15px; line-height:1.6; }
.vv-about-copy > p:first-child,.vv-news-title span { font-size:13px; }
.vv-about-copy h2 + p,.vv-news-list h3 { font-size:16px; }
.vv-news-list time { font-size:13px; }
.vv-news-list a { display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:20px; padding:27px 5px; border-bottom:1px solid var(--line); }
.vv-news-list a:hover h3 { color:#c77b00; }
.vv-news-list article { display:block; padding:0; border:0; }
.vv-product-detail-copy > span,.vv-product-content article > span { font-size:13px; }
.vv-product-note,.vv-back-catalog,.vv-related-card p { font-size:13px; }

/* Legal pages and breadcrumbs */
.vv-legal-page { min-height:100vh; background:#fff; }
.vv-breadcrumbs { max-width:1120px; margin:auto; padding:24px 20px 0; color:#777; font-size:14px; }
.vv-breadcrumbs a:hover { color:#111; }
.vv-legal-content { max-width:960px; margin:auto; padding:44px 20px 90px; }
.vv-legal-content h1 { margin:0 0 18px; font-size:48px; line-height:1.08; letter-spacing:-.045em; }
.vv-legal-lead { margin:0 0 42px; color:#666; font-size:18px; line-height:1.7; }
.vv-legal-content h2 { margin:44px 0 14px; font-size:29px; line-height:1.2; }
.vv-legal-content h3 { margin:28px 0 10px; font-size:20px; }
.vv-legal-content p,.vv-legal-content li { color:#3f3f3f; font-size:16px; line-height:1.75; }
.vv-legal-content ul { padding-left:24px; }
.vv-legal-note { padding:20px 22px; border-left:4px solid #f3a51d; background:#fff7e5; }
.vv-legal-updated { color:#777!important; font-size:14px!important; }

/* Consent-first analytics */
.vv-cookie-banner { position:fixed; z-index:1000; left:24px; right:24px; bottom:24px; width:min(920px,calc(100% - 48px)); margin:auto; padding:22px 24px; border:1px solid #ddd; border-radius:16px; background:#fff; box-shadow:0 18px 60px rgba(0,0,0,.18); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.vv-cookie-banner strong { display:block; margin-bottom:5px; font-size:17px; }
.vv-cookie-banner p { margin:0; color:#555; font-size:14px; line-height:1.55; }
.vv-cookie-banner a { text-decoration:underline; }
.vv-cookie-actions { flex:none; display:flex; gap:9px; }
.vv-cookie-actions button { min-height:44px; padding:0 15px; border:1px solid #222; border-radius:8px; background:#fff; color:#111; font-size:13px; font-weight:700; cursor:pointer; }
.vv-cookie-actions button:last-child { background:#111; color:#fff; }

@media(max-width:650px){
  .vv-simple-header-inner { min-height:76px; width:calc(100% - 30px); gap:15px; }
  .vv-simple-header .vv-logo img { width:150px; }
  .vv-simple-nav { gap:15px; font-size:13px; }
  .vv-simple-nav a:first-child { display:none; }
  .vv-products-section .vv-section-title h1 { font-size:34px; }
  .vv-product-info h2,.vv-product-info h3 { min-height:auto; font-size:15px; }
  .vv-product-info p { font-size:13px; }
  .vv-shortcuts strong { font-size:13px; }
  .vv-legal-content { padding-top:32px; }
  .vv-legal-content h1 { font-size:36px; }
  .vv-cookie-banner { left:12px; right:12px; bottom:12px; width:calc(100% - 24px); padding:18px; align-items:stretch; flex-direction:column; gap:16px; }
  .vv-cookie-actions { display:grid; grid-template-columns:1fr; }
}

.vv-catalog-header { position:sticky; top:0; z-index:100; box-shadow:0 1px 0 rgba(0,0,0,.06); }
.vv-catalog-header .vv-header-main { border-bottom:0; }
.vv-catalog-header .vv-nav { max-width:none; width:100%; padding-left:max(calc((100vw - 1300px)/2),20px); padding-right:max(calc((100vw - 1300px)/2),20px); border-top:1px solid #ededed; }
.vv-catalog-header .vv-nav a:hover { color:#c77b00; }
.vv-product[hidden] { display:none; }
.vv-header-catalog-link { justify-self:center; padding:14px 28px; border:1px solid #dedede; border-radius:28px; font-size:14px; font-weight:750; }
.vv-header-catalog-link:hover { border-color:#f0a11b; color:#c77b00; }
.vv-catalog-page { min-height:70vh; padding-top:38px; }
.vv-catalog-route-list { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin:-16px auto 28px; }
.vv-catalog-route-list a { padding:11px 16px; border:1px solid #ddd; border-radius:24px; font-size:14px; font-weight:700; }
.vv-catalog-route-list a:hover,.vv-catalog-route-list a.active { border-color:#111; background:#111; color:#fff; }
.vv-search-query { color:#666!important; letter-spacing:0!important; font-size:16px!important; font-weight:500!important; }
.vv-catalog-empty { padding:50px 0; text-align:center; color:#666; font-size:17px; }

.vv-admin { min-height:100vh; padding:32px; background:#f5f5f2; color:#171717; }
.vv-admin-header { max-width:1380px; margin:0 auto 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.vv-admin-header > div { display:flex; align-items:center; gap:22px; }
.vv-admin-logo img { width:205px; display:block; }
.vv-admin-header p { margin:0; color:#777; font-size:13px; }
.vv-admin-header nav { display:flex; gap:10px; }
.vv-admin-header nav a { padding:11px 15px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#222; text-decoration:none; font-size:13px; font-weight:700; }
.vv-admin-toolbar { max-width:1380px; margin:0 auto 18px; padding:24px 26px; border-radius:14px; background:#fff; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.vv-admin-toolbar h1 { margin:0 0 4px; font-size:30px; }
.vv-admin-toolbar p { margin:0; color:#888; font-size:13px; }
.vv-admin-toolbar input { width:min(420px,45vw); padding:14px 16px; border:1px solid #ddd; border-radius:8px; font-size:14px; }
.vv-admin-message,.vv-admin-loading { max-width:1380px; margin:0 auto 18px; padding:14px 18px; border-radius:8px; background:#fff4ce; font-size:13px; }
.vv-admin-tabs { max-width:1380px; margin:0 auto 18px; display:flex; gap:8px; }
.vv-admin-tabs button { padding:12px 22px; border:1px solid #ddd; border-radius:24px; background:#fff; font-weight:800; cursor:pointer; }
.vv-admin-tabs button.active { border-color:#111; background:#111; color:#fff; }
.vv-admin-list { max-width:1380px; margin:auto; display:grid; grid-template-columns:1fr; gap:10px; }
.vv-admin-card { padding:22px; border-radius:14px; background:#fff; box-shadow:0 2px 14px rgba(0,0,0,.035); }
.vv-admin-card > summary { list-style:none; cursor:pointer; }
.vv-admin-card > summary::-webkit-details-marker { display:none; }
.vv-admin-product-head { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:16px; margin:0; }
.vv-admin-product-head > img { width:70px; height:70px; object-fit:contain; border-radius:8px; background:#f5f5f5; }
.vv-admin-product-head > div { display:flex; flex-direction:column; gap:7px; }
.vv-admin-product-head b { font-size:16px; }
.vv-admin-product-head span { color:#777; font-size:13px; }
.vv-admin-product-head a { color:#777; font-size:12px; }
.vv-admin-expand { padding:9px 13px; border-radius:8px; background:#f3f3f0; color:#333!important; font-weight:750; }
.vv-admin-card[open] .vv-admin-expand { background:#111; color:#fff!important; }
.vv-admin-product-body { padding-top:22px; margin-top:18px; border-top:1px solid #eee; }
.vv-admin-product-meta { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.vv-admin-product-meta > a { color:#777; font-size:13px; text-decoration:underline; }
.vv-admin-visible { flex-direction:row!important; align-items:center; white-space:nowrap; }
.vv-admin-card label { display:flex; flex-direction:column; gap:7px; margin-bottom:13px; color:#555; font-size:11px; font-weight:700; }
.vv-admin-card input,.vv-admin-card select,.vv-admin-card textarea { width:100%; padding:11px 12px; border:1px solid #d8d8d8; border-radius:7px; background:#fff; color:#111; font:inherit; font-size:13px; }
.vv-admin-card textarea { min-height:90px; resize:vertical; line-height:1.55; }
.vv-admin-long-field { position:relative; }
.vv-admin-format-toolbar { display:flex; gap:6px; margin:2px 0 1px; }
.vv-admin-format-toolbar button { padding:6px 9px; border:1px solid #ddd; border-radius:6px; background:#f8f8f6; color:#333; font-size:11px; cursor:pointer; }
.vv-admin-marketplaces { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.vv-admin-visible input { width:auto; }
.vv-admin-fields { display:grid; grid-template-columns:1fr 130px; gap:12px; }
.vv-admin-card > button { width:100%; padding:13px; border:0; border-radius:8px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.vv-admin-save { width:100%; padding:13px; border:0; border-radius:8px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.vv-admin-card > button:disabled { opacity:.55; cursor:wait; }
.vv-admin-denied { min-height:100vh; display:grid; place-content:center; text-align:center; gap:12px; }
.vv-admin-denied h1,.vv-admin-denied p { margin:0; }
.vv-admin-denied a { color:#d78900; font-weight:700; }
.vv-admin-login { min-height:100vh; display:grid; place-items:center; padding:24px; background:#f5f5f2; }
.vv-admin-login form { width:min(430px,100%); padding:40px; border-radius:16px; background:#fff; box-shadow:0 16px 50px rgba(0,0,0,.08); display:flex; flex-direction:column; gap:16px; }
.vv-admin-login img { width:220px; margin-bottom:8px; }
.vv-admin-login h1 { margin:0 0 8px; font-size:28px; }
.vv-admin-login label { display:flex; flex-direction:column; gap:7px; color:#555; font-size:12px; font-weight:700; }
.vv-admin-login input { padding:13px 14px; border:1px solid #d8d8d8; border-radius:8px; font-size:14px; }
.vv-admin-login button { padding:14px; border:0; border-radius:8px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.vv-admin-login > form > a { color:#666; font-size:12px; text-align:center; }
.vv-admin-error { color:#b42318; }
.vv-admin-banner-upload { max-width:1380px; margin:0 auto 18px; padding:22px; border-radius:14px; background:#fff; display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:end; gap:14px; }
.vv-admin-banner-upload label,.vv-admin-banner-card label { display:flex; flex-direction:column; gap:7px; color:#555; font-size:12px; font-weight:700; }
.vv-admin-banner-upload input,.vv-admin-banner-card input { width:100%; padding:12px; border:1px solid #d8d8d8; border-radius:8px; font:inherit; }
.vv-admin-banner-upload button,.vv-admin-banner-actions button { padding:13px 18px; border:0; border-radius:8px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.vv-admin-banner-list { max-width:1380px; margin:auto; display:grid; gap:12px; }
.vv-admin-banner-card { padding:16px; border-radius:14px; background:#fff; display:grid; grid-template-columns:260px 1fr; gap:20px; align-items:center; }
.vv-admin-banner-card > img { width:260px; height:140px; object-fit:cover; border-radius:10px; background:#eee; }
.vv-admin-banner-card > div { display:grid; grid-template-columns:2fr 2fr 110px 120px; gap:12px; align-items:end; }
.vv-admin-banner-actions { display:flex; gap:8px; grid-column:1/-1; }
.vv-admin-banner-actions button:last-child { background:#fff; color:#b42318; border:1px solid #e5b7b3; }

@media(max-width:850px){
  .vv-admin { padding:18px 12px; }
  .vv-admin-header,.vv-admin-toolbar { align-items:flex-start; flex-direction:column; }
  .vv-admin-header > div { align-items:flex-start; flex-direction:column; gap:8px; }
  .vv-admin-toolbar input { width:100%; }
  .vv-admin-list { grid-template-columns:1fr; }
  .vv-admin-marketplaces { grid-template-columns:1fr; gap:0; }
  .vv-admin-banner-upload { grid-template-columns:1fr; }
  .vv-admin-banner-card { grid-template-columns:1fr; }
  .vv-admin-banner-card > img { width:100%; height:auto; max-height:260px; }
  .vv-admin-banner-card > div { grid-template-columns:1fr; }
  .vv-admin-product-head { grid-template-columns:58px 1fr; }
  .vv-admin-product-head > img { width:58px; height:58px; }
  .vv-admin-expand { grid-column:1/-1; text-align:center; }
}

@media(max-width:650px){
  .vv-topline { font-size:14px; }
  .vv-nav { font-size:14px; }
  .vv-section-title p,.vv-news-title span,.vv-about-copy > p:first-child { font-size:14px; }
  .vv-product-info p,.vv-related-card p,.vv-product-note,.vv-back-catalog { font-size:14px; line-height:1.55; }
  .vv-label { padding:6px 8px; font-size:12px; }
  .vv-more { font-size:15px; }
  .vv-wide-banner small { font-size:14px; line-height:1.35; }
  .vv-shortcuts strong { font-size:14px; }
  .vv-footer h3,.vv-footer a,.vv-footer span,.vv-footer small { font-size:14px; }
}

/* Compact catalogue administration */
.vv-admin-toolbar-actions { display:flex; align-items:center; gap:10px; }
.vv-admin-toolbar-actions input { width:320px; padding:12px 14px; border:1px solid #ddd; border-radius:9px; }
.vv-admin-toolbar-actions select { min-width:180px; padding:12px 34px 12px 12px; border:1px solid #ddd; border-radius:9px; background:#fff; font:inherit; font-size:13px; }
.vv-admin-export { padding:12px 14px; border:1px solid #ddd; border-radius:9px; background:#fff; color:#222; text-decoration:none; font-size:13px; font-weight:750; white-space:nowrap; }
.vv-admin-export:hover { border-color:#d38a00; color:#a56600; }
.vv-admin-toolbar-actions button { padding:12px 16px; border:0; border-radius:9px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.vv-admin-compact-list { display:grid; grid-template-columns:1fr; gap:6px; }
.vv-admin-product-row { min-height:62px; padding:7px 10px; display:grid; grid-template-columns:48px minmax(0,1fr) 72px 86px 36px 100px; align-items:center; gap:12px; border:1px solid #e7e7e4; border-radius:10px; background:#fff; }
.vv-admin-product-row > img { width:48px; height:48px; object-fit:contain; border-radius:7px; background:#f4f4f1; }
.vv-admin-product-row-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.vv-admin-product-row-copy b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.vv-admin-product-row-copy span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#777; font-size:12px; }
.vv-admin-status { color:#26733b; font-size:12px; font-weight:800; }
.vv-admin-status.off { color:#999; }
.vv-admin-completeness { padding:5px 8px; border-radius:999px; background:#e9f7ed; color:#26733b; font-size:11px; font-weight:800; text-align:center; white-space:nowrap; }
.vv-admin-completeness.incomplete { background:#fff1d6; color:#975c00; }
.vv-admin-product-row > a { text-align:center; color:#777; font-size:18px; text-decoration:none; }
.vv-admin-product-row > button { padding:9px 11px; border:1px solid #ddd; border-radius:7px; background:#fff; font-weight:700; cursor:pointer; }
.vv-admin-dialog { width:min(1040px,calc(100% - 30px)); max-height:94vh; padding:0; border:0; border-radius:18px; box-shadow:0 30px 100px rgba(0,0,0,.25); }
.vv-admin-dialog::backdrop { background:rgba(0,0,0,.45); }
.vv-admin-dialog-shell { display:flex; flex-direction:column; max-height:94vh; }
.vv-admin-dialog-message:not(:empty) { position:absolute; right:24px; bottom:82px; z-index:30; max-width:min(520px,calc(100% - 48px)); padding:12px 16px; border:1px solid #cde7d3; border-radius:10px; background:#effaf2; color:#206a34; font-size:13px; font-weight:700; box-shadow:0 8px 30px rgba(0,0,0,.12); }
.vv-admin-dialog-message.vv-admin-error:not(:empty) { border-color:#efc2bd; background:#fff0ee; color:#a52b20; }
.vv-admin-dialog-shell > header { padding:20px 24px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e5e5e5; }
.vv-admin-dialog-shell > header small { color:#999; font-size:12px; font-weight:800; letter-spacing:.12em; }
.vv-admin-dialog-shell > header h2 { margin:3px 0 0; font-size:24px; }
.vv-admin-dialog-shell > header button { width:40px; height:40px; border:0; border-radius:50%; background:#f0f0ed; font-size:25px; cursor:pointer; }
.vv-admin-dialog-body { padding:22px 24px 30px; overflow:auto; }
.vv-admin-dialog-body > label,.vv-admin-editor-grid label,.vv-admin-media-upload label { display:flex; flex-direction:column; gap:7px; margin-bottom:15px; color:#555; font-size:13px; font-weight:700; }
.vv-admin-dialog input,.vv-admin-dialog select,.vv-admin-dialog textarea { width:100%; padding:11px 12px; border:1px solid #d5d5d2; border-radius:8px; font:inherit; }
.vv-admin-dialog label small { color:#999; font-weight:400; }
.vv-admin-editor-grid { display:grid; grid-template-columns:2fr 1fr; gap:14px; }
.vv-admin-dialog-shell > footer { padding:16px 24px; display:flex; justify-content:flex-end; gap:10px; border-top:1px solid #e5e5e5; background:#fafaf8; }
.vv-admin-dialog-shell > footer button { width:auto; min-width:150px; padding:13px 18px; border-radius:8px; font-weight:800; cursor:pointer; }
.vv-admin-secondary { border:1px solid #ddd; background:#fff; }
.vv-admin-media { margin:8px 0 22px; padding:20px; border:1px solid #ead9b6; border-radius:14px; background:#fffaf0; }
.vv-admin-media h3 { margin:0; font-size:18px; }
.vv-admin-section-head { margin-bottom:16px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.vv-admin-section-head p { margin:4px 0 0; color:#777; font-size:13px; }
.vv-admin-section-head > span { padding:7px 10px; border-radius:999px; background:#fff; color:#8a5a00; font-size:12px; font-weight:800; white-space:nowrap; }
.vv-admin-photo-columns { display:grid; grid-template-columns:260px minmax(0,1fr); gap:20px; }
.vv-admin-photo-columns h4 { margin:0 0 10px; font-size:13px; }
.vv-admin-main-photo figure,.vv-admin-gallery figure { position:relative; margin:0; padding:8px; border:1px solid #ddd; border-radius:9px; background:#fff; }
.vv-admin-main-photo img { width:100%; height:170px; object-fit:contain; }
.vv-admin-main-photo figcaption { color:#777; font-size:12px; text-align:center; }
.vv-admin-gallery { min-height:126px; margin:0 0 10px; padding:10px; display:flex; align-content:flex-start; flex-wrap:wrap; gap:10px; border:1px dashed #d7bd87; border-radius:10px; background:rgba(255,255,255,.55); }
.vv-admin-gallery img { width:96px; height:82px; object-fit:contain; }
.vv-admin-gallery figcaption { padding-top:4px; color:#777; font-size:11px; text-align:center; }
.vv-admin-gallery-actions { position:absolute; right:4px; bottom:4px; left:4px; display:flex; justify-content:center; gap:3px; opacity:0; transition:opacity .15s ease; }
.vv-admin-gallery figure:hover .vv-admin-gallery-actions,.vv-admin-gallery figure:focus-within .vv-admin-gallery-actions { opacity:1; }
.vv-admin-gallery-actions button { width:25px; height:25px; padding:0; border:1px solid rgba(255,255,255,.45); border-radius:5px; background:rgba(17,17,17,.9); color:#fff; font-size:13px; cursor:pointer; }
.vv-admin-gallery-actions button:disabled { opacity:.35; cursor:not-allowed; }
.vv-admin-media-empty { margin:auto; color:#8a806d; font-size:13px; text-align:center; }
.vv-admin-media-upload { display:flex; align-items:end; gap:10px; }
.vv-admin-media-upload label { flex:1; margin:0; }
.vv-admin-media-upload button { padding:12px 15px; border:0; border-radius:8px; background:#111; color:#fff; font-weight:800; cursor:pointer; }
.vv-admin-media-upload button:disabled { opacity:.4; cursor:not-allowed; }
.vv-admin-media-note { margin:16px 0 0; color:#777; font-size:12px; }
.vv-admin-seo { padding:18px; border:1px solid #e6e6e2; border-radius:12px; background:#fbfbf8; }
.vv-admin-seo h3 { margin:0 0 14px; }
.vv-admin-seo > p { margin:4px 0 0; color:#777; font-size:12px; }
.vv-admin-description-field { display:block!important; margin-bottom:18px!important; }
.vv-admin-description-field > h3 { margin:0; color:#555; font-size:13px; }
.vv-admin-description-field > small { display:block; margin-top:8px; }
#description-editor { margin-top:7px; min-height:300px; background:#fff; color:#181818; font-weight:400; }
#description-editor .ql-editor { min-height:300px; padding:18px; font:16px/1.65 Arial,sans-serif; }
#description-editor .ql-editor p { margin:0 0 12px; }
#description-editor .ql-editor h2,#description-editor .ql-editor h3,#description-editor .ql-editor h4 { margin:18px 0 10px; line-height:1.25; }
#description-editor .ql-editor ul,#description-editor .ql-editor ol { margin:8px 0 14px; padding-left:1.5em; }
.ql-toolbar.ql-snow { margin-top:7px; border-color:#d5d5d2; border-radius:9px 9px 0 0; background:#fafaf8; }
.ql-container.ql-snow { border-color:#d5d5d2; border-radius:0 0 9px 9px; }
.vv-editor-fallback { padding:18px; border:1px solid #d5d5d2; border-radius:9px; }

/* Product gallery */
.vv-product-gallery { min-width:0; }
.vv-product-gallery .vv-product-detail-image { position:relative; }
.vv-gallery-counter { position:absolute; right:14px; bottom:14px; z-index:2; padding:7px 10px; border-radius:999px; background:rgba(17,17,17,.78); color:#fff; font-size:12px; font-weight:800; }
.vv-gallery-arrow { position:absolute; top:50%; z-index:2; width:44px; height:44px; margin-top:-22px; border:1px solid #e7e7e7; border-radius:50%; background:rgba(255,255,255,.94); color:#111; font-size:30px; line-height:1; cursor:pointer; box-shadow:0 4px 18px rgba(0,0,0,.08); }
.vv-gallery-prev { left:14px; }
.vv-gallery-next { right:14px; }
.vv-product-thumbs { margin-top:14px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.vv-product-thumbs button { aspect-ratio:1; padding:5px; border:1px solid #ddd; border-radius:9px; background:#fff; cursor:pointer; }
.vv-product-thumbs button.active { border:2px solid #111; }
.vv-product-thumbs { display:flex; gap:10px; overflow-x:auto; padding:10px 0 4px; scrollbar-width:thin; }
.vv-product-thumbs button { width:84px; min-width:84px; }
.vv-product-thumbs img { width:100%; height:100%; object-fit:contain; }
.vv-formatted-text ul,.vv-formatted-text ol { padding-left:24px; line-height:1.75; }
.vv-formatted-text blockquote { margin:20px 0; padding:15px 18px; border-left:4px solid #f5a000; background:#faf7ed; }

/* Search-friendly category copy */
.vv-category-intro { width:min(820px,100%); margin:18px auto 0!important; color:#555!important; font-size:17px!important; font-weight:500!important; letter-spacing:0!important; line-height:1.65; text-transform:none!important; }
.vv-category-seo { width:min(980px,calc(100% - 32px)); margin:72px auto 10px; padding:42px 46px; border-radius:18px; background:#f7f7f4; color:#2c2c2c; }
.vv-category-seo h2 { margin:0 0 16px; font-size:clamp(27px,3vw,38px); line-height:1.15; }
.vv-category-seo h3 { margin:30px 0 10px; font-size:21px; }
.vv-category-seo p { margin:0; color:#555; font-size:17px; line-height:1.75; }

@media(max-width:700px){
  .vv-admin-toolbar-actions { width:100%; align-items:stretch; flex-direction:column; }
  .vv-admin-toolbar-actions input,.vv-admin-toolbar-actions select { width:100%; }
  .vv-admin-export { text-align:center; }
  .vv-admin-product-row { grid-template-columns:44px minmax(0,1fr) 54px 76px; gap:9px; }
  .vv-admin-product-row > img { width:44px; height:44px; }
  .vv-admin-product-row > a { display:none; }
  .vv-admin-product-row > button { grid-column:4; grid-row:1; padding:8px; font-size:12px; }
  .vv-admin-status { display:none; }
  .vv-admin-completeness { grid-column:3; grid-row:1; padding:4px 5px; }
  .vv-admin-product-row-copy span { white-space:normal; line-height:1.3; }
  .vv-admin-editor-grid,.vv-admin-marketplaces { grid-template-columns:1fr; }
  .vv-admin-dialog-body { padding:18px 15px; }
  .vv-admin-dialog-shell > header,.vv-admin-dialog-shell > footer { padding:14px 15px; }
  .vv-admin-media-upload { align-items:stretch; flex-direction:column; }
  .vv-admin-section-head { flex-direction:column; gap:8px; }
  .vv-admin-photo-columns { grid-template-columns:1fr; }
  .vv-admin-gallery-actions { opacity:1; }
  .vv-product-thumbs { grid-template-columns:repeat(4,1fr); }
  .vv-category-intro { font-size:15px!important; line-height:1.55; }
  .vv-category-seo { width:calc(100% - 24px); margin-top:42px; padding:26px 20px; }
  .vv-category-seo h2 { font-size:27px; }
  .vv-category-seo h3 { font-size:19px; }
  .vv-category-seo p { font-size:15px; line-height:1.65; }
}
