.shop-layout{max-width:1280px;margin:0 auto;padding:24px 20px 40px;display:grid;grid-template-columns:260px 1fr;grid-template-areas:"crumb crumb" "brandhero brandhero" "promo promo" "header header" "sidebar main";column-gap:28px;row-gap:18px;align-items:start}.shop-layout > nav.breadcrumb-nav{grid-area:crumb}.shop-layout > section.brand-hero{grid-area:brandhero}.shop-layout > .promo-banner{grid-area:promo}.shop-layout > header.page-header{grid-area:header}.shop-layout > aside.sidebar-filters{grid-area:sidebar}.shop-layout > main{grid-area:main;min-width:0}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:49}.sidebar-backdrop.open{display:block}.breadcrumb-nav{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.breadcrumb-nav a{color:var(--text-muted)}.breadcrumb-nav a:hover{color:var(--primary)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.page-header h1,.page-header h2{font-size:28px;font-weight:800;letter-spacing:-0.025em;line-height:1.1;color:var(--text)}.page-header .meta{font-size:12.5px;color:var(--text-muted);margin-top:6px;display:flex;gap:10px;align-items:center}.page-header .meta-divider{color:var(--text-light)}.toolbar{display:flex;align-items:center;gap:10px}.toolbar select{width:auto;padding:8px 32px 8px 12px;font-size:13px;background-position:right 10px center}.toolbar-btn{width:36px;height:36px;border:1px solid var(--border);background:#fff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all 0.15s}.toolbar-btn:hover,.toolbar-btn.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.sidebar-filters{position:sticky;top:80px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 16px;max-height:calc(100vh - 100px);overflow-y:auto}.filter-section{padding:10px 0;border-bottom:1px solid var(--border)}.filter-section:last-child{border-bottom:0}.filter-section h3{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);font-weight:600;margin-bottom:10px}.filter-search-input{padding:8px 12px 8px 32px;background-size:14px;background-position:10px center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;font-size:13px}.filter-list{display:flex;flex-direction:column;gap:2px}.filter-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;font-size:13px;color:var(--text);border-radius:6px;cursor:pointer;transition:all 0.12s}.filter-item:hover{background:var(--bg);color:var(--primary)}.filter-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.filter-item .count{font-size:11px;color:var(--text-light);background:var(--bg);padding:1px 7px;border-radius:999px}.filter-item.active .count{background:rgba(207,3,2,.12);color:var(--primary)}.active-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--primary-soft);color:var(--primary);border-radius:999px;font-size:11.5px;font-weight:500}.chip a{color:var(--primary);font-weight:700;opacity:0.7;margin-left:2px}.chip a:hover{opacity:1}.chip-clear{color:var(--text-muted);font-size:11.5px;padding:4px 8px;text-decoration:underline}.chip-clear:hover{color:var(--primary)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.product-grid.list-view{grid-template-columns:1fr;gap:12px}.pcard{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text);display:flex;flex-direction:column;transition:all 0.2s cubic-bezier(.4,0,.2,1)}.pcard:hover{border-color:var(--primary);box-shadow:0 8px 24px rgba(0,0,0,0.06);transform:translateY(-2px)}.pcard.is-out{opacity:0.7}.pcard.is-out .pcard-image img{filter:grayscale(0.5)}.pcard-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--text)}.pcard-link:hover{text-decoration:none;opacity:1}.pcard-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 14px;background:var(--primary);color:#fff;border:0;border-top:1px solid var(--border);font-size:12.5px;font-weight:600;cursor:pointer;transition:background 0.15s;font-family:inherit}.pcard-add-btn:hover:not(:disabled){background:var(--primary-dark)}.pcard-add-btn svg{flex-shrink:0}.pcard-add-disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;font-weight:500}.badge-out{background:rgba(100,116,139,0.92);color:#fff}.pcard-image{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#fafaf9 0%,#f5f5f4 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.pcard-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(.4,0,.2,1)}.pcard:hover .pcard-image img{transform:scale(1.06)}.pcard-emoji{font-size:48px;opacity:0.3}.badge-stack{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px}.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:9.5px;font-weight:700;border-radius:4px;letter-spacing:0.02em;text-transform:uppercase;backdrop-filter:blur(6px)}.badge-bpom{background:rgba(16,185,129,0.92);color:#fff}.badge-new{background:rgba(207,3,2,0.92);color:#fff}.badge-low{background:rgba(245,158,11,0.92);color:#fff}.badge-critical{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;box-shadow:0 1px 4px rgba(220,38,38,0.5);animation:badge-pulse 1.6s ease-in-out infinite}@keyframes badge-pulse{0%,100%{opacity:1}50%{opacity:0.7}}.pcard-meta--critical{color:#b91c1c;font-weight:600}.pcard-meta--critical strong{color:#991b1b}.pcard-stock-dot.critical{background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,0.18)}.badge-edition{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;box-shadow:0 1px 3px rgba(37,99,235,0.4)}.pcard-sold{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#92400e;font-weight:600;margin-top:4px;width:fit-content}.pcard-sold svg{color:#b45309}.pcard.is-combo{background:linear-gradient(180deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fcd34d}.pcard.is-combo .pcard-image{background:linear-gradient(180deg,#fef3c7 0%,#fde68a 100%)}.pcard.is-combo:hover{border-color:#f59e0b;box-shadow:0 4px 12px rgba(217,119,6,0.15)}.pcard-ribbon{position:absolute;top:12px;left:-28px;z-index:3;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;font-weight:800;font-size:11px;letter-spacing:1.5px;padding:4px 32px;transform:rotate(-32deg);box-shadow:0 2px 6px rgba(0,0,0,0.25);text-shadow:0 1px 1px rgba(0,0,0,0.3);pointer-events:none}.pcard-ribbon::before,.pcard-ribbon::after{content:'';position:absolute;top:100%;border-style:solid;border-color:#7f1d1d transparent transparent transparent}.pcard-ribbon::before{left:0;border-width:4px 0 0 4px}.pcard-ribbon::after{right:0;border-width:4px 4px 0 0}.pcard-ribbon--bestseller{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);font-size:11px;letter-spacing:0.5px;padding:3px 30px}.pcard-ribbon--bestseller::before,.pcard-ribbon--bestseller::after{border-color:#92400e transparent transparent transparent}.pcard.is-bestseller{border-color:#fbbf24}.pcard.is-bestseller:hover{border-color:#f59e0b;box-shadow:0 4px 12px rgba(245,158,11,0.15)}.pcard-savings{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:1px solid #fb923c;color:#9a3412;font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;margin:6px 0 4px}.pcard-savings-icon{font-size:12px}.pcard-savings-text{color:#9a3412}.pcard-savings-pct{background:#dc2626;color:#fff;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:800}@media (max-width:480px){.pcard-ribbon{font-size:9.5px;padding:3px 26px;top:10px;left:-24px}.pcard-savings{font-size:11px;padding:3px 6px}.pcard-savings-pct{font-size:9.5px}}.pcard-quick{position:absolute;bottom:8px;right:8px;width:36px;height:36px;background:#fff;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;opacity:0;transform:translateY(8px);transition:all 0.2s cubic-bezier(.4,0,.2,1);font-size:16px;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.08)}.pcard:hover .pcard-quick{opacity:1;transform:translateY(0)}.pcard-quick:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1)}.pcard-body{padding:14px 14px 16px;flex:1;display:flex;flex-direction:column}.pcard-brand{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;font-weight:600;margin-bottom:4px}.pcard-name{font-size:13.5px;font-weight:500;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;min-height:38px}.pcard-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-bottom:10px;white-space:nowrap;overflow:hidden;min-height:16px}.pcard-meta > *{flex-shrink:0}.pcard-meta-cat{overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.pcard-stock-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.pcard-stock-dot.low{background:var(--warning)}.pcard-stock-dot.out{background:var(--text-light)}.pcard-price{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-0.02em;margin-top:auto}.pcard-price-currency{font-size:11px;font-weight:600;color:var(--text-muted);margin-right:2px}.product-grid.list-view .pcard{flex-direction:row;align-items:stretch}.product-grid.list-view .pcard-image{width:140px;aspect-ratio:1;flex-shrink:0}.product-grid.list-view .pcard-body{padding:18px 20px}.product-grid.list-view .pcard-name{font-size:15px;margin-bottom:10px}.product-grid.list-view .pcard-quick{bottom:14px;right:14px}.empty-state{text-align:center;padding:80px 20px;background:#fff;border:1px dashed var(--border);border-radius:var(--radius)}.empty-state-icon{font-size:56px;opacity:0.4;margin-bottom:20px;filter:grayscale(0.5)}.empty-state h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}.empty-state p{color:var(--text-muted);font-size:13px;margin-bottom:20px}.pagination-wrap{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.pagination-summary{font-size:12.5px;color:var(--text-muted)}.pagination-wrap nav{display:flex}.pagination-wrap ul.pagination,.pagination-wrap .pagination{list-style:none;display:inline-flex;align-items:center;gap:4px;padding:0;margin:0}.pagination-wrap .pagination li,.pagination-wrap .page-item{display:inline-flex}.pagination-wrap .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:13px;font-weight:500;border-radius:8px;text-decoration:none;transition:all 0.15s}.pagination-wrap .page-link:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.pagination-wrap .page-item.active .page-link{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px rgba(207,3,2,.25)}.pagination-wrap .page-item.disabled .page-link{color:var(--text-light);background:var(--bg);cursor:not-allowed;opacity:0.6}.pagination-wrap .page-item.disabled .page-link:hover{border-color:var(--border);color:var(--text-light);background:var(--bg)}.pagination-wrap nav > p{display:none}.mobile-filter-btn{display:none}@media (max-width:900px){.shop-layout{grid-template-columns:1fr;gap:16px;padding:16px}.sidebar-filters{position:fixed;top:0;left:0;width:280px;height:100vh;max-height:100vh;border-radius:0;transform:translateX(-100%);transition:transform 0.25s ease;z-index:50;box-shadow:4px 0 24px rgba(0,0,0,.1)}.sidebar-filters.open{transform:translateX(0)}.mobile-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text);cursor:pointer}.page-header{flex-direction:column;align-items:stretch;gap:14px}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.pcard-name{font-size:12.5px;min-height:34px}.pcard-price{font-size:15px}.toolbar{width:100%;justify-content:space-between}}@media (max-width:600px){.shop-layout{padding:12px 12px 40px}.product-grid{gap:8px}.pcard{border-radius:10px}.pcard-body{padding:8px 9px 10px}.pcard-brand{font-size:9px;letter-spacing:0.05em;margin-bottom:2px}.pcard-name{font-size:12.5px;line-height:1.35;min-height:32px;margin-bottom:4px}.pcard-meta{font-size:10px;gap:4px;margin-bottom:6px;white-space:nowrap;overflow:hidden}.pcard-meta-extra,.pcard-meta-cat{display:none}.pcard-price{font-size:15.5px;color:var(--primary)}.pcard-price-currency{font-size:10px}.pcard-add-btn,.pcard-add-disabled{display:none}.pcard-quick{display:none}.badge{font-size:9px;padding:2px 6px}.page-header h1,.page-header h2{font-size:20px}.page-header .meta{flex-wrap:wrap;gap:5px}}