:root{
  --red:#d71920;--red-dark:#b91017;--black:#151515;--muted:#6b6b6b;
  --line:#e7e5e2;--soft:#f7f6f4;--white:#fff;--orange:#f28c28;
  --shadow:0 12px 35px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--black);background:#fff}
button,input,select{font:inherit}
button{cursor:pointer}
.site{min-height:100vh;padding-bottom:90px}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:13px 18px 8px}
.logo-button{border:0;background:transparent;display:flex;gap:10px;align-items:center;text-align:left;padding:0;color:var(--black)}
.logo-mark{width:40px;height:40px;border-radius:11px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px}
.logo-button b{display:block;font-size:19px;letter-spacing:.02em}.logo-button small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.header-order{border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px 11px;display:flex;gap:8px;align-items:center;font-weight:700}
.header-order b{background:var(--red);color:#fff;border-radius:999px;min-width:25px;height:25px;padding:0 6px;display:grid;place-items:center}
.search-wrap{max-width:1180px;margin:0 auto 12px;position:relative;padding:0 18px}
.search-wrap input{width:100%;height:57px;border:2px solid #d8d6d2;border-radius:17px;padding:0 48px;font-size:17px;outline:none;background:#fff}
.search-wrap input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.08)}
.search-icon{position:absolute;left:34px;top:15px;font-size:25px;color:#333}.clear-search{position:absolute;right:31px;top:11px;width:35px;height:35px;border:0;background:transparent;font-size:25px;color:#777}
.view{display:none;max-width:1180px;margin:auto;padding:24px 18px}.view.active{display:block}
.new-client-whatsapp{max-width:620px;width:100%;margin:0 auto 18px;border:1px solid #d9e8de;background:#f5fbf7;border-radius:17px;padding:13px 15px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--black);box-shadow:0 3px 12px rgba(0,0,0,.025)}.new-client-whatsapp:hover{border-color:#25d366;background:#f0faf4}.new-client-whatsapp-icon{width:42px;height:42px;flex:0 0 42px}.new-client-whatsapp-icon svg{width:100%;height:100%;display:block}.new-client-whatsapp-icon circle{fill:#25d366}.new-client-whatsapp-icon path{fill:#fff}.new-client-whatsapp-copy{flex:1;min-width:0}.new-client-whatsapp-copy b,.new-client-whatsapp-copy small{display:block}.new-client-whatsapp-copy b{font-size:16px}.new-client-whatsapp-copy small{margin-top:3px;color:#555;font-size:12px;line-height:1.3}.new-client-whatsapp-arrow{font-size:25px;color:#25a953;font-weight:800}
.home-intro{text-align:center;padding:6px 0 20px}.home-intro h1{font-size:clamp(28px,5vw,46px);margin:0 0 7px}.home-intro p{margin:0;color:var(--muted)}
.browse-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:var(--soft);padding:5px;border:1px solid var(--line);border-radius:16px;max-width:620px;margin:0 auto}
.browse-tab{min-height:50px;border:0;background:transparent;border-radius:12px;font-weight:900;letter-spacing:.03em}.browse-tab.active{background:var(--red);color:#fff}
.offers-access{max-width:620px;width:100%;margin:12px auto 20px;border:1px solid #111;background:#f1f1f1;border-radius:16px;padding:13px 15px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--black)}
.offer-dot{width:16px;height:16px;border-radius:4px;background:#111;flex:0 0 auto}.offers-access span:nth-child(2){flex:1}.offers-access b,.offers-access small{display:block}.offers-access b{color:#111}.offers-access small{color:#5f5f5f;margin-top:2px}.chevron{font-size:24px}
.browse-panel{display:none}.browse-panel.active{display:block}
.browse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:820px;margin:auto}
.brand-card,.rubro-card,.rubro-main{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:82px;padding:16px;text-align:left;box-shadow:0 3px 12px rgba(0,0,0,.025)}
.brand-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand-card b{font-size:17px;text-transform:uppercase;letter-spacing:.02em}.brand-card small{display:block;color:var(--muted);margin-top:4px}.brand-card .brand-arrow{font-size:22px;color:#999}
.rubro-list{display:grid;gap:10px;max-width:820px;margin:auto}.rubro-card,.rubro-main{width:100%;display:flex;align-items:center;justify-content:space-between}.rubro-card b,.rubro-main b{font-size:17px}.rubro-card small,.rubro-main small{display:block;color:var(--muted);margin-top:4px}
.rubro-accordion{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.rubro-accordion .rubro-main{border:0;border-radius:0}.rubro-toggle-arrow{font-size:22px;color:#777;transition:transform .18s ease}.rubro-main[aria-expanded="true"] .rubro-toggle-arrow{transform:rotate(180deg)}.subrubros{display:none;padding:10px;border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:8px;background:#f7f6f4}.subrubros.open{display:grid}.subrubros button{min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:800;text-align:left;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.subrubros button small{color:var(--muted);font-size:11px}.subrubros .sub-all{grid-column:1/-1;color:#111;border-color:#cfcfcf;background:#ededed}
.disabled-demo{opacity:.48;cursor:default}
.results-context-filters{display:flex;gap:8px;overflow-x:auto;padding:0 0 16px;margin-top:-6px;margin-bottom:6px;scrollbar-width:thin}.results-context-filters:empty{display:none}.results-context-filters button{flex:0 0 auto;min-height:40px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:800;color:#333;white-space:nowrap}.results-context-filters button.active{background:var(--red);border-color:var(--red);color:#fff}.results-context-filters button small{display:block;font-size:10px;font-weight:700;opacity:.7;margin-top:2px}
.results-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px}.back-link{border:0;background:transparent;color:var(--red);font-weight:800;padding:6px 0;white-space:nowrap}.results-kicker,.eyebrow{margin:0 0 5px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.12em}.results-head h1{margin:0;font-size:clamp(27px,4vw,40px)}.muted{color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;position:relative;box-shadow:0 5px 16px rgba(0,0,0,.035)}
.product-card button{border:0;background:transparent;width:100%;padding:0;text-align:left;color:inherit}
.card-photo{aspect-ratio:1/1.15;background:var(--soft);position:relative;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover;display:block}.card-code{position:absolute;left:9px;top:9px;background:rgba(255,255,255,.94);border-radius:8px;padding:5px 7px;font-size:11px;font-weight:900}
.offer-badge{position:absolute;right:0;top:12px;background:#111;color:#fff;font-weight:900;font-size:12px;padding:7px 11px;border-radius:5px 0 0 5px;letter-spacing:.04em}
.card-body{padding:13px}.card-brand{text-transform:uppercase;font-size:11px;font-weight:900;color:var(--red);letter-spacing:.08em}.card-name{font-weight:850;font-size:15px;line-height:1.22;margin:5px 0 8px}.card-meta{color:var(--muted);font-size:12px}
.empty-state{display:none;text-align:center;padding:45px 10px;color:var(--muted)}
.product-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.mini-order{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 11px;font-weight:700}.mini-order b{color:var(--red)}
.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:start}.gallery{position:sticky;top:145px}.main-photo{border-radius:22px;overflow:hidden;background:var(--soft);aspect-ratio:1/1.20;position:relative}.main-photo img{width:100%;height:100%;object-fit:cover}.detail-offer{display:none}.thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto}.thumbs button{border:2px solid transparent;padding:0;border-radius:10px;background:#fff;width:66px;height:66px;overflow:hidden;flex:0 0 auto}.thumbs button.active{border-color:var(--red)}.thumbs img{width:100%;height:100%;object-fit:cover}
.detail-brand{font-size:13px;font-weight:900;color:var(--red);letter-spacing:.1em;text-transform:uppercase}.detail-code{font-size:13px;font-weight:800;color:#666;margin-top:5px}.product-info h1{font-size:clamp(29px,4vw,44px);line-height:1.06;margin:10px 0 13px}.detail-description{font-size:16px;line-height:1.5;margin:0}.detail-rubro{font-size:13px;color:var(--muted);margin:10px 0 0}
.order-builder{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.builder-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.builder-head h2{margin:0;font-size:22px}.builder-total{text-align:right}.builder-total span{display:block;color:var(--muted);font-size:11px}.builder-total b{font-size:28px}.builder-help{font-size:13px;color:var(--muted);margin:7px 0 15px}
.matrix-wrap{overflow-x:auto;padding-bottom:5px}.qty-table{border-collapse:separate;border-spacing:0;width:100%;min-width:340px;font-size:13px}.qty-table th,.qty-table td{padding:7px 5px;border-bottom:1px solid #eee;text-align:center}.qty-table thead th{font-size:11px;color:#555;vertical-align:bottom}.qty-table .size-col{position:sticky;left:0;z-index:2;background:#fff;text-align:left;font-weight:900;min-width:62px}.qty-input{width:58px;height:44px;border:1px solid #d8d6d2;border-radius:10px;text-align:center;font-weight:800;font-size:16px;background:#fff}.qty-input:focus{outline:2px solid rgba(215,25,32,.18);border-color:var(--red)}.qty-input.invalid{visibility:hidden}.color-dot{display:block;width:10px;height:10px;border-radius:50%;margin:0 auto 3px;border:1px solid #aaa}.single-qty{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:12px 14px;border-radius:14px}.single-qty .qty-input{width:90px}
.primary-action{width:100%;min-height:54px;border:0;border-radius:15px;background:var(--red);color:#fff;font-weight:900;margin-top:17px}.primary-action:disabled{opacity:.35;cursor:not-allowed}.availability-note{text-align:center;font-size:11px;color:var(--muted);margin:9px 0}
.product-comment-field{display:grid;gap:7px;margin-top:16px}.product-comment-field>span{font-size:12px;font-weight:900;color:#333}.product-comment-field textarea{width:100%;resize:vertical;min-height:78px;border:1px solid #d8d6d2;border-radius:12px;padding:11px 12px;background:#fff;color:var(--black);font:inherit;line-height:1.35;outline:none}.product-comment-field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.08)}.product-comment-field small{font-size:11px;color:var(--muted);line-height:1.35}
.cart-bar{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:30;width:min(620px,calc(100% - 24px));min-height:62px;background:#181818;color:#fff;border:0;border-radius:18px;display:none;align-items:center;gap:13px;padding:10px 16px;box-shadow:0 12px 30px rgba(0,0,0,.25)}.cart-count{width:38px;height:38px;border-radius:11px;background:var(--red);display:grid;place-items:center;font-weight:900}.cart-label{flex:1;text-align:left}.cart-label b,.cart-label small{display:block}.cart-label small{color:#c9c9c9;margin-top:2px}
.overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.45);display:none;align-items:flex-end}.overlay.open{display:flex}.drawer{width:min(680px,100%);max-height:92vh;overflow:auto;margin:0 auto;background:#fff;border-radius:24px 24px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{margin:0;font-size:28px}.icon-button{border:0;background:var(--soft);width:42px;height:42px;border-radius:50%;font-size:26px}.cart-toolbar{display:flex;justify-content:space-between;align-items:center;margin:15px 0 9px;font-size:13px;color:var(--muted)}.clear-order{border:0;background:transparent;color:var(--red);font-weight:900}.cart-list{display:grid;gap:10px}.cart-product{border:1px solid var(--line);border-radius:15px;padding:13px}.cart-product-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.cart-product-head b{font-size:14px}.cart-product-head small{display:block;color:var(--muted);margin-top:2px}.cart-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #eee;font-size:13px}.cart-line-actions{display:flex;align-items:center;gap:7px}.cart-line-actions button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff}.cart-note{margin-top:9px;padding:9px 10px;border-radius:10px;background:#f7f6f4;color:#444;font-size:12px;line-height:1.4}.cart-note b{color:#111}.checkout-fields{margin-top:18px;border:1px solid var(--line);border-radius:18px;padding:16px;background:#faf9f7;display:grid;gap:14px}.checkout-heading{padding-bottom:2px}.checkout-heading b{display:block;font-size:16px}.checkout-heading span{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.checkout-field{display:grid;gap:7px}.checkout-field>span{font-size:12px;font-weight:900;color:#333;letter-spacing:.02em}.checkout-field input,.checkout-field select{width:100%;height:50px;border:1px solid #d4d1cc;border-radius:12px;padding:0 13px;background:#fff;color:var(--black);outline:none}.checkout-field input:focus,.checkout-field select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.08)}.hint{margin:0;padding:10px 11px;border-radius:10px;background:#fff;color:var(--muted);font-size:11px;line-height:1.35;border:1px solid #ece9e5}.message-box{border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:14px;background:#fff}.message-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.message-head b{font-size:16px}.message-head button{border:0;background:#f5f3f0;color:var(--red);font-weight:900;border-radius:10px;padding:8px 11px}.message-box pre{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;color:#333;background:#faf9f7;border-radius:12px;padding:12px;overflow:auto}
.confirm-layer{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.5);display:none;place-items:center;padding:20px}.confirm-layer.open{display:grid}.confirm-box,.confirm-card{width:min(390px,100%);background:#fff;color:var(--black);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.confirm-box h3,.confirm-card h3{margin:0 0 6px}.confirm-box p,.confirm-card p{color:var(--muted);font-size:13px}.confirm-box>div,.confirm-card>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.confirm-box button,.confirm-card button{min-height:48px;border:1px solid var(--line);background:#fff;color:var(--black);border-radius:12px;font-weight:800}.confirm-box .danger,.confirm-card .danger{background:var(--red);color:#fff;border-color:var(--red)}
.toast{position:fixed;z-index:80;left:50%;bottom:90px;transform:translate(-50%,12px);background:#111;color:#fff;padding:10px 15px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){
 .view{padding:18px 14px}.header-inner{padding-left:14px;padding-right:14px}.search-wrap{padding:0 14px}.search-icon{left:29px}.clear-search{right:26px}
 .product-layout{display:block}.gallery{position:static}.main-photo{border-radius:17px}.product-info{padding-top:19px}.product-info h1{font-size:29px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card-body{padding:10px}.card-name{font-size:14px}.card-meta{font-size:11px}
 .drawer{padding-left:16px;padding-right:16px}.subrubros{grid-template-columns:1fr}.checkout-fields{padding:15px;gap:13px}.checkout-field input,.checkout-field select{height:52px}
}
@media(max-width:390px){
 .logo-button small{display:none}.search-wrap input{font-size:16px}
 .browse-grid{gap:8px}.brand-card{padding:13px}.brand-card b{font-size:15px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .qty-input{width:52px}
}
@media(min-width:900px){
 .browse-grid{grid-template-columns:repeat(3,1fr)}
 .product-grid{grid-template-columns:repeat(4,1fr)}
}
