/* ===================================================================
   پاشاپوش فاخر — v4: conventional, high-usability business layout
   Navy:    #1E3350   Gold: #C6952E   Cream bg: #FBF8F1
=================================================================== */

:root{
  --navy:      #1E3350;
  --navy-dark: #142438;
  --navy-soft: #33507A;
  --gold:      #C6952E;
  --gold-soft: #F3C868;
  --gold-pale: #FBEFD6;
  --ink:       #232323;
  --ink-soft:  #6B6763;
  --bg:        #FBF8F1;
  --card:      #FFFFFF;
  --border:    #EDE7D8;
  --shadow-sm: 0 6px 18px -8px rgba(30,51,80,.12);
  --shadow-md: 0 16px 34px -14px rgba(30,51,80,.18);
  --radius:    14px;
  --container: 1220px;
  --font: 'Vazirmatn', sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
body{ margin:0; font-family:var(--font); background:var(--bg); color:var(--ink); line-height:1.85; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ font-family:var(--font); font-weight:800; margin:0 0 .5em; color:var(--navy); }
p{ margin:0 0 1em; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:var(--font); }
.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }

/* real-photo windowing: shows one cell of the 5x2 product grid photo */
.prod-thumb{
  width:100%; height:100%;
  background:linear-gradient(135deg, var(--gold-pale), var(--border));
}
.pos-r0-c0{ background-position:0% 0%; }
.pos-r0-c1{ background-position:25% 0%; }
.pos-r0-c2{ background-position:50% 0%; }
.pos-r0-c3{ background-position:75% 0%; }
.pos-r0-c4{ background-position:100% 0%; }
.pos-r1-c0{ background-position:0% 100%; }
.pos-r1-c1{ background-position:25% 100%; }
.pos-r1-c2{ background-position:50% 100%; }
.pos-r1-c3{ background-position:75% 100%; }
.pos-r1-c4{ background-position:100% 100%; }

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.85em 1.7em; border-radius:999px; font-weight:700; font-size:.95rem;
  border:1.5px solid transparent; cursor:pointer; white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn-primary{ background:var(--gold); color:#241a06; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--gold-soft); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline{ border-color:var(--navy); color:var(--navy); background:transparent; }
.btn-outline:hover{ background:var(--navy); color:#fff; }
.btn-lg{ padding:1em 2.1em; font-size:1rem; }
.btn-block{ width:100%; }
.btn-quote{
  display:block; width:100%; margin-top:14px; padding:.7em 1em;
  background:var(--gold-pale); color:var(--navy); font-size:.85rem; font-weight:700;
  border-radius:8px; text-align:center;
}
.btn-quote:hover{ background:var(--gold); color:#241a06; }

/* ===================== HEADER ===================== */
.site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.95); backdrop-filter:blur(8px); box-shadow:var(--shadow-sm); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:14px; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand-logo{ height:96px; width:auto; max-height:96px; object-fit:contain; }
.brand-mark{
  width:96px; height:96px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  background:var(--navy); color:var(--gold-soft); font-weight:800; font-size:1.55rem; flex-shrink:0;
}
.brand-text{ display:flex; flex-direction:column; line-height:1.3; }
.brand-text strong{ font-size:1.4rem; font-weight:800; color:var(--navy); }
.brand-text em{ font-style:normal; font-size:.88rem; color:var(--ink-soft); }

/* شماره تلفن / دامنه — ترتیب ثابت LTR حتی در صفحه RTL
   مثال صحیح بصری از چپ به راست: (۰۲۱) ۵۵۶۲ ۲۷۲۵ */
.dir-ltr,
.phone-ltr{
  direction:ltr !important;
  unicode-bidi:bidi-override !important;
  text-align:left;
  display:inline-block;
  white-space:nowrap;
}

.main-nav{ display:flex; gap:26px; align-items:center; }
.main-nav .nav-item{ position:relative; }
.main-nav .nav-link{ display:inline-flex; align-items:center; gap:5px; font-size:.92rem; font-weight:600; color:var(--ink); position:relative; padding:6px 0; }
.main-nav .nav-link::after{ content:""; position:absolute; right:0; bottom:0; width:0; height:2px; background:var(--gold); transition:width .25s ease; border-radius:2px; }
.main-nav .nav-link:hover{ color:var(--navy); }
.main-nav .nav-link:hover::after{ width:100%; }
.submenu-caret{ font-size:.7rem; line-height:1; color:var(--ink-soft); transition:transform .2s ease; }
.submenu-toggle{ display:none; }

/* Desktop dropdown */
.main-nav .submenu{
  position:absolute; top:100%; right:0; margin-top:10px; min-width:210px;
  background:#fff; border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-md,0 12px 30px rgba(30,51,80,.14));
  padding:8px; display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:60;
}
.main-nav .submenu::before{ content:""; position:absolute; top:-10px; right:0; left:0; height:10px; }
.main-nav .submenu a{ font-size:.88rem; font-weight:600; color:var(--ink); padding:9px 12px; border-radius:8px; transition:background .18s ease, color .18s ease; }
.main-nav .submenu a:hover{ background:var(--gold-pale); color:var(--navy); }
.main-nav .has-submenu:hover > .submenu,
.main-nav .has-submenu:focus-within > .submenu{ opacity:1; visibility:visible; transform:translateY(0); }
.main-nav .has-submenu:hover > .nav-link .submenu-caret{ transform:rotate(180deg); }

.header-actions{ display:flex; align-items:center; gap:14px; }
.phone-chip{ display:flex; align-items:center; gap:8px; color:var(--navy); font-size:.85rem; font-weight:700; }
.phone-chip i{ font-size:.95rem; line-height:1; color:var(--gold); }
.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.nav-toggle span{ width:22px; height:2px; background:var(--navy); border-radius:2px; }

/* ===================== SHARED ===================== */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:700; letter-spacing:.02em;
  color:var(--gold); background:var(--gold-pale);
  padding:.35em 1.1em; border-radius:999px; margin-bottom:16px;
  border:1.4px dashed rgba(198,149,46,.55);
}
.eyebrow-dark{ color:var(--navy); background:var(--gold-pale); }
.section-head{ max-width:660px; margin:0 auto 44px; text-align:center; }
.section-head h2{ font-size:clamp(1.6rem,3vw,2.2rem); }
.section-head p{ color:var(--ink-soft); font-size:1.02rem; margin:0; }
[data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible{ opacity:1; transform:none; }
.text-accent{ color:var(--gold); }

/* ===================== SEWING MOTIFS (minimal, geometric) ===================== */
/* stitched seam-line divider between sections */
.seam-divider{
  height:26px;
  background-repeat:repeat-x; background-position:center;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2280%22%20height%3D%2228%22%3E%3Cpath%20d%3D%22M0%2C14%20Q10%2C3%2020%2C14%20T40%2C14%20T60%2C14%20T80%2C14%22%20fill%3D%22none%22%20stroke%3D%22%23C6952E%22%20stroke-width%3D%221.6%22%20stroke-dasharray%3D%224%204%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E");
}
.seam-divider-dark{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2280%22%20height%3D%2228%22%3E%3Cpath%20d%3D%22M0%2C14%20Q10%2C3%2020%2C14%20T40%2C14%20T60%2C14%20T80%2C14%22%20fill%3D%22none%22%20stroke%3D%22rgba(255%2C255%2C255%2C.35)%22%20stroke-width%3D%221.6%22%20stroke-dasharray%3D%224%204%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E");
}

/* topstitch outline inset inside cards — like stitching around a garment panel */
.stitched{ position:relative; }
.stitched::before{
  content:""; position:absolute; inset:7px; border-radius:calc(var(--radius) - 6px);
  border:1.4px dashed rgba(198,149,46,.4); pointer-events:none;
}

/* button-hole marker: two small holes, used as a decorative bullet */
.button-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:16px; height:16px; border-radius:50%; border:1.4px solid var(--gold);
  position:relative; flex-shrink:0;
}
.button-mark::before, .button-mark::after{
  content:""; position:absolute; width:2.5px; height:2.5px; border-radius:50%; background:var(--gold);
}
.button-mark::before{ top:4px; left:4px; }
.button-mark::after{ bottom:4px; right:4px; }

/* ===================== HERO ===================== */
.hero{
  padding-block:56px 60px;
  background:
    repeating-linear-gradient(45deg, rgba(198,149,46,.05) 0 1px, transparent 1px 16px),
    repeating-linear-gradient(-45deg, rgba(198,149,46,.05) 0 1px, transparent 1px 16px),
    linear-gradient(180deg, var(--gold-pale) 0%, var(--bg) 60%);
}
.hero-inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; }
.hero-copy h1{ font-size:clamp(2rem,4vw,2.9rem); line-height:1.3; color:var(--navy); }
.hero-lead{ font-size:1.06rem; color:var(--ink-soft); max-width:54ch; }
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin:26px 0 38px; }
.hero-stats{ display:flex; gap:36px; flex-wrap:wrap; }
.stat{ display:flex; flex-direction:column; }
.stat-num{ font-weight:800; font-size:1.6rem; color:var(--navy); }
.stat-label{ font-size:.82rem; color:var(--ink-soft); }

