* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding-top:77px; background: var(--bg); color: var(--text); font-family: "Vazirmatn", sans-serif; font-size: 16px; line-height: 1.8; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.035; z-index:999; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
a { color: inherit; text-decoration: none; }
img { display:block; max-width:100%; }
button, input, textarea, select { font: inherit; }
button { color:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--accent-light); outline-offset:3px; }
.container { width: var(--container); margin-inline:auto; }
.narrow { max-width:760px; }
.narrow-wide { max-width:1080px; }
.muted { color:var(--muted); }
.eyebrow { color:var(--accent-light); font-size:.78rem; font-weight:800; letter-spacing:.08em; margin:0 0 8px; }
h1,h2,h3,h4,p { margin-top:0; }
h1 { font-size:clamp(2.4rem,7vw,5.8rem); line-height:1.08; letter-spacing:-.045em; }
h2 { font-size:clamp(1.8rem,4vw,3.2rem); line-height:1.2; letter-spacing:-.025em; }
h3 { line-height:1.35; }
em { color:var(--accent-light); font-style:normal; }
.lead { color:var(--muted); font-size:1.15rem; line-height:2; }
.section { padding:clamp(70px,10vw,130px) 0; }
.section-panel { background:var(--bg-soft); border-block:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:40px; }
.section-heading h2,.center-heading h2 { margin-bottom:0; }
.center-heading { text-align:center; max-width:700px; margin:0 auto 45px; }
.ph { font-size:1.16em; line-height:1; vertical-align:-.16em; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:var(--radius-sm); padding:8px 20px; cursor:pointer; transition:.2s ease; font-weight:800; background:transparent; box-shadow:var(--inset-light); }
.button .ph,.text-link .ph,.main-nav a .ph,.dashboard-nav a .ph { margin-left:.42rem; }
.button:hover { transform:translateY(-1px); }
.button.is-pressed { transform:translateY(1px) scale(.99); }
.button.is-loading { opacity:.78; cursor:progress; }
.button-primary { background:linear-gradient(145deg,var(--accent-light),var(--accent-dark)); color:white; border-color:rgba(176,139,90,.28); box-shadow:0 14px 34px rgba(137,105,62,.22),var(--inset-light); }
.button-primary:hover { background:linear-gradient(145deg,#bd9867,var(--accent)); }
.button-ghost { border-color:rgba(176,139,90,.46); background:rgba(245,241,234,.025); }
.button-ghost:hover { background:rgba(137,105,62,.13); }
.button-small { min-height:38px; padding:5px 14px; font-size:.88rem; }
.button-wide { width:100%; margin-top:10px; }
.button-disabled { opacity:.45; border-color:var(--line); cursor:not-allowed; }
.text-link { display:inline-flex; align-items:center; gap:6px; color:var(--accent-light); font-weight:800; }
.text-button { border:0; background:none; color:var(--accent-light); padding:0; cursor:pointer; }
.inline-form { display:inline; }
.site-header { position:fixed; inset-block-start:0; inset-inline:0; z-index:90; border-bottom:1px solid var(--line); background:rgba(18,17,16,.86); backdrop-filter:blur(18px); }
.header-inner { min-height:76px; display:flex; align-items:center; gap:clamp(14px,1.7vw,26px); }
.brand { display:flex; align-items:center; flex:0 0 auto; min-width:128px; white-space:nowrap; }
.brand picture { display:block; }
.brand img { width:118px; height:68px; object-fit:contain; object-position:right center; filter:drop-shadow(0 10px 22px rgba(0,0,0,.24)); }
.main-nav { min-width:0; display:flex; gap:clamp(11px,1.45vw,22px); font-size:.93rem; }
.main-nav a,.header-actions a { transition:color .2s; }
.main-nav a { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; color:#dfd5ca; white-space:nowrap; }
.main-nav a .ph { color:var(--accent-light); opacity:.86; }
.main-nav a:hover { color:var(--accent-light); }
.header-actions { flex:0 0 auto; margin-right:auto; display:flex; align-items:center; gap:8px; white-space:nowrap; }
.header-actions .button { white-space:nowrap; }
.guest-auth-actions { flex:0 0 auto; display:flex; align-items:center; gap:4px; padding:3px; border:1px solid rgba(176,139,90,.16); border-radius:16px; background:rgba(245,241,234,.025); box-shadow:var(--inset-light); }
.guest-auth-actions .button { min-height:36px; padding-inline:11px; border-radius:12px; }
.header-search { position:relative; }
.mobile-search-trigger { flex:0 0 auto; width:42px; height:42px; display:none; place-items:center; padding:0; border:1px solid rgba(176,139,90,.2); border-radius:14px; color:var(--text); background:rgba(245,241,234,.045); cursor:pointer; }
.mobile-search-trigger:hover,.mobile-search-trigger:focus-visible { border-color:rgba(232,199,149,.42); color:var(--accent-light); background:rgba(176,139,90,.1); }
.mobile-search-trigger .ph { margin:0; font-size:1.15rem; }
.header-search>i.ph { display:none; }
.search-input-shell { position:relative; display:block; flex:1; min-width:0; }
.search-input-shell input { padding-left:42px; }
.search-clear { position:absolute; top:50%; left:8px; width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(176,139,90,.12); border-radius:50%; background:rgba(245,241,234,.055); color:var(--muted); opacity:0; transform:translateY(-50%) scale(.88); pointer-events:none; cursor:pointer; transition:.16s ease; }
.search-clear .ph { display:block; margin:0; font-size:1rem; }
.search-clear.is-visible { opacity:1; transform:translateY(-50%) scale(1); pointer-events:auto; }
.search-clear:hover { color:#fff; border-color:rgba(176,139,90,.42); background:rgba(137,105,62,.22); }
.header-search .search-input-shell { width:180px; transition:.2s ease; }
.header-search:focus-within .search-input-shell { width:230px; }
.header-search input { border:1px solid var(--line); border-radius:12px; padding:9px 13px 9px 42px; color:var(--text); background:rgba(255,255,255,.035); outline:0; }
.header-search input:focus { border-color:var(--accent); }
.cart-link { min-height:42px; display:inline-flex; align-items:center; gap:10px; white-space:nowrap; font-size:.88rem; padding:5px 8px 5px 13px; border:1px solid rgba(176,139,90,.2); border-radius:999px; background:linear-gradient(145deg,rgba(245,241,234,.055),rgba(245,241,234,.018)); box-shadow:inset 0 1px 0 rgba(255,255,255,.045); }
.cart-link:hover { color:#fff; border-color:rgba(176,139,90,.5); background:linear-gradient(145deg,rgba(137,105,62,.22),rgba(245,241,234,.035)); }
.cart-link .ph { width:30px; height:30px; display:grid; place-items:center; margin-left:0; border-radius:50%; background:rgba(176,139,90,.14); color:var(--accent-light); font-size:1.08rem; }
.cart-label { flex:0 0 auto; line-height:1; }
.cart-count { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:24px; height:24px; padding:0 7px; border-radius:999px; background:linear-gradient(145deg,var(--accent-light),var(--accent-dark)); color:white; font-size:.72rem; font-weight:900; line-height:1; font-variant-numeric:tabular-nums; box-shadow:0 8px 18px rgba(137,105,62,.28), inset 0 1px 0 rgba(255,255,255,.18); }
.menu-toggle { display:none; }
.icon-button { border:0; background:none; font-size:1.5rem; cursor:pointer; }
.hero { min-height:calc(100vh - 76px); position:relative; overflow:visible; display:grid; align-items:start; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,17,16,.1),rgba(18,17,16,.72) 55%,#121110 82%); }
.hero>picture { position:absolute; inset:0; overflow:hidden; }
.hero-art { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; object-position:left center; filter:saturate(.78) contrast(1.05); }
.hero-inner { position:relative; z-index:2; padding-top:clamp(34px,5.5vw,72px); }
.hero-copy { max-width:610px; }
.hero-copy h1 { margin:0 0 28px; }
.hero-copy>p:not(.eyebrow) { color:var(--muted); font-size:1.15rem; max-width:570px; }
.hero-search { display:flex; padding:7px; border:1px solid var(--line); background:rgba(29,26,23,.82); border-radius:17px; margin-top:30px; box-shadow:var(--shadow); }
.hero-search:focus-within { z-index:6; }
.hero-search input { color:var(--text); background:transparent; border:0; outline:0; padding:8px 14px 8px 42px; }
.hero-links { display:flex; gap:16px; flex-wrap:wrap; margin-top:18px; color:var(--muted); font-size:.85rem; }
.hero-links a { color:var(--muted); border:0; background:transparent; box-shadow:none; }
.hero-links a:hover { color:var(--text); }
.scroll-note { position:absolute; z-index:3; bottom:26px; left:calc((100% - min(1240px,100% - 40px))/2); color:var(--muted); font-size:.8rem; }
.scroll-note span { color:var(--accent-light); font-size:1.2rem; margin-right:8px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
.product-card { height:100%; display:grid; grid-template-rows:auto 1fr; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:.25s ease; }
.product-card:hover { transform:translateY(-5px); border-color:rgba(176,139,90,.34); box-shadow:var(--shadow); }
.product-image { height:360px; display:block; position:relative; background:#0c0b0a; overflow:hidden; }
.product-image img { width:100%; height:100%; object-fit:cover; transition:.45s ease; }
.product-card:hover .product-image img { transform:scale(1.025); }
.product-image::before,.product-image::after { content:""; position:absolute; right:0; left:0; z-index:1; pointer-events:none; }
.product-image::before { top:0; height:96px; background:linear-gradient(180deg,rgba(9,8,7,.72),rgba(9,8,7,.34) 58%,rgba(9,8,7,0)); }
.product-image::after { bottom:0; height:118px; background:linear-gradient(0deg,rgba(9,8,7,.82),rgba(9,8,7,.42) 58%,rgba(9,8,7,0)); }
.status-pill { position:absolute; z-index:2; top:14px; right:14px; display:inline-flex; align-items:center; gap:7px; max-width:calc(100% - 28px); min-height:32px; border-radius:999px; padding:6px 12px; background:linear-gradient(145deg,rgba(31,27,23,.94),rgba(18,17,16,.9)); border:1px solid rgba(232,199,149,.28); color:#f2e8db; font-size:.74rem; font-weight:900; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:0 10px 28px rgba(0,0,0,.34),var(--inset-light); backdrop-filter:blur(14px); }
.status-pill i { flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:var(--status-dot,var(--accent-light)); box-shadow:0 0 0 4px rgba(232,199,149,.14); }
.card-badges { position:absolute; z-index:2; left:13px; right:13px; bottom:13px; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:7px; max-height:66px; overflow:hidden; }
.card-badges b { display:inline-flex; align-items:center; min-height:27px; padding:5px 9px; border:1px solid rgba(232,199,149,.2); border-radius:999px; background:rgba(22,19,16,.84); color:#f0deca; box-shadow:0 8px 24px rgba(0,0,0,.3),var(--inset-light); font-size:.66rem; font-weight:850; line-height:1; backdrop-filter:blur(12px); }
.status-available { --status-dot:#ead0a2; border-color:rgba(234,208,162,.35); }.status-reserved { --status-dot:#dfb77c; border-color:rgba(223,183,124,.32); }.status-sold { --status-dot:#b88f86; border-color:rgba(198,175,166,.24); opacity:.9; }.status-archive { --status-dot:#9d9388; border-color:rgba(184,174,162,.22); opacity:.84; }
.product-card-body { min-height:228px; display:grid; grid-template-rows:auto auto 1fr auto; padding:22px; }
.product-meta { color:var(--accent-light); font-size:.76rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.product-card h3 { min-height:3.05em; margin:6px 0 9px; font-size:1.15rem; line-height:1.52; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.product-card p { color:var(--muted); font-size:.86rem; line-height:1.8; min-height:3.6em; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.product-card-bottom { display:flex; justify-content:space-between; align-items:end; gap:12px; min-height:62px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
.product-card-bottom strong { white-space:nowrap; }.product-card-bottom small,.price small { color:var(--muted); font-size:.7em; font-weight:400; }
.product-card-bottom .text-link { flex:0 0 auto; font-size:.8rem; white-space:nowrap; }
.home-category-section { position:relative; overflow:hidden; padding:clamp(54px,7vw,82px) 0; }
.home-category-section::before { content:""; position:absolute; width:520px; height:260px; right:-160px; top:-150px; border-radius:50%; background:rgba(176,139,90,.08); filter:blur(70px); pointer-events:none; }
.home-category-head { position:relative; display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:25px; }
.home-category-head>div { min-width:0; }
.home-category-head h2 { margin:2px 0 6px; font-size:clamp(1.65rem,3vw,2.45rem); }
.home-category-head p:last-child { max-width:620px; margin:0; color:var(--muted); }
.home-category-index { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.home-category-item { position:relative; min-width:0; min-height:112px; display:grid; grid-template-columns:39px minmax(0,1fr) 22px; align-items:end; gap:11px; padding:14px; overflow:hidden; isolation:isolate; border:1px solid rgba(176,139,90,.2); border-radius:20px; background:#1d1a17; box-shadow:0 14px 34px rgba(0,0,0,.16),var(--inset-light); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.home-category-item:hover { transform:translateY(-3px); border-color:rgba(211,169,112,.58); box-shadow:0 20px 44px rgba(0,0,0,.28),var(--inset-light); }
.home-category-media,.home-category-media picture,.home-category-media img,.home-category-scrim { position:absolute; inset:0; width:100%; height:100%; }
.home-category-media { z-index:-2; }
.home-category-media picture { display:block; }
.home-category-media img { object-fit:cover; object-position:center 46%; filter:saturate(.72) contrast(1.06); transform:scale(1.01); transition:transform .55s ease,filter .35s ease; }
.home-category-item:hover .home-category-media img { filter:saturate(.9) contrast(1.08); transform:scale(1.06); }
.home-category-scrim { z-index:-1; background:linear-gradient(90deg,rgba(12,10,9,.34),rgba(12,10,9,.88) 67%,rgba(12,10,9,.96)),linear-gradient(0deg,rgba(12,10,9,.78),transparent 72%); }
.home-category-icon { width:39px; height:39px; display:grid; place-items:center; border:1px solid rgba(232,199,149,.3); border-radius:13px; background:rgba(19,16,14,.68); color:#e8c795; box-shadow:var(--inset-light); backdrop-filter:blur(9px); }
.home-category-icon .ph { margin:0; font-size:1.2rem; }
.home-category-copy { min-width:0; padding-bottom:1px; text-shadow:0 2px 12px rgba(0,0,0,.8); }
.home-category-copy b,.home-category-copy small { display:block; }
.home-category-copy b { margin-bottom:2px; color:#fff; font-size:.94rem; }
.home-category-copy small { color:#cfc2b4; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.home-category-arrow { margin:0 0 10px; color:#b8aa9b; filter:drop-shadow(0 2px 7px #000); transition:color .2s ease,transform .2s ease; }
.home-category-item:hover .home-category-arrow { color:var(--accent-light); transform:translate(-2px,-2px); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,100px); align-items:center; }
.story-image,.featured-image { border-radius:28px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); }
.story-image img,.featured-image img { width:100%; height:560px; object-fit:cover; }
.story-copy>p { color:var(--muted); font-size:1.05rem; }
.quiet-list { padding:0; list-style:none; margin:28px 0; }
.quiet-list li { padding:12px 0; border-bottom:1px solid var(--line); }
.quiet-list li::before { content:"◇"; color:var(--accent-light); margin-left:10px; }
.featured { background:linear-gradient(135deg,#171411,#211b15); border-block:1px solid rgba(176,139,90,.2); }
.featured-copy .price,.product-summary .price { font-size:1.6rem; font-weight:900; margin:24px 0; }
.editorial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.editorial-card { display:block; padding-bottom:18px; border-bottom:1px solid var(--line); }
.editorial-card img { width:100%; height:240px; border-radius:var(--radius); object-fit:cover; margin-bottom:20px; }
.editorial-card h2,.editorial-card h3 { margin:6px 0 8px; }
.editorial-card p { color:var(--muted); font-size:.9rem; }
.home-academy { position:relative; overflow:hidden; background:radial-gradient(circle at 12% 18%,rgba(176,139,90,.15),transparent 30%),radial-gradient(circle at 88% 84%,rgba(105,72,44,.12),transparent 32%),var(--bg-soft); }
.home-academy::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.22; background:linear-gradient(110deg,transparent 0 48%,rgba(176,139,90,.08) 48.2%,transparent 48.6%); }
.home-academy>.container { position:relative; }
.home-academy-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:22px; align-items:stretch; }
.home-academy-intro { min-width:0; padding:30px; border:1px solid rgba(176,139,90,.2); border-radius:30px; background:radial-gradient(circle at 85% 0,rgba(176,139,90,.18),transparent 36%),linear-gradient(150deg,rgba(36,32,28,.94),rgba(20,18,16,.96)); box-shadow:var(--shadow-soft),var(--inset-light); }
.home-academy-mark { width:58px; height:58px; display:grid; place-items:center; margin-bottom:22px; border:1px solid rgba(176,139,90,.25); border-radius:19px; color:var(--accent-light); background:rgba(176,139,90,.1); box-shadow:var(--inset-light); }
.home-academy-mark .ph { font-size:1.8rem; }
.home-academy-intro h3 { margin:8px 0 12px; font-size:clamp(1.35rem,2.2vw,1.9rem); }
.home-academy-intro>p:not(.eyebrow) { color:var(--muted); }
.home-academy-signals { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.home-academy-signals span { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:6px 10px; border:1px solid rgba(176,139,90,.15); border-radius:999px; color:#d8cabb; background:rgba(245,241,234,.035); font-size:.7rem; font-weight:800; }
.home-academy-signals .ph { color:var(--accent-light); }
.home-academy-teachers { display:grid; gap:9px; margin:0 0 18px; }
.home-academy-teachers>a { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:11px; padding:8px; border:1px solid rgba(176,139,90,.13); border-radius:18px; background:rgba(245,241,234,.025); }
.home-academy-teachers img,.home-teacher-fallback { width:48px; height:48px; display:grid; place-items:center; object-fit:cover; border:1px solid rgba(176,139,90,.2); border-radius:15px; color:var(--accent-light); background:rgba(176,139,90,.1); }
.home-academy-teachers>a>span:last-child { min-width:0; display:grid; }
.home-academy-teachers strong,.home-academy-teachers small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-academy-teachers strong { font-size:.86rem; }
.home-academy-teachers small { color:var(--muted); font-size:.7rem; }
.home-academy-teachers>p { margin:0; color:var(--muted); font-size:.8rem; }
.home-academy-lessons { min-width:0; display:grid; gap:12px; }
.home-academy-lesson { min-width:0; min-height:164px; display:grid; grid-template-columns:158px minmax(0,1fr); overflow:hidden; border:1px solid rgba(176,139,90,.17); border-radius:26px; background:linear-gradient(145deg,rgba(36,32,28,.88),rgba(22,20,18,.94)); box-shadow:var(--shadow-soft),var(--inset-light); transition:transform .2s ease,border-color .2s ease; }
.home-academy-lesson:hover { transform:translateY(-2px); border-color:rgba(176,139,90,.42); }
.home-academy-lesson>img { width:100%; height:100%; object-fit:cover; }
.home-academy-lesson-copy { min-width:0; display:grid; align-content:center; padding:17px 20px; }
.home-academy-lesson-copy>small { color:var(--accent-light); font-size:.69rem; font-weight:850; }
.home-academy-lesson-copy>strong { margin:4px 0; font-size:1.08rem; line-height:1.5; }
.home-academy-lesson-copy>span { color:var(--muted); font-size:.78rem; line-height:1.7; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.home-academy-lesson-copy>em { display:inline-flex; align-items:center; gap:6px; margin-top:8px; color:var(--accent-light); font-size:.7rem; font-weight:850; }
.home-academy-lessons .empty-state { display:grid; align-content:center; }
.text-card { border:1px solid var(--line); border-radius:var(--radius); padding:30px; }
.form-card { padding:30px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); }
.form-card>div,.stack-form>div { margin-bottom:16px; }
label { display:block; margin-bottom:6px; font-size:.86rem; font-weight:700; }
input,textarea,select { width:100%; color:var(--text); background:#151311; border:1px solid var(--line); border-radius:12px; padding:11px 13px; outline:0; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display:none; appearance:none; }
input:focus,textarea:focus,select:focus { border-color:var(--accent-light); box-shadow:0 0 0 3px rgba(137,105,62,.13); }
.errorlist { color:#dda197; padding:0; list-style:none; font-size:.8rem; }
.helptext { display:block; color:var(--muted); font-size:.75rem; margin-top:3px; }
.page-hero { min-height:470px; display:flex; align-items:center; background:radial-gradient(circle at 20% 40%,rgba(137,105,62,.15),transparent 36%),var(--bg-soft); border-bottom:1px solid var(--line); }
.page-hero.compact { min-height:330px; }
.page-hero .container>p:last-child { color:var(--muted); max-width:680px; }
.page-hero h1 { font-size:clamp(2.3rem,6vw,4.8rem); margin-bottom:14px; }
.catalog-search { display:flex; gap:8px; max-width:600px; margin-top:25px; }
.catalog-layout { display:grid; grid-template-columns:330px minmax(0,1fr); align-items:start; gap:26px; }
.catalog-sidebar { position:relative; align-self:stretch; min-width:0; }
.catalog-panel { position:sticky; top:96px; width:100%; margin:0; max-height:calc(100svh - 116px); overflow:auto; padding:18px; border:1px solid rgba(176,139,90,.2); border-radius:30px; background:radial-gradient(circle at 8% 0,rgba(176,139,90,.13),transparent 34%),linear-gradient(145deg,rgba(34,30,26,.94),rgba(18,17,16,.94)); box-shadow:var(--shadow-soft),var(--inset-light); scrollbar-width:thin; scrollbar-color:rgba(176,139,90,.5) transparent; }
.catalog-panel::-webkit-scrollbar { width:6px; }
.catalog-panel::-webkit-scrollbar-thumb { background:rgba(176,139,90,.5); border-radius:999px; }
.catalog-panel-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.07); }
.catalog-panel-head strong { display:block; margin-top:3px; color:#fff; font-size:1.08rem; letter-spacing:-.02em; }
.filter-panel-close { display:none; }
.catalog-panel-body { display:grid; grid-template-columns:1fr; gap:18px; padding-top:18px; }
.catalog-panel .filter-group { grid-column:1; min-width:0; }
.catalog-panel .filter-group>span,.price-filter-head span { display:block; color:var(--accent-light); font-size:.76rem; font-weight:900; margin-bottom:8px; }
.catalog-panel .brand-filter { grid-row:2; margin-top:0; }
.filter-row { display:flex; gap:10px; overflow:auto; padding-bottom:14px; margin-bottom:30px; }
.filter-row a { white-space:nowrap; border:1px solid var(--line); border-radius:999px; padding:7px 15px; color:var(--muted); }
.filter-row a.active,.filter-row a:hover { color:white; background:var(--accent); border-color:var(--accent); }
.catalog-panel .filter-row { margin:0; padding:0 0 8px; scrollbar-width:none; }
.catalog-panel .filter-row::-webkit-scrollbar { display:none; }
.category-child-ribbon { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; }
.category-child-ribbon a { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:8px 14px; border:1px solid rgba(176,139,90,.22); border-radius:999px; background:rgba(245,241,234,.035); color:#d8cabb; font-size:.78rem; font-weight:800; transition:border-color .2s ease,background .2s ease,color .2s ease; }
.category-child-ribbon a:hover,.category-child-ribbon a.active { border-color:rgba(176,139,90,.7); background:linear-gradient(145deg,rgba(176,139,90,.3),rgba(91,65,40,.2)); color:#fff; }
.category-child-ribbon small { display:grid; place-items:center; min-width:22px; height:22px; padding-inline:5px; border-radius:999px; background:rgba(0,0,0,.22); color:var(--accent-light); font-size:.68rem; }
.category-filter-children { margin-top:10px; padding:12px; border:1px solid rgba(176,139,90,.12); border-radius:18px; background:rgba(176,139,90,.045); }
.category-filter-children>small { display:block; margin-bottom:7px; color:#b8aa9b; font-size:.7rem; font-weight:800; }
.category-filter-children .filter-row { padding-bottom:0; }
.filter-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; padding:14px 18px; border:1px solid rgba(176,139,90,.16); border-radius:18px; background:rgba(29,26,23,.68); color:var(--muted); }
.store-controls { display:flex; justify-content:flex-end; gap:10px; margin:0; }
.catalog-panel .store-controls { grid-column:1; grid-row:auto; display:grid; grid-template-columns:1fr; align-content:start; gap:10px; padding:14px; border:1px solid rgba(255,255,255,.07); border-radius:22px; background:rgba(255,255,255,.025); }
.store-controls label { min-width:150px; margin:0; color:var(--muted); font-size:.76rem; }
.catalog-panel .store-controls label { min-width:0; }
.store-controls select { margin-top:5px; padding:8px 11px; }
.catalog-results { min-width:0; }
.catalog-results-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; padding:12px 14px; border:1px solid rgba(176,139,90,.16); border-radius:20px; background:rgba(29,26,23,.55); color:var(--muted); box-shadow:var(--inset-light); }
.catalog-results-head .button { display:none; }
.mobile-filter-fab,.catalog-filter-backdrop { display:none; }
.breadcrumbs { color:var(--muted); font-size:.8rem; margin-bottom:24px; }
.product-detail-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:60px; align-items:start; }
.gallery-main { width:100%; padding:0; border-radius:30px; overflow:hidden; background:#0b0a09; height:690px; border:1px solid rgba(176,139,90,.14); box-shadow:var(--shadow); cursor:zoom-in; }
.gallery-main img { width:100%; height:100%; object-fit:cover; }
.gallery-thumbs { display:flex; gap:10px; margin-top:12px; overflow:auto; }
.gallery-thumbs button { width:85px; height:85px; padding:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:none; cursor:pointer; opacity:.68; transition:.2s ease; }
.gallery-thumbs button.active,.gallery-thumbs button:hover { opacity:1; border-color:var(--accent-light); box-shadow:0 0 0 3px rgba(137,105,62,.14); }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.product-summary { position:sticky; top:110px; padding:30px; border:1px solid rgba(176,139,90,.16); border-radius:30px; background:linear-gradient(145deg,rgba(36,32,28,.92),rgba(24,22,20,.92)); box-shadow:var(--shadow); }
.product-summary h1 { font-size:clamp(2.2rem,5vw,4.4rem); }
.availability { display:flex; gap:8px; align-items:center; font-size:.85rem; margin-top:20px; }
.availability span { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px rgba(255,255,255,.035); }
.price-block del { display:block; color:#8f8376; margin-top:20px; font-size:.95rem; text-decoration-color:rgba(183,93,81,.75); }
.price-stack { display:grid; gap:2px; }
.price-stack del { color:#8f8376; font-size:.78rem; text-decoration-color:rgba(183,93,81,.75); }
.price-stack strong { color:#fff; }
.price-stack em,.offer-pill { color:var(--accent-light); font-size:.72rem; font-weight:900; }
.offer-pill { display:inline-flex; align-items:center; gap:6px; width:max-content; margin-top:4px; padding:5px 10px; border:1px solid var(--line-warm); border-radius:999px; background:var(--surface-soft); }
.offer-expiry { display:block; color:var(--muted); margin-top:7px; font-size:.76rem; }
.dossier-badges { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 4px; }
.dossier-badges span,.piece-highlight { border:1px solid rgba(176,139,90,.16); background:rgba(255,255,255,.025); }
.dossier-badges span { display:inline-flex; align-items:center; gap:6px; padding:7px 11px; border-radius:999px; color:#d8cabb; font-size:.78rem; }
.dossier-badges .ph { margin-left:0; color:var(--accent-light); }
.piece-highlight { margin-top:22px; padding:16px; border-radius:18px; }
.piece-highlight span { display:block; color:var(--accent-light); font-size:.76rem; font-weight:900; margin-bottom:6px; }
.piece-highlight p { margin:0; color:#d7cdc1; font-size:.88rem; line-height:1.9; }
