.shop-main { padding-top: var(--header-height); min-height: 75vh; }
.shop-intro { position: relative; overflow: hidden; padding: 65px 0 42px; background: radial-gradient(ellipse at 80% 20%,rgba(200,44,255,.12),transparent 55%),radial-gradient(ellipse at 15% 30%,rgba(255,38,56,.1),transparent 60%); }
.shop-intro-grid { display: grid; grid-template-columns: 1fr 245px; gap: 36px; align-items: center; }
.shop-intro .eyebrow { margin-bottom: 16px; }
.shop-intro h1 { margin: 0 0 18px; font-size: clamp(3rem,7vw,5.5rem); letter-spacing: -.055em; line-height: 1; }
.shop-intro h1 span { color: transparent; background: linear-gradient(100deg,#ff2736,#e531c7 75%,#9d2cff); background-clip: text; -webkit-background-clip: text; }
.shop-intro p { max-width: 600px; color: #c9bacb; margin: 0; font-size: 1.05rem; }
.shop-logo { width: 100%; height: auto; filter: drop-shadow(0 12px 25px rgba(0,0,0,.4)); }
.shop-collection { padding: 28px 0 90px; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; padding-bottom: 24px; border-bottom: 1px solid var(--border); margin-bottom: 28px; }
.shop-tabs { display: flex; gap: 7px; flex-wrap: wrap; }
.shop-filter { padding: 10px 15px; border: 1px solid var(--border); border-radius: 9px; background: rgba(255,255,255,.025); color: #c9bacb; font-size: .9rem; font-weight: 700; cursor: pointer; }
.shop-filter:hover { border-color: rgba(255,38,56,.4); color: var(--text); }
.shop-filter[aria-pressed="true"] { color: #fff; border-color: rgba(255,80,95,.5); background: linear-gradient(135deg,rgba(255,38,56,.21),rgba(200,44,255,.12)); }
.cart-open { display: inline-flex; gap: 9px; align-items: center; padding: 10px 16px; border-radius: 9px; border: 1px solid rgba(255,38,56,.32); color: var(--text); background: #21101c; font-weight: 750; cursor: pointer; }
.cart-count { min-width: 23px; height: 23px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 6px; font-size: .8rem; background: var(--red); color: #fff; }
.product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.product-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 27px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; overflow: hidden; background: linear-gradient(145deg,#1b0f20,#0e0912); transition: border-color 180ms ease,transform 180ms ease; }
.product-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg,#ff2638,#c82cff); opacity: .65; }
.product-card:hover { transform: translateY(-4px); border-color: rgba(255,54,70,.4); }
.product-card[hidden] { display: none; }
.product-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #b49bb9; font-size: .8rem; }
.product-category { text-transform: uppercase; color: #ff7885; letter-spacing: .1em; font-weight: 800; }
.product-mark { padding: 30px 0 22px; font-size: 3.6rem; font-weight: 950; line-height: 1; letter-spacing: -.055em; color: transparent; background: linear-gradient(110deg,#ff6976,#ed55b9 65%,#ba63ff); background-clip: text; -webkit-background-clip: text; }
.product-card h2 { margin: 0 0 9px; font-size: 1.35rem; line-height: 1.25; }
.product-description { margin: 0; min-height: 3.2em; color: #b8a9be; font-size: .96rem; }
.product-features { margin: 22px 0 28px; padding-left: 18px; color: #c8bacc; font-size: .9rem; line-height: 1.9; }
.product-features li::marker { color: var(--red); }
.product-bottom { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--border); }
.product-price { display: block; font-size: 1.7rem; font-weight: 850; letter-spacing: -.03em; margin-bottom: 16px; }
.product-card .button { width: 100%; font-size: .9rem; }
.product-card .button:disabled { opacity: .6; cursor: default; transform: none; }
.shop-note { margin: 26px 0 0; color: #a99cab; font-size: .9rem; text-align: center; }
.shop-notice { position: fixed; z-index: 2000; bottom: 24px; left: 50%; transform: translateX(-50%); padding: 12px 20px; background: #251227; border: 1px solid rgba(255,73,93,.45); border-radius: 10px; color: #fff; box-shadow: 0 10px 35px #0008; max-width: calc(100% - 32px); text-align: center; }
.shop-notice:empty { display: none; }
.cart-dialog { margin: 0 0 0 auto; width: min(510px,100%); max-width: 100%; height: 100dvh; max-height: 100dvh; padding: 0; border: 0; border-left: 1px solid rgba(255,38,56,.22); color: var(--text); background: #0e0812; box-shadow: -20px 0 70px #0008; }
.cart-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(4px); }
.cart-shell { padding: 28px; }
.cart-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 28px; }
.cart-heading h2 { margin: 0; font-size: 1.7rem; }
.cart-close { background: #241327; color: #fff; border: 1px solid var(--border); border-radius: 9px; min-width: 42px; min-height: 42px; font-size: 1.4rem; cursor: pointer; }
.cart-empty { padding: 40px 0; color: #b8a9be; text-align: center; }
.cart-line { padding: 19px 0; border-bottom: 1px solid var(--border); }
.cart-line-top { display: flex; justify-content: space-between; gap: 16px; }
.cart-line-top strong { font-size: 1rem; }
.cart-line-price { white-space: nowrap; font-weight: 750; }
.cart-line-detail { font-size: .85rem; color: #ae9db3; margin: 5px 0 14px; }
.cart-line-actions { display: flex; align-items: center; gap: 10px; }
.quantity-button { width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 7px; background: #211027; color: #fff; cursor: pointer; }
.quantity-button:disabled { opacity: .35; cursor: default; }
.cart-remove { margin-left: auto; padding: 7px 0 7px 12px; background: transparent; color: #ff8591; border: 0; font-size: .85rem; cursor: pointer; }
.cart-total { display: flex; justify-content: space-between; gap: 12px; margin: 25px 0; font-size: 1.2rem; }
.cart-field { display: block; font-weight: 700; margin-bottom: 8px; }
.cart-input { width: 100%; padding: 13px 14px; border: 1px solid rgba(255,255,255,.17); border-radius: 9px; background: #1b1020; color: #fff; font-size: 1rem; }
.cart-hint { color: #ae9db3; font-size: .82rem; margin: 8px 0 20px; }
.cart-form .button { width: 100%; }
.demo-notice { color: #c7b8cc; font-size: .9rem; line-height: 1.65; margin: 18px 0 0; }
.summary-panel { padding: 22px; border: 1px solid rgba(200,44,255,.28); border-radius: 12px; background: #1d0f24; }
.summary-panel h3 { margin: 0 0 14px; }
.summary-panel p { overflow-wrap: anywhere; }
.summary-panel .button { width: 100%; margin-top: 18px; }
[hidden] { display: none !important; }
.main-nav > a[aria-current="page"] { color: #ff7784; background: rgba(255,38,56,.08); }
@media (max-width: 1000px) { .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 650px) { .shop-intro { padding-top: 44px; } .shop-intro-grid { grid-template-columns: 1fr; gap: 0; } .shop-logo { display: none; } .product-grid { grid-template-columns: 1fr; } .shop-toolbar { align-items: stretch; } .shop-tabs { width: 100%; } .shop-filter { flex: 1 1 auto; } .cart-open { justify-content: center; width: 100%; } .cart-shell { padding: 22px; } .shop-intro h1 { font-size: 3.5rem; } }
@media (prefers-reduced-motion: reduce) { .product-card { transition: none; } .product-card:hover { transform: none; } }
.catalog-empty,.catalog-filter-empty{grid-column:1/-1;text-align:center;padding:45px 20px;border:1px dashed #4b2d53;border-radius:14px;color:#bda8c8}.product-mark{overflow-wrap:anywhere}.product-card h2,.product-description,.product-features{overflow-wrap:anywhere}
