body.cart-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

.header-cart{position:relative;display:inline-grid;width:46px;height:46px;flex:0 0 46px;place-items:center;padding:0;border:1px solid #454545;border-radius:12px;background:#171717;color:#fff}
.header-cart:hover{border-color:#e21414;color:#ff6b6b;transform:translateY(-1px)}
.header-cart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.header-cart span{position:absolute;top:-8px;right:-8px;display:grid;min-width:22px;height:22px;padding:0 5px;place-items:center;border:2px solid #090909;border-radius:999px;background:#e21414;color:#fff;font-size:.67rem;font-weight:950;line-height:1}

.catalog-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}
.catalog-main{min-width:0}
.catalog-toolbar{position:sticky;top:82px;z-index:18;display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(135px,.7fr));gap:10px;margin-bottom:18px;padding:14px;border:1px solid #343434;border-radius:15px;background:rgba(16,16,16,.96);box-shadow:0 18px 34px rgba(0,0,0,.3);backdrop-filter:blur(12px)}
.filter-field{display:grid;gap:6px}
.filter-field label{color:#a9a9a9;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.filter-field input,.filter-field select{width:100%;height:44px;padding:0 12px;border:1px solid #3a3a3a;border-radius:10px;background:#090909;color:#fff;outline:0}
.filter-field input:focus,.filter-field select:focus{border-color:#e21414;box-shadow:0 0 0 3px rgba(226,20,20,.14)}
.catalog-status{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px;color:#a9a9a9;font-size:.9rem}
.catalog-status strong{color:#fff}
.clear-filter{border:0;background:transparent;color:#ff6666;font-weight:800}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #303030;border-radius:16px;background:linear-gradient(180deg,#171717,#0f0f0f);box-shadow:0 16px 36px rgba(0,0,0,.2)}
.product-card[hidden]{display:none}
.product-image{position:relative;display:grid;width:100%;margin:0;aspect-ratio:1/1;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#303030,#0a0a0a 72%)}
.product-image img{width:100%;height:100%;padding:8px;object-fit:contain;object-position:center;transition:transform .25s ease}
.product-card:hover .product-image img{transform:scale(1.035)}
.size-pill,.stock-pill{position:absolute;top:12px;padding:7px 9px;border-radius:999px;font-size:.69rem;font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.size-pill{left:12px;background:#fff;color:#111}
.stock-pill{right:12px;border:1px solid #703333;background:rgba(56,10,10,.92);color:#ffb5b5}
.product-info{display:flex;flex:1;flex-direction:column;padding:17px}
.product-meta{color:#ff6b6b;font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.product-info h3{min-height:2.55em;margin:7px 0 8px;font-size:1.08rem;line-height:1.28}
.product-code{min-height:2.8em;color:#999;font-size:.78rem;line-height:1.45}
.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.product-tags span{padding:5px 7px;border:1px solid #343434;border-radius:7px;background:#131313;color:#c9c9c9;font-size:.7rem}
.product-note{min-height:4.35em;margin:0!important;color:#aaa!important;font-size:.78rem;line-height:1.5}
.catalog-price{margin-top:auto;padding-top:14px;border-top:1px solid #2b2b2b}
.catalog-price strong{display:block;color:#ff6262;font-size:1.25rem;line-height:1.2}
.catalog-price small{color:#858585;font-size:.68rem}
.catalog-actions{display:flex;gap:8px;margin-top:12px}
.add-disc,.view-disc{min-height:43px;border-radius:9px;font-weight:900}
.add-disc{flex:1;border:1px solid #e21414;background:#d41313;color:#fff}
.add-disc:hover{background:#f02323}
.view-disc{display:grid;min-width:43px;place-items:center;border:1px solid #3b3b3b;background:#151515;color:#fff;text-decoration:none}
.empty-results{grid-column:1/-1;padding:46px 20px;border:1px dashed #3a3a3a;border-radius:15px;text-align:center;color:#aaa}

.catalog-side{position:sticky;top:82px;display:grid;gap:14px}
.side-card{padding:19px;border:1px solid #303030;border-radius:15px;background:#121212}
.side-card h3{margin:0 0 9px;font-size:1rem}
.side-card p{margin:0 0 12px!important;color:#aaa!important;font-size:.8rem;line-height:1.55}
.side-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:#cacaca;font-size:.8rem}
.side-list li{position:relative;padding-left:18px}
.side-list li::before{content:"✓";position:absolute;left:0;color:#ff5555;font-weight:900}
.side-cart{width:100%;min-height:46px;border:1px solid #ed2626;border-radius:10px;background:linear-gradient(135deg,#e21414,#8d0808);color:#fff;font-weight:900}
.side-cart span{display:inline-grid;min-width:22px;height:22px;margin-left:7px;place-items:center;border-radius:50%;background:#fff;color:#b20e0e;font-size:.72rem}

.cart-backdrop{position:fixed;z-index:1190;inset:0;background:rgba(0,0,0,.68);opacity:0;pointer-events:none;transition:.22s}
.cart-backdrop.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;z-index:1200;top:0;right:0;display:flex;width:min(480px,100%);height:100dvh;flex-direction:column;border-left:1px solid #353535;background:#0e0e0f;box-shadow:-24px 0 70px rgba(0,0,0,.5);transform:translateX(102%);transition:.26s}
.cart-drawer.open{transform:none}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:21px;border-bottom:1px solid #303030}
.cart-head h2{margin:0;font-size:1.45rem}
.cart-close{width:42px;height:42px;border:1px solid #3b3b3b;border-radius:10px;background:#171717;color:#fff;font-size:1.4rem}
.cart-content{flex:1;overflow:auto;padding:12px 21px}
.cart-empty{padding:44px 15px;text-align:center;color:#969696}
.cart-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #292929}
.cart-item img{width:72px;height:72px;padding:6px;border-radius:11px;background:#181818;object-fit:contain}
.cart-item h3{margin:0 0 4px;font-size:.9rem;line-height:1.3}
.cart-item-price{color:#ff6969;font-size:.78rem;font-weight:850}
.quantity{display:flex;align-items:center;gap:7px;margin-top:7px}
.quantity button{width:27px;height:27px;border:1px solid #3b3b3b;border-radius:7px;background:#191919;color:#fff}
.remove-item{border:0;background:transparent;color:#999;font-size:.73rem;text-decoration:underline}
.cart-summary{padding:17px 21px;border-top:1px solid #303030;background:#121212}
.cart-total{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cart-total strong{color:#ff6767;font-size:1.25rem;text-align:right}
.quote-count{margin:-6px 0 13px;color:#aaa;font-size:.74rem}
.order-form{display:grid;gap:8px}
.order-form input,.order-form textarea{width:100%;padding:11px 12px;border:1px solid #363636;border-radius:9px;background:#1a1a1a;color:#fff;outline:0}
.order-form textarea{min-height:66px;resize:vertical}
.order-form button{min-height:47px;border:0;border-radius:10px;background:#d71414;color:#fff;font-weight:950}
.order-form button:disabled{cursor:not-allowed;opacity:.55}
.order-note{margin:8px 0 0!important;color:#888!important;font-size:.68rem;line-height:1.5}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.toast{position:fixed;z-index:1300;left:50%;bottom:28px;padding:12px 16px;border-radius:10px;background:#fff;color:#111;font-weight:850;box-shadow:0 18px 44px rgba(0,0,0,.38);opacity:0;transform:translate(-50%,22px);transition:.22s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.error{background:#b51c25;color:#fff}

@media(max-width:1080px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.header-cart{margin-left:0}.menu-toggle{margin-left:auto}}
@media(max-width:850px){.catalog-shell{grid-template-columns:1fr}.catalog-side{position:static;grid-template-columns:repeat(2,1fr)}.catalog-toolbar{top:74px}.catalog-main{order:2}.catalog-side{order:1}}
@media(max-width:620px){.catalog-toolbar{position:static;grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}.catalog-side{grid-template-columns:1fr}.product-info h3,.product-code,.product-note{min-height:0}.product-image{aspect-ratio:1/1}.product-image img{padding:8px}.cart-item{grid-template-columns:62px minmax(0,1fr)}.cart-item img{width:62px;height:62px}.cart-item>div:last-child{grid-column:2}}


/* GLOBAL CHECKOUT CART */
.checkout-button{display:flex;min-height:49px;align-items:center;justify-content:center;gap:9px;border:1px solid #e12626;border-radius:10px;background:linear-gradient(135deg,#df1717,#a20909);color:#fff;text-decoration:none;font-weight:950;box-shadow:0 10px 24px rgba(215,20,20,.18);transition:.2s}
.checkout-button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.checkout-button.is-disabled{pointer-events:none;opacity:.45;filter:grayscale(.25)}
.continue-shopping{width:100%;min-height:43px;margin-top:8px;border:1px solid #363636;border-radius:10px;background:#181818;color:#d4d4d4;font-weight:850;cursor:pointer}
.continue-shopping:hover{border-color:#555;color:#fff}
.cart-source{display:inline-block;margin-top:4px;color:#858585;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
