/* ==========================================================================
   Persian Carpet — استایل اصلی سایت
   ایده طراحی: رنگ‌های واقعی رنگرزی فرش (لاجورد، روناس، زعفران، پشم) +
   «سلواژ» (حاشیه راه‌راه فرش) به‌عنوان عنصر ساختاری تکرارشونده.
   رنگ‌های دکمه/متن از تنظیمات ادمین به‌صورت CSS variable تزریق می‌شوند.
   ========================================================================== */
:root{
  --c-primary:#9E2B25; --c-on-primary:#fff; --c-accent:#D6A23A; --c-on-accent:#141824;
  --c-dark:#141C46; --c-on-dark:#fff; --c-text:#141824; --c-bg:#ECEBE6;
  --c-paper:#F7F6F2; --c-line:rgba(20,24,36,.16); --c-muted:#5b6070;
  --f-display:'Young Serif','Shippori Mincho',Georgia,serif;
  --f-body:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',system-ui,sans-serif;
  --wrap:1200px; --r:2px; --gap:clamp(12px,2vw,24px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--f-body);font-size:16px;line-height:1.7}
html[lang=ja] body{line-height:1.85}
img,svg{max-width:100%;display:block}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:999}.skip:focus{left:8px;top:8px}
.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}
.narrow{max-width:640px}.center{text-align:center}.mt{margin-top:28px}.muted{color:var(--c-muted)}.small{font-size:.86rem}
.section{padding-block:clamp(40px,7vw,88px)}
.section--tint{background:var(--c-paper);padding-block:clamp(32px,5vw,56px)}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.2;margin:0 0 .5em;letter-spacing:.005em}
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3{font-family:'Shippori Mincho',var(--f-display);font-weight:700;letter-spacing:.03em}
.h1{font-size:clamp(1.9rem,4.5vw,3rem)}.h2{font-size:clamp(1.5rem,3vw,2.1rem)}.h3{font-size:1.15rem;margin-top:1.6em}
.lead{font-size:1.15rem}
.sec-head{max-width:640px;margin-bottom:28px}.sec-head p{margin:0;color:var(--c-muted)}

/* سلواژ: حاشیه راه‌راه شبیه لبه فرش */
.selvedge{height:10px;background:repeating-linear-gradient(90deg,var(--c-primary) 0 14px,var(--c-bg) 14px 20px,var(--c-dark) 20px 34px,var(--c-accent) 34px 40px)}
.selvedge--thin{height:5px;margin-bottom:12px}