.hero-visual{ display:flex; justify-content:center; }
/* قالب دوخت‌مانند (قوس + کوک + دکمه) — عکس با object-fit بدون دفرمه */
.hero-frame{
  width:100%; max-width:420px; aspect-ratio:.85/1;
  border-radius:220px 220px 24px 24px;
  overflow:hidden; box-shadow:var(--shadow-md);
  background:var(--navy);
  position:relative;
  border:3px solid rgba(198,149,46,.55);
}
.hero-frame__stitch{
  position:absolute; inset:10px; z-index:3; pointer-events:none;
  border-radius:210px 210px 16px 16px;
  border:2px dashed rgba(243,200,104,.55);
}
.hero-frame__pin{
  position:absolute; z-index:4; width:18px; height:18px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #F3C868, #C6952E 55%, #8a6a1a);
  box-shadow:0 2px 6px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.45);
  pointer-events:none;
}
.hero-frame__pin--tl{ top:18px; right:28%; }
.hero-frame__pin--tr{ top:18px; left:28%; }

.hero-slider{ position:absolute; inset:0; }
.hero-slide{
  position:absolute; inset:0;
  opacity:0; transition:opacity .9s ease;
  pointer-events:none;
}
.hero-slide.is-active{ opacity:1; pointer-events:auto; z-index:1; }
.hero-slide img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}

