.vwc-catalog,
.vwc-catalog * { box-sizing: border-box; }
.vwc-catalog { --vwc-purple:#7c3aed; --vwc-purple-dark:#4c1d95; --vwc-slate:#0f172a; --vwc-muted:#64748b; --vwc-line:#e2e8f0; position:relative; color:var(--vwc-slate); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.vwc-shell { max-width:1240px; margin:0 auto; padding:clamp(18px,4vw,40px); border:1px solid #eee9ff; border-radius:28px; background:#fff; box-shadow:0 22px 55px rgba(76,29,149,.1); }
.vwc-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.vwc-kicker,.vwc-banner-kicker { display:inline-flex; width:max-content; padding:7px 11px; border-radius:999px; color:#6d28d9; background:#f5f3ff; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.vwc-header h2 { margin:9px 0 6px; color:var(--vwc-slate); font-size:clamp(42px,7vw,74px); font-weight:950; letter-spacing:-.065em; line-height:.92; }
.vwc-header p { max-width:680px; margin:0; color:var(--vwc-muted); font-size:14px; line-height:1.55; }
.vwc-advice { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 20px; border-radius:16px; color:#fff!important; background:#10b981; box-shadow:0 10px 24px rgba(16,185,129,.25); font-size:14px; font-weight:800; text-decoration:none!important; }
.vwc-explore-row { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; font-size:14px; }
.vwc-explore-row span { color:#7c3aed; font-size:12px; font-weight:700; }
.vwc-categories { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:24px; }
.vwc-categories button { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:54px; padding:10px 8px; border:1px solid var(--vwc-line); border-radius:14px; color:#334155; background:#f8fafc; box-shadow:0 2px 4px rgba(15,23,42,.04); font:800 13px/1.2 inherit; cursor:pointer; transition:.2s ease; }
.vwc-categories button:hover { transform:translateY(-2px); border-color:#c4b5fd; }
.vwc-categories button[aria-pressed="true"] { border-color:var(--vwc-purple); color:#fff; background:var(--vwc-purple); box-shadow:0 9px 20px rgba(124,58,237,.25); }
.vwc-closed-message { display:flex; align-items:center; justify-content:center; gap:9px; padding:15px; border:1px dashed #c4b5fd; border-radius:16px; color:#6d28d9; background:#faf7ff; font-size:13px; font-weight:850; text-align:center; }
.vwc-custom-banner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.34fr); align-items:center; gap:30px; overflow:hidden; margin-bottom:22px; padding:30px; border-radius:26px; color:#fff; background:radial-gradient(circle at 12% 12%,rgba(251,191,36,.34),transparent 31%),radial-gradient(circle at 88% 85%,rgba(45,212,191,.27),transparent 34%),linear-gradient(125deg,#4c1d95 0%,#7c3aed 46%,#a21caf 100%); box-shadow:0 20px 45px rgba(76,29,149,.25); animation:vwc-rise .4s ease both; }
.vwc-custom-banner::after { content:""; position:absolute; inset:-100% -50%; background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.14) 50%,transparent 57%); animation:vwc-shine 6s ease-in-out infinite; pointer-events:none; }
.vwc-banner-kicker { color:#fff; background:rgba(255,255,255,.14); }
.vwc-custom-banner h3 { margin:11px 0 8px; color:#fff; font-size:clamp(24px,4vw,38px); font-weight:900; letter-spacing:-.035em; line-height:1.04; }
.vwc-custom-banner h3 em { color:#fde68a; font-style:normal; }
.vwc-custom-banner p { max-width:760px; margin:0; color:rgba(255,255,255,.87); font-size:14px; line-height:1.6; }
.vwc-banner-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:16px; }
.vwc-banner-options span { padding:11px; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:rgba(15,23,42,.16); font-size:12px; font-weight:750; text-align:center; }
.vwc-banner-action { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:9px; }
.vwc-banner-action a { width:100%; max-width:300px; padding:15px; border-radius:15px; color:#14532d!important; background:#fff; box-shadow:0 12px 25px rgba(15,23,42,.2); font-size:13px; font-weight:900; line-height:1.25; text-align:center; text-decoration:none!important; }
.vwc-banner-action small { max-width:270px; color:rgba(255,255,255,.72); font-size:10px; line-height:1.4; text-align:center; }
.vwc-results-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:6px 0 14px; color:#334155; font-size:13px; }
.vwc-results-heading strong { font-size:16px; }
.vwc-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:18px; }
.vwc-card { display:flex; flex-direction:column; overflow:hidden; min-width:0; padding:11px; border:1px solid var(--vwc-line); border-radius:22px; background:#fff; box-shadow:0 9px 28px rgba(15,23,42,.08); animation:vwc-rise .3s ease both; }
.vwc-media { position:relative; display:grid; width:100%; aspect-ratio:4/5; place-items:center; overflow:hidden; padding:6px; border:0; border-radius:16px; background:radial-gradient(circle at 20% 15%,rgba(196,181,253,.22),transparent 34%),linear-gradient(145deg,#f8fafc,#eef2f7); cursor:zoom-in; }
.vwc-media img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; border-radius:12px; filter:drop-shadow(0 7px 12px rgba(15,23,42,.12)); }
.vwc-badge { position:absolute; top:10px; left:10px; max-width:70%; padding:6px 9px; border-radius:999px; color:#5b21b6; background:rgba(245,243,255,.94); font-size:9px; font-weight:900; line-height:1.15; }
.vwc-zoom { position:absolute; right:9px; bottom:9px; padding:6px 9px; border-radius:999px; color:#fff; background:rgba(15,23,42,.78); font-size:9px; font-weight:800; }
.vwc-card h3 { margin:11px 0 4px; color:var(--vwc-slate); font-size:15px; font-weight:850; line-height:1.25; }
.vwc-card-description { display:-webkit-box; overflow:hidden; min-height:38px; margin:0 0 10px; color:var(--vwc-muted); font-size:11px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.vwc-price-row { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:auto; padding-top:10px; border-top:1px solid #f1f5f9; }
.vwc-price-label { color:#94a3b8; font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.vwc-price { color:#6d28d9; font-size:18px; font-weight:900; line-height:1; text-align:right; }
.vwc-price b { font-size:12px; }
.vwc-price small { color:#64748b; font-size:9px; font-weight:500; }
.vwc-start-note { margin:6px 0 0; color:#64748b; font-size:9px; line-height:1.35; text-align:right; }
.vwc-add { width:100%; margin-top:10px; padding:12px 10px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,#7c3aed,#a21caf); font:850 12px/1.2 inherit; cursor:pointer; }
.vwc-add.is-added { background:#059669; }
.vwc-load-more { display:block; margin:22px auto 0; padding:13px 22px; border:1px solid #c4b5fd; border-radius:14px; color:#6d28d9; background:#faf7ff; font:850 13px/1 inherit; cursor:pointer; }
.vwc-image-modal,.vwc-cart-modal { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:12px; background:rgba(2,6,23,.82); backdrop-filter:blur(8px); }
.vwc-image-dialog { position:relative; display:flex; flex-direction:column; width:min(1180px,96vw); height:min(92vh,900px); overflow:hidden; border-radius:20px; background:#020617; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.vwc-image-stage { display:grid; flex:1; min-height:0; place-items:center; padding:10px; }
.vwc-image-stage img { display:block; width:100%; height:100%; object-fit:contain; }
.vwc-image-caption { padding:12px 60px 12px 16px; color:#fff; background:#0f172a; }
.vwc-image-caption strong,.vwc-image-caption span { display:block; }
.vwc-image-caption span { margin-top:3px; color:#cbd5e1; font-size:10px; }
.vwc-modal-close { position:absolute; z-index:2; top:9px; right:9px; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#fff; background:rgba(15,23,42,.85); font:300 27px/1 inherit; cursor:pointer; }
.vwc-cart-fab { position:fixed; z-index:99990; right:18px; bottom:18px; padding:13px 16px; border:0; border-radius:999px; color:#fff; background:#059669; box-shadow:0 12px 30px rgba(5,150,105,.3); font:850 13px/1 inherit; cursor:pointer; }
.vwc-cart-fab span { display:inline-grid; min-width:24px; height:24px; margin-left:5px; place-items:center; border-radius:999px; color:#065f46; background:#fff; }
.vwc-cart-dialog { width:min(520px,94vw); max-height:88vh; overflow:auto; padding:22px; border-radius:22px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.4); }
.vwc-cart-dialog header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:14px; }
.vwc-cart-dialog h3 { margin:0; font-size:22px; }
.vwc-cart-dialog header button { display:grid; width:38px; height:38px; place-items:center; border:0; border-radius:999px; color:#334155; background:#f1f5f9; font-size:23px; cursor:pointer; }
.vwc-cart-item { display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #e2e8f0; }
.vwc-cart-item img { width:54px; height:54px; border-radius:9px; object-fit:contain; background:#f8fafc; }
.vwc-cart-item strong { display:block; font-size:12px; line-height:1.25; }
.vwc-cart-item span { color:#6d28d9; font-size:11px; font-weight:800; }
.vwc-cart-item button { border:0; color:#be123c; background:transparent; font-size:11px; font-weight:800; cursor:pointer; }
.vwc-cart-note { color:#64748b; font-size:11px; line-height:1.45; }
.vwc-cart-whatsapp { display:block; padding:14px; border-radius:13px; color:#fff!important; background:#10b981; font-size:13px; font-weight:900; text-align:center; text-decoration:none!important; }
.vwc-catalog [hidden] { display:none!important; }
body.vwc-modal-open { overflow:hidden; }
@keyframes vwc-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes vwc-shine { 0%,18% { transform:translateX(-40%) rotate(8deg); opacity:0; } 36%,56% { opacity:1; } 76%,100% { transform:translateX(40%) rotate(8deg); opacity:0; } }
@media(max-width:820px){.vwc-header{align-items:stretch;flex-direction:column}.vwc-advice{width:100%}.vwc-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.vwc-custom-banner{grid-template-columns:1fr}.vwc-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.vwc-shell{padding:15px;border-radius:20px}.vwc-header h2{font-size:52px}.vwc-header p{font-size:12px}.vwc-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.vwc-categories button:first-child{grid-column:1/-1}.vwc-categories button{min-height:50px;font-size:11px}.vwc-custom-banner{padding:20px}.vwc-banner-options{grid-template-columns:1fr}.vwc-products{grid-template-columns:1fr}.vwc-media{height:clamp(360px,112vw,510px);aspect-ratio:auto}.vwc-card h3{font-size:14px}.vwc-card-description{font-size:10px}.vwc-price{font-size:17px}.vwc-results-heading{align-items:flex-start;flex-direction:column}.vwc-cart-fab{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.vwc-catalog *{animation:none!important;transition:none!important}}