/* ---------- دکمه‌ها ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 24px;border:1.5px solid var(--c-primary);background:var(--c-primary);color:var(--c-on-primary);font:500 1rem var(--f-body);text-decoration:none;border-radius:var(--r);cursor:pointer;transition:filter .15s,background .15s}
.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn--sm{min-height:40px;padding:8px 16px;font-size:.92rem}.btn--lg{min-height:52px;font-size:1.05rem}.btn--block{display:flex;width:100%}
.btn--ghost{background:transparent;color:var(--c-text);border-color:var(--c-text)}.btn--ghost:hover{background:var(--c-text);color:var(--c-bg);filter:none}
.btn--accent{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}
.btn--light{background:transparent;border-color:#fff;color:#fff}.btn--light:hover{background:#fff;color:var(--c-dark);filter:none}
.btn--line{background:#06C755;border-color:#06C755;color:#fff}

/* ---------- نوار بالا و هدر ---------- */
.topbar{background:var(--c-dark);color:var(--c-on-dark);font-size:.82rem}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.topbar__time{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.topbar__note{opacity:.85}
.langs{display:flex;gap:2px}.langs a{padding:2px 10px;text-decoration:none;opacity:.7;border-bottom:2px solid transparent}.langs a[aria-current]{opacity:1;border-color:var(--c-accent)}
.header{position:sticky;top:0;z-index:50;background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.header__in{display:flex;align-items:center;gap:24px;min-height:72px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{border-radius:var(--r)}
.logo__t{display:flex;flex-direction:column;font-family:var(--f-display);font-size:1.2rem;line-height:1.1}
.logo__t small{font:500 .74rem var(--f-body);color:var(--c-muted);letter-spacing:.12em}
.nav{display:flex;gap:6px;margin-inline:auto}
.nav a{padding:10px 14px;text-decoration:none;font-weight:500;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--c-primary)}
.header__tools{display:flex;align-items:center;gap:4px}
.iconbtn{position:relative;display:grid;place-items:center;width:46px;height:46px;border:0;background:none;color:inherit;cursor:pointer;text-decoration:none}
.iconbtn:hover{color:var(--c-primary)}
.badge{position:absolute;top:4px;right:2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--c-primary);color:var(--c-on-primary);font-size:.72rem;font-weight:700;display:grid;place-items:center}
.badge[hidden]{display:none}
.menu-btn{display:none}
.ic{flex:none}

/* ---------- هیرو ---------- */
.hero{background:linear-gradient(100deg,rgba(20,28,70,.96) 38%,rgba(20,28,70,.55)),var(--banner) center/cover;color:#fff;padding-block:clamp(36px,6vw,80px)}
.hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:center}
.hero__title{font-size:clamp(2.1rem,5.6vw,4rem);line-height:1.1;margin:0 0 .4em;max-width:14ch}
html[lang=ja] .hero__title{max-width:16ch;line-height:1.35}
.hero__sub{font-size:1.1rem;max-width:46ch;opacity:.92}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero__rug{position:relative;display:block;justify-self:center;width:min(100%,380px);padding:10px;background:var(--c-bg);outline:3px solid var(--c-accent);outline-offset:6px;text-decoration:none;color:var(--c-text)}
.hero__rug img{width:100%;aspect-ratio:2/3;object-fit:cover}
.hero__cap{display:block;padding:10px 4px 2px;font-size:.92rem;font-weight:500}

/* ---------- کارت محصول و گرید (موبایل: ۲ ستون) ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.pcard{display:flex;flex-direction:column;min-width:0}
.pcard__img{position:relative;display:block;aspect-ratio:3/4;background:var(--c-paper);overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:cover}
.is-sold .pcard__img img{filter:grayscale(.6) opacity(.75)}
.tag{display:inline-block;padding:3px 9px;background:var(--c-primary);color:var(--c-on-primary);font-size:.78rem;font-weight:700;border-radius:var(--r)}
.tag--dark{background:var(--c-dark);color:var(--c-on-dark)}
.pcard__img .tag{position:absolute;top:10px;left:10px}
.pcard__name{font-size:1.05rem;margin:0 0 2px}.pcard__name a{text-decoration:none}.pcard__name a:hover{text-decoration:underline}
.pcard__meta{margin:0 0 6px;font-size:.85rem;color:var(--c-muted)}
.price{margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.price strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.price small{font-size:.76rem;color:var(--c-muted)}.price s{color:var(--c-muted);font-size:.86rem}
.pcard form{margin-top:auto}
.price--lg strong{font-size:1.9rem}.price__net{margin:-6px 0 18px;color:var(--c-muted);font-size:.88rem}
.cats{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:16px 0 0;list-style:none}
.cats a{display:block;padding:12px 22px;border:1.5px solid var(--c-dark);text-decoration:none;font-weight:500}.cats a:hover{background:var(--c-dark);color:var(--c-on-dark)}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,48px);margin-top:20px}.why p{margin:0}

/* ---------- خبرنامه ---------- */
.newsletter{background:linear-gradient(rgba(20,28,70,.9),rgba(20,28,70,.9)),var(--banner) center/cover;color:var(--c-on-dark);padding-block:clamp(40px,6vw,72px)}
.newsletter__in{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.newsletter .h2{margin-bottom:.3em}.newsletter p{margin:0}
.nl-form{display:flex;flex-wrap:wrap;gap:8px}
.nl-form input{flex:1 1 220px;min-height:50px;padding:0 16px;border:0;border-radius:var(--r);font:inherit}
.nl-msg{flex-basis:100%;min-height:1.4em;font-size:.92rem}
.social{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}
.social a{display:flex;flex-direction:column;align-items:center;gap:6px;width:112px;padding:18px 8px;border:1.5px solid var(--c-line);text-decoration:none;font-size:.88rem;font-weight:500}
.social a:hover{border-color:var(--c-primary);color:var(--c-primary)}

/* ---------- فوتر ---------- */
.footer{background:var(--c-dark);color:var(--c-on-dark);margin-top:0}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-block:48px 32px}
.footer__brand{font-family:var(--f-display);font-size:1.4rem;margin:0 0 6px}
.footer__txt{opacity:.8;margin:0 0 14px}
.footer__h{font:700 1rem var(--f-body);margin:0 0 12px}
.footer ul{list-style:none;margin:0;padding:0}.footer li{margin-bottom:8px}
.footer a{text-decoration:none;opacity:.88}.footer a:hover{opacity:1;text-decoration:underline}
.footer__contact li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem}
.footer__social{display:flex;gap:6px;margin-top:16px}.footer__social a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.18);padding-block:16px;font-size:.82rem;opacity:.75}
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:80;max-width:560px;margin-inline:auto;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--c-dark);color:#fff;font-size:.88rem;border-radius:var(--r)}
.cookie[hidden]{display:none}.cookie p{margin:0}