.hero-slider-dots{
  position:absolute; z-index:5; left:50%; bottom:16px; transform:translateX(-50%);
  display:flex; gap:8px; padding:6px 10px; border-radius:999px;
  background:rgba(20,36,56,.45); backdrop-filter:blur(4px);
}
.hero-dot{
  width:9px; height:9px; border-radius:50%; border:0; padding:0; cursor:pointer;
  background:rgba(255,255,255,.45); transition:background .2s ease, transform .2s ease;
}
.hero-dot.is-active{ background:var(--gold-soft); transform:scale(1.2); }

/* سازگاری با کلاس قدیمی */
.hero-arch{ width:100%; max-width:420px; aspect-ratio:.85/1; border-radius:220px 220px 24px 24px; overflow:hidden; box-shadow:var(--shadow-md); background:var(--navy); position:relative; }
.hero-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; }

/* ===================== FEATURES ===================== */
.features{ padding-block:60px 20px; background:var(--bg); }
.features-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.feature-card{
  background:var(--card); border-radius:var(--radius); padding:28px 24px;
  box-shadow:var(--shadow-sm); text-align:center;
  transition:transform .25s ease, box-shadow .25s ease;
}
.feature-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.feature-icon{
  width:58px; height:58px; border-radius:50%; margin:0 auto 16px;
  background:var(--gold-pale); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
}
.feature-icon i{ font-size:1.35rem; line-height:1; }
.feature-card h3{ font-size:1rem; margin-bottom:8px; }
.feature-card p{ font-size:.88rem; color:var(--ink-soft); margin:0; }

/* ===================== ABOUT ===================== */
.about{ padding-block:70px; background:var(--card); }
.about-inner{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; }
.media-card{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md); }
.media-card img{ aspect-ratio:.9/1; object-fit:cover; }
.about-copy p{ color:var(--ink-soft); }

