/* Dynamic-system bridge for the original user-supplied TechStore theme. */
:root{--bs-primary:#1267f4;--bs-primary-rgb:18,103,244}body{overflow-x:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.autocomplete{position:absolute;top:52px;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);z-index:1060;overflow:hidden}.autocomplete a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--text);border-bottom:1px solid var(--border)}.autocomplete a:last-child{border-bottom:0}.theme-banner-carousel{position:relative;min-height:390px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.theme-banner-slide{display:none;min-height:390px;position:relative;background:#06111f}.theme-banner-slide.active{display:block}.theme-banner-slide picture,.theme-banner-slide picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.theme-banner-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,17,31,.92),rgba(6,17,31,.58) 48%,rgba(6,17,31,.08))}.theme-banner-overlay{position:relative;z-index:2;color:#fff;max-width:680px;padding:70px 54px}.theme-banner-overlay h1{font-weight:800;font-size:clamp(2.15rem,5vw,4.4rem);line-height:1.02}.theme-banner-overlay p{font-size:1.05rem;color:#d8e3f3}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:1.5rem}.carousel-prev{left:16px}.carousel-next{right:16px}.theme-category-img{width:46px;height:46px;border-radius:14px;object-fit:cover;margin-bottom:10px}.brand-theme-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.brand-theme-card{min-height:100px;background:#fff;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text);padding:14px}.brand-theme-card img{max-width:90px;max-height:42px;object-fit:contain}.product-card h3 a{color:inherit}.theme-product-image-link{display:grid;place-items:center;width:100%;height:100%}.theme-product-image-link img{width:100%;height:100%;object-fit:contain;padding:18px}.product-gallery .thumb{padding:4px;overflow:hidden}.product-gallery .thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px}.product-main-image{border:0;width:100%;overflow:hidden}.product-main-image>img{width:100%;height:100%;object-fit:contain;padding:26px}.theme-breadcrumb a{color:#667085}.product-description-theme{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px}.product-description-theme h2{font-weight:800}.catalog-layout-theme{display:grid;grid-template-columns:260px 1fr;gap:22px}.catalog-filters-theme{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;height:max-content;position:sticky;top:126px}.theme-empty{background:#fff;border:1px solid var(--border);border-radius:18px;padding:56px 24px;text-align:center}.theme-empty>i{font-size:2.2rem;color:var(--primary)}.pagination-theme{display:flex;gap:7px;justify-content:center;margin-top:28px}.pagination-theme a{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;border-radius:9px;color:var(--text)}.pagination-theme a.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-overlay{display:none}.zoom-modal[hidden]{display:none}.zoom-modal{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.86);display:grid;place-items:center}.zoom-modal img{max-width:90vw;max-height:88vh;object-fit:contain}.zoom-modal button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:2rem}.toast-stack{position:fixed;right:18px;top:18px;z-index:2000;display:grid;gap:8px}.toast-item{background:#fff;border:1px solid #e7ebf2;border-radius:12px;padding:12px 16px;box-shadow:0 14px 40px rgba(16,24,40,.12)}.ui-modal[hidden]{display:none}.ui-modal{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:18px}.ui-modal-backdrop{position:absolute;inset:0;background:rgba(8,18,31,.55)}.ui-modal-card{position:relative;width:min(460px,100%);background:#fff;border-radius:16px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.ui-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

/* Shared bridge: admin behavior is defined in theme-admin.css from v1.5.0 onward. */
.toast-stack{position:fixed;right:18px;top:18px;z-index:2000;display:grid;gap:8px}.toast-stack .toast{display:block;opacity:1;width:min(350px,calc(100vw - 36px));background:#fff;color:#172033;border:1px solid #e7ebf2;border-radius:12px;padding:12px 16px;box-shadow:0 14px 40px rgba(16,24,40,.14)}.toast-stack .toast strong{display:block;margin-bottom:2px}[data-bs-theme="dark"] .toast-stack .toast{background:#101a27;color:#edf3fb;border-color:#263344}.ui-modal[hidden]{display:none}.ui-modal{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:18px}.ui-modal-backdrop{position:absolute;inset:0;background:rgba(8,18,31,.58)}.ui-modal-card{position:relative;width:min(460px,100%);background:var(--admin-surface,#fff);color:var(--admin-text,#172033);border:1px solid var(--admin-border,#e7ebf2);border-radius:16px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.ui-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.no-scroll{overflow:hidden!important}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:1090;background:#fff;border:1px solid #e7ebf2;border-radius:16px;padding:16px;box-shadow:0 16px 40px rgba(16,24,40,.14);display:flex;justify-content:space-between;align-items:center;gap:16px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0}.cookie-banner>div{display:flex;gap:8px}
.fav-btn.is-active{color:#dc3545}.zoom-modal[hidden]{display:none}.zoom-modal{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.86);display:grid;place-items:center}.zoom-modal img{max-width:90vw;max-height:88vh;object-fit:contain}.zoom-modal button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:2rem}.empty-state{color:#667085;padding:24px;text-align:center}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