/* ---------- فروشگاه و فیلتر ---------- */
.filters{margin-bottom:24px}
.filters__box{border:1px solid var(--c-line);background:var(--c-paper)}
.filters__box summary{cursor:pointer;padding:14px 18px;font-weight:700;list-style:none}.filters__box summary::-webkit-details-marker{display:none}
.filters__box[open] summary{border-bottom:1px solid var(--c-line)}
.filters__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 18px;padding:18px}
.filters label,.form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:500}
.filters__act{padding:0 18px 18px;display:flex;gap:8px}
.range{border:0;margin:0;padding:0;display:flex;align-items:flex-end;gap:6px}.range legend{font-size:.88rem;font-weight:500;padding:0;margin-bottom:6px;float:left;width:100%}.range input{min-width:0;flex:1}
.checks{display:flex;flex-direction:column;gap:8px;justify-content:flex-end}
.sortbar{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.sortbar p{margin:0;color:var(--c-muted)}
.pager{display:flex;gap:6px;justify-content:center;margin-top:36px}
.pager a{min-width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--c-line);text-decoration:none}
.pager a[aria-current]{background:var(--c-dark);color:var(--c-on-dark);border-color:var(--c-dark)}
.empty{padding:40px;text-align:center;background:var(--c-paper);border:1px dashed var(--c-line)}

/* ---------- فرم‌ها ---------- */
input,select,textarea{font:inherit;color:inherit;width:100%;min-height:46px;padding:9px 12px;border:1.5px solid rgba(20,24,36,.35);background:#fff;border-radius:var(--r)}
textarea{min-height:90px;resize:vertical}
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--c-primary);flex:none}
.form{display:grid;gap:16px;margin-top:20px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form__links{margin-top:22px;line-height:2}
.check,.opt{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;font-weight:400!important}
.opts{border:1.5px solid var(--c-line);padding:12px 16px;display:grid;gap:8px;margin:0}.opts legend{font-weight:700;font-size:.9rem;padding:0 6px}
.otp{font-size:1.8rem;letter-spacing:.5em;text-align:center}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.notice{padding:12px 16px;margin:16px 0;background:#e6efe6;border-left:4px solid #2e7d4f}
.notice--err{background:#f6e3e1;border-color:var(--c-primary)}

/* ---------- صفحه محصول ---------- */
.crumbs{font-size:.86rem;color:var(--c-muted);margin-bottom:20px}
.product__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,64px);align-items:start}
.gallery{position:sticky;top:96px}
.gallery__main{position:relative;overflow:hidden;background:var(--c-paper);cursor:zoom-in;aspect-ratio:3/4}
.gallery__main img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.gallery__main.zoomed{cursor:zoom-out}.gallery__main.zoomed img{transform:scale(2.2)}
.gallery__main::after{content:attr(data-hint);position:absolute;left:10px;bottom:10px;padding:3px 10px;background:rgba(20,28,70,.8);color:#fff;font-size:.76rem}
.gallery__main.zoomed::after{display:none}
.gallery__thumbs{display:flex;gap:10px;list-style:none;padding:0;margin:12px 0 0}
.thumb{padding:0;border:2px solid transparent;background:none;cursor:pointer;width:72px}.thumb[aria-current]{border-color:var(--c-primary)}.thumb img{aspect-ratio:3/4;object-fit:cover;width:100%}
.status{display:inline-block;margin:0 0 8px;font-weight:700;font-size:.86rem}
.status--available{color:#2e7d4f}.status--reserved{color:#a86a00}.status--sold{color:var(--c-primary)}
.buy{margin:20px 0 12px}
.prose{max-width:62ch}
.specs{margin:0 0 20px;border-top:1px solid var(--c-line)}
.specs>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--c-line)}
.specs dt{color:var(--c-muted);display:flex;gap:6px;align-items:flex-start}.specs dd{margin:0}
.specs--wide>div{grid-template-columns:190px 1fr}

/* ---------- سبد و تسویه حساب ---------- */
.cart,.checkout{display:grid;grid-template-columns:1fr 360px;gap:clamp(24px,4vw,56px);align-items:start}
.cart__lines{list-style:none;margin:0;padding:0}
.cline{display:grid;grid-template-columns:80px 1fr auto auto auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--c-line)}
.cline img{width:80px;aspect-ratio:3/4;object-fit:cover}
.cline__info{display:flex;flex-direction:column;min-width:0}.cline__name{font-family:var(--f-display);text-decoration:none;font-size:1.05rem}
.cline__qty{display:flex;align-items:center;gap:4px}.cline__qty form{margin:0}
.qbtn{display:grid;place-items:center;width:40px;height:40px;border:1.5px solid var(--c-line);background:#fff;cursor:pointer;color:inherit}.qbtn:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.qbtn:disabled{opacity:.4}
.qnum{min-width:34px;text-align:center;font-weight:700;order:0}
.cline__qty form:first-child{order:0}.cline__qty .qnum{order:1}.cline__qty form:last-child{order:2}
.cline__price{margin:0;font-weight:700;font-variant-numeric:tabular-nums;min-width:96px;text-align:right}
.summary{background:var(--c-paper);padding:24px;border:1px solid var(--c-line);position:sticky;top:96px}
.summary dl{margin:0 0 16px}.summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--c-line);font-variant-numeric:tabular-nums}
.summary dt{color:var(--c-muted)}.summary dd{margin:0}
.summary__total{font-weight:700;font-size:1.25rem;border-bottom:0!important}.summary__total dt{color:inherit}
.summary .btn{margin-top:10px}.summary--flat{position:static}
.mini{list-style:none;margin:0 0 12px;padding:0;font-size:.92rem}.mini li{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.orderno{font-size:1.2rem}

/* ---------- جدول، درباره، تماس ---------- */
.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--c-line)}.table th{font-size:.82rem;color:var(--c-muted)}
.about{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,72px);align-items:start}.about__img{width:100%;aspect-ratio:1;object-fit:cover}
.keys{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0;font-weight:700}.keys li::before{content:"";display:inline-block;width:10px;height:10px;background:var(--c-accent);transform:rotate(45deg);margin-right:10px}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,64px);align-items:start}
.contact-card{background:var(--c-paper);padding:24px;border:1px solid var(--c-line)}.footer__contact--dark{padding:0;margin:0 0 16px}
.map iframe{width:100%;height:100%;min-height:340px;border:0}
.visit{margin-top:56px;max-width:720px}
.prose-page h2{margin-top:1.8em}