/* آمار زیر درباره ما */
.facts-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px;
}
.fact-card{
  position:relative; overflow:hidden;
  background:linear-gradient(165deg, #fff 0%, var(--gold-pale) 100%);
  border:1px solid rgba(198,149,46,.22); border-radius:16px;
  padding:22px 18px 20px; text-align:center;
  box-shadow:0 10px 24px -18px rgba(30,51,80,.35);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fact-card::before{
  content:""; position:absolute; inset:0 auto auto 0; width:100%; height:3px;
  background:linear-gradient(90deg, var(--gold) 0%, var(--gold-soft) 100%);
  opacity:.85;
}
.fact-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px -16px rgba(30,51,80,.28);
  border-color:rgba(198,149,46,.45);
}
.fact-card__icon{
  width:44px; height:44px; margin:0 auto 12px; border-radius:50%;
  background:rgba(30,51,80,.06); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
}
.fact-card__icon i{ font-size:1.1rem; line-height:1; }
.fact-card__num{
  display:block; font-size:1.35rem; font-weight:800; color:var(--navy);
  line-height:1.3; margin-bottom:6px;
}
.fact-card__label{
  display:block; font-size:.82rem; color:var(--ink-soft); line-height:1.55;
}

/* سازگاری قدیمی */
.fact-row{ display:none; }

/* ===================== PRODUCTS ===================== */
.products{ padding-block:70px; background:var(--bg); }
.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.product-card{
  background:var(--card); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column;
}
.product-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.product-thumb{ aspect-ratio:1/1; }
.product-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* کاروسل محصولات صفحه اول */
.latest-products-shell{
  position:relative; padding-inline:clamp(44px,5vw,58px); margin-top:8px;
}
.home-products-swiper{ overflow:hidden; padding-bottom:42px; }
.home-products-swiper .swiper-wrapper{ align-items:stretch; }
.home-products-swiper .swiper-slide{
  height:auto; display:flex;
  box-sizing:border-box;
}
.hp-product-card{
  width:100%; height:100%; min-height:390px;
  background:var(--card); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
}
.hp-product-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.hp-product-card__media{
  display:flex; align-items:center; justify-content:center;
  height:300px; flex-shrink:0; padding:20px 18px;
  background:linear-gradient(180deg, #fafbfc 0%, #eef2f7 100%);
  border-bottom:1px solid var(--border);
}
.hp-product-card__img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  object-fit:contain; object-position:center; display:block;
  transition:opacity .35s ease, transform .25s ease;
  image-rendering:auto;
}
.hp-product-card__img:not(.is-loaded){ opacity:.88; }
.hp-product-card:hover .hp-product-card__img{ transform:scale(1.04); }
.hp-product-card__placeholder{
  width:100%; height:100%; min-height:220px; border-radius:10px;
}
.hp-product-card__body{
  flex:1; display:flex; flex-direction:column;
  padding:16px 16px 18px; min-height:132px;
}
.hp-product-card__title{
  font-size:.92rem; margin:0 0 14px; flex:1;
  line-height:1.6; display:flex; align-items:flex-start;
  min-height:3.1em;
}
.hp-product-card__title a{ color:var(--navy); }
.hp-product-card__title a:hover{ color:var(--gold); }
.hp-product-card .btn-quote{ margin-top:auto; width:100%; flex-shrink:0; }

.hp-swiper-btn{
  position:absolute; top:50%; transform:translateY(-58%); z-index:4;
  width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(30,51,80,.14); background:rgba(255,255,255,.96); color:var(--navy);
  box-shadow:0 10px 24px -12px rgba(30,51,80,.4);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hp-swiper-btn:hover{
  background:var(--navy); color:#fff; border-color:var(--navy);
  transform:translateY(-58%) scale(1.06);
  box-shadow:0 14px 28px -12px rgba(30,51,80,.45);
}
.hp-swiper-btn:focus-visible{
  outline:2px solid var(--gold); outline-offset:2px;
}
.hp-swiper-btn:disabled,
.hp-swiper-btn.swiper-button-disabled{
  opacity:.3; cursor:not-allowed; pointer-events:none;
}
.hp-swiper-btn i{ font-size:1rem; line-height:1; }
.hp-swiper-btn--prev{ right:0; }
.hp-swiper-btn--next{ left:0; }
.hp-swiper-pagination{
  bottom:4px !important;
}
.hp-swiper-pagination .swiper-pagination-bullet{
  width:8px; height:8px; background:rgba(30,51,80,.28); opacity:1;
  transition:transform .2s ease, background .2s ease, width .2s ease;
}
.hp-swiper-pagination .swiper-pagination-bullet-active{
  background:var(--gold); transform:scale(1.2); width:18px; border-radius:999px;
}
.latest-products-shell.is-single .hp-swiper-btn,
.latest-products-shell.is-single .hp-swiper-pagination{ display:none; }

.article-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.product-card h3{ font-size:.95rem; padding:16px 16px 0; margin-bottom:0; flex:1; }
.product-card .btn-quote{ margin:14px 16px 16px; width:calc(100% - 32px); }
.see-more-row{ text-align:center; margin-top:36px; }

/* ===================== CATALOG DOWNLOAD ===================== */
.catalog-download{ padding-block:56px; background:var(--card); }
.catalog-download__card{
  display:flex; align-items:center; gap:28px; flex-wrap:wrap;
  background:linear-gradient(135deg, #f8fafc 0%, var(--gold-pale) 55%, #fff 100%);
  border:1px solid rgba(198,149,46,.28); border-radius:20px;
  padding:28px 30px; box-shadow:var(--shadow-md);
}
.catalog-download__icon{
  flex-shrink:0; width:72px; height:72px; border-radius:18px;
  background:var(--navy); color:var(--gold-soft);
  display:flex; align-items:center; justify-content:center;
}
.catalog-download__icon i{ font-size:2rem; line-height:1; }
.catalog-download__body{ flex:1; min-width:220px; }
.catalog-download__body h2{
  font-size:clamp(1.25rem,2.5vw,1.65rem); margin:0 0 10px; color:var(--navy);
}
.catalog-download__body p{
  margin:0 0 8px; color:var(--ink-soft); font-size:.95rem; line-height:1.75; max-width:58ch;
}
.catalog-download__meta{
  display:inline-block; font-size:.78rem; font-weight:700; color:var(--navy-soft);
  background:rgba(30,51,80,.06); padding:.25em .75em; border-radius:999px;
}
.catalog-download__action{ flex-shrink:0; }

/* ===================== ARTICLES ===================== */
.articles{ padding-block:70px; background:var(--card); }
.article-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.article-card{
  background:var(--bg); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform .25s ease, box-shadow .25s ease;
}
.article-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.article-thumb{ height:130px; background:linear-gradient(135deg, var(--gold-pale), var(--border)); }
.article-body{ padding:18px; }
.article-author{ display:flex; align-items:center; gap:6px; font-size:.72rem; color:var(--ink-soft); margin-bottom:10px; }
.article-card h3{ font-size:.95rem; margin-bottom:8px; }
.article-card p{ font-size:.84rem; color:var(--ink-soft); margin:0; }

/* ===================== CLIENTS / LOGOS ===================== */
.clients{ padding-block:70px; background:var(--bg); }
.logo-note{ font-size:.85rem !important; color:var(--ink-soft) !important; }
.logo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.logo-card{
  background:var(--card); border:1px dashed var(--border); border-radius:var(--radius);
  min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:18px 14px 16px; box-shadow:var(--shadow-sm); gap:12px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.logo-card.has-logo{ min-height:148px; border-style:solid; border-color:rgba(198,149,46,.28); }
.logo-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:rgba(198,149,46,.5); }
.logo-card__media{
  width:100%; min-height:72px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-radius:10px; padding:10px 12px;
  border:1px solid rgba(30,51,80,.06);
}
.logo-card__media--dark{
  background:linear-gradient(145deg, #1a2d44 0%, #243b57 100%);
  border-color:rgba(255,255,255,.08);
}
.logo-card__media img{
  max-height:64px; max-width:100%; width:auto; height:auto;
  object-fit:contain; display:block; margin:0 auto;
  filter:grayscale(.1); transition:filter .2s ease, transform .2s ease;
}
.logo-card__media--dark img{ filter:none; }
.logo-card:hover .logo-card__media img{ filter:none; transform:scale(1.03); }
.logo-card__title{
  display:block; margin:0; font-size:.86rem; font-weight:700; line-height:1.45;
  color:var(--navy); letter-spacing:.01em;
}
.logo-card__title--solo{ font-size:.92rem; color:var(--navy-soft); }

/* ===================== CONTACT ===================== */
.contact{ padding-block:70px; background:var(--card); }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:36px; }
.map-card{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); min-height:340px; }
.map-card iframe{ width:100%; height:100%; min-height:340px; border:0; }
.contact-form{
  background:var(--bg); border-radius:var(--radius); padding:30px;
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:16px;
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form label{ display:flex; flex-direction:column; gap:7px; font-size:.85rem; color:var(--ink-soft); font-weight:600; }
.contact-form input, .contact-form textarea{
  font-family:var(--font); font-size:.95rem;
  background:var(--card); border:1.5px solid var(--border); border-radius:10px;
  padding:12px 14px; color:var(--ink); outline:none; transition:border-color .2s ease; resize:vertical;
}
.contact-form input:focus, .contact-form textarea:focus{ border-color:var(--gold); }
.form-note{ font-size:.78rem; color:var(--ink-soft); margin:0; text-align:center; }

.contact-strip{
  margin-top:12px;
  background:linear-gradient(135deg, #15263a 0%, #1e3348 55%, #243f5e 100%);
  border-radius:20px; padding:20px 22px 18px;
  box-shadow:0 18px 40px -24px rgba(15,25,40,.65);
  border:1px solid rgba(255,255,255,.06);
}
.contact-strip__head{
  display:flex; align-items:center; gap:10px;
  margin-bottom:16px; padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.contact-strip__head i{
  width:36px; height:36px; border-radius:10px;
  background:rgba(198,149,46,.16); color:var(--gold-soft);
  display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.contact-strip__head span{
  font-size:.92rem; font-weight:700; color:rgba(255,255,255,.9);
}
.contact-strip__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:12px;
}
a.contact-strip-card{
  text-decoration:none; color:inherit;
}
.contact-strip-card{
  display:flex; align-items:flex-start; gap:12px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:14px 14px 13px;
  transition:background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.contact-strip-card.is-wide{
  grid-column:span 2;
}
.contact-strip-card:hover{
  background:rgba(255,255,255,.1); border-color:rgba(198,149,46,.35);
  transform:translateY(-2px);
  box-shadow:0 10px 24px -14px rgba(0,0,0,.35);
}
.contact-strip-card__icon{
  flex-shrink:0; width:42px; height:42px; border-radius:12px;
  background:rgba(198,149,46,.15); color:var(--gold-soft);
  display:flex; align-items:center; justify-content:center;
}
.contact-strip-card__icon i{ font-size:1.1rem; line-height:1; }
.contact-strip-card.is-instagram .contact-strip-card__icon{
  background:rgba(225,48,108,.18); color:#f9a8d4;
}
.contact-strip-card.is-telegram .contact-strip-card__icon{
  background:rgba(0,136,204,.18); color:#7dd3fc;
}
.contact-strip-card.is-whatsapp .contact-strip-card__icon{
  background:rgba(37,211,102,.18); color:#86efac;
}
.contact-strip-card__body{ min-width:0; flex:1; }
.contact-strip-card__label{
  display:block; font-size:.72rem; font-weight:700; letter-spacing:.02em;
  color:rgba(255,255,255,.62); margin-bottom:5px;
}
.contact-strip-card__value,
.contact-strip-card__value:visited{
  display:block; font-size:.88rem; line-height:1.65; color:#fff !important;
  word-break:break-word;
}
.contact-strip-card__value:hover{ color:var(--gold-soft) !important; }

/* سازگاری قدیمی */
.contact-strip-item{ display:none; }

/* ===================== FOOTER ===================== */
.site-footer{
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.02) 0 1px, transparent 1px 18px),
    var(--navy-dark);
  color:#fff; padding-block:56px 0;
}
/* روی زمینه تیره، همه نوشته‌ها روشن — حتی اگر HTML ادیتور رنگ تیره بدهد */
.site-footer,
.site-footer p,
.site-footer span,
.site-footer a,
.site-footer strong,
.site-footer h4,
.site-footer li,
.site-footer .about-text,
.site-footer .about-text *{
  color:rgba(255,255,255,.88) !important;
}
.site-footer a:hover{ color:var(--gold-soft) !important; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:40px; }
.footer-col h4{ color:#fff !important; font-size:.95rem; margin-bottom:16px; }
.footer-col{ display:flex; flex-direction:column; gap:10px; color:#fff; }
.footer-col a, .footer-col span, .footer-col p,
.footer-col .dir-ltr{ font-size:.85rem; color:rgba(255,255,255,.88) !important; }
.footer-col a:hover{ color:var(--gold-soft) !important; }
.footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.footer-brand__logo{
  max-height:72px; max-width:200px; width:auto; height:auto;
  object-fit:contain; display:block;
}
.footer-brand strong{ color:#fff !important; font-size:1.05rem; }
.footer-brand .brand-mark{ width:54px; height:54px; font-size:1rem; background:rgba(255,255,255,.1); color:var(--gold-soft) !important; }
.footer-brand-col p,
.footer-brand-text{ font-size:.85rem; color:rgba(255,255,255,.78) !important; line-height:1.85; }
.trust-slot{ margin-top:10px; }
.trust-slot > span{ display:block; font-size:.75rem; color:rgba(255,255,255,.65) !important; margin-bottom:8px; }
.trust-placeholder{
  width:88px; height:88px; border:1.5px dashed rgba(255,255,255,.35); border-radius:10px;
  display:flex; align-items:center; justify-content:center; font-size:.72rem; color:rgba(255,255,255,.65) !important;
}
.trust-enamad img{ max-width:88px; height:auto; display:block; border-radius:10px; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding:20px 24px; text-align:center; }
.footer-bottom p{ margin:0; font-size:.82rem; color:rgba(255,255,255,.75) !important; }
.footer-bottom a{ color:var(--gold-soft) !important; }
.footer-bottom a:hover{ color:#fff !important; }

/* ===================== FLOATING BUTTONS ===================== */
.float-contact{
  position:fixed; bottom:26px; right:26px; z-index:60;
  width:54px; height:54px; border-radius:50%; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 26px -8px rgba(30,51,80,.5);
  animation:pulse 2.4s ease-in-out infinite;
}
.float-contact i{ font-size:1.35rem; line-height:1; }
@keyframes pulse{ 0%,100%{ box-shadow:0 12px 26px -8px rgba(30,51,80,.5);} 50%{ box-shadow:0 12px 26px -4px rgba(198,149,46,.55);} }
.to-top{
  position:fixed; bottom:26px; left:26px; z-index:60;
  width:46px; height:46px; border-radius:50%; background:var(--gold); color:#241a06;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  box-shadow:var(--shadow-md);
  opacity:0; pointer-events:none; transform:translateY(10px);
  transition:opacity .3s ease, transform .3s ease;
}
.to-top i{ font-size:1rem; line-height:1; }
.to-top.visible{ opacity:1; pointer-events:auto; transform:none; }

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .main-nav{ display:none; }
  .nav-toggle{ display:flex; }
  .hero-inner{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; }
  .hero-frame, .hero-arch{ max-width:300px; }
  .features-grid{ grid-template-columns:repeat(2,1fr); }
  .about-inner{ grid-template-columns:1fr; }
  .about-media{ max-width:360px; margin:0 auto 26px; }
  .product-grid{ grid-template-columns:repeat(2,1fr); }
  .article-grid{ grid-template-columns:repeat(2,1fr); }
  .logo-grid{ grid-template-columns:repeat(2,1fr); }
  .facts-grid{ grid-template-columns:repeat(3,1fr); gap:12px; }
  .latest-products-shell{ padding-inline:44px; }
  .latest-products-shell{ padding-inline:0; padding-bottom:8px; }
  .hp-swiper-btn{
    top:auto; bottom:-2px; transform:none;
    width:40px; height:40px;
  }
  .hp-swiper-btn:hover{ transform:scale(1.04); }
  .hp-swiper-btn--prev{ right:calc(50% + 28px); }
  .hp-swiper-btn--next{ left:calc(50% - 28px); right:auto; }
  .home-products-swiper{ padding-bottom:54px; }
  .hp-product-card{ min-height:360px; }
  .hp-product-card__media{ height:250px; padding:16px; }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-strip__grid{ grid-template-columns:repeat(2,1fr); }
  .contact-strip-card.is-wide{ grid-column:span 2; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .header-inner{ padding-block:10px; gap:10px; }
  .brand-logo{ height:72px; max-height:72px; }
  .brand-mark{ width:72px; height:72px; font-size:1.25rem; border-radius:14px; }
  .brand-text strong{ font-size:1.1rem; }
  .brand-text em{ display:none; }
  .phone-chip{ display:none; }
  .btn-primary.btn{ padding:.7em 1.1em; font-size:.82rem; }
  .hero-actions{ flex-direction:column; }
  .hero-stats{ gap:20px; }
  .features-grid{ grid-template-columns:1fr; }
  .product-grid{ grid-template-columns:1fr; }
  .article-grid{ grid-template-columns:1fr; }
  .logo-grid{ grid-template-columns:1fr; }
  .facts-grid{ grid-template-columns:1fr; }
  .fact-card{ padding:18px 16px; }
  .latest-products-shell{ padding-inline:38px; }
  .hp-swiper-btn{ width:38px; height:38px; }
  .hp-product-card{ min-height:340px; padding-bottom:0; }
  .hp-product-card__media{ height:230px; padding:14px; }
  .hp-swiper-btn{ width:38px; height:38px; }
  .form-row{ grid-template-columns:1fr; }
  .contact-strip{ padding:16px; border-radius:16px; }
  .contact-strip__grid{ grid-template-columns:1fr; gap:10px; }
  .contact-strip-card.is-wide{ grid-column:span 1; }
  .contact-strip-card{ padding:12px; }
  .catalog-download__card{ flex-direction:column; align-items:stretch; text-align:center; padding:22px 18px; }
  .catalog-download__icon{ margin:0 auto; }
  .catalog-download__action .btn{ width:100%; }
  .footer-grid{ grid-template-columns:1fr; }
}

@media (max-width:980px){
  .main-nav.open{
    display:flex; flex-direction:column; gap:0; align-items:stretch;
    position:absolute; top:100%; right:0; left:0;
    background:#fff; padding:8px 24px 20px; box-shadow:var(--shadow-md);
    max-height:calc(100vh - 70px); overflow-y:auto;
  }
  .main-nav.open .nav-item{ border-bottom:1px solid var(--border); }
  .main-nav.open .nav-item:last-child{ border-bottom:none; }
  .main-nav.open .nav-link{ padding:14px 0; }
  .main-nav.open .nav-item.has-submenu{ position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
  .main-nav.open .has-submenu .nav-link{ flex:1; }

  /* mobile submenu toggle button */
  .main-nav.open .submenu-toggle{
    display:flex; align-items:center; justify-content:center;
    width:38px; height:38px; margin-inline-start:6px;
    border:1px solid var(--border); border-radius:8px; background:var(--gold-pale);
    cursor:pointer; flex-shrink:0; position:relative;
  }
  .main-nav.open .submenu-toggle::before,
  .main-nav.open .submenu-toggle::after{
    content:""; position:absolute; background:var(--navy); border-radius:2px;
  }
  .main-nav.open .submenu-toggle::before{ width:14px; height:2px; }
  .main-nav.open .submenu-toggle::after{ width:2px; height:14px; transition:transform .2s ease; }
  .main-nav.open .submenu-open .submenu-toggle::after{ transform:scaleY(0); }
  .main-nav.open .submenu-caret{ display:none; }

  /* mobile submenu accordion */
  .main-nav.open .submenu{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; padding:0 0 8px; margin:0; min-width:0;
    width:100%; flex-basis:100%;
    display:none;
  }
  .main-nav.open .submenu-open > .submenu{ display:flex; }
  .main-nav.open .submenu a{ padding:11px 16px; border-radius:8px; background:var(--bg-soft,#f6f7f9); margin-top:4px; }
}
body.nav-open{ overflow:hidden; }
