@font-face{font-family:IRANSansLocal;src:url("../fonts/IRANSans(FaNum)_Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:IRANSansLocal;src:url("../fonts/IRANSans(FaNum).ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:IRANSansLocal;src:url("../fonts/IRANSans(FaNum)_Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:IRANSansLocal;src:url("../fonts/IRANSans(FaNum)_Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --accent:#c81361;
  --accent-rgb:200,19,97;
  --accent-2:#ff5f96;
  --accent-soft:#fbe6ee;
  --accent-ink:#7a0d3c;
  --ink:#141116;
  --muted:#6d6873;
  --paper:#f3f1ea;
  --surface:#fff;
  --surface-2:#ece9e1;
  --line:#ddd8cc;
  --success:#0f9d6e;
  --danger:#c62d3f;
  --shadow-sm:0 6px 18px rgba(20,17,22,.06);
  --shadow-lg:6px 6px 0 rgba(20,17,22,.92);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:24px;
  --container:1240px;
  --font:IRANSansLocal,Tahoma,Arial,sans-serif;
}
:root[data-palette="ocean"]{--accent:#0f6ba8;--accent-rgb:15,107,168;--accent-2:#4fb4e8;--accent-soft:#e1f0f8;--accent-ink:#0a4a74}
:root[data-palette="emerald"]{--accent:#0f9d6e;--accent-rgb:15,157,110;--accent-2:#4fd7a5;--accent-soft:#e1f5ec;--accent-ink:#0a6a4a}
:root[data-palette="violet"]{--accent:#7440d8;--accent-rgb:116,64,216;--accent-2:#a586ff;--accent-soft:#ede6fa;--accent-ink:#4b2690}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.75;color:var(--ink);background:var(--paper);text-rendering:optimizeLegibility}
body.dialog-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.shop-container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;right:16px;top:-60px;z-index:3000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px}
.skip-link:focus{top:12px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--accent);text-transform:uppercase}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:4px}

.shop-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:2px solid var(--ink)}
.header-row{height:82px;display:grid;grid-template-columns:auto minmax(280px,570px) auto;gap:28px;align-items:center}
.shop-brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}
.brand-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--accent);color:#fff;font-size:1.25rem;font-weight:700;box-shadow:0 9px 25px rgba(var(--accent-rgb),.22)}
.shop-brand strong,.shop-brand small{display:block}
.shop-brand strong{font-size:1rem;line-height:1.5}
.shop-brand small{color:var(--muted);font-size:.7rem;line-height:1.2}
.header-search{height:48px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:0 15px;box-shadow:0 4px 18px rgba(25,20,30,.03);transition:.2s}
.header-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.09)}
.header-search>span{font-size:1.4rem;color:var(--muted);transform:rotate(-15deg)}
.header-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:.88rem}
.header-search input::placeholder{color:#a09ca5}
.header-search kbd{font-family:var(--font);font-size:.68rem;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:3px 7px;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:8px}
.icon-control,.cart-trigger{height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.icon-control{width:44px;font-size:1.15rem}
.icon-control:hover,.cart-trigger:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.header-cart{gap:8px;padding:0 14px;font-size:.78rem;font-weight:700}
.header-cart>span:first-child{font-size:1.2rem}
[data-cart-count]{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:20px;background:var(--accent);color:#fff;font-size:.68rem}
.palette-control{position:relative}
.palette-popover{position:absolute;top:55px;left:0;width:180px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s;z-index:20}
.palette-popover.is-open{opacity:1;visibility:visible;transform:none}
.palette-popover>span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:8px}
.palette-popover>div{display:flex;gap:9px}
.palette-dot{width:28px;height:28px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);transition:.2s}
.palette-dot.is-active{box-shadow:0 0 0 2px var(--ink);transform:scale(.9)}
.palette-rose{background:#c81361}.palette-ocean{background:#0f6ba8}.palette-emerald{background:#0f9d6e}.palette-violet{background:#7440d8}

.shop-showcase{padding:34px 0 64px;overflow:hidden}
.showcase-grid{min-height:510px;display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:stretch;background:var(--ink);color:#fff;border-radius:var(--radius-xl);padding:54px 58px;position:relative;isolation:isolate;border:2px solid var(--ink)}
.showcase-grid::before{content:"";position:absolute;width:230px;height:230px;background:var(--accent);right:-70px;top:-90px;z-index:-1;transform:rotate(12deg)}
.showcase-grid::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 70%);z-index:-1;border-radius:inherit}
.showcase-copy{align-self:center;max-width:510px}
.showcase-copy .eyebrow{color:#f5a6bc}
.showcase-copy h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.2;letter-spacing:-.055em;margin:16px 0 20px}
.showcase-copy h1 em{font-style:normal;color:#f2a3bc}
.showcase-copy p{color:#c8c3cb;max-width:480px;margin:0 0 28px;font-weight:300}
.button{min-height:46px;border-radius:var(--radius-sm);border:2px solid transparent;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:.84rem;transition:.15s}
.button:disabled{opacity:.55;cursor:not-allowed}
.button-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.button-primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}
.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
.button-secondary:hover{border-color:var(--ink);transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}
.button-danger{background:var(--danger);color:#fff}
.button-block{width:100%}
.button-row{display:flex;flex-wrap:wrap;gap:10px}
.showcase-notes{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}
.showcase-notes span{font-size:.72rem;color:#d6d0d8;border:1px solid rgba(255,255,255,.13);padding:7px 11px;border-radius:30px}
.showcase-products{position:relative;min-height:420px}
.look{position:absolute;margin:0;background:#eef0f1;border:6px solid rgba(255,255,255,.1);border-radius:30px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.3)}
.look img{width:100%;height:100%;object-fit:cover}
.look-main{width:48%;height:82%;right:10%;top:7%;z-index:2}
.look-top{width:35%;height:43%;left:3%;top:1%;transform:rotate(-5deg)}
.look-bottom{width:34%;height:42%;left:7%;bottom:0;transform:rotate(4deg)}
.look-main figcaption{position:absolute;right:12px;left:12px;bottom:12px;background:rgba(18,16,20,.82);backdrop-filter:blur(12px);border-radius:13px;padding:10px 12px;font-size:.73rem;display:flex;justify-content:space-between}
.look-main figcaption b{color:#ffc0d2}
.showcase-seal{position:absolute;display:grid;place-items:center;left:39%;top:43%;z-index:4;width:82px;height:82px;border-radius:50%;background:var(--accent);border:5px solid var(--ink);text-align:center;font-weight:700;line-height:1.1;transform:rotate(-8deg)}
.showcase-seal small{font-size:.62rem;font-weight:400}

.catalog-section{padding:28px 0 90px}
.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.catalog-heading h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.04em;line-height:1.25;margin:5px 0 0}
.catalog-heading p{max-width:480px;color:var(--muted);font-size:.88rem;margin:0}
.catalog-toolbar{margin-bottom:26px}
.category-chips{display:flex;gap:8px;overflow:auto;padding:4px 2px 13px;scrollbar-width:thin}
.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:30px;padding:9px 16px;font-size:.78rem;font-weight:500;transition:.2s}
.chip:hover,.chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.filter-row{min-height:54px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.stock-filter{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.78rem;cursor:pointer}
.stock-filter input{position:absolute;opacity:0}
.stock-filter>span{width:38px;height:21px;border-radius:20px;background:#cfccd3;position:relative;transition:.2s}
.stock-filter>span::after{content:"";position:absolute;width:15px;height:15px;background:#fff;border-radius:50%;right:3px;top:3px;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.2s}
.stock-filter input:checked+span{background:var(--accent)}
.stock-filter input:checked+span::after{right:20px}
.sort-control{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.75rem}
.sort-control select{border:0;background:transparent;color:var(--ink);outline:0;font-weight:700;padding:5px}
.result-count{margin-right:auto;font-size:.75rem;color:var(--muted);font-weight:500}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.product-card{min-width:0;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-md);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.product-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg);border-color:var(--ink)}
.product-image-wrap{display:block;width:100%;aspect-ratio:1/1;border:0;padding:0;background:#eceef0;position:relative;overflow:hidden}
.product-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.product-card:hover .product-image-wrap img{transform:scale(1.035)}
.discount-badge{position:absolute;right:12px;top:12px;background:var(--accent);color:#fff;padding:5px 9px;border-radius:9px;font-size:.7rem;font-weight:700;box-shadow:0 6px 16px rgba(var(--accent-rgb),.25)}
.product-card-body{padding:15px 16px 17px}
.product-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.7rem}
.stock-state{display:flex;align-items:center;gap:5px}
.stock-state i{width:6px;height:6px;border-radius:50%;background:var(--success)}
.out-stock{color:#a96c76}
.product-card h3{font-size:.94rem;margin:7px 0 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-price{display:flex;align-items:end;justify-content:space-between;gap:8px}
.product-price>div{display:flex;min-width:0;flex-direction:column}
.product-price del{font-size:.66rem;color:#9b96a0;line-height:1.4}
.price-spacer{height:15px}
.product-price strong{font-size:.85rem;color:var(--accent);white-space:nowrap}
.round-action{width:37px;height:37px;flex:0 0 auto;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:1.4rem;line-height:1;transition:.2s}
.round-action:hover:not(:disabled){background:var(--accent);transform:rotate(90deg)}
.round-action:disabled{background:#d5d2d8;color:#8d8991;cursor:not-allowed}
.load-more-wrap{text-align:center;margin-top:30px}
.catalog-empty{grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-lg)}
.catalog-empty>span{font-size:3rem;color:var(--accent)}
.catalog-empty h3{margin:8px 0 0}.catalog-empty p{color:var(--muted);margin:4px 0 18px}
.product-skeleton{background:var(--surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);padding-bottom:16px}
.product-skeleton i,.product-skeleton span,.product-skeleton b{display:block;background:linear-gradient(90deg,#ececf0,#f8f8fa,#ececf0);background-size:200% 100%;animation:shimmer 1.2s infinite}
.product-skeleton i{aspect-ratio:1}.product-skeleton span{height:12px;margin:15px 15px 9px;border-radius:8px}.product-skeleton b{height:17px;width:55%;margin:0 15px;border-radius:8px}
@keyframes shimmer{to{background-position:-200% 0}}

.trust-strip{background:var(--ink);color:#fff;padding:48px 0}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.trust-grid article{display:flex;gap:16px}
.trust-grid article>span{flex:0 0 auto;color:#f2a3bc;font-size:.75rem;font-weight:700}
.trust-grid h3{font-size:.95rem;margin:0 0 5px}
.trust-grid p{font-size:.76rem;color:#aaa4ad;margin:0}
.shop-footer{background:var(--surface);border-top:1px solid var(--line);padding:32px 0 100px}
.footer-row{display:flex;align-items:center;gap:30px}
.footer-row>p{color:var(--muted);font-size:.76rem}
.footer-actions{margin-right:auto;display:flex;align-items:center;gap:18px}
.footer-actions a,.footer-actions button{border:0;background:transparent;color:var(--muted);font-size:.75rem;padding:0;transition:.2s}
.footer-actions a:hover,.footer-actions button:hover{color:var(--accent)}

.drawer-overlay{position:fixed;inset:0;background:rgba(20,16,23,.52);backdrop-filter:blur(3px);z-index:900;opacity:0;visibility:hidden;transition:.25s}
.drawer-overlay.is-open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;top:0;bottom:0;left:0;width:min(470px,100%);background:var(--surface);z-index:910;border-left:2px solid var(--ink);box-shadow:12px 0 0 rgba(20,17,22,.06);transform:translateX(-105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.cart-drawer.is-open{transform:none}
.drawer-head{height:92px;padding:20px 24px;border-bottom:2px solid var(--ink);display:flex;align-items:center;justify-content:space-between}
.drawer-head h2{font-size:1.35rem;margin:2px 0 0}.drawer-head h2 b{font-size:.7rem;vertical-align:middle}
.dialog-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:1.45rem;color:var(--muted);z-index:3}
.dialog-close:hover{color:var(--accent);border-color:var(--accent)}
.shipping-progress{padding:16px 24px;background:var(--accent-soft);border-bottom:1px solid rgba(var(--accent-rgb),.12)}
.shipping-progress>div{display:flex;justify-content:space-between;font-size:.71rem;margin-bottom:7px}
.shipping-progress strong{color:var(--accent)}
.shipping-progress progress{display:block;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;accent-color:var(--accent)}
.shipping-progress progress::-webkit-progress-bar{background:rgba(var(--accent-rgb),.14)}
.shipping-progress progress::-webkit-progress-value{background:var(--accent);border-radius:8px}
.cart-items{flex:1;overflow:auto;padding:12px 24px}
.cart-item{display:grid;grid-template-columns:76px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:76px;height:86px;object-fit:cover;border-radius:13px;background:var(--paper)}
.cart-item-copy{min-width:0}
.cart-item-copy h3{font-size:.82rem;margin:1px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-copy p{font-size:.68rem;color:var(--muted);margin:0}
.cart-item-copy .cart-unit-price{margin-top:5px}
.cart-item-copy .cart-line-discount{color:var(--accent)}
.cart-item-copy strong{display:block;color:var(--accent);font-size:.76rem;margin-top:7px}
.cart-item-actions{display:flex;flex-direction:column;align-items:end;justify-content:space-between}
.remove-item{border:0;background:transparent;color:#a09aa4;font-size:1.05rem}
.remove-item:hover{color:var(--danger)}
.quantity-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.quantity-control button{width:27px;height:27px;border:0;background:var(--paper);color:var(--ink)}
.quantity-control span{width:27px;text-align:center;font-size:.7rem}
.cart-summary{border-top:1px solid var(--line);padding:18px 24px 22px;background:#fbfbfc}
.cart-summary dl{margin:0 0 15px}
.cart-summary dl>div{display:flex;justify-content:space-between;font-size:.76rem;margin:7px 0;color:var(--muted)}
.cart-summary dd{margin:0;color:var(--ink);font-weight:700}
.cart-summary .discount-line dd{color:var(--success)}
.cart-summary .total-line{border-top:1px dashed var(--line);padding-top:11px;margin-top:11px;color:var(--ink);font-size:.88rem}
.cart-summary .total-line dd{font-size:1rem;color:var(--accent)}
.cart-summary>p{text-align:center;color:var(--muted);font-size:.65rem;margin:8px 0 0}
.empty-cart{text-align:center;padding:60px 20px;color:var(--muted)}
.empty-cart span{font-size:3rem;color:#cbc7ce}.empty-cart h3{color:var(--ink);margin:8px 0 0}.empty-cart p{font-size:.78rem;margin:5px 0}

.shop-dialog{width:min(930px,calc(100% - 32px));max-height:calc(100vh - 40px);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:0;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);overflow:auto}
.shop-dialog::backdrop{background:rgba(20,16,23,.62);backdrop-filter:blur(5px)}
.shop-dialog>.dialog-close{position:sticky;float:left;left:16px;top:16px;margin:16px 0 -56px 16px}
.product-dialog-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px}
.product-dialog-image{background:#eef0f1;padding:22px;display:grid;place-items:center}
.product-dialog-image img{width:100%;height:100%;max-height:550px;object-fit:contain;border-radius:18px}
.product-dialog-copy{padding:65px 46px 38px}
.product-dialog-copy h2{font-size:2rem;letter-spacing:-.03em;margin:7px 0 10px}
.product-dialog-copy>p{color:var(--muted);font-size:.84rem}
.dialog-price{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0}
.dialog-price del{font-size:.75rem;color:#aaa4ad}.dialog-price strong{color:var(--accent);font-size:1.3rem}.dialog-price span{font-size:.68rem;background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:4px 8px}
.product-options{display:grid;grid-template-columns:1fr 1fr 90px;gap:10px}
.product-options .button{grid-column:1/-1;margin-top:4px}
.field{display:flex;flex-direction:column;gap:6px}
.field>span{font-size:.73rem;font-weight:700;color:#4f4a53}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--ink);outline:0;padding:10px 12px;transition:.2s}
.field input,.field select{height:45px}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}
.field.has-error input,.field.has-error textarea{border-color:var(--danger)}
.field>small{min-height:17px;color:var(--danger);font-size:.65rem}
.product-benefits{display:grid;gap:7px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:.7rem;color:var(--muted)}
.product-benefits span::before{content:"✓";color:var(--success);margin-left:7px;font-weight:700}
.alert{padding:11px 13px;border-radius:12px;font-size:.74rem;margin:12px 0}
.alert-error{background:#fff0f3;color:#9d1836;border:1px solid #f5c5d0}
.alert-success{background:#e7f7f1;color:#12634f;border:1px solid #b9e5d7}
.alert-muted{background:var(--paper);color:var(--muted);border:1px solid var(--line)}
.profile-dialog{max-width:800px;padding:40px}
.dialog-heading h2{font-size:1.8rem;margin:5px 0}.dialog-heading p{color:var(--muted);font-size:.8rem;margin:0}
.privacy-note{display:flex;align-items:flex-start;gap:10px;margin-top:17px;padding:11px 13px;border:1px solid #f0cf89;border-radius:12px;background:#fff8e7;color:#765519;font-size:.7rem}.privacy-note strong{white-space:nowrap}.privacy-note span{color:#80652d}
.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-top:25px}
.field-wide{grid-column:1/-1}
.form-actions{display:flex;flex-direction:row;justify-content:flex-start;margin-top:5px}
.receipt-dialog{max-width:520px;padding:45px;text-align:center}
.receipt-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e3f5ee;color:var(--success);font-size:2rem;margin:0 auto 15px}
.receipt-dialog h2{font-size:1.6rem;margin:6px 0}.receipt-dialog>p{color:var(--muted);font-size:.78rem}
.receipt-box{text-align:right;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;margin:20px 0}
.receipt-box>div{display:flex;justify-content:space-between;font-size:.75rem;margin:6px 0}.receipt-box strong{color:var(--accent)}

.toast-region{position:fixed;right:22px;bottom:25px;z-index:3000;display:grid;gap:9px}
.toast{min-width:260px;max-width:390px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:.76rem;opacity:0;transform:translateY(12px);transition:.22s}
.toast.is-visible{opacity:1;transform:none}.toast-error{background:#8d1831}
.page-loader{position:fixed;inset:0;z-index:2500;background:var(--paper);display:grid;place-content:center;justify-items:center;gap:12px;transition:.35s}
.page-loader .brand-symbol{animation:loaderPulse 1s infinite alternate}.page-loader p{color:var(--muted);font-size:.8rem}
.shop-page:not(.is-loading) .page-loader{opacity:0;visibility:hidden}
@keyframes loaderPulse{to{transform:scale(1.08);box-shadow:0 15px 40px rgba(var(--accent-rgb),.35)}}
.mobile-nav{display:none}
.noscript-message{position:fixed;inset:auto 20px 20px;z-index:4000;background:#8d1831;color:#fff;padding:14px;text-align:center;border-radius:12px}

.auth-page{min-height:100vh;background:#f6f4f7}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}
.auth-visual{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff;padding:50px 6vw;display:flex;flex-direction:column}
.auth-visual::before{content:"";position:absolute;width:260px;height:260px;background:var(--accent);right:-90px;top:-100px;z-index:-1;transform:rotate(12deg)}
.shop-brand-light{color:#fff}.shop-brand-light small{color:#aaa4ad}
.auth-art{flex:1;position:relative;min-height:360px;margin:10px 0}
.auth-art img{position:absolute;width:210px;height:245px;object-fit:cover;border:6px solid rgba(255,255,255,.08);border-radius:35px;box-shadow:0 25px 50px rgba(0,0,0,.3)}
.auth-art img:nth-of-type(1){right:20%;top:12%;z-index:2;transform:rotate(2deg)}
.auth-art img:nth-of-type(2){right:52%;top:32%;transform:rotate(-8deg)}
.auth-art img:nth-of-type(3){right:3%;top:45%;transform:rotate(8deg)}
.auth-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.orbit-one{width:420px;height:420px;right:10%;top:0}.orbit-two{width:260px;height:260px;right:30%;top:90px}
.auth-copy{max-width:600px}.auth-copy .eyebrow{color:#f2a3bc}
.auth-copy h1{font-size:clamp(2.6rem,5vw,5rem);line-height:1.12;letter-spacing:-.06em;margin:13px 0}.auth-copy p{color:#aaa4ad;max-width:480px}
.auth-form-wrap{display:grid;place-items:center;padding:40px}
.auth-card{width:min(430px,100%)}
.auth-heading{margin-bottom:25px}.auth-heading h2{font-size:2rem;margin:4px 0}.auth-heading>p:last-child{color:var(--muted);font-size:.82rem}
.auth-mobile-mark{display:none}
.auth-card .field{margin-bottom:13px}
.auth-card .field input{height:52px;background:#fff}
.demo-credentials{margin-top:18px;display:flex;justify-content:center;align-items:center;gap:8px;color:var(--muted);font-size:.7rem}
.demo-credentials code{font-family:ui-monospace,monospace;background:#ebe8ee;color:var(--ink);border-radius:7px;padding:3px 8px}
.demo-credentials i{font-style:normal}.demo-warning{text-align:center;color:#8a651b;font-size:.64rem;margin:9px 0 0}.back-link{display:block;text-align:center;margin-top:19px;color:var(--muted);font-size:.72rem}.back-link:hover{color:var(--accent)}

.utility-page{min-height:100vh;background:var(--paper);display:grid;place-items:center;padding:25px}
.utility-shell{width:min(650px,100%)}
.danger-card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:45px}
.danger-card h1{font-size:2rem;line-height:1.4;margin:7px 0}.danger-card>p{color:var(--muted)}.danger-card>small{display:block;margin-top:20px;color:var(--muted)}
.danger-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff0f3;color:var(--danger);font-weight:700;font-size:1.6rem;margin-bottom:18px}
.confirm-check{display:flex;align-items:flex-start;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:13px;margin:20px 0;font-size:.78rem}.confirm-check input{margin-top:6px;accent-color:var(--danger)}

@media(max-width:1050px){
  .header-row{grid-template-columns:auto 1fr auto}.header-search kbd{display:none}
  .showcase-grid{padding:45px}.showcase-products{min-height:380px}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .auth-art img{width:180px;height:215px}
}
@media(max-width:820px){
  html{scroll-padding-top:145px}
  .shop-container{width:min(100% - 28px,var(--container))}
  .shop-header{height:136px}.header-row{height:72px;grid-template-columns:auto 1fr}.header-search{position:absolute;top:78px;right:14px;left:14px;box-shadow:var(--shadow-sm);display:flex}.header-actions{margin-right:auto}
  .header-cart>span:nth-child(2),.shop-header .shop-brand small{display:none}
  .showcase-grid{grid-template-columns:1fr;min-height:auto;padding:38px}.showcase-copy{text-align:center;margin:auto}.showcase-copy .eyebrow{justify-content:center}.showcase-copy h1{font-size:3.2rem}.showcase-products{min-height:360px}
  .catalog-heading{align-items:start;flex-direction:column;gap:8px}.catalog-heading p{max-width:100%}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .trust-grid{grid-template-columns:1fr;gap:25px}
  .footer-row{align-items:flex-start;flex-direction:column}.footer-actions{margin-right:0}
  .product-dialog-grid{grid-template-columns:1fr}.product-dialog-image{min-height:330px}.product-dialog-copy{padding:35px 28px}.product-dialog-image img{max-height:360px}
  .auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-wrap{padding:28px}.auth-mobile-mark{display:grid;place-items:center;width:52px;height:52px;background:var(--accent);color:#fff;border-radius:17px;margin-bottom:20px;font-size:1.3rem;font-weight:700}
}
@media(max-width:560px){
  body{font-size:15px;padding-bottom:68px}
  .shop-header{position:sticky;height:130px}.shop-header .profile-trigger,.header-cart{display:none}
  .header-row{height:68px}.brand-symbol{width:40px;height:40px;border-radius:13px}
  .shop-showcase{padding:12px 0 42px}.showcase-grid{border-radius:25px;padding:28px 20px}.showcase-copy h1{font-size:2.55rem}.showcase-copy p{font-size:.8rem}.showcase-notes{justify-content:center;margin-top:22px}
  .showcase-products{min-height:290px}.look-main{right:7%;width:53%;height:78%}.look-top{width:38%}.look-bottom{width:37%}.showcase-seal{width:65px;height:65px;left:34%}
  .catalog-section{padding-bottom:55px}.catalog-heading h2{font-size:2rem}.filter-row{flex-wrap:wrap;gap:8px 14px;padding:10px 0}.result-count{width:100%;order:-1}.sort-control{margin-right:auto}
  .product-grid{gap:9px}.product-card-body{padding:11px}.product-card h3{font-size:.78rem;margin-bottom:11px}.product-price strong{font-size:.7rem}.round-action{width:32px;height:32px;border-radius:10px}.product-meta{font-size:.62rem}.discount-badge{right:8px;top:8px}
  .trust-strip{padding:38px 0}.shop-footer{display:none}
  .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);bottom:0;right:0;left:0;height:66px;background:var(--paper);border-top:2px solid var(--ink);z-index:500;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-nav a,.mobile-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--muted);font-size:.62rem;position:relative}.mobile-nav span{font-size:1.12rem;color:var(--ink)}.mobile-nav b{position:absolute;top:7px;margin-right:27px}
  .cart-drawer{width:100%}.drawer-head{height:78px;padding:15px 18px}.shipping-progress,.cart-items,.cart-summary{padding-right:18px;padding-left:18px}
  .shop-dialog{width:100%;max-height:94vh;margin:auto 0 0;border-radius:25px 25px 0 0}.profile-dialog,.receipt-dialog{padding:30px 20px}.profile-form{grid-template-columns:1fr}.field-wide{grid-column:auto}.form-actions{flex-direction:column}.form-actions .button{width:100%}
  .product-options{grid-template-columns:1fr 1fr}.field-quantity{grid-column:1/-1}.product-dialog-image{min-height:280px}.product-dialog-copy h2{font-size:1.55rem}
  .toast-region{right:12px;left:12px;bottom:78px}.toast{min-width:0;max-width:none;width:100%}
  .auth-form-wrap{padding:24px 18px}.auth-heading h2{font-size:1.65rem}.utility-page{padding:12px}.danger-card{padding:28px 20px}.danger-card h1{font-size:1.55rem}.button-row{flex-direction:column}.button-row .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* v1.2 storefront refinement */
.search-clear{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:10px;padding:6px 10px;font-size:.72rem;cursor:pointer;transition:.2s}.search-clear:hover{background:var(--surface);color:var(--ink)}.drawer-head-actions{display:flex;align-items:center;gap:10px}.text-button{border:0;background:transparent;color:var(--accent);font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;padding:8px 10px;border-radius:10px}.text-button:hover{background:rgba(var(--accent-rgb),.08)}.text-button:disabled{opacity:.45;cursor:not-allowed}.cart-summary-actions{display:grid;gap:10px;margin-top:16px}.cart-summary-actions .button{margin:0}.cart-item{gap:14px}.cart-item-copy p{line-height:1.8}.empty-cart .button{display:inline-flex;margin-top:12px}@media(max-width:760px){.drawer-head-actions{gap:6px}.text-button{font-size:.72rem;padding:7px 8px}.search-clear{padding:6px 9px;font-size:.68rem}}

/* v1.3 shopping experience */
.header-search{position:relative;z-index:120}.search-submit{border:0;background:transparent;color:var(--muted);font-size:1.35rem;width:30px;height:30px;display:grid;place-items:center;padding:0;transform:rotate(-15deg)}.search-submit:hover{color:var(--accent)}.search-suggestions{position:absolute;top:calc(100% + 9px);right:0;left:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px rgba(20,17,22,.18);padding:8px;z-index:180;overflow:hidden}.search-suggestions[hidden]{display:none}.search-suggestion-head{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 9px;color:var(--muted);font-size:.7rem;border-bottom:1px solid var(--line)}.search-suggestion-head span{font-weight:700;color:var(--ink)}.search-suggestion{width:100%;border:0;background:transparent;display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;text-align:right;padding:9px;border-radius:13px;color:var(--ink)}.search-suggestion:hover,.search-suggestion:focus-visible{background:var(--accent-soft);outline:none}.search-suggestion img{width:58px;height:68px;object-fit:cover;border-radius:10px;background:var(--paper);border:1px solid var(--line)}.search-suggestion-copy{min-width:0}.search-suggestion-copy strong,.search-suggestion-copy small{display:block}.search-suggestion-copy strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.search-suggestion-copy small{font-size:.66rem;color:var(--muted)}.search-suggestion-arrow{color:var(--accent);font-size:1rem}.search-suggestion-empty{display:flex;flex-direction:column;gap:3px;padding:18px 12px;text-align:center}.search-suggestion-empty strong{font-size:.8rem}.search-suggestion-empty span{font-size:.68rem;color:var(--muted)}
.cart-glance{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;margin:0 0 24px;padding:14px 16px;background:linear-gradient(110deg,var(--accent-soft),#fff 70%);border:1px solid rgba(var(--accent-rgb),.22);border-radius:18px;box-shadow:var(--shadow-sm)}.cart-glance[hidden]{display:none}.cart-glance-mark{width:42px;height:42px;border-radius:13px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.1rem;font-weight:700}.cart-glance-copy{min-width:0}.cart-glance-copy strong,.cart-glance-copy span{display:block}.cart-glance-copy strong{font-size:.82rem}.cart-glance-copy span{font-size:.7rem;color:var(--muted);margin-top:2px}.cart-glance-total{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.cart-glance-total small{font-size:.64rem;color:var(--muted)}.cart-glance-total b{font-size:.78rem;color:var(--accent);margin-top:2px}.cart-glance .button{min-height:40px;padding:8px 14px;font-size:.75rem}
.product-card.is-in-cart{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.05)}.product-card.just-added{animation:cardAdded .85s ease}.in-cart-badge{position:absolute;left:10px;bottom:10px;background:var(--ink);color:#fff;border-radius:999px;padding:5px 9px;font-size:.63rem;font-weight:700;box-shadow:var(--shadow-sm)}@keyframes cardAdded{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.35)}45%{box-shadow:0 0 0 8px rgba(var(--accent-rgb),.12)}100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0)}}
.card-cart-control{display:grid;grid-template-columns:34px minmax(44px,auto) 34px;align-items:center;gap:5px;background:var(--ink);border:1px solid var(--ink);border-radius:11px;padding:3px;color:#fff;min-height:40px}.card-cart-button{width:32px;height:32px;border:0;border-radius:8px;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:1rem;font-weight:700;padding:0}.card-cart-button:hover{background:var(--accent);color:#fff}.card-cart-remove{color:var(--danger);font-size:.9rem}.card-cart-count{text-align:center;line-height:1.1;min-width:42px}.card-cart-count small,.card-cart-count b{display:block}.card-cart-count small{font-size:.52rem;font-weight:400;color:#c8c3cb;margin-bottom:2px}.card-cart-count b{font-size:.78rem}.dialog-cart-note{background:var(--accent-soft);border:1px solid rgba(var(--accent-rgb),.18);border-radius:12px;padding:9px 11px;color:var(--accent-ink);font-size:.72rem;margin:12px 0}.dialog-cart-note strong{font-size:.82rem}
@media(max-width:820px){.search-suggestions{top:calc(100% + 7px)}.cart-glance{grid-template-columns:auto 1fr auto}.cart-glance-total{display:none}.cart-glance .button{grid-column:auto}}
@media(max-width:560px){.header-search{z-index:160}.search-suggestions{border-radius:16px;padding:6px;max-height:min(62vh,410px);overflow:auto}.search-suggestion{grid-template-columns:50px 1fr auto;padding:7px}.search-suggestion img{width:50px;height:58px}.search-suggestion-copy strong{font-size:.74rem}.search-suggestion-copy small{font-size:.61rem}.cart-glance{grid-template-columns:auto 1fr;gap:10px;margin-bottom:16px;padding:12px}.cart-glance-mark{width:38px;height:38px}.cart-glance .button{grid-column:1/-1;width:100%;min-height:42px}.card-cart-control{grid-template-columns:30px 38px 30px;gap:3px;border-radius:9px;min-height:36px}.card-cart-button{width:28px;height:28px;border-radius:7px}.card-cart-count small{display:none}.card-cart-count b{font-size:.72rem}.product-price{align-items:end;gap:6px}.product-price>div{min-width:0}.in-cart-badge{left:7px;bottom:7px;font-size:.58rem;padding:4px 7px}}


/* v1.3.1 confirmation + horizontal cart controls */
.card-cart-control{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;direction:ltr;gap:5px;min-width:118px;max-width:132px;white-space:nowrap}.card-cart-button{flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,color .18s,transform .18s}.card-cart-button svg,.round-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.card-cart-button:hover{transform:translateY(-1px)}.card-cart-minus{color:#374151}.card-cart-plus{background:var(--accent);color:#fff}.card-cart-plus:hover{background:var(--accent-strong,#7b1f43);color:#fff}.card-cart-remove{background:#fff1f2;color:#c0263d}.card-cart-remove:hover{background:#fee2e2;color:#9f1239}.card-cart-count{flex:1 1 auto;min-width:38px;direction:rtl}.round-action{display:inline-flex;align-items:center;justify-content:center}.round-action:hover:not(:disabled){transform:translateY(-1px);background:var(--accent)}
.confirm-dialog{width:min(430px,calc(100% - 28px));padding:32px 30px 26px;text-align:center;border-radius:26px}.confirm-dialog::backdrop{background:rgba(16,13,18,.58);backdrop-filter:blur(5px)}.confirm-icon{width:68px;height:68px;margin:0 auto 14px;border-radius:22px;background:#fff1f2;color:#be2949;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffd9e1}.confirm-icon svg{width:32px;height:32px}.confirm-dialog .eyebrow{display:block;margin-bottom:5px}.confirm-dialog h2{font-size:1.35rem;margin:0 0 8px}.confirm-dialog p{font-size:.78rem;line-height:1.9;color:var(--muted);margin:0 auto 22px;max-width:34ch}.confirm-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}.button-danger{background:#b42347;color:#fff;border-color:#b42347}.button-danger:hover{background:#971b3b;border-color:#971b3b}.confirm-dialog[open]{animation:confirmIn .2s ease-out}@keyframes confirmIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:560px){.card-cart-control{min-width:104px;max-width:112px;gap:3px}.card-cart-button{flex-basis:28px}.card-cart-button svg{width:15px;height:15px}.confirm-dialog{margin:auto 14px 14px;width:calc(100% - 28px);padding:28px 20px 22px;border-radius:24px}.confirm-actions{grid-template-columns:1fr}.confirm-actions .button{width:100%}}