.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);z-index:90;background:var(--c-dark);color:#fff;padding:12px 20px;opacity:0;pointer-events:none;transition:.25s;display:flex;gap:16px;align-items:center;max-width:92vw}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.toast a{color:var(--c-accent);font-weight:700}

/* ---------- انیمیشن ابتدایی (۳ ثانیه، فقط یک بار در هر نشست) ---------- */
#intro{display:none}
html.has-intro #intro{display:grid;place-items:center;position:fixed;inset:0;z-index:1000;background:var(--c-dark);transition:opacity .45s,visibility .45s}
html.has-intro body{overflow:hidden}
#intro.out{opacity:0;visibility:hidden}
.intro__stage{text-align:center;color:#fff}
.intro__stage svg{width:min(52vw,260px);height:auto;margin:0 auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}
.intro__name{font-family:var(--f-display);font-size:clamp(1.2rem,4vw,1.7rem);margin:28px 0 0;opacity:0;transform:translateY(8px);transition:.6s}
.intro__name span{display:block;font-size:.8em;opacity:.7;margin-top:4px}
#intro.show-name .intro__name{opacity:1;transform:none}
.intro__skip{position:absolute;right:16px;bottom:16px;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:8px 16px;cursor:pointer;font:inherit}

/* ---------- واکنش‌گرا ---------- */
@media (max-width:1000px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .filters__grid{grid-template-columns:repeat(2,1fr)}
  .hero__in,.product__grid,.cart,.checkout,.two-col,.about,.newsletter__in{grid-template-columns:1fr}
  .gallery,.summary{position:static}
  .why{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .topbar__note{display:none}
  .menu-btn{display:grid}
  .nav{position:fixed;inset:108px 0 auto 0;flex-direction:column;gap:0;margin:0;background:var(--c-bg);padding:8px 16px 20px;border-bottom:1px solid var(--c-line);transform:translateY(-130%);visibility:hidden;transition:transform .25s,visibility .25s;max-height:calc(100vh - 108px);overflow:auto}
  .nav.open{transform:none;visibility:visible}
  .nav a{padding:14px 4px;border-bottom:1px solid var(--c-line);font-size:1.05rem}
  .header__in{gap:8px;min-height:64px}.header__tools{margin-left:auto}
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}     /* موبایل: هر ردیف ۲ آیتم */
  .pcard__name{font-size:.95rem}.price strong{font-size:1.02rem}.pcard .btn{padding-inline:8px}
  .form__row{grid-template-columns:1fr}
  .filters__grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:28px}
  .cline{grid-template-columns:64px 1fr auto;grid-template-areas:"img info del" "img qty price"}
  .cline>a{grid-area:img}.cline img{width:64px}.cline__info{grid-area:info}.cline__qty{grid-area:qty}.cline__price{grid-area:price;text-align:right;min-width:0}.cline>form{grid-area:del}
  .specs>div,.specs--wide>div{grid-template-columns:110px 1fr}
  .table thead{display:none}.table td{display:flex;justify-content:space-between;padding:8px 0;border:0}.table td::before{content:attr(data-l);color:var(--c-muted)}.table tr{display:block;border-bottom:1px solid var(--c-line);padding:8px 0}
  .hero__rug{width:min(100%,300px)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
