/* =====================================================================
   کادوچی — استایل فروشگاه
   تیترها/بنرها: خودکار (Khodkar)  |  متن‌ها: صمیم (Samim)
   زبان طراحی مشترک با پنل مدیریت: کادرهای دوخطی طلایی، گوشه‌های نرم
   ===================================================================== */
@font-face{font-family:'Khodkar';src:url('/assets/fonts/Khodkar.woff') format('woff'),url('/assets/fonts/Khodkar.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Samim';src:url('/assets/fonts/Samim-FD.woff2') format('woff2'),url('/assets/fonts/Samim-FD.woff') format('woff'),url('/assets/fonts/Samim-FD.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Samim';src:url('/assets/fonts/Samim-Bold-FD.woff2') format('woff2'),url('/assets/fonts/Samim-Bold-FD.woff') format('woff'),url('/assets/fonts/Samim-Bold-FD.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
  --cream:#FBF6EA; --cream2:#F2E9D2; --paper:#FFFDF7;
  --gold:#C6952F; --gold-deep:#A87A21; --gold-btn:#946A18; --gold-soft:#E9D6A6;
  --ink:#3A2A18; --ink-soft:#6B5236;
  --plum:#7C3E52; --plum-deep:#602F40;
  --line:rgba(58,42,24,.12); --frame:rgba(198,149,47,.34);
  --ok:#3F5D3A;
  --f-display:'Khodkar','Samim',Tahoma,sans-serif;
  --f-body:'Samim',Tahoma,sans-serif;
  --r-sm:12px; --r-md:18px; --r-lg:26px;
  --shadow-sm:0 4px 14px rgba(58,42,24,.06);
  --shadow-md:0 14px 34px rgba(58,42,24,.10);
  --shadow-lg:0 26px 60px rgba(58,42,24,.16);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-padding-top:90px; background:var(--cream); -webkit-text-size-adjust:100%;}
body{font-family:var(--f-body); color:var(--ink); line-height:1.9; overflow-x:hidden; direction:rtl; font-size:15.5px;
  background:
    radial-gradient(900px 420px at 100% -80px, rgba(198,149,47,.10), transparent 70%),
    radial-gradient(700px 380px at 0% 30%, rgba(124,62,82,.05), transparent 70%),
    var(--cream);
  padding-bottom:env(safe-area-inset-bottom,0);}
img,svg{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button,input,select,textarea{font-family:inherit;}

/* تیترها با فونت خودکار — فقط یک وزن دارد، پس بولد کاذب نمی‌گیریم */
h1,h2,h3,h4,.brand,.foot-brand{font-family:var(--f-display); font-weight:400; font-synthesis:none; letter-spacing:0;}
h1{line-height:1.5} h2{line-height:1.55} h3{line-height:1.6}

.wrap,.container{max-width:1180px; margin:0 auto; padding:0 24px;}
@media(max-width:640px){.wrap,.container{padding:0 16px;}}
::selection{background:var(--gold-soft); color:var(--ink);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}

/* ---------- کادر تزئینی مشترک (خط ظریف داخلی) ---------- */
.hero-art,.test-card,.trust-bar>div,.payment-result,.cart-summary,.checkout-summary,.account-head,.empty-state,.auth-main,.pz,.slide{position:relative;}
.test-card::before,.trust-bar>div::before,.payment-result::before,.cart-summary::before,.checkout-summary::before,.empty-state::before,.auth-main::before{
  content:""; position:absolute; inset:7px; border:1px solid var(--frame); border-radius:calc(var(--r-md) - 6px); pointer-events:none;}
.pz::before,.slide::before,.account-head::before,.auth-side::before{
  content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.22); border-radius:calc(var(--r-lg) - 10px); pointer-events:none;}

/* ---------- هدر ---------- */
header.site-header{position:sticky; top:0; z-index:50; background:rgba(251,246,234,.9); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0);}
header.site-header::after{content:""; position:absolute; inset:auto 0 -1px 0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.55;}
.nav{display:flex; align-items:center; justify-content:space-between; height:78px; flex-wrap:wrap; gap:10px;}
.brand{display:flex; align-items:center; gap:10px; font-size:2rem; line-height:1; color:var(--ink);}
.brand .mark{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#F6E7B8,#E2C57A); box-shadow:0 0 0 1px var(--frame), 0 0 0 5px rgba(198,149,47,.12); font-size:22px !important;}
.navlinks{display:flex; gap:6px; font-weight:400; color:var(--ink-soft); flex-wrap:wrap;}
.navlinks a{padding:6px 14px; border-radius:999px; transition:background .2s ease,color .2s ease;}
.navlinks a:hover{background:rgba(198,149,47,.14); color:var(--gold-deep);}
.navicons{display:flex; align-items:center; gap:10px;}
.icon-btn{width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); background:var(--paper); color:var(--ink); position:relative; transition:border-color .2s ease,color .2s ease,transform .2s ease;}
.icon-btn:hover{border-color:var(--gold); color:var(--gold-deep); transform:translateY(-1px);}
.cart-count{position:absolute; top:-4px; left:-4px; background:var(--plum); color:#fff; font-size:.68rem; font-weight:700; min-width:19px; height:19px; padding:0 4px; border-radius:999px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px var(--cream);}
@media(max-width:720px){
  .nav{height:auto; padding:10px 0;}
  .brand{font-size:1.7rem}
  .navlinks{order:4 !important; width:100%; flex-wrap:nowrap; overflow-x:auto; gap:6px; padding-bottom:2px; scrollbar-width:none;}
  .navlinks a{white-space:nowrap;}
}

/* ---------- دکمه‌ها ---------- */
.btn,.btn-primary,.add-to-cart-form button,.checkout-address form button[type=submit]{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 26px; border-radius:14px; font-weight:700; font-size:.95rem; border:none; cursor:pointer; line-height:1.6; transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.btn:hover,.btn-primary:hover,.add-to-cart-form button:hover,.checkout-address form button[type=submit]:hover{transform:translateY(-2px);}
.btn-solid,.btn-primary,.add-to-cart-form button,.checkout-address form button[type=submit]{background:linear-gradient(180deg,#AD7F25,var(--gold-btn)); color:#fff; box-shadow:0 8px 18px rgba(148,106,24,.28), inset 0 1px 0 rgba(255,255,255,.25);}
.btn-solid:hover,.btn-primary:hover,.add-to-cart-form button:hover,.checkout-address form button[type=submit]:hover{box-shadow:0 12px 24px rgba(148,106,24,.36), inset 0 1px 0 rgba(255,255,255,.25);}
.btn-ghost{border:1.5px solid var(--ink); color:var(--ink); background:transparent;}
.btn-ghost:hover{background:var(--ink); color:var(--cream);}
.btn-danger{background:var(--plum-deep); color:#fff; padding:8px 14px; border-radius:10px; font-size:.85rem;}
.btn-disabled{background:#ddd; color:#888; padding:12px 26px; border-radius:14px; font-weight:700;}
.btn-remove{background:none; border:none; color:var(--plum); font-weight:700; cursor:pointer; font-size:.86rem; padding:6px 10px; border-radius:10px; transition:background .2s ease;}
.btn-remove:hover{background:rgba(124,62,82,.1);}
.btn-outline{background:transparent !important; color:var(--ink) !important; border:1.5px solid var(--line) !important; box-shadow:none !important;}
.btn-outline:hover{border-color:var(--gold) !important;}

/* ---------- قهرمان (Hero) ---------- */
.hero{padding:54px 0 70px; position:relative;}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; position:relative;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr; gap:30px;}}
.eyebrow-chip{display:inline-flex; align-items:center; gap:8px; background:var(--paper); border:1px solid var(--frame); color:var(--gold-deep); font-size:.85rem; font-weight:700; padding:6px 16px; border-radius:999px; margin-bottom:18px; box-shadow:var(--shadow-sm);}
.eyebrow-chip .dot{width:7px; height:7px; border-radius:50%; background:var(--plum); box-shadow:0 0 0 4px rgba(124,62,82,.14);}
.hero h1{font-size:clamp(2.3rem,5vw,3.5rem); line-height:1.35; color:var(--ink); margin-bottom:16px;}
.hero h1 .script{color:var(--plum); position:relative; white-space:nowrap; isolation:isolate;}
.hero h1 .script::after{content:""; position:absolute; inset:auto 0 .08em 0; height:.34em; border-radius:999px; background:var(--gold-soft); opacity:.65; z-index:-1;}
.hero p{font-size:1.04rem; color:var(--ink-soft); max-width:46ch; margin-bottom:26px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px;}
.hero-trust{display:flex; gap:12px; flex-wrap:wrap; color:var(--ink-soft); font-size:.84rem;}
.hero-trust span{background:var(--paper); border:1px solid var(--line); padding:5px 14px; border-radius:999px;}
.hero-art{display:flex; align-items:center; justify-content:center; min-height:380px; border-radius:220px 220px var(--r-lg) var(--r-lg); background:radial-gradient(circle at 50% 30%, #FFF6DC, #F0DDAB 70%); border:1px solid var(--frame); box-shadow:var(--shadow-lg); max-width:400px; width:100%; margin-inline:auto;}
.hero-art::before{content:""; position:absolute; inset:12px; border:1.5px dashed rgba(168,122,33,.45); border-radius:208px 208px 16px 16px; pointer-events:none;}
.hero-art span{filter:drop-shadow(0 18px 20px rgba(96,47,64,.25)); animation:float 5s ease-in-out infinite;}
@keyframes float{50%{transform:translateY(-10px)}}

/* ---------- بخش‌ها ---------- */
.section{padding:52px 0;}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:30px; gap:20px; flex-wrap:wrap;}
.section-head h2,h1.page-title{font-size:2.1rem; color:var(--ink); position:relative; padding-bottom:14px;}
.section-head h2::after{content:""; position:absolute; bottom:0; right:0; width:70px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--gold),var(--gold-soft));}
.section-head h2::before{content:""; position:absolute; bottom:-3px; right:80px; width:9px; height:9px; transform:rotate(45deg); background:var(--gold); border-radius:2px;}
.section-head p{color:var(--ink-soft); font-size:.92rem; max-width:40ch;}

/* ---------- اسلایدر پیشنهادها ---------- */
.slider{position:relative; overflow:hidden; border-radius:var(--r-lg); box-shadow:var(--shadow-lg);}
.slider-track{display:flex; direction:ltr; transition:transform .6s cubic-bezier(.65,0,.35,1);}
.slide{min-width:100%; direction:rtl; text-align:right; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:20px; padding:52px 52px 56px; color:#fdf6ec; overflow:hidden;}
.slide::after{content:""; position:absolute; width:320px; height:320px; border-radius:50%; left:-80px; top:-120px; background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%); pointer-events:none;}
@media(max-width:760px){.slide{grid-template-columns:1fr; padding:38px 26px 48px; text-align:center;}}
.slide h3{font-size:2.15rem; line-height:1.5; margin-bottom:8px;}
.slide p{opacity:.92; max-width:42ch; margin-bottom:20px;}
.slide .btn-solid{background:#fdf6ec; color:var(--ink); box-shadow:0 8px 18px rgba(0,0,0,.2);}
.slide-art{justify-self:center; font-size:88px; filter:drop-shadow(0 14px 18px rgba(0,0,0,.25)); position:relative; z-index:1;}
.slide-nav{position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:1.3rem; border:none; cursor:pointer; z-index:3; box-shadow:0 6px 16px rgba(0,0,0,.18); transition:transform .2s ease;}
.slide-nav:hover{transform:translateY(-50%) scale(1.08);}
.slide-nav.prev{right:18px;} .slide-nav.next{left:18px;}
.slide-dots{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3;}
.dot{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.5); border:none; cursor:pointer; padding:0; transition:width .25s ease,background .25s ease;}
.dot.active{background:#fff; width:24px; border-radius:5px;}

/* ---------- مناسبت‌ها ---------- */
.occ-row{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
@media(max-width:820px){.occ-row{grid-template-columns:repeat(3,1fr);}}
.occ-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:22px 8px 18px; text-align:center; transition:border-color .2s ease,transform .25s ease,box-shadow .25s ease;}
.occ-card:hover{border-color:var(--gold); transform:translateY(-5px); box-shadow:var(--shadow-md);}
.occ-card .occ-ic{width:56px; height:56px; margin:0 auto 10px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#FFF6DC,#EBD59B); border:1px solid var(--frame); display:flex; align-items:center; justify-content:center; font-size:26px;}
.occ-card span{font-weight:700; font-size:.9rem; display:block;}
.occ-card span.occ-ic{display:flex; font-weight:400; font-size:26px;}

/* ---------- کارت محصول ---------- */
.products-grid,.prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media(max-width:1000px){.products-grid,.prod-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.products-grid,.prod-grid{grid-template-columns:repeat(2,1fr); gap:14px;}}
.product-card,.card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease; text-align:right; padding:8px;}
.product-card:hover,.card:hover{box-shadow:var(--shadow-md); transform:translateY(-5px); border-color:var(--frame);}
.product-image,.card-art{aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; position:relative; background:linear-gradient(145deg,#F7EDD3,#EFE0BB); overflow:hidden; border-radius:calc(var(--r-md) - 6px);}
.product-image img,.card-art img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.card:hover .card-art img{transform:scale(1.05);}
.card-art .placeholder-icon{font-size:52px; opacity:.9;}
.tag{position:absolute; top:10px; right:10px; background:var(--plum); color:#fff; font-size:.72rem; font-weight:700; padding:3px 12px; border-radius:999px; box-shadow:0 4px 10px rgba(96,47,64,.3);}
.card-body,.product-card>a{padding:12px 10px 6px; display:block;}
.card-body .cat{font-size:.76rem; color:var(--gold-deep); font-weight:700; margin-bottom:2px;}
.product-name,.card-body h3{font-family:var(--f-body); font-size:.98rem; font-weight:700; line-height:1.7; margin:2px 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.card-foot,.product-price{display:flex; align-items:center; justify-content:space-between; padding:6px 10px 10px; border-top:1px dashed var(--line); margin-top:6px;}
.product-price{padding:0; border:none; margin:0;}
.price{font-weight:700; font-size:1rem; color:var(--ink);}
.price small,.old-price{font-weight:400; font-size:.76rem; color:var(--ink-soft);}
.old-price{text-decoration:line-through; margin-left:6px; display:block;}
.add-btn,.product-card form button{width:38px; height:38px; border-radius:12px; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; border:none; cursor:pointer; transition:background .2s ease,transform .2s ease;}
.add-btn:hover{background:var(--gold-btn); transform:rotate(90deg);}
.product-card form{padding:0 10px 10px;}
.product-card form button{width:100%; border-radius:12px; padding:9px; font-weight:700;}

/* ---------- بنر شخصی‌سازی ---------- */
.pz{background:linear-gradient(135deg,var(--plum-deep),var(--plum)); border-radius:var(--r-lg); color:#fdf6ec; padding:54px 48px; display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:center; overflow:hidden; box-shadow:var(--shadow-lg);}
.pz::after{content:""; position:absolute; width:340px; height:340px; border-radius:50%; left:-90px; bottom:-140px; background:radial-gradient(circle,rgba(233,214,166,.35),transparent 70%); pointer-events:none;}
@media(max-width:820px){.pz{grid-template-columns:1fr; padding:38px 24px; text-align:center;}}
.pz h2{font-size:2.3rem; margin-bottom:10px;}
.pz p{opacity:.92; max-width:44ch; margin-bottom:20px;}
.pz .btn-solid{background:#fdf6ec; color:var(--plum-deep); box-shadow:0 8px 18px rgba(0,0,0,.2);}
.pz-art{justify-self:center; font-size:96px; position:relative; z-index:1; filter:drop-shadow(0 14px 18px rgba(0,0,0,.28));}

/* ---------- اعتماد و نظرات ---------- */
.trust-bar{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; text-align:center;}
@media(max-width:700px){.trust-bar{grid-template-columns:1fr;}}
.trust-bar>div{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:26px 18px;}
.trust-bar .ic{width:58px; height:58px; margin:0 auto 10px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#FFF6DC,#EBD59B); border:1px solid var(--frame); display:flex; align-items:center; justify-content:center; font-size:26px;}
.trust-bar strong{display:block; font-size:1rem; margin-bottom:2px;}
.trust-bar span{color:var(--ink-soft); font-size:.84rem;}
.test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:860px){.test-grid{grid-template-columns:1fr;}}
.test-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:28px 26px 24px; box-shadow:var(--shadow-sm);}
.test-card::after{content:"”"; position:absolute; top:6px; left:22px; font-family:var(--f-display); font-size:4.6rem; line-height:1; color:var(--gold); opacity:.28;}
.test-card .stars{color:var(--gold); margin-bottom:10px; font-size:.95rem; letter-spacing:3px;}
.test-card p{color:var(--ink-soft); font-size:.93rem; margin-bottom:14px;}
.test-card .who{font-weight:700; font-size:.86rem; color:var(--plum-deep);}

/* ---------- فوتر ---------- */
footer.site-footer{background:#2F2213; color:#e9dcc4; padding:52px 0 22px; margin-top:30px; position:relative;}
footer.site-footer::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:30px; margin-bottom:34px;}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-grid h4{font-size:1.45rem; margin-bottom:10px; color:var(--gold-soft);}
.foot-grid a{display:block; color:#cbb98f; font-size:.87rem; margin-bottom:6px; transition:color .2s ease,transform .2s ease;}
.foot-grid a:hover{color:#fff; transform:translateX(-3px);}
.foot-brand{display:flex; align-items:center; gap:8px; font-size:2rem; color:#fff; margin-bottom:8px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:18px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; color:#a99872; max-width:1180px; margin:0 auto; padding-left:24px; padding-right:24px;}

/* ---------- عنوان صفحه‌ها ---------- */
h1.page-title{margin-bottom:24px;}
h1.page-title::after{content:""; position:absolute; bottom:0; right:0; width:70px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--gold),var(--gold-soft));}
.section-head h1.page-title{margin-bottom:0;}
.pagination{text-align:center; margin:26px 0; display:flex; justify-content:center; gap:8px; flex-wrap:wrap;}
.pagination a{display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; background:var(--paper); border:1px solid var(--line); border-radius:12px; color:var(--ink-soft); font-weight:700; transition:border-color .2s ease;}
.pagination a:hover{border-color:var(--gold);}
.pagination a.active{background:var(--gold-btn); color:#fff; border-color:var(--gold-btn);}

/* ---------- فرم‌ها ---------- */
input[type=text],input[type=password],input[type=tel],input[type=number],input[type=email],textarea,select{width:100%; padding:12px 14px; background:var(--paper); color:var(--ink); border:1.5px solid var(--line); border-radius:var(--r-sm); font-size:.95rem; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
input:hover,textarea:hover,select:hover{border-color:rgba(198,149,47,.5);}
input:focus,textarea:focus,select:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(198,149,47,.16); background:#fff;}
textarea{min-height:96px; resize:vertical;}
input[type=radio],input[type=checkbox]{accent-color:var(--gold-deep); width:auto;}
::placeholder{color:#a89a82; opacity:1;}

/* ---------- صفحه محصول ---------- */
.product-detail{display:flex; gap:48px; flex-wrap:wrap; margin:20px 0; align-items:flex-start;}
.product-gallery{flex:1; min-width:280px; position:sticky; top:100px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg); padding:14px; box-shadow:var(--shadow-md);}
.product-gallery img#mainImage,.img-ph{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:calc(var(--r-lg) - 10px); background:#F3EAD3;}
.thumbnails{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap;}
.thumbnails img{width:68px; height:68px; object-fit:cover; border-radius:12px; cursor:pointer; border:2px solid transparent; transition:border-color .2s ease;}
.thumbnails img:hover{border-color:var(--gold);}
.product-info{flex:1; min-width:280px; padding-top:6px;}
.product-info h1{font-size:2.6rem; line-height:1.45; margin-bottom:6px;}
.short-desc{color:var(--ink-soft); margin-bottom:14px;}
.product-info .product-price{margin:14px 0 4px; display:flex; align-items:baseline; gap:12px; justify-content:flex-start; padding:0; flex-direction:row-reverse; width:max-content; max-width:100%;}
.product-info .price{font-size:1.7rem; color:var(--plum-deep);}
.product-info .old-price{display:inline; margin:0; font-size:.95rem;}
.add-to-cart-form{display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:18px 20px; margin:16px 0; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md);}
.add-to-cart-form label{display:flex; align-items:center; gap:8px; font-weight:700; color:var(--ink-soft);}
.add-to-cart-form input[type=number]{width:80px; margin:0; text-align:center;}
.product-description{margin-top:22px; border-top:1px dashed var(--line); padding-top:18px;}
.product-description h2{font-size:1.7rem; margin-bottom:6px;}
.product-description p{color:var(--ink-soft);}
.out-of-stock{color:var(--plum-deep); font-weight:700; background:rgba(124,62,82,.1); padding:10px 18px; border-radius:var(--r-sm); display:inline-block; margin:14px 0;}
@media(max-width:720px){.product-gallery{position:static;} .product-detail{gap:24px;} .product-info h1{font-size:2.1rem;}}

/* ---------- جدول‌ها ---------- */
table{width:100%; border-collapse:separate; border-spacing:0; margin:20px 0; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm);}
table th,table td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:right; font-size:.92rem;}
table tbody tr:last-child td{border-bottom:none;}
table th{background:var(--cream2); font-weight:700; color:var(--ink-soft); font-size:.84rem;}
table tbody tr{transition:background .2s ease;}
table tbody tr:hover td{background:rgba(233,214,166,.16);}
.cart-table td{vertical-align:middle;}
.cart-thumb{width:56px; height:56px; object-fit:cover; border-radius:12px; border:1px solid var(--line); vertical-align:middle; margin-left:10px; display:inline-block;}
.qty-form input[type=number]{width:76px; padding:8px; text-align:center; border-radius:10px;}
@media(max-width:640px){.cart-table thead{display:none;} .cart-table,.cart-table tbody,.cart-table tr,.cart-table td{display:block;} .cart-table tr{padding:12px; border-bottom:1px solid var(--line);} .cart-table td{border:none; padding:5px 0;}}

/* ---------- سبد و تسویه حساب ---------- */
.cart-summary,.checkout-summary{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:26px 24px; box-shadow:var(--shadow-md); margin-top:16px;}
.cart-summary{max-width:420px; margin-inline-start:auto;}
.cart-summary p,.checkout-summary p{display:flex; justify-content:space-between; gap:10px; padding:6px 0; color:var(--ink-soft); font-size:.93rem; position:relative;}
.cart-summary p.grand-total,.checkout-summary p.grand-total{color:var(--plum-deep); border-top:1px dashed var(--frame); margin-top:8px; padding-top:14px; font-size:1.1rem;}
.grand-total{font-weight:700; font-size:1.1rem; color:var(--plum-deep);}
.cart-summary .btn-primary{width:100%; margin-top:14px; position:relative;}
.checkout-layout{display:flex; gap:26px; flex-wrap:wrap;}
.checkout-address{flex:2; min-width:300px;}
.checkout-summary{flex:1; min-width:260px; height:fit-content; position:sticky; top:100px;}
.checkout-address h2,.checkout-summary h2{font-size:1.7rem; margin-bottom:10px; position:relative;}
.checkout-address h3{font-size:1.45rem; margin:26px 0 4px;}
.address-option{display:flex; gap:10px; align-items:flex-start; background:var(--paper); border:1.5px solid var(--line); padding:14px 16px; border-radius:var(--r-sm); margin-bottom:10px; cursor:pointer; line-height:1.9; font-size:.92rem; transition:border-color .2s ease,background .2s ease;}
.address-option:hover{border-color:var(--gold-soft);}
.address-option:has(input:checked){border-color:var(--gold); background:#FFF8E6;}
.address-option input{margin-top:8px; flex:none;}
.checkout-address form{background:var(--paper); border:1px solid var(--line); padding:22px; border-radius:var(--r-md); margin-top:14px; box-shadow:var(--shadow-sm);}
.checkout-address label{display:block; margin-bottom:12px; font-size:.9rem; font-weight:700; color:var(--ink-soft);}
.checkout-address label.address-option{font-weight:400; color:var(--ink);}
.checkout-address input:not([type=radio]),.checkout-address textarea{margin-top:5px;}
.checkout-address form button[type=submit]{margin-top:6px;}

/* ---------- نتیجه پرداخت ---------- */
.payment-result{text-align:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg); max-width:580px; margin:10px auto 30px; padding:44px 28px; box-shadow:var(--shadow-lg);}
.payment-result h1{font-size:2.2rem; margin-bottom:8px; position:relative;}
.payment-result p{color:var(--ink-soft); margin-bottom:14px; position:relative;}
.payment-result.success h1{color:var(--ok);}
.payment-result.failed h1{color:var(--plum-deep);}
.payment-result.pending h1{color:var(--gold-deep);}
.wrap>h2{font-size:1.9rem; margin:26px 0 4px;}

/* ---------- ورود و ثبت‌نام ---------- */
.auth-box{max-width:420px; margin:40px auto; background:var(--paper); padding:28px; border-radius:var(--r-md); border:1px solid var(--line); box-shadow:var(--shadow-md);}
.auth-box h2{font-size:1.7rem; margin-bottom:12px; margin-top:20px;}
.auth-box h2:first-child{margin-top:0;}
.auth-box label{display:block; margin-bottom:10px; font-size:.9rem; color:var(--ink-soft);}
.auth-box button{width:100%; margin-top:8px;}
.auth-page{padding:44px 0 72px;}
.auth-card{display:grid; grid-template-columns:.85fr 1.15fr; max-width:960px; margin:0 auto; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg);}
.auth-side{background:linear-gradient(150deg,var(--plum) 0%,var(--plum-deep) 100%); color:#fdf6ec; padding:44px 36px; display:flex; flex-direction:column; justify-content:space-between; gap:28px; position:relative; overflow:hidden;}
.auth-side::after{content:""; position:absolute; width:280px; height:280px; border-radius:50%; left:-90px; bottom:-90px; background:radial-gradient(circle,rgba(233,214,166,.38),transparent 70%);}
.auth-side>*{position:relative; z-index:1;}
.auth-side h2{font-size:2.2rem; line-height:1.5; margin-bottom:8px;}
.auth-side p{opacity:.9; font-size:.93rem;}
.auth-perks{list-style:none; display:grid; gap:12px;}
.auth-perks li{display:flex; align-items:center; gap:10px; font-size:.9rem;}
.auth-perks li span{width:34px; height:34px; border-radius:11px; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; flex:none;}
.auth-main{padding:42px 40px; background:var(--paper);}
.auth-main::before{inset:12px;}
.auth-main>*{position:relative;}
.auth-tabs{display:grid; grid-template-columns:1fr 1fr; gap:4px; background:var(--cream2); padding:4px; border-radius:15px; margin-bottom:26px;}
.auth-tabs button{border:none; background:transparent; padding:10px; border-radius:12px; font-weight:700; font-size:.93rem; color:var(--ink-soft); cursor:pointer; transition:background .2s ease,color .2s ease;}
.auth-tabs button[aria-selected=true]{background:var(--paper); color:var(--ink); box-shadow:0 2px 8px rgba(58,42,24,.14);}
.auth-panel[hidden]{display:none;}
.auth-panel h1{font-size:2.2rem; margin-bottom:0;}
.auth-panel .lead{color:var(--ink-soft); font-size:.9rem; margin-bottom:20px;}
.field{display:block; margin-bottom:16px; font-size:.88rem; font-weight:700; color:var(--ink-soft);}
.field input{margin-top:6px;}
.field input[dir=ltr]{text-align:right;}
.field small{display:block; font-weight:400; margin-top:5px; font-size:.78rem;}
.auth-panel .btn-primary{width:100%; margin-top:6px; padding:14px;}
.auth-note{margin-top:18px; text-align:center; font-size:.84rem; color:var(--ink-soft);}
@media(max-width:800px){.auth-card{grid-template-columns:1fr;} .auth-side{padding:28px 24px;} .auth-perks{display:none;} .auth-main{padding:30px 22px;}}

/* ---------- حساب کاربری ---------- */
.account-head{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:linear-gradient(135deg,var(--plum-deep),var(--plum)); color:#fdf6ec; border-radius:var(--r-lg); padding:32px 34px; margin-bottom:26px; box-shadow:var(--shadow-lg); overflow:hidden;}
.account-head>*{position:relative; z-index:1;}
.account-head h1{font-size:2.3rem;}
.account-head p{opacity:.88; font-size:.92rem; direction:ltr; text-align:right;}
.account-head .btn{background:rgba(255,255,255,.14); color:#fff; padding:10px 22px; border:1px solid rgba(255,255,255,.28);}
.account-head .btn:hover{background:rgba(255,255,255,.24);}
.badge{display:inline-flex; align-items:center; gap:6px; padding:3px 12px; border-radius:999px; font-size:.78rem; font-weight:700;}
.badge::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor;}
.b-warn{background:#F6EAC6; color:#8A6217;} .b-ok{background:#E4EDDF; color:#3F5D3A;} .b-info{background:#EFE4CC; color:#5B4630;} .b-blue{background:#E0EAF1; color:#3D5A73;} .b-bad{background:#F3DDE4; color:#7C3E52;}

/* ---------- پیام‌ها و حالت خالی ---------- */
.error-msg{color:var(--plum-deep); background:#F8E4EA; border:1px solid rgba(124,62,82,.3); padding:11px 16px; border-radius:var(--r-sm); margin-bottom:16px; font-size:.9rem; position:relative;}
.empty-state{text-align:center; padding:52px 20px; color:var(--ink-soft); background:var(--paper); border:1px dashed var(--gold-soft); border-radius:var(--r-md); margin:20px 0;}
.empty-state::before{display:none;}
.empty-state a{color:var(--gold-deep); font-weight:700;}
.prod-grid>.empty-state{grid-column:1/-1;}

@media (prefers-reduced-motion: reduce){ *{transition:none !important; animation:none !important;} }

/* ---------- مرتب‌سازی صفحه ورود/ثبت‌نام ---------- */
.auth-page{padding:40px 0 64px}
.auth-card{max-width:900px;grid-template-columns:.8fr 1.2fr}
.auth-side{justify-content:flex-start;align-items:center;text-align:center;gap:22px;padding:40px 30px}
.auth-emblem{width:92px;height:92px;border-radius:50%;background:linear-gradient(145deg,#F8EBC0,#D9B45F);display:flex;align-items:center;justify-content:center;font-size:44px;box-shadow:0 0 0 1px rgba(233,214,166,.6),0 0 0 8px rgba(255,255,255,.08),0 18px 30px rgba(0,0,0,.28)}
.auth-side h2{font-size:2rem;margin-bottom:6px}
.auth-perks{width:100%;margin-top:auto;text-align:right;background:rgba(255,255,255,.08);border-radius:16px;padding:14px}
.auth-main{padding:38px 36px;display:flex;flex-direction:column;justify-content:center}
.auth-panel{display:block}
.auth-panel h1{font-size:2.3rem;margin-bottom:2px}
.auth-panel .lead{margin-bottom:22px}
.auth-link{color:var(--gold-deep);font-weight:700}
.auth-link:hover{text-decoration:underline}
.error-msg{text-align:right}
.field input[dir=ltr]::placeholder{text-align:right}

/* ---------- هدر ثابت + لوگو سمت چپ ---------- */
html{touch-action:manipulation; scroll-padding-top:calc(var(--hh,78px) + 12px);}
html,body{max-width:100%; overflow-x:hidden;}
header.site-header{position:fixed; top:0; left:0; right:0; width:100%; z-index:100;}
body{padding-top:var(--hh,78px);}
.nav{justify-content:flex-start; height:80px;}
.navlinks{margin-inline-end:6px;}
.brand{margin-inline-start:auto; flex:none;}
.brand img{width:64px; height:64px; border-radius:50%; display:block; filter:drop-shadow(0 4px 10px rgba(148,106,24,.25));}
.foot-brand{display:block; margin-bottom:12px;}
.foot-brand img{width:96px; height:96px; border-radius:50%; box-shadow:0 0 0 1px rgba(233,214,166,.4), 0 10px 24px rgba(0,0,0,.35);}
@media(max-width:720px){
  .wrap.nav{height:auto; padding:8px 16px; gap:6px 10px;}
  .navlinks{margin-inline-end:0;}
  .brand img{width:52px; height:52px;}
  input[type=text],input[type=password],input[type=tel],input[type=number],input[type=email],textarea,select{font-size:16px;}
}

/* ---------- ورود/ثبت‌نام: تک‌ستونی و فیلدهای تمام‌عرض ---------- */
.auth-card{max-width:480px; grid-template-columns:1fr;}
.auth-side{padding:30px 26px 24px; gap:12px;}
.auth-emblem{width:108px; height:108px; border-radius:50%; background:none; box-shadow:0 0 0 6px rgba(255,255,255,.1), 0 16px 28px rgba(0,0,0,.3); display:block;}
.auth-side h2{font-size:1.8rem;}
.auth-perks{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; background:none; padding:0; margin-top:4px;}
.auth-perks li{font-size:.76rem; background:rgba(255,255,255,.12); padding:3px 12px 3px 8px; border-radius:999px; gap:6px;}
.auth-perks li span{width:22px; height:22px; border-radius:50%; font-size:.75rem; background:none;}
.auth-main{padding:32px 30px;}
@media(max-width:480px){.auth-main{padding:26px 20px;}}


/* ---------- هدر: لوگو راست، دکمه‌ها چپ ---------- */
.brand{order:-1; margin-inline-start:0;}
.navlinks{margin-inline-end:0; margin-inline-start:14px;}
.navicons{margin-inline-start:auto;}
@media(max-width:720px){.navlinks{margin-inline-start:0;}}

/* =====================================================================
   صفحه اصلی — طراحی جدید
   ===================================================================== */
.hp-section{padding:34px 0;}
.hp-head{margin-bottom:22px;}
.hp-head h2{font-size:2rem; line-height:1.5; color:var(--ink);}
.hp-head p{color:var(--ink-soft); font-size:.93rem;}

/* قهرمان */
.hp-hero{padding:22px 0 10px;}
.hp-hero-card{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:480px; background:var(--paper); border:1px solid var(--line); border-radius:28px; overflow:hidden; box-shadow:var(--shadow-md);}
.hp-hero-copy{padding:56px 52px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; position:relative;}
.hp-hero-copy::before{content:""; position:absolute; inset:0; background:radial-gradient(520px 320px at 100% 0%, rgba(198,149,47,.13), transparent 70%); pointer-events:none;}
.hp-hero-copy>*{position:relative;}
.hp-hero-copy h1{font-size:clamp(2.6rem,5.2vw,4rem); line-height:1.3; color:var(--ink); margin-bottom:16px;}
.hp-hero-copy p{color:var(--ink-soft); font-size:1.02rem; max-width:44ch; margin-bottom:28px;}
.hp-cta{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.hp-textlink{font-weight:700; color:var(--plum); border-bottom:2px solid var(--gold-soft); padding-bottom:2px; transition:border-color .2s ease;}
.hp-textlink:hover{border-color:var(--plum);}
.hp-hero-card.is-solo{grid-template-columns:1fr; min-height:0; text-align:center;}
.hp-hero-card.is-solo .hp-hero-copy{align-items:center; padding:72px 28px;}
.hp-hero-card.is-solo .hp-cta{justify-content:center;}
.hero-slider{position:relative; height:100%; min-height:100%; overflow:hidden; background:var(--cream2);}
.hs-track{display:flex; height:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;}
.hs-track::-webkit-scrollbar{display:none;}
.hs-slide{flex:0 0 100%; height:100%; scroll-snap-align:start; display:block;}
.hs-slide img{width:100%; height:100%; object-fit:cover; display:block; max-width:none;}
.hs-nav{position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; border:none; background:rgba(255,253,247,.92); color:var(--ink); font-size:1.4rem; line-height:1; cursor:pointer; box-shadow:0 6px 16px rgba(0,0,0,.16); z-index:2; transition:transform .2s ease;}
.hs-nav:hover{transform:translateY(-50%) scale(1.08);}
.hs-prev{right:14px;} .hs-next{left:14px;}
.hs-dots{position:absolute; bottom:14px; left:0; right:0; display:flex; justify-content:center; gap:7px; z-index:2;}
.hs-dot{width:8px; height:8px; border-radius:999px; border:none; padding:0; background:rgba(255,255,255,.7); cursor:pointer; transition:width .25s ease,background .25s ease; box-shadow:0 1px 4px rgba(0,0,0,.25);}
.hs-dot.active{width:26px; background:#fff;}
@media(max-width:860px){
  .hp-hero-card{grid-template-columns:1fr; min-height:0; border-radius:22px;}
  .hp-hero-copy{padding:34px 24px 30px; align-items:center; text-align:center;}
  .hp-cta{justify-content:center;}
  .hero-slider{height:auto; aspect-ratio:4/3; min-height:0; order:-1;}
  .hs-nav{display:none;}
}

/* نوار اعتماد */
.hp-trust-wrap{padding:22px 0 8px;}
.hp-trust{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:6px 0;}
.hp-trust li{display:flex; align-items:center; justify-content:center; gap:12px; padding:16px 10px; color:var(--gold-deep);}
.hp-trust li+li{border-right:1px solid var(--line);}
.hp-trust strong{color:var(--ink); font-size:.95rem;}
@media(max-width:640px){
  .hp-trust{grid-template-columns:1fr; padding:0;}
  .hp-trust li{justify-content:flex-start; padding:14px 20px;}
  .hp-trust li+li{border-right:none; border-top:1px solid var(--line);}
}

/* مناسبت‌ها */
.hp-cats{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
@media(max-width:1000px){.hp-cats{grid-template-columns:repeat(3,1fr);}}
.hp-cat{position:relative; display:flex; align-items:flex-end; aspect-ratio:4/5; border-radius:20px; overflow:hidden; color:#fff; isolation:isolate;}
.hp-cat.tone-0{background:linear-gradient(160deg,#8C4560,#602F40);}
.hp-cat.tone-1{background:linear-gradient(160deg,#C6952F,#946A18);}
.hp-cat.tone-2{background:linear-gradient(160deg,#7C9B76,#4C6647);}
.hp-cat img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .5s ease;}
.hp-cat::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top,rgba(35,22,10,.72),rgba(35,22,10,0) 60%);}
.hp-cat:hover img{transform:scale(1.05);}
.hp-cat-name{padding:16px 16px 14px; font-family:var(--f-display); font-size:1.35rem; line-height:1.4;}

/* پیشنهادها */
.hp-promos{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:900px){.hp-promos{grid-template-columns:1fr;}}
.hp-promo{position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:30px 28px 26px; border-radius:22px; color:#fdf6ec; overflow:hidden; isolation:isolate; min-height:230px;}
.hp-promo::before{content:""; position:absolute; width:260px; height:260px; border-radius:50%; left:-90px; bottom:-110px; border:1px solid rgba(255,255,255,.22); box-shadow:0 0 0 26px rgba(255,255,255,.05), 0 0 0 52px rgba(255,255,255,.04); z-index:-1;}
.hp-promo.p1{background:linear-gradient(135deg,#8C4560,#602F40);}
.hp-promo.p2{background:linear-gradient(135deg,#B98524,#8F6416);}
.hp-promo.p3{background:linear-gradient(135deg,#6F8F69,#4C6647);}
.hp-promo h3{font-size:1.75rem; line-height:1.5; margin-bottom:8px;}
.hp-promo p{opacity:.92; font-size:.92rem; max-width:34ch; margin-bottom:18px;}
.hp-promo-cta{margin-top:auto; font-weight:700; font-size:.9rem; border-bottom:2px solid rgba(255,255,255,.5); padding-bottom:2px; transition:border-color .2s ease;}
.hp-promo:hover .hp-promo-cta{border-color:#fff;}

/* شخصی‌سازی */
.hp-pz{display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:24px; background:linear-gradient(135deg,var(--plum-deep),var(--plum)); color:#fdf6ec; border-radius:28px; padding:52px 56px; overflow:hidden; position:relative;}
.hp-pz h2{font-size:2.3rem; line-height:1.4; margin-bottom:6px;}
.hp-pz p{opacity:.9; margin-bottom:16px;}
.hp-pz ul{list-style:none; display:grid; gap:8px; margin-bottom:24px;}
.hp-pz li{display:flex; align-items:center; gap:10px; font-size:.95rem;}
.hp-pz li svg{color:var(--gold-soft); flex:none;}
.hp-pz .btn-solid{background:#fdf6ec; color:var(--plum-deep); box-shadow:0 8px 18px rgba(0,0,0,.2);}
.hp-pz-art{width:min(230px,100%); justify-self:center; color:var(--gold-soft); opacity:.9;}
@media(max-width:800px){.hp-pz{grid-template-columns:1fr; padding:38px 24px; text-align:center;} .hp-pz li{justify-content:center;} .hp-pz-art{width:140px; order:-1;}}

/* کارت محصول (سراسری) */
.card{padding:0; border-radius:20px; background:var(--paper); border:1px solid var(--line); display:flex; flex-direction:column;}
.card:hover{transform:none; box-shadow:var(--shadow-md); border-color:var(--frame);}
.card>a{display:block; flex:1;}
.card-art{aspect-ratio:1/1; border-radius:0;}
.card-body{padding:14px 16px 4px;}
.card-foot{border-top:none; margin-top:0; padding:8px 16px 16px;}
.tag{top:12px; right:12px;}

@media(max-width:640px){.hp-cat-name{font-size:1.1rem; padding:12px 12px 10px;} .hp-head h2{font-size:1.65rem;} .hp-pz h2{font-size:1.9rem;}}

/* =====================================================================
   یک خط نازک طلایی دور کادرها
   ===================================================================== */
:root{ --gold-line:rgba(198,149,47,.85); }

.hp-hero-card,.hp-trust li,.hp-promo,.hp-pz,.hp-cat,.card,.product-card,
.auth-card,.account-head,.cart-summary,.checkout-summary,.payment-result,
.product-gallery,.add-to-cart-form,table{
  border:1px solid var(--gold-line);
  outline:none;
  box-shadow:none;
}
.card:hover,.product-card:hover{border-color:var(--gold-line); box-shadow:var(--shadow-sm);}
/* کادرهای داخلی قدیمی حذف شد تا فقط یک خط بماند */
.payment-result::before,.cart-summary::before,.checkout-summary::before,
.auth-main::before,.account-head::before,.auth-side::before{content:none;}

/* =====================================================================
   تیتر صفحه‌ی اصلی: هم‌رنگ نوشته‌ی لوگو، بزرگ، تک‌خطی، بدون سایه
   ===================================================================== */
.hp-hero-card{display:flex; flex-direction:column; min-height:0;}
.hp-hero-title{
  color:#683C28;
  text-shadow:none;
  white-space:nowrap;
  text-align:center;
  font-size:clamp(1.9rem,10vw,6.5rem);
  line-height:1.35;
  padding:26px 16px 4px;
  margin:0;
}
.hp-hero-copy{padding:8px 38px 26px; align-items:center; text-align:center;}
.hp-hero-copy::before{display:none;}
.hp-hero-copy p{margin:0 auto; max-width:56ch; font-size:1rem;}
.hero-slider{min-height:0; height:auto; aspect-ratio:16/7;}
.hp-hero-card.is-solo .hp-hero-copy{padding:8px 24px 34px;}
.hp-hero{padding:24px 0 12px;}
@media(max-width:860px){
  .hero-slider{order:0; aspect-ratio:4/3;}
  .hp-hero-title{padding:20px 12px 2px;}
  .hp-hero-copy{padding:6px 20px 22px;}
}

/* =====================================================================
   ارسال سریع / پرداخت امن / پشتیبانی: پایین صفحه، هرکدام یک کادر جدا
   ===================================================================== */
.hp-trust-wrap{padding:34px 0 10px;}
.hp-trust{background:none; border:none; padding:0; gap:18px; border-radius:0;}
.hp-trust li{background:var(--paper); border-radius:20px; padding:22px 16px; border-right:1px solid var(--gold-line);}
.hp-trust li+li{border-right:1px solid var(--gold-line);}
@media(max-width:640px){
  .hp-trust{gap:14px;}
  .hp-trust li+li{border-top:1px solid var(--gold-line);}
}

/* ---------- پیام‌ها و تأیید کد ---------- */
.ok-msg{color:#3F5D3A; background:#EEF5EC; border:1px solid rgba(63,93,58,.25); padding:11px 16px; border-radius:var(--r-sm); margin-bottom:16px; font-size:.9rem;}
.otp-input{text-align:center !important; letter-spacing:.5em; font-size:1.4rem !important; padding:12px 8px !important;}
.otp-actions{display:flex; justify-content:space-between; gap:12px; margin-top:16px;}
.otp-actions form{margin:0;}
.linkbtn{background:none; border:none; color:var(--gold-deep); font-weight:700; font-size:.88rem; cursor:pointer; padding:4px 2px;}
.linkbtn:hover:not(:disabled){text-decoration:underline;}
.linkbtn:disabled{color:var(--ink-soft); opacity:.7; cursor:default;}

/* ---------- عکس پس‌زمینه‌ی کادر تیتر و بخش شخصی‌سازی ---------- */
.hp-hero-card{
  background:
    linear-gradient(rgba(255,253,247,.58), rgba(255,253,247,.42)),
    url('/assets/img/hero-box.webp') center 38%/cover no-repeat,
    var(--paper);
}
.hp-hero-copy p{color:#4a3320; font-weight:700;}

.hp-pz{
  background:
    linear-gradient(to left, rgba(96,47,64,.80) 0%, rgba(110,55,72,.58) 55%, rgba(124,62,82,.34) 100%),
    url('/assets/img/pz-bg.webp') center/cover no-repeat,
    var(--plum-deep);
}

/* رنگ خوانا برای تیتر و متن کادر بالا */
.hp-hero-title{color:#683C28; text-shadow:0 1px 8px rgba(60,25,38,.45); padding-bottom:28px;}
.hp-pz-copy{text-shadow:0 1px 8px rgba(60,25,38,.45);}
.hp-pz .btn-solid{text-shadow:none;}
.hp-hero-card.is-solo{min-height:305px; justify-content:flex-start;}
@media(max-width:640px){.hp-hero-card.is-solo{min-height:240px;}}

/* =====================================================================
   دسته‌بندی‌ها: کارت‌های کوچک، سه‌تا در هر ردیف
   ===================================================================== */
.hp-cats-sec{padding:22px 0 8px;}
.hp-cats-mini{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.hp-mini{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:14px 8px 12px; text-align:center; color:var(--ink);
  background:var(--paper); border:1px solid var(--gold-line); border-radius:18px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.hp-mini:hover{transform:translateY(-3px); box-shadow:var(--shadow-sm);}
.hp-mini-ico{width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--cream2); color:var(--gold-deep); overflow:hidden;}
.hp-mini-ico img{width:100%; height:100%; object-fit:cover; display:block;}
.hp-mini-name{font-family:var(--f-display); font-size:1.2rem; line-height:1.4;}
@media(max-width:640px){
  .hp-cats-mini{gap:10px;}
  .hp-mini{padding:12px 4px 10px; border-radius:16px;}
  .hp-mini-ico{width:44px; height:44px;}
  .hp-mini-name{font-size:1rem;}
}

/* =====================================================================
   بخش اسلایدها (جدا از کادر تیتر): خودکار هر ۵ ثانیه + کشیدن با دست
   ===================================================================== */
.hp-slides-sec{padding:18px 0 6px;}
.hp-slides-sec .hero-slider{
  height:auto; min-height:0; aspect-ratio:16/7;
  border:1px solid var(--gold-line); border-radius:22px; overflow:hidden;
}
@media(max-width:860px){.hp-slides-sec .hero-slider{aspect-ratio:16/9; order:0;} }
.hs-track{cursor:grab; user-select:none; -webkit-user-select:none;}
.hs-track.dragging{cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto;}

/* =====================================================================
   سه کادر پیشنهاد: اسلاید افقی
   ===================================================================== */
.hp-promos{
  display:flex; grid-template-columns:none; gap:18px;
  overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
  -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  cursor:grab; padding:2px; margin:-2px;
}
.hp-promos::-webkit-scrollbar{display:none;}
.hp-promos.dragging{cursor:grabbing; scroll-snap-type:none; user-select:none;}
.hp-promos .hp-promo{flex:0 0 calc((100% - 36px)/3); scroll-snap-align:start; user-select:none; -webkit-user-drag:none;}
@media(max-width:900px){.hp-promos .hp-promo{flex-basis:78%;}}
@media(max-width:560px){.hp-promos{gap:12px;} .hp-promos .hp-promo{flex-basis:88%; min-height:210px; padding:24px 20px 20px;} .hp-promo h3{font-size:1.45rem;}}

/* =====================================================================
   صفحه‌ی پیشنهاد و صفحه‌ی درخواست مشاوره
   ===================================================================== */
.offer-banner{min-height:0; padding:34px 30px 30px; margin-bottom:6px; align-items:flex-start;}
.offer-banner h1{font-size:2.2rem; line-height:1.5; margin-bottom:10px; color:#fdf6ec;}
.offer-banner p{max-width:60ch; font-size:1rem; margin-bottom:16px;}
.offer-items{list-style:none; padding:0; margin:0 0 22px; display:flex; flex-wrap:wrap; gap:10px 22px;}
.offer-items li{display:flex; align-items:center; gap:8px; font-weight:700; font-size:.95rem;}
.offer-actions{display:flex; flex-wrap:wrap; gap:12px;}
.offer-banner .btn-solid{background:#fdf6ec; color:var(--plum-deep); box-shadow:0 8px 18px rgba(0,0,0,.2);}
.btn-ghost-light{border:1.5px solid rgba(255,255,255,.65); color:#fff; background:transparent;}
.btn-ghost-light:hover{background:rgba(255,255,255,.16);}
@media(max-width:640px){.offer-banner{padding:26px 20px 22px;} .offer-banner h1{font-size:1.7rem;}}

.consult-card{max-width:560px; margin:0 auto; padding:30px 28px 26px; background:var(--paper); border:1px solid var(--gold-line); border-radius:var(--r-lg);}
.consult-card .lead-text{color:var(--ink-soft); margin-bottom:20px; font-size:.95rem;}
.consult-card .btn-primary{width:100%; padding:14px; margin-top:4px;}
.consult-card textarea{resize:vertical; min-height:110px;}
.hp-trap{position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0;}
@media(max-width:640px){.consult-card{padding:24px 18px 20px;}}
/* کارت‌های دسته‌بندی روی صفحه‌های بزرگ کوچک و وسط‌چین بمانند */
.hp-cats-mini{max-width:680px; margin:0 auto;}

/* =====================================================================
   رفع بیرون‌زدگی نوشته‌ها: کلاس .section حاشیه‌ی کناری .wrap را صفر می‌کرد
   ===================================================================== */
.wrap.section,.container.section{padding-left:24px; padding-right:24px;}
@media(max-width:640px){.wrap.section,.container.section{padding-left:16px; padding-right:16px;}}

/* =====================================================================
   هدر (لوگو + دسته‌بندی‌ها) دیگر بالای صفحه ثابت نمی‌ماند و با صفحه اسکرول می‌شود
   ===================================================================== */
header.site-header{position:relative; top:auto; left:auto; right:auto; width:auto;}
body{padding-top:0;}
html{scroll-padding-top:12px;}

/* =====================================================================
   دکمه‌ی «بازگشت به صفحه اصلی» در همه‌ی صفحه‌ها (به‌جز خانه)
   ===================================================================== */
.back-home-wrap{padding-top:18px; padding-bottom:0;}
.back-home{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px 9px 16px; border-radius:999px;
  background:var(--paper); color:var(--ink);
  border:1px solid var(--gold-line);
  font-weight:700; font-size:.88rem; line-height:1.6;
  box-shadow:0 4px 12px rgba(148,106,24,.10);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.back-home svg{color:var(--gold-deep); transition:transform .2s ease;}
.back-home:hover{background:var(--cream2); box-shadow:0 8px 18px rgba(148,106,24,.18); transform:translateY(-1px);}
.back-home:hover svg{transform:translateX(3px);}
.back-home-wrap + .wrap.section,.back-home-wrap + .auth-page{padding-top:26px;}
.back-home-wrap + .auth-page{padding-top:12px;}

/* =====================================================================
   تیتر صفحه‌ی اصلی: طلایی شیک و درخشان (با برق ملایم)
   ===================================================================== */
.hp-hero-title{
  color:transparent;
  background-image:linear-gradient(100deg,
      #7A4C08 0%, #B07A18 22%, #DDAE38 40%, #F5D678 48%, #DDAE38 56%, #B07A18 76%, #7A4C08 100%);
  background-size:260% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 2px 2px rgba(50,28,0,.72)) drop-shadow(0 0 8px rgba(255,214,110,.35));
  animation:goldShine 7s ease-in-out infinite;
}
@keyframes goldShine{0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;}}
@media(prefers-reduced-motion:reduce){.hp-hero-title{animation:none; background-position:50% 50%;}}

/* =====================================================================
   کادر تیتر: نوار شرابی برای تیتر + یک خط طلایی + عکس اصلی (بدون هیچ لایه‌ای)
   ===================================================================== */
.hp-hero-card,
.hp-hero-card.is-solo{
  background:var(--paper);
  min-height:0;
  overflow:hidden;
  justify-content:flex-start;
}
.hp-hero-head{
  background:linear-gradient(135deg,var(--plum-deep),var(--plum));
  border-bottom:2px solid var(--gold);          /* خطی که تیتر و عکس را جدا می‌کند */
  padding:22px 16px 16px;
  text-align:center;
}
.hp-hero-title{
  padding:0; margin:0;
  background-image:linear-gradient(100deg,
      #D9A93A 0%, #F6DC85 24%, #FFF4C8 44%, #F6DC85 60%, #D9A93A 80%, #B98524 100%);
  filter:drop-shadow(0 2px 2px rgba(30,8,18,.55)) drop-shadow(0 0 8px rgba(255,214,110,.30));
}
.hp-hero-photo{margin:0; line-height:0;}
.hp-hero-photo img{
  display:block; width:100%; height:auto; max-width:none;
  aspect-ratio:3/1; object-fit:cover; object-position:center 42%;
}
@media(max-width:860px){
  .hp-hero-head{padding:18px 12px 14px;}
  .hp-hero-photo img{aspect-ratio:4/3;}
}

/* =====================================================================
   مقیاس استاندارد اندازه‌ها (تیترها، کادرها، فاصله‌ها)
   همه‌ی تیترها و کادرهای سایت فقط از همین چند مقدار استفاده می‌کنند.
   برای تغییر اندازه‌ی کل سایت، فقط همین متغیرها را عوض کنید.
   ===================================================================== */
:root{
  --fs-hero:clamp(2.2rem,6vw,3.5rem);   /* تیتر بزرگ صفحه‌ی اصلی */
  --fs-h1:2.3rem;                          /* عنوان صفحه‌ها */
  --fs-h2:1.9rem;                          /* عنوان بخش‌ها */
  --fs-h3:1.5rem;                         /* عنوان کارت‌ها و بنرها */
  --pad-box:20px;                          /* فاصله‌ی داخلی کادرهای معمولی */
  --pad-banner:28px 32px;                  /* فاصله‌ی داخلی بنرهای رنگی */
  --gap-grid:18px;
  --r-md:16px; --r-lg:22px;
}
@media(max-width:640px){
  :root{--fs-hero:2.1rem; --fs-h1:1.9rem; --fs-h2:1.6rem; --fs-h3:1.3rem; --pad-box:16px; --pad-banner:22px 20px; --gap-grid:12px;}
}
body{font-size:15px;}

/* ---- تیترها ---- */
h1.page-title,.product-info h1,.account-head h1,.offer-banner h1,.payment-result h1,.auth-panel h1,.admin-topbar h1{font-size:var(--fs-h1); line-height:1.5;}
.section-head h2,.hp-head h2,.product-description h2,.checkout-address h2,.checkout-summary h2,.wrap>h2,.auth-box h2,.section-title,.hp-pz h2{font-size:var(--fs-h2); line-height:1.55;}
.slide h3,.hp-promo h3,.checkout-address h3,.auth-side h2,.hp-cat-name{font-size:var(--fs-h3); line-height:1.6;}
.hp-mini-name{font-size:1.25rem;}
.foot-grid h4{font-size:1.4rem; margin-bottom:8px;}
.section-head h2,h1.page-title{padding-bottom:10px;}
.section-head h2::after,h1.page-title::after{width:48px; height:2px;}
.section-head h2::before{width:7px; height:7px; bottom:-2.5px; right:54px;}
.section-head{margin-bottom:20px;}
h1.page-title{margin-bottom:18px;}
.hp-head{margin-bottom:16px;}
.hp-head p,.section-head p{font-size:.88rem;}
.section-title{margin:6px 0 12px; color:var(--ink);}

/* ---- هدر و فوتر ---- */
.nav{height:68px;}
.brand img{width:52px; height:52px;}
@media(max-width:720px){.brand img{width:44px; height:44px;}}
.icon-btn{width:38px; height:38px;}
.foot-brand img{width:72px; height:72px;}
footer.site-footer{padding:38px 0 18px; margin-top:20px;}
.foot-grid{gap:24px; margin-bottom:24px;}
.back-home-wrap{padding-top:14px;}
.back-home{padding:7px 16px 7px 14px; font-size:.84rem;}
.back-home-wrap + .wrap.section,.back-home-wrap + .auth-page{padding-top:16px;}

/* ---- بخش‌ها ---- */
.section{padding:34px 0;}
.hp-section{padding:22px 0;}
.hp-hero{padding:16px 0 4px;}

/* ---- کادر تیتر و عکس صفحه‌ی اصلی ---- */
.hp-hero-head{padding:16px 16px 12px;}
.hp-hero-title{font-size:var(--fs-hero); line-height:1.5; white-space:normal;}
.hp-hero-photo img{aspect-ratio:16/6; max-height:320px;}
@media(max-width:860px){.hp-hero-photo img{aspect-ratio:16/9; max-height:none;} .hp-hero-head{padding:14px 12px 10px;}}
.hp-hero-card{border-radius:var(--r-lg);}

/* ---- دسته‌بندی‌های کوچک (همه در یک ردیف مرتب) ---- */
.hp-cats-sec{padding:16px 0 4px;}
.hp-cats-mini{grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); max-width:640px; gap:12px;}
.hp-mini{padding:10px 8px 9px; gap:4px; border-radius:16px;}
.hp-mini-ico{width:42px; height:42px;}
.hp-mini-ico svg{width:22px; height:22px;}
@media(max-width:640px){.hp-cats-mini{grid-template-columns:repeat(2,1fr); max-width:none; gap:10px;} .hp-mini-ico{width:38px; height:38px;}}

/* ---- اسلایدر و کادرهای پیشنهاد ---- */
.hp-slides-sec{padding:14px 0 4px;}
.hp-slides-sec .hero-slider{aspect-ratio:16/6; max-height:340px; border-radius:var(--r-lg);}
@media(max-width:860px){.hp-slides-sec .hero-slider{aspect-ratio:16/9; max-height:none;}}
.hp-promos{gap:var(--gap-grid);}
.hp-promo{padding:22px 24px 20px; min-height:0; border-radius:var(--r-lg);}
.hp-promo p{font-size:.88rem; margin-bottom:14px;}
.hp-promo-cta{font-size:.86rem;}
.hp-promos .hp-promo{flex-basis:calc((100% - 2*var(--gap-grid))/3);}
@media(max-width:900px){.hp-promos .hp-promo{flex-basis:78%;}}
@media(max-width:560px){.hp-promos .hp-promo{flex-basis:88%; min-height:0; padding:20px 18px 18px;}}

/* ---- بنر شخصی‌سازی ---- */
.hp-pz{padding:var(--pad-banner); border-radius:var(--r-lg); gap:16px;}
.hp-pz p{margin-bottom:12px; font-size:.92rem;}
.hp-pz ul{margin-bottom:18px; gap:6px;}
.hp-pz li{font-size:.9rem;}
.hp-pz-art{width:min(140px,100%);}
@media(max-width:800px){.hp-pz{padding:24px 18px;} .hp-pz-art{width:96px;}}

/* ---- نوار اعتماد ---- */
.hp-trust-wrap{padding:22px 0 6px;}
.hp-trust{gap:var(--gap-grid);}
.hp-trust li{padding:14px 12px; border-radius:16px;}
.hp-trust svg{width:22px; height:22px;}
.hp-trust strong{font-size:.9rem;}

/* ---- کارت محصول ---- */
.prod-grid,.products-grid{gap:var(--gap-grid);}
.card{border-radius:var(--r-md);}
.card-body{padding:12px 14px 2px;}
.card-body h3,.product-name{font-size:.95rem; line-height:1.7;}
.card-foot{padding:6px 14px 14px;}
.price{font-size:.95rem;}
.add-btn{width:34px; height:34px; border-radius:10px; font-size:1.1rem;}
.tag{top:10px; right:10px; font-size:.7rem; padding:2px 10px;}

/* ---- صفحه‌ی محصول ---- */
.product-detail{gap:32px; margin:8px 0;}
.product-gallery{padding:10px; max-width:440px; border-radius:var(--r-lg);}
.product-gallery img#mainImage,.img-ph{border-radius:calc(var(--r-lg) - 8px);}
.thumbnails img{width:56px; height:56px;}
.product-info{padding-top:0;}
.product-info h1{margin-bottom:4px;}
.product-info .price{font-size:1.4rem;}
.add-to-cart-form{padding:14px 16px; margin:12px 0; border-radius:var(--r-md);}
.product-description{margin-top:16px; padding-top:14px;}
.product-description h2{margin-bottom:4px;}
@media(max-width:720px){.product-gallery{max-width:none;} .product-info h1{font-size:var(--fs-h1);}}

/* ---- جدول‌ها، سبد و تسویه‌حساب ---- */
table{margin:14px 0; border-radius:var(--r-md);}
table th,table td{padding:11px 14px; font-size:.88rem;}
.cart-thumb{width:46px; height:46px;}
.cart-summary,.checkout-summary{padding:var(--pad-box); margin-top:12px;}
.cart-summary{max-width:380px;}
.cart-summary p,.checkout-summary p{padding:4px 0; font-size:.9rem;}
.cart-summary p.grand-total,.checkout-summary p.grand-total{font-size:1rem; padding-top:10px;}
.checkout-layout{gap:20px;}
.checkout-address h3{margin:18px 0 2px;}
.checkout-address form{padding:var(--pad-box); margin-top:10px; border-radius:var(--r-md);}
.address-option{padding:11px 14px; font-size:.88rem;}
.payment-result{padding:30px 22px; max-width:520px; border-radius:var(--r-lg); margin:6px auto 22px;}

/* ---- فرم‌ها و دکمه‌ها ---- */
.btn,.btn-primary,.add-to-cart-form button,.checkout-address form button[type=submit]{padding:10px 22px; font-size:.92rem; border-radius:12px;}
.btn-disabled{padding:10px 22px;}
input[type=text],input[type=password],input[type=tel],input[type=number],input[type=email],textarea,select{padding:10px 13px; font-size:.92rem;}
.field{margin-bottom:12px;}
@media(max-width:720px){input[type=text],input[type=password],input[type=tel],input[type=number],input[type=email],textarea,select{font-size:16px;}}

/* ---- ورود و ثبت‌نام ---- */
.auth-page{padding:24px 0 44px;}
.auth-card{max-width:440px; border-radius:var(--r-lg);}
.auth-side{padding:22px 22px 18px; gap:8px;}
.auth-emblem{width:84px; height:84px;}
.auth-side p{font-size:.86rem;}
.auth-main{padding:24px 24px 26px;}
.auth-panel .lead{margin-bottom:16px; font-size:.86rem;}
.auth-panel .btn-primary{padding:12px;}
.auth-tabs{margin-bottom:18px;}
@media(max-width:480px){.auth-main{padding:20px 16px 22px;}}

/* ---- حساب کاربری، پیشنهاد و مشاوره ---- */
.account-head{padding:20px 24px; margin-bottom:18px; border-radius:var(--r-lg); gap:12px;}
.account-head p{font-size:.86rem;}
.account-head .btn{padding:8px 18px;}
.offer-banner{padding:var(--pad-banner); border-radius:var(--r-lg);}
.offer-banner p{font-size:.92rem; margin-bottom:12px;}
.offer-items{margin-bottom:16px; gap:8px 18px;}
.offer-items li{font-size:.88rem;}
.consult-card{padding:24px 24px 22px; border-radius:var(--r-lg); max-width:520px;}
.consult-card .lead-text{margin-bottom:14px; font-size:.9rem;}
.empty-state{padding:34px 18px; border-radius:var(--r-md);}
.pagination{margin:20px 0;}

/* اصلاح: max-height نباید عرض اسلایدر را کم کند */
.hp-slides-sec .hero-slider{width:100%; max-height:300px;}
.hp-hero-photo img{max-height:260px;}
@media(max-width:860px){.hp-slides-sec .hero-slider,.hp-hero-photo img{max-height:none;}}

/* فیلد مخفی ضد-اسپم: بیرون‌زدگی افقی صفحه (اسکرول به چپ) را ایجاد نکند */
.hp-trap{left:auto !important; right:0 !important; top:0; width:1px !important; height:1px !important; opacity:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); pointer-events:none;}
.hp-hero-photo img{object-position:center 34%;}

/* =====================================================================
   هدر دوباره ثابت (fixed) + لوگوی بزرگ‌تر
   ===================================================================== */
header.site-header{position:fixed !important; top:0; left:0; right:0; width:100%; z-index:100;}
body{padding-top:var(--hh,92px) !important;}
html{scroll-padding-top:calc(var(--hh,92px) + 12px);}
.wrap.nav{height:auto; min-height:92px; padding-top:8px; padding-bottom:8px;}
.brand img{width:76px; height:76px;}
@media(max-width:720px){
  .wrap.nav{min-height:0; padding:8px 16px;}
  .brand img{width:64px; height:64px;}
}


/* ===== ویزارد شخصی‌سازی هدیه ===== */
.pzm{position:fixed;inset:0;z-index:1000;background:rgba(40,22,30,.6);display:flex;align-items:center;justify-content:center;padding:14px;overflow:auto}
.pzm[hidden]{display:none}
.pzm-box{position:relative;background:var(--paper);color:var(--ink);border-radius:24px;width:min(760px,100%);max-height:94vh;overflow:auto;padding:26px 24px 20px;box-shadow:var(--shadow-lg);border:1px solid var(--frame)}
.pzm-x{position:absolute;top:10px;left:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ink)}
.pzm-steps{list-style:none;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:0 34px 16px;padding:0}
.pzm-steps li{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-soft);padding:4px 10px 4px 12px;border-radius:999px;background:var(--cream)}
.pzm-steps li i{font-style:normal;width:20px;height:20px;border-radius:50%;background:var(--gold-soft);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem}
.pzm-steps li.active{background:var(--plum);color:#fff}
.pzm-steps li.active i{background:#fff;color:var(--plum)}
.pzm-steps li.ok:not(.active) i{background:var(--ok);color:#fff}
.pzm-title{text-align:center;font-size:1.35rem;margin:0 0 14px;color:var(--plum-deep)}
.pzm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.pzm-opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border:2px solid var(--line);border-radius:16px;background:#fff;text-align:center}
.pzm-opt.sel{border-color:var(--gold);background:#FFF8E6;box-shadow:0 0 0 3px rgba(198,149,47,.2)}
.pzm-opt img,.pzm-sq{width:86px;height:86px;object-fit:cover;border-radius:12px;border:1px solid var(--frame)}
.pzm-sq{display:flex;align-items:center;justify-content:center;padding:6px;font-size:.78rem;background:var(--cream);color:var(--plum-deep);width:100%;height:auto;min-height:86px}
.pzm-opt b{font-size:.82rem;font-weight:700;line-height:1.5}
.pzm-opt button{width:100%;padding:7px 10px;border-radius:10px;border:none;cursor:pointer;background:var(--plum);color:#fff;font-family:inherit;font-size:.85rem;font-weight:700}
.pzm-opt.sel button{background:var(--ok)}
.pzm-custom{display:block;margin-top:14px;font-size:.88rem}
.pzm-custom textarea{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-family:inherit;font-size:.95rem;resize:vertical}
.pzm-err{color:var(--plum);background:#fbeef1;border-radius:10px;padding:8px 12px;margin:12px 0 0;font-size:.85rem;text-align:center}
.pzm-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.pzm-nav .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.pzm-done p{text-align:center;margin-bottom:14px}
.pzm-sum{display:grid;gap:8px;margin-bottom:16px}
.pzm-sumrow{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:.88rem}
.pzm-sumrow img{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--frame)}
.pzm-sumrow small{display:block;color:var(--ink-soft);font-size:.72rem}
.pzm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.pzm-actions .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
@media(max-width:480px){.pzm-box{padding:22px 14px 16px}.pzm-grid{grid-template-columns:repeat(2,1fr)}.pzm-steps li span{display:none}.pzm-steps li.active span{display:inline}}
.hp-pz button.btn{border:none;cursor:pointer;font-family:inherit}
.pz-sum{background:var(--paper);border:1px solid var(--frame);border-radius:14px;padding:12px 14px;margin:14px 0;font-size:.9rem}
.pz-sum-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.pz-sum-row img{border-radius:8px;object-fit:cover;border:1px solid var(--frame)}
.pz-sum-edit{display:inline-block;margin-top:8px;color:var(--plum);font-weight:700;font-size:.85rem}

.pzm-soon{text-align:center;padding:26px 10px;color:var(--ink-soft);background:var(--cream);border-radius:14px;font-size:.92rem}
.pzm-steps li.soon:not(.active){opacity:.6}


/* ===== تیتر صفحه‌ی اصلی: وسط‌چین دقیق (فاصله‌ی دو طرف برابر) + جعبه‌ی کادوی طلایی که مثل خودکار کشیده می‌شود ===== */
.hp-hero-line{display:flex; align-items:center; justify-content:center; gap:.35em; font-size:var(--fs-hero);}
.hp-hero-line .hp-hero-title{font-size:1em; margin:0;}
.hp-hero-pen{width:1.08em; height:1.1em; flex:none; overflow:visible; filter:drop-shadow(0 2px 2px rgba(30,8,18,.55)) drop-shadow(0 0 6px rgba(255,214,110,.35));}
.hp-hero-pen .pn{stroke-dasharray:1; stroke-dashoffset:1; animation-duration:6.6s; animation-iteration-count:infinite; animation-timing-function:linear;}
/* کل چرخه ۶٫۶ ثانیه: ۳٫۶ ثانیه کشیدن + ۳ ثانیه مکث، بعد دوباره از اول */
.hp-hero-pen .pn1{animation-name:penA;}
.hp-hero-pen .pn2{animation-name:penB;}
.hp-hero-pen .pn3{animation-name:penC;}
.hp-hero-pen .pn4{animation-name:penD;}
.hp-hero-pen .pn5{animation-name:penE;}
@keyframes penA{0%{stroke-dashoffset:1}14%,100%{stroke-dashoffset:0}}
@keyframes penB{0%,14%{stroke-dashoffset:1}26%,100%{stroke-dashoffset:0}}
@keyframes penC{0%,26%{stroke-dashoffset:1}36%,100%{stroke-dashoffset:0}}
@keyframes penD{0%,36%{stroke-dashoffset:1}46%,100%{stroke-dashoffset:0}}
@keyframes penE{0%,46%{stroke-dashoffset:1}55%,100%{stroke-dashoffset:0}}
@media(max-width:640px){.hp-hero-line{gap:.25em;}}
@media(prefers-reduced-motion:reduce){.hp-hero-pen .pn{animation:none; stroke-dashoffset:0;}}


/* =====================================================================
   وسط هدر: انیمیشن پسر و دختر — پسر کادو می‌دهد، از بالای سر دختر قلب بیرون می‌زند
   و با هم می‌روند. چرخه‌ی کل ۱۳ ثانیه؛ همه‌ی زمان‌بندی‌ها به درصد همین چرخه‌اند.
   ===================================================================== */
.nav-scene{order:0; flex:1 1 0; min-width:0; height:76px; display:flex; align-items:center; justify-content:center; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent); mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);}
.navicons{order:1;}
.gift-scene{width:100%; max-width:340px; height:100%; display:block;}
@media(max-width:340px){.nav-scene{display:none;}}

/* حالت ثابت (پایه): پسر ایستاده، کادو دست دختر، چند قلب بالای سرش */
.gift-scene .gs-bx{transform:translateX(136px);}
.gift-scene .gs-gx{transform:translateX(184px);}
.gift-scene .gs-gf{transform:scaleX(-1);}
.gift-scene .gs-barm{transform:rotate(70deg);}
.gift-scene .gs-garm{transform:rotate(38deg);}
.gift-scene .gs-giftb{opacity:0;}
.gift-scene .gs-giftg{transform:translate(20px,-30px);}
.gift-scene .gs-walk{opacity:0;}
.gift-scene .gs-h{opacity:0; transform:translate(var(--dx),var(--ry));}
.gift-scene .gs-ground{stroke:rgba(198,149,47,.45); stroke-width:1.2; stroke-dasharray:1 5;}

/* انیمیشن‌ها */
.gift-scene .gs-bx{animation:gsBx 13s linear infinite;}
.gift-scene .gs-gx{animation:gsGx 13s linear infinite;}
.gift-scene .gs-gb{animation:gsBounce 13s ease-in-out infinite;}
.gift-scene .gs-gf{animation:gsFlip 13s linear infinite;}
.gift-scene .gs-barm{animation:gsBArm 13s ease-in-out infinite;}
.gift-scene .gs-garm{animation:gsGArm 13s ease-in-out infinite;}
.gift-scene .gs-giftb{animation:gsGiftB 13s linear infinite;}
.gift-scene .gs-giftg{animation:gsGiftG 13s ease-in-out infinite;}
.gift-scene .gs-bwalk{animation:gsBWalk 13s linear infinite;}
.gift-scene .gs-bstand{animation:gsBStand 13s linear infinite;}
.gift-scene .gs-gwalk{animation:gsGWalk 13s linear infinite;}
.gift-scene .gs-gstand{animation:gsGStand 13s linear infinite;}
.gift-scene .gs-l1{animation:gsLeg .6s ease-in-out infinite alternate;}
.gift-scene .gs-l2{animation:gsLeg .6s ease-in-out infinite alternate-reverse;}
.gift-scene .gs-h{animation:gsHeart 13s ease-out infinite;}
.gift-scene .gs-h1{animation-delay:4.94s;} .gift-scene .gs-h2{animation-delay:5.4s;} .gift-scene .gs-h3{animation-delay:5.85s;}
.gift-scene .gs-h4{animation-delay:6.3s;}  .gift-scene .gs-h5{animation-delay:6.76s;}

@keyframes gsBx{0%{transform:translateX(-30px)}26%,72%{transform:translateX(136px)}76%{transform:translateX(158px)}100%{transform:translateX(358px)}}
@keyframes gsGx{0%{transform:translateX(184px);opacity:0}5%,76%{transform:translateX(184px);opacity:1}100%{transform:translateX(384px);opacity:1}}
@keyframes gsBounce{0%,36%{transform:translateY(0)}38%{transform:translateY(-3px)}40%{transform:translateY(0)}41.5%{transform:translateY(-3px)}43%,100%{transform:translateY(0)}}
@keyframes gsFlip{0%,71.9%{transform:scaleX(-1)}72%,99.9%{transform:scaleX(1)}100%{transform:scaleX(-1)}}
@keyframes gsBArm{0%,33%{transform:rotate(8deg)}37%,99.9%{transform:rotate(70deg)}100%{transform:rotate(8deg)}}
@keyframes gsGArm{0%,27%{transform:rotate(70deg)}30%,31%{transform:rotate(8deg)}35%,99.9%{transform:rotate(38deg)}100%{transform:rotate(70deg)}}
@keyframes gsGiftB{0%,29.9%{opacity:1}30%,100%{opacity:0}}
@keyframes gsGiftG{0%,29.9%{opacity:0;transform:translate(24px,-39px)}30%,31%{opacity:1;transform:translate(24px,-39px)}35%,99.9%{opacity:1;transform:translate(20px,-30px)}100%{opacity:0;transform:translate(24px,-39px)}}
@keyframes gsBWalk{0%,25.9%{opacity:1}26%,71.9%{opacity:0}72%,100%{opacity:1}}
@keyframes gsBStand{0%,25.9%{opacity:0}26%,71.9%{opacity:1}72%,100%{opacity:0}}
@keyframes gsGWalk{0%,75.9%{opacity:0}76%,100%{opacity:1}}
@keyframes gsGStand{0%,75.9%{opacity:1}76%,100%{opacity:0}}
@keyframes gsLeg{from{transform:rotate(-26deg)}to{transform:rotate(26deg)}}
@keyframes gsHeart{
  0%{opacity:0; transform:translate(var(--dx),6px) scale(.3)}
  4%{opacity:1; transform:translate(var(--dx),0) scale(1)}
  10%{transform:translate(calc(var(--dx) + var(--sx)),-10px) scale(1)}
  18%,100%{opacity:0; transform:translate(calc(var(--dx) - var(--sx)),-30px) scale(1.15)}
}
@media(prefers-reduced-motion:reduce){
  .gift-scene .gs-h{opacity:.9;}
  .gift-scene .gs-gstand,.gift-scene .gs-bstand{opacity:1;}
}

/* ===== صفحه‌های ثابت فوتر (خدمات مشتری / درباره کادوچی) ===== */
.sp{max-width:860px;}
.sp-head{margin-bottom:26px;}
.sp-kicker{display:inline-block; font-size:.8rem; font-weight:700; color:var(--gold-deep); background:var(--cream2); border:1px solid var(--frame); border-radius:999px; padding:2px 14px; margin-bottom:10px;}
.sp-head h1.page-title{margin-bottom:16px;}
.sp-lead{color:var(--ink-soft); font-size:1rem; max-width:62ch; margin-bottom:18px;}
.sp-pills{display:flex; flex-wrap:wrap; gap:8px;}
.sp-pills a{padding:7px 16px; border-radius:999px; border:1px solid var(--line); background:var(--paper); font-size:.85rem; font-weight:700; color:var(--ink-soft); transition:background .2s ease,border-color .2s ease,color .2s ease;}
.sp-pills a:hover{border-color:var(--gold);}
.sp-pills a.on{background:var(--ink); border-color:var(--ink); color:var(--cream);}
.sp-body{display:grid; gap:16px;}
.sp-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:24px 26px; box-shadow:var(--shadow-sm);}
.sp-card h2{font-size:1.4rem; margin-bottom:10px; color:var(--ink);}
.sp-card p{color:var(--ink-soft); margin-bottom:12px;}
.sp-card p:last-child,.sp-card ul:last-child,.sp-card ol:last-child{margin-bottom:0;}
.sp-list{list-style:none; padding:0; margin:0 0 12px; display:grid; gap:8px;}
.sp-list li{position:relative; padding-right:22px; color:var(--ink-soft);}
.sp-list li::before{content:""; position:absolute; right:2px; top:.8em; width:8px; height:8px; border-radius:50%; background:var(--gold);}
.sp-steps{list-style:none; padding:0; margin:0 0 12px; counter-reset:st; display:grid; gap:10px;}
.sp-steps li{counter-increment:st; position:relative; padding-right:42px; color:var(--ink-soft);}
.sp-steps li::before{content:counter(st,persian); position:absolute; right:0; top:0; width:30px; height:30px; border-radius:50%; background:var(--cream2); border:1px solid var(--frame); color:var(--gold-deep); font-weight:700; display:flex; align-items:center; justify-content:center; font-size:.9rem;}
.sp-note{background:var(--cream2); border-right:3px solid var(--gold); padding:11px 16px; border-radius:var(--r-sm); font-size:.9rem;}
.sp-faq{display:grid; gap:8px;}
.sp-faq details{border:1px solid var(--line); border-radius:var(--r-sm); background:#fff; overflow:hidden;}
.sp-faq summary{cursor:pointer; list-style:none; padding:13px 16px; font-weight:700; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:12px;}
.sp-faq summary::-webkit-details-marker{display:none;}
.sp-faq summary::after{content:"+"; font-size:1.3rem; line-height:1; color:var(--gold-deep); flex:none;}
.sp-faq details[open] summary::after{content:"−";}
.sp-faq details[open] summary{border-bottom:1px dashed var(--line);}
.sp-faq details p{padding:12px 16px 14px; margin:0;}
.sp-contact{list-style:none; padding:0; margin:0; display:grid; gap:2px;}
.sp-contact li{display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px dashed var(--line);}
.sp-contact li:last-child{border-bottom:none;}
.sp-contact span{color:var(--ink-soft); font-size:.9rem;}
.sp-contact a{color:var(--gold-deep); font-weight:700;}
.sp-form .btn-primary{width:100%; padding:14px; margin-top:4px;}
.sp-form textarea{resize:vertical; min-height:120px;}
@media(max-width:640px){.sp-card{padding:20px 18px;} .sp-contact li{flex-direction:column; gap:2px;}}


/* ===== تیک پذیرش قوانین در ثبت‌نام ===== */
.terms-check{display:flex; align-items:flex-start; gap:10px; margin:2px 0 16px; font-size:.88rem; line-height:1.9; color:var(--ink-soft); cursor:pointer;}
.terms-check input{width:18px; height:18px; margin-top:5px; flex:none; accent-color:var(--gold-deep); cursor:pointer;}
.terms-check a{white-space:nowrap;}


/* ===== پنل کاربری (نمای کلی / سفارش‌ها / آدرس‌ها / اطلاعات حساب) ===== */
.acc-who{display:flex; align-items:center; gap:14px;}
.acc-avatar{width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:700; flex:none;}
.acc-flash{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 16px; border-radius:var(--r-sm); margin-bottom:16px; font-size:.9rem; font-weight:700; transition:opacity .45s ease;}
.acc-flash.ok{color:#3F5D3A; background:#EEF5EC; border:1px solid rgba(63,93,58,.25);}
.acc-flash.err{color:var(--plum-deep); background:#F8E4EA; border:1px solid rgba(124,62,82,.3);}
.acc-flash.out{opacity:0;}
.acc-flash button{border:none; background:none; font-size:1.3rem; line-height:1; cursor:pointer; color:inherit; padding:0 4px;}
.acc-layout{display:grid; grid-template-columns:230px minmax(0,1fr); gap:20px; align-items:start;}
.acc-nav{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:10px; box-shadow:var(--shadow-sm); position:sticky; top:96px;}
.acc-nav nav{display:grid; gap:4px;}
.acc-nav a,.acc-logout button{display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; border-radius:var(--r-sm); border:none; background:none; font-family:inherit; font-size:.92rem; font-weight:700; color:var(--ink-soft); cursor:pointer; text-align:right; transition:background .2s ease,color .2s ease;}
.acc-nav a:hover,.acc-logout button:hover{background:var(--cream2); color:var(--ink);}
.acc-nav a.on{background:var(--cream2); color:var(--gold-deep); box-shadow:inset -3px 0 0 var(--gold);}
.acc-dot{margin-inline-start:auto; font-style:normal; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:var(--plum); color:#fff; font-size:.75rem; display:flex; align-items:center; justify-content:center;}
.acc-logout{margin-top:8px; padding-top:8px; border-top:1px dashed var(--line);}
.acc-logout button:hover{color:var(--plum-deep); background:#F8E4EA;}
.acc-main{min-width:0;}
.acc-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px;}
.acc-stats>div{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:14px 16px; box-shadow:var(--shadow-sm);}
.acc-stats span{display:block; font-size:.8rem; color:var(--ink-soft); margin-bottom:2px;}
.acc-stats strong{font-size:1.15rem; color:var(--ink);}
.acc-stats small{font-size:.72rem; font-weight:400; color:var(--ink-soft);}
.acc-block{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:20px; margin-bottom:16px; box-shadow:var(--shadow-sm);}
.acc-block-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap;}
.acc-block-head h2{font-size:var(--fs-h3); margin:0;}
.acc-block .empty-state{margin:0; padding:26px 16px;}
.btn-xs{padding:6px 14px; font-size:.82rem; border-radius:10px;}
.btn-ghost{background:transparent; border:1px solid var(--frame); color:var(--ink); box-shadow:none;}
.btn-ghost:hover{background:var(--cream2);}
/* سفارش */
.acc-order{border:1px solid var(--line); border-radius:var(--r-sm); background:#fff; padding:14px 16px; margin-bottom:10px;}
.acc-order:last-child{margin-bottom:0;}
.acc-order-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.acc-order-title{display:block; font-size:.95rem; line-height:1.7;}
.acc-order-meta{font-size:.8rem; color:var(--ink-soft);}
.acc-track{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); margin:14px 0 4px; padding:0;}
.acc-track li{position:relative; text-align:center; font-size:.76rem; color:var(--ink-soft);}
.acc-track li i{display:block; width:14px; height:14px; margin:0 auto 4px; border-radius:50%; background:var(--cream2); border:2px solid var(--line); position:relative; z-index:1;}
.acc-track li::before{content:""; position:absolute; top:6px; left:50%; width:100%; border-top:2px solid var(--line);}  /* از مرکز این مرحله تا مرکز مرحله‌ی قبل (سمت راست، چون RTL) */
.acc-track li:first-child::before{display:none;}
.acc-track li.done i,.acc-track li.now i{background:var(--gold); border-color:var(--gold);}
.acc-track li.done::before,.acc-track li.now::before{border-color:var(--gold);}
.acc-track li.now{color:var(--gold-deep); font-weight:700;}
.acc-track li.now i{box-shadow:0 0 0 4px rgba(198,149,47,.2);}
.acc-order-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line);}
.acc-order-actions{display:flex; gap:8px; flex-wrap:wrap;}
/* آدرس */
.acc-addr-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px;}
.acc-addr{border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff; padding:14px 16px; font-size:.9rem; line-height:1.9;}
.acc-addr.on{border-color:var(--gold); background:#FFF8E6;}
.acc-addr p{margin:0; color:var(--ink-soft);}
.acc-addr p.muted{font-size:.84rem;}
.acc-addr-top{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.acc-addr-actions{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:8px; padding-top:8px; border-top:1px dashed var(--line);}
.acc-addr-actions form{display:inline;}
.acc-addr-actions a.linkbtn{font-size:.88rem;}
.linkbtn.danger{color:var(--plum-deep);}
/* فرم‌ها */
.acc-form{background:var(--cream2); border:1px solid var(--frame); border-radius:var(--r-sm); padding:18px; margin-bottom:14px;}
.acc-block>.acc-form:last-child,.acc-block>form.acc-form:only-of-type{margin-bottom:0;}
.acc-form h3{font-size:var(--fs-h3); margin-bottom:10px;}
.acc-form .field{margin-bottom:12px;}
.acc-form input:disabled{background:rgba(255,255,255,.55); color:var(--ink-soft); cursor:not-allowed;}
.acc-form small{display:block; margin-top:4px; font-weight:400; font-size:.78rem; color:var(--ink-soft);}
.acc-grid2{display:grid; grid-template-columns:1fr 1fr; gap:0 14px;}
.acc-form-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:4px;}
.acc-hint{font-size:.84rem; color:var(--ink-soft); margin:-2px 0 12px;}
@media(max-width:860px){
  .acc-layout{grid-template-columns:1fr;}
  .acc-nav{position:static; padding:8px; display:flex; align-items:center; gap:6px; overflow-x:auto;}
  .acc-nav nav{display:flex; gap:4px;}
  .acc-nav a,.acc-logout button{width:auto; white-space:nowrap; padding:9px 14px;}
  .acc-logout{margin:0; padding:0 0 0 0; border:none; border-right:1px dashed var(--line); padding-right:6px;}
  .acc-stats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .acc-addr-grid,.acc-grid2{grid-template-columns:1fr;}
  .acc-block{padding:16px;}
  .acc-order-foot{flex-direction:column; align-items:stretch;}
  .acc-order-actions .btn{flex:1;}
}


/* ===== صفحه‌ی جزئیات سفارش ===== */
.od-track{max-width:560px; margin:18px auto 22px;}
.od-meta{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px;}
.od-meta>div{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:12px 16px; box-shadow:var(--shadow-sm);}
.od-meta span{display:block; font-size:.8rem; color:var(--ink-soft);}
.od-meta strong{font-size:.98rem;}
.od-sum{max-width:380px; margin:0 0 20px auto;}
.od-sum p{display:flex; justify-content:space-between; gap:10px; padding:5px 0; color:var(--ink-soft); font-size:.92rem;}
.od-sum p.grand-total{border-top:1px dashed var(--line); margin-top:6px; padding-top:10px; color:var(--plum-deep); font-weight:700; font-size:1.05rem;}
.od-addr{max-width:520px;}
.od-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px;}
@media(max-width:640px){.od-meta{grid-template-columns:1fr;} .od-sum{max-width:none;}}



/* =====================================================================
   بخش تخفیف (شگفت‌انگیز) — نوار قرمز افقی + ساعت معکوس ورق‌خورنده
   ===================================================================== */
.deals-box{position:relative; display:flex; align-items:stretch; gap:14px; padding:16px; border-radius:24px; color:#fff; overflow:hidden; isolation:isolate;
  background:linear-gradient(118deg,#A80C28 0%,#D8143A 48%,#F0475F 100%); box-shadow:0 18px 40px rgba(168,12,40,.28), inset 0 1px 0 rgba(255,255,255,.22);}
.deals-box::before{content:""; position:absolute; width:340px; height:340px; border-radius:50%; right:-110px; top:-130px; border:1px solid rgba(255,255,255,.2); box-shadow:0 0 0 30px rgba(255,255,255,.05), 0 0 0 62px rgba(255,255,255,.04); z-index:-1;}
.deals-box::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%); z-index:-1; pointer-events:none;}
.deals-side{flex:0 0 220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:6px 4px;}
.deals-img{width:120px; height:120px; object-fit:contain; filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));}
.deals-info{display:flex; flex-direction:column; align-items:center; gap:12px;}
.deals-title{font-size:1.9rem; line-height:1.5; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.22);}

/* ساعت */
.flip{display:flex; align-items:flex-start; gap:6px; direction:ltr;}
.fu{display:flex; flex-direction:column; align-items:center; gap:5px;}
.fu small{font-size:.72rem; font-weight:700; color:rgba(255,255,255,.88); line-height:1;}
.frow{display:flex; gap:3px; direction:ltr;}
.fsep{font:700 1.5rem/40px var(--f-body); color:#fff; opacity:.85;}
.fc{position:relative; width:28px; height:40px; font-family:var(--f-body); font-weight:700; font-size:25px; color:#C8102E; text-align:center;}
.fc .t,.fc .b,.fc .ft,.fc .fb{position:absolute; left:0; right:0; height:50%; overflow:hidden; background:linear-gradient(180deg,#FFFFFF,#FFF1F3); backface-visibility:hidden;}
.fc .t,.fc .ft{top:0; border-radius:7px 7px 0 0;}
.fc .b,.fc .fb{bottom:0; border-radius:0 0 7px 7px; background:linear-gradient(180deg,#FFE3E8,#FFD3DB); box-shadow:0 5px 10px rgba(90,0,20,.25);}
.fc i{position:absolute; left:0; width:100%; height:200%; line-height:40px; font-style:normal;}
.fc .t i,.fc .ft i{top:0;}
.fc .b i,.fc .fb i{bottom:0;}
.fc .ft,.fc .fb{visibility:hidden;}
.fc .ft{transform-origin:50% 100%; z-index:3;}
.fc .fb{transform-origin:50% 0; z-index:3;}
.fc.go .ft,.fc.go .fb{visibility:visible;}
.fc.go .ft{animation:fcTop .3s ease-in both;}
.fc.go .fb{animation:fcBot .3s ease-out .3s both;}
@keyframes fcTop{from{transform:perspective(160px) rotateX(0)} to{transform:perspective(160px) rotateX(-90deg)}}
@keyframes fcBot{from{transform:perspective(160px) rotateX(90deg)} to{transform:perspective(160px) rotateX(0)}}
.fc::after{content:""; position:absolute; left:0; right:0; top:50%; height:1px; margin-top:-.5px; background:rgba(168,12,40,.28); box-shadow:0 1px 0 rgba(255,255,255,.7); z-index:5;}

/* ردیف محصولات */
.deals-scroller{position:relative; flex:1; min-width:0; display:flex; align-items:center;}
.deals-track{flex:1; min-width:0; display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:2px; cursor:grab;}
.deals-track::-webkit-scrollbar{display:none;}
.deals-track.dragging{cursor:grabbing; scroll-snap-type:none; user-select:none;}
.deal-card{flex:0 0 176px; display:flex; flex-direction:column; background:#fff; color:var(--ink); border-radius:14px; overflow:hidden; scroll-snap-align:start; box-shadow:0 6px 16px rgba(60,10,20,.18); transition:transform .25s ease;}
.deal-card:hover{transform:translateY(-3px);}
.deal-art{position:relative; aspect-ratio:1/1; background:#fff; display:flex; align-items:center; justify-content:center;}
.deal-art img{width:100%; height:100%; object-fit:contain; padding:8px; box-sizing:border-box; display:block; -webkit-user-drag:none; user-select:none;}
.deal-ph{font-size:2.4rem;}
.deal-body{padding:4px 12px 12px; display:flex; flex-direction:column; gap:8px; flex:1;}
.deal-body h3{font-family:var(--f-body); font-weight:400; font-size:.86rem; line-height:1.75; color:#3A3A3F; min-height:3.5em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.deal-prices{margin-top:auto; display:flex; flex-direction:column; gap:4px;}
.deal-row{display:flex; align-items:center; justify-content:space-between; gap:8px; direction:rtl;}
.deal-old{color:#9A9AA2; font-size:.85rem; text-decoration:line-through; text-decoration-thickness:1.2px;}
.deal-pct{background:#EF4056; color:#fff; font-weight:700; font-size:.8rem; line-height:1; padding:5px 9px; border-radius:999px;}
.deal-new{display:flex; align-items:baseline; justify-content:space-between; gap:6px; color:#23232A;}
.deal-new b{font-weight:700; font-size:1.12rem; line-height:1.4;}
.deal-new small{font-size:.72rem; font-weight:400; color:#5E5E66;}
.deals-nav{position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:40px; height:40px; border-radius:50%; border:none; background:#fff; color:#C8102E; font-size:1.7rem; line-height:1; cursor:pointer; box-shadow:0 6px 16px rgba(0,0,0,.28); display:flex; align-items:center; justify-content:center; padding-bottom:4px;}
.deals-prev{right:-6px;} .deals-next{left:-6px;}
.deals-nav:hover{background:#FFF1F3;}
.deals-empty{flex:1; display:flex; align-items:center; justify-content:center; min-height:120px; padding:18px; border:1.5px dashed rgba(255,255,255,.45); border-radius:18px; background:rgba(255,255,255,.08); color:#fff; font-weight:700; text-align:center; line-height:1.9;}

@media(max-width:900px){
  .deals-box{flex-direction:column; gap:12px; padding:14px 12px 16px; border-radius:20px;}
  .deals-side{flex:none; flex-direction:row; justify-content:flex-start; align-items:center; gap:12px; text-align:right; padding:0;}
  .deals-img{width:76px; height:76px;}
  .deals-info{flex:1; align-items:center; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; gap:8px 10px; min-width:0;}
  .deals-title{font-size:1.45rem; white-space:nowrap;}
  .deal-card{flex-basis:152px;}
  .deals-nav{display:none;}
}
@media(max-width:520px){
  .deals-box{padding:14px 10px 16px;}
  .deals-side{flex-wrap:wrap; gap:8px;}
  .deals-info{flex:1 1 100%; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:4px;}
  .flip{justify-content:center;}
  .fc{width:24px; height:34px; font-size:21px;} .fc i{line-height:34px;} .fsep{line-height:34px; font-size:1.3rem;}
  .deal-card{flex-basis:146px;}
}

/* =====================================================================
   نوار جستجوی پیشرفته (بالای کادر تیتر) و دایره‌های زیر کادر تیتر
   ===================================================================== */
.hp-search-sec{padding:16px 0 0;}
.search-page .sbar{margin-bottom:18px;}
.sbar{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); padding:10px;}
.sbar-main{display:flex; align-items:center; gap:8px; background:var(--cream); border:1.5px solid var(--line); border-radius:999px; padding:4px 16px 4px 4px; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.sbar-main:focus-within{border-color:var(--gold); box-shadow:0 0 0 4px rgba(198,149,47,.16); background:#fff;}
.sbar-ico{color:var(--gold-deep); flex:none; margin-right:12px;}
.sbar-main input[type=search]{flex:1; min-width:0; border:none; background:transparent; padding:11px 4px; font-size:.97rem; color:var(--ink); box-shadow:none; outline:none; -webkit-appearance:none; appearance:none;}
.sbar-main input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;}
.sbar-go{flex:none; border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:.92rem; color:#fff; padding:10px 24px; border-radius:999px; background:linear-gradient(180deg,#AD7F25,var(--gold-btn)); box-shadow:0 6px 14px rgba(148,106,24,.26), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .2s ease,box-shadow .2s ease;}
.sbar-go:hover{transform:translateY(-1px); box-shadow:0 10px 20px rgba(148,106,24,.34), inset 0 1px 0 rgba(255,255,255,.25);}
.sbar-adv{margin-top:8px;}
.sbar-adv summary{list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:7px; padding:4px 12px; border-radius:999px; font-size:.84rem; font-weight:700; color:var(--gold-deep); transition:background .2s ease;}
.sbar-adv summary::-webkit-details-marker{display:none;}
.sbar-adv summary:hover{background:rgba(198,149,47,.12);}
.sbar-adv[open] summary{background:rgba(198,149,47,.14);}
.sbar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:12px 6px 4px;}
.sbar-grid label{display:block; font-weight:700; font-size:.82rem; color:var(--ink-soft);}
.sbar-grid label input,.sbar-grid label select{margin-top:5px; font-weight:400; color:var(--ink); padding:10px 12px;}
.sbar-checks{grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px 22px;}
.sbar-grid .sbar-chk{display:flex; align-items:center; gap:8px; font-weight:400; font-size:.9rem; color:var(--ink); cursor:pointer;}
.search-count{color:var(--ink-soft); font-size:.9rem; margin:0 4px 14px;}
@media(max-width:860px){.sbar-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){
  .hp-search-sec{padding-top:12px;}
  .sbar{padding:8px; border-radius:var(--r-md);}
  .sbar-go{padding:9px 18px;}
  .sbar-grid{grid-template-columns:1fr;}
}

.hp-circles-sec{padding:16px 0 2px;}
.hp-circles{display:flex; gap:18px; overflow-x:auto; padding:6px 4px 10px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; justify-content:center;}
.hp-circles::-webkit-scrollbar{display:none;}
.hp-circle{flex:none; width:84px; display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; color:var(--ink); scroll-snap-align:start; transition:transform .25s ease;}
a.hp-circle:hover{transform:translateY(-3px);}
.hp-circle-ico-wrap{position:relative; display:inline-block; margin-bottom:6px;}
.hp-circle-ico{width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:var(--cc,#C6952F); color:#fff; overflow:hidden; position:relative; box-shadow:0 8px 16px -6px rgba(58,42,24,.38); transition:transform .25s ease, box-shadow .25s ease;}
.hp-circle-ico::after{content:""; position:absolute; inset:0; background:linear-gradient(150deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%); pointer-events:none;}
a.hp-circle:hover .hp-circle-ico{transform:scale(1.06); box-shadow:0 12px 20px -6px rgba(58,42,24,.45);}
.hp-circle-ico svg{position:relative; z-index:1;}
.hp-circle-ico img{width:100%; height:100%; object-fit:cover; display:block;}
.hp-circle-badge{position:absolute; left:50%; bottom:-7px; transform:translateX(-50%); z-index:2; background:#E5354F; color:#fff; font-style:normal; font-size:.62rem; font-weight:700; line-height:1; padding:3px 8px; border-radius:999px; border:2px solid var(--cream,#FBF6EA); white-space:nowrap;}
.hp-circle-name{font-size:.82rem; font-weight:700; line-height:1.6; color:var(--ink-soft); max-width:84px;}
@media(max-width:860px){.hp-circles{justify-content:flex-start;}}
@media(max-width:640px){.hp-circles{gap:14px;} .hp-circle{width:76px;} .hp-circle-ico{width:62px; height:62px;} .hp-circle-name{font-size:.78rem;}}

/* =====================================================================
   کادر کد تخفیف (سبد خرید و تسویه حساب)
   ===================================================================== */
.cpn{margin:2px 0 10px; padding-bottom:12px; border-bottom:1px dashed var(--frame);}
.cpn-form{display:flex; gap:8px;}
.cpn-form input[type=text]{flex:1; min-width:0; padding:10px 12px; font-size:.9rem; text-transform:uppercase;}
.cpn-form input[type=text]::placeholder{text-transform:none;}
.cpn-form button{flex:none; border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:.88rem; color:#fff; padding:0 20px; border-radius:var(--r-sm); background:linear-gradient(180deg,#AD7F25,var(--gold-btn)); box-shadow:0 6px 14px rgba(148,106,24,.22), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .2s ease;}
.cpn-form button:hover{transform:translateY(-1px);}
.cpn-on{display:flex; align-items:center; justify-content:space-between; gap:10px; background:#E4EDDF; color:var(--ok); border:1px solid rgba(63,93,58,.25); border-radius:var(--r-sm); padding:9px 14px; font-size:.88rem;}
.cpn-on form{margin:0; padding:0;}
.cpn-x{background:none; border:none; cursor:pointer; font-family:inherit; font-size:.82rem; font-weight:700; color:var(--plum); text-decoration:underline; padding:0;}
.cpn-msg{font-size:.84rem; font-weight:700; margin-bottom:8px; padding:0 !important; display:block !important;}
.cpn-msg.ok{color:var(--ok);} .cpn-msg.bad{color:var(--plum);}
.cart-summary p.cpn-line,.checkout-summary p.cpn-line{color:var(--ok); font-weight:700;}


/* ===== نظر مشتریان ===== */
.hp-tm-sec{padding:34px 0 10px;}
.tm-head{text-align:center;}
.tm-track{display:flex;gap:16px;overflow-x:auto;padding:8px 4px 18px;width:max-content;max-width:100%;margin-inline:auto;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;outline:none;}
.tm-track::-webkit-scrollbar{display:none;}
.tm-card{position:relative;flex:none;width:300px;scroll-snap-align:center;margin:0;padding:22px 22px 18px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,#FFFDF7,#FBF4E2);border:1px solid var(--gold-line,rgba(198,149,47,.85));box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:10px;transition:transform .3s ease,box-shadow .3s ease;}
.tm-card::before{content:"";position:absolute;inset:6px;border:1px solid var(--frame);border-radius:calc(var(--r-lg) - 6px);pointer-events:none;opacity:.6;}
.tm-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.tm-quote{position:absolute;top:14px;left:16px;fill:var(--gold-soft);opacity:.75;}
.tm-stars{display:inline-flex;gap:2px;}
.tm-stars svg{fill:none;stroke:#D9CDB3;stroke-width:1.4;}
.tm-stars svg.on{fill:var(--gold);stroke:var(--gold);}
.tm-card blockquote{margin:0;font-size:.93rem;line-height:2;color:var(--ink);flex:1;}
.tm-card figcaption{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px dashed var(--frame);}
.tm-av{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--f-display);font-size:1.3rem;color:#fff;
  background:linear-gradient(145deg,#D9AE52,var(--gold-deep));box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--frame);}
.tm-card figcaption strong{display:block;font-size:.92rem;line-height:1.6;}
.tm-card figcaption small{display:block;color:var(--ink-soft);font-size:.78rem;line-height:1.5;}
@media(max-width:640px){.tm-card{width:min(82vw,300px);}}

/* ===== ظاهر شدن نرم هنگام اسکرول ===== */
.rv{opacity:0;transform:translateY(24px);}
.rv.rv-in{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.22,.7,.25,1),transform .75s cubic-bezier(.22,.7,.25,1);}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;}}

/* ===== پیام‌های سبد خرید ===== */
.cart-notice{margin:0 0 16px;padding:12px 16px;border-radius:var(--r-md);background:#FFF8E6;border:1px dashed var(--frame);color:var(--ink);font-size:.9rem;line-height:1.9;}
.cart-hint{color:var(--gold-deep);font-size:.86rem;font-weight:700;}
.cart-min-warn{color:var(--plum);font-size:.88rem;font-weight:700;line-height:1.9;}
.btn-primary.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;filter:grayscale(.3);}


/* =====================================================================
   پنل کاربری به سبک اپ: کارت «سفارش‌های من» + لیست منو
   ===================================================================== */
.acc-layout{display:block; max-width:720px; margin:0 auto;}
.acc .account-head{max-width:720px; margin-inline:auto;}
.acc-card,.acc-menu{background:var(--paper); border:1px solid var(--gold-line); border-radius:var(--r-md); margin-bottom:14px; overflow:hidden;}
.acc-ohead{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px 4px;}
.acc-otitle{font-size:1.08rem; font-weight:700; color:var(--ink); line-height:1.5; padding-bottom:8px; border-bottom:3px solid var(--plum);}
.acc-all{display:inline-flex; align-items:center; gap:2px; color:var(--gold-deep); font-weight:700; font-size:.88rem;}
.acc-all svg{width:16px; height:16px;}
.acc-st{display:grid; grid-template-columns:repeat(4,1fr); padding:10px 4px 14px;}
.acc-st a{position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; padding:8px 2px; text-align:center; font-size:.8rem; line-height:1.6; font-weight:700; color:var(--ink-soft); -webkit-tap-highlight-color:transparent;}
.acc-st a+a::before{content:""; position:absolute; right:0; top:12%; bottom:12%; border-right:1px solid var(--line);}
.acc-st a:active .acc-bag{transform:scale(.93);}
.acc-bag{position:relative; width:52px; height:52px; transition:transform .2s ease;}
.acc-bag svg{width:52px; height:52px;}
.acc-bag em{position:absolute; left:-8px; bottom:-3px; min-width:24px; height:24px; padding:0 6px; border-radius:8px; background:#E5354F; color:#fff; border:2px solid var(--paper); font-style:normal; font-size:.74rem; font-weight:700; line-height:20px; text-align:center;}
.acc-row{position:relative; display:flex; align-items:center; gap:14px; width:100%; padding:16px 18px; background:none; border:none; font-family:inherit; font-size:.98rem; color:var(--ink); text-align:right; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background .15s ease;}
.acc-row:hover,.acc-row:active{background:var(--cream2);}
.acc-row::after{content:""; position:absolute; bottom:0; right:18px; left:18px; border-bottom:1px solid var(--line);}
.acc-menu>:last-child.acc-row::after,.acc-menu>:last-child .acc-row::after{display:none;}
.acc-row>svg:first-child{width:24px; height:24px; flex:none; color:var(--ink-soft);}
.acc-row>span{flex:1; min-width:0;}
.acc-row small{font-size:.8rem; font-weight:700; color:var(--ink-soft); background:var(--cream2); border-radius:999px; min-width:24px; padding:0 8px; line-height:24px; text-align:center;}
.acc-chev{width:20px; height:20px; flex:none; color:#9A8466;}
.acc-row.out{color:var(--plum-deep);}
.acc-row.out>svg:first-child{color:var(--plum);}
.acc-rowform{margin:0; display:block;}
@media(max-width:380px){
  .acc-st a{font-size:.74rem;}
  .acc-bag,.acc-bag svg{width:46px; height:46px;}
}
