
:root{--bg:#fff;--fg:#222;--muted:#6b7280;--brand:#ff7a00;--brand-dark:#cc6200;--gray:#f7f7f9;--line:#e6e6e9;--card:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.container{width:min(1200px,92%);margin:auto}.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}
header.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.logo{font-weight:800}.nav{display:flex;gap:.25rem}
.nav>a,.nav .drop-toggle{padding:1rem 1rem;border-radius:.5rem;color:#333;font-weight:500}
.nav>a:hover,.nav .drop-toggle:hover{color:var(--brand)}
.nav .cta{background:var(--brand);color:#fff;padding:.6rem 1.1rem;border-radius:.5rem;font-weight:700}
.dropdown{position:relative}
.drop-menu{position:absolute;top:100%;right:0;min-width:320px;background:#fff;border:1px solid var(--line);border-radius:.75rem;padding:.5rem;box-shadow:0 14px 30px rgba(0,0,0,.08);display:none}
.drop-menu a{display:block;padding:.7rem 1rem;border-radius:.5rem;color:#222}
.drop-menu a:hover{background:var(--gray);color:var(--brand)}.drop-menu hr{border:none;border-top:1px solid var(--line);margin:.6rem 0}.drop-menu .more{font-weight:700}
.btn-burger{display:none;background:#fff;border:1px solid var(--line);border-radius:.5rem;padding:.35rem .6rem;font-size:20px}
@media (max-width:900px){.btn-burger{display:block}.nav{position:fixed;inset:0 0 0 auto;width:min(320px,80%);background:#fff;border-left:1px solid var(--line);transform:translateX(100%);transition:.25s;padding:1rem;display:flex;flex-direction:column;gap:.25rem}body.nav-open .nav{transform:translateX(0)}header.topbar .container{justify-content:space-between}}
.hero.light{background:var(--gray)}.section{padding:3rem 0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.prod-card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem}
.prod{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem}.prod-img{border-radius:.75rem;border:1px solid var(--line)}.prod-info{background:var(--card);border:1px solid var(--line);padding:1rem;border-radius:.75rem}
.news-item{padding:1rem;border-bottom:1px dashed var(--line)}.muted{color:var(--muted);font-size:.9rem}
.footer{margin-top:3rem;border-top:1px solid var(--line);background:#fafafa}.footer .copy{border-top:1px solid var(--line);padding:1rem;text-align:center;color:#8f8f99}
.form{display:grid;gap:1rem;max-width:520px}input,textarea{width:100%;padding:.85rem;border-radius:.5rem;border:1px solid var(--line)}input:focus,textarea:focus{outline:none;border-color:var(--brand)}
.alert.success{background:#fff7f0;border:1px solid #ffd2a6;padding:.8rem;border-radius:.5rem}.btn{background:var(--brand);color:#fff;border:none;border-radius:.5rem;padding:.7rem 1.1rem;font-weight:700}.btn:hover{background:var(--brand-dark)}.btn.ghost{background:transparent;border:1px solid var(--line);color:#333}.btn.ghost:hover{border-color:var(--brand);color:var(--brand)}
.slider{position:relative;overflow:hidden;height:420px}.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s}.slide.active{opacity:1}.slider .ctrl{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(0,0,0,.35);color:#fff;font-size:28px;border-radius:.5rem;padding:.2rem .6rem}.slider .prev{left:10px}.slider .next{right:10px}
.about-company{margin-top:2rem;text-align:center}.about-content{max-width:900px;margin:0 auto 1.5rem}.about-content .btn.dark{background:#333;color:#fff;border-radius:6px;padding:.6rem 1.1rem;display:inline-block;margin-top:1rem}.about-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1.5rem}.icon-box{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#fff}
.markets{text-align:center;margin:3rem 0}.markets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.market-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;transition:.25s}.market-item:hover{transform:translateY(-4px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.process{text-align:center;margin:2rem 0}.process-content{display:flex;justify-content:center}.process-content img{border:1px solid var(--line);border-radius:10px;max-width:100%}
.news-carousel{position:relative;margin:3rem 0}.news-track{display:flex;gap:1rem;overflow:hidden;scroll-behavior:smooth}.news-card{min-width:calc(33.333% - .67rem);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.news-card img{width:100%;height:160px;object-fit:cover}.news-body{padding:.8rem}.nctrl{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(0,0,0,.35);color:#fff;font-size:26px;border-radius:.5rem;padding:.2rem .6rem}.nctrl.prev{left:-6px}.nctrl.next{right:-6px}@media (max-width:900px){.news-card{min-width:80%}}

/* === FIX: Navbar alignment + centered sections (desktop) === */
/* NAVBAR */
header.topbar .container { display:flex; align-items:center; justify-content:space-between; }
.nav { display:flex; align-items:center; gap:.25rem; }
.nav > a, .nav .drop-toggle { display:flex; align-items:center; padding:1rem 1rem; line-height:1.6; }

/* Dropdown alignment & grid */
.dropdown { position:relative; }
.drop-menu{
  right:0; left:auto; transform:none;
  display:grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  column-gap:12px; row-gap:4px;
  text-align:right;
}
.drop-menu a{ white-space:nowrap; }
@media (max-width: 900px){
  .drop-menu{ grid-template-columns: 1fr; }
}

/* Center sections */
.about-company h2, .markets h2, .process h2 { text-align:center; }

.about-icons{
  max-width: 1100px;
  margin: 1.5rem auto 0;
  display:grid;
  grid-template-columns: repeat(4, 220px);
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 1200px){
  .about-icons{ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}

.markets-grid{
  max-width: 1200px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  justify-items: center;
}
.market-item{ width: 100%; max-width: 200px; }
@media (max-width: 1200px){
  .markets-grid{ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
}

.process-content{
  max-width: 1100px;
  margin: 0 auto;
  display:flex;
  justify-content:center;
}

/* === HOTFIX 2: precise centering & sizing === */

/* Dropdown: consistent width & padding */
.drop-menu{
  min-width: 560px;           /* دو ستون استاندارد */
  padding: .75rem;            /* فضای داخلی بیشتر */
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
}
.drop-menu a{ padding: .6rem .8rem; }

/* Customers/Markets grid: perfectly centered */
.markets{ margin: 3rem 0; text-align:center; }
.markets .container, .markets{ width: auto; }
.markets-grid{
  width: 100%;
  max-width: 1200px;
  margin-left: auto; margin-right: auto;   /* وسط */
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  justify-content: center;                  /* فضای خالی در دو طرف تقسیم شود */
  align-items: stretch;
}
.market-item{
  width: 100%;
  max-width: 200px;
  margin-left: auto; margin-right: auto;   /* هر کارت وسط ستون خود */
  text-align: center;
}
.market-item img{ margin-left:auto; margin-right:auto; }

/* About icons row center */
.about-icons{
  width: 100%;
  max-width: 1100px;
  margin-left: auto; margin-right: auto;
  justify-content: center;
}

/* Process block center and visible */
.process-content{
  max-width: 1100px;
  margin-left:auto; margin-right:auto;
  padding: .5rem;
  border-radius: 10px;
}
.process-content img{
  display:block;
  max-width:100%;
  height:auto;
}

/* News carousel: card width + arrow visibility */
.news-track{ padding-bottom: 4px; }
.news-card{
  min-width: 340px;                   /* عرض منطقی در دسکتاپ */
  max-width: 420px;
}
@media (max-width: 1100px){
  .news-card{ min-width: 300px; }
}
@media (max-width: 900px){
  .news-card{ min-width: 80%; }
}
.news-carousel{ overflow: hidden; }
.news-carousel .nctrl{
  z-index: 3;
  background: rgba(0,0,0,.45);
  transition: .2s;
}
.news-carousel .nctrl:hover{ background: rgba(0,0,0,.6); }

/* Language switch */
.lang-switch{display:flex; gap:6px; align-items:center; font-weight:700; color:#444}
.lang-switch a{padding:4px 6px; border-radius:4px}
.lang-switch a:hover{background:#f1f1f1}

/* Footer grid like sample */
.footer{background:#fafafa;padding:2rem 0;margin-top:3rem;border-top:1px solid #eee}
.footer-grid{display:grid;grid-template-columns:repeat(5, minmax(200px,1fr));gap:1.25rem}
.footer-grid h4{margin:.25rem 0 .5rem; color:#222}
.footer-grid p{margin:.2rem 0; color:#555; font-size:.92rem}
.footer .certs img{width:44px;height:44px;margin:0 4px 4px 0;opacity:.9}
.footer .social .social-row{display:flex; gap:8px; align-items:center; margin-top:.5rem}
.footer .social a img{width:24px;height:24px;opacity:.85;transition:.2s}
.footer .social a img:hover{opacity:1}
.copy{text-align:center;margin-top:1.2rem;color:#888;font-size:.85rem;border-top:1px solid #eee;padding-top:.8rem}
@media (max-width:1200px){ .footer-grid{grid-template-columns:repeat(3,minmax(200px,1fr));} }
@media (max-width:768px){ .footer-grid{grid-template-columns:repeat(1,minmax(200px,1fr));} }

/* === DROPDOWN BEHAVIOR FIX === */
.drop-menu{ display:none; position:absolute; top:100%; right:0; z-index:1000; }
.dropdown.open > .drop-menu{ display:block; }

/* === MOBILE MENU ACCORDION === */
@media (max-width: 900px){
  /* dropdown inside sidebar: become accordion */
  .nav .dropdown{ width: 100%; }
  .nav .drop-toggle{ display:flex; justify-content:space-between; width:100%; }
  .nav .drop-toggle::after{
    content:'▾'; font-size:14px; margin-right:6px; transition:.2s;
  }
  .nav .dropdown.open > .drop-toggle::after{ transform: rotate(180deg); }

  .nav .drop-menu{
    position: static;
    display: none;
    width: 100%;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: .25rem 0 .5rem;
    margin: 0 0 .25rem 0;
    grid-template-columns: 1fr !important; /* single column */
    row-gap: 2px;
  }
  .nav .dropdown.open > .drop-menu{ display: grid; }
  .nav .drop-menu a{
    padding: .65rem .6rem;
    border-radius: .5rem;
  }
  .nav .drop-menu a:hover{ background: #f5f5f7; }

  /* full-width CTA button like screenshot */
  .nav .cta{
    width: 100%;
    display: block;
    margin-top: 1rem;
    text-align: center;
    padding: .9rem 1rem;
    border-radius: 12px;
  }
  /* make menu content scrollable on small screens */
  .nav{ overflow-y:auto; }
}

/* === FIX 6: Mobile menu robustness + center sections === */

/* Dimmed overlay when menu open */
body.nav-open::before{
  content:"";
  position:fixed; inset:0;
  background:rgba(0,0,0,.35);
  z-index:9; /* below nav (z-index default stacking) */
}

/* Sidebar menu slide-in from RIGHT (RTL layout keeps content on left) */
@media (max-width:900px){
  .nav{
    position:fixed; top:0; right:0; bottom:0; left:auto;
    width:min(360px,85%);
    background:#fff; border-left:1px solid var(--line);
    transform:translateX(100%);
    transition:transform .25s ease;
    padding:1rem; display:flex; flex-direction:column; gap:.25rem;
    z-index:10; /* above overlay */
    overflow-y:auto;
  }
  body.nav-open .nav{ transform:translateX(0); }

  .nav a, .nav .drop-toggle{ font-size:16px; line-height:1.7; }
  .nav .drop-toggle{ display:flex; justify-content:space-between; align-items:center; padding:0.8rem 0.6rem; }
  .nav .drop-toggle::after{ content:'▾'; font-size:14px; margin-right:6px; transition:.2s; }
  .nav .dropdown.open > .drop-toggle::after{ transform:rotate(180deg); }

  /* Accordion panel */
  .nav .drop-menu{
    position:static; display:none; width:100%;
    background:transparent; border:none; box-shadow:none;
    padding:.25rem 0 .5rem; margin:0 0 .25rem 0;
    grid-template-columns:1fr !important; row-gap:2px;
  }
  .nav .dropdown.open > .drop-menu{ display:grid; }
  .nav .drop-menu a{ padding:.55rem .6rem; border-radius:.5rem; }
  .nav .drop-menu a:hover{ background:#f5f5f7; }

  /* CTA */
  .nav .cta{
    width:100%; display:block; margin-top:1rem; text-align:center;
    padding:.9rem 1rem; border-radius:12px;
  }
}

/* Prevent stray triangle bullets */
.nav a,.drop-menu a{ list-style:none; }

/* === Center Process & News titles + content === */
.process, .news-carousel{ text-align:center; }
.process h2, .news-carousel h2{ text-align:center !important; margin-left:auto; margin-right:auto; }
.process-content{ margin-left:auto; margin-right:auto; display:flex; justify-content:center; }
.news-track{ margin-left:auto; margin-right:auto; }

/* === FIX 7: mobile product menu alignment & center sections desktop === */

/* Mobile menu product list: full-width, clean alignment */
@media (max-width:900px){
  .nav .drop-menu{
    width: 100% !important;
    padding: 0.25rem 0 0.5rem;
    margin: 0;
    grid-template-columns: 1fr !important;
    row-gap: 0;
    text-align: right;   /* RTL alignment */
  }
  .nav .drop-menu a{
    display: block;
    width: 100%;
    padding: 0.55rem 0.8rem;
    border-radius: 0;
    font-size: 15px;
    line-height: 1.8;
    border-bottom: 1px solid #f2f2f2;
  }
  .nav .drop-menu a:last-child{ border-bottom: none; }
}

/* Desktop center for Process & News */
@media (min-width:901px){
  .process, .news-carousel{ text-align:center; }
  .process h2, .news-carousel h2{ text-align:center; margin: 0 auto 1rem auto; display:block; }
  .process-content, .news-track{
    margin-left:auto; margin-right:auto;
    justify-content:center; display:flex; flex-wrap:wrap;
  }
  .news-track{ max-width: 1200px; }
}

/* === FIX 8 (finalize) === */

/* Desktop center enforcement */
.process, .news-carousel{ text-align:center; }
.process h2, .news-carousel h2{
  text-align:center !important;
  margin-left:auto !important; margin-right:auto !important;
  width:100%;
}
.process-content{
  margin-left:auto !important; margin-right:auto !important;
  display:flex; justify-content:center; width:100%; max-width:1100px;
}
.news-track{
  margin-left:auto !important; margin-right:auto !important;
  width:100%; max-width:1200px;
}

/* Mobile menu RTL & spacing */
@media (max-width:900px){
  .nav{ direction: rtl; }
  .nav a, .nav .drop-toggle{ font-size: 15px; line-height: 1.65; }
  .nav .drop-toggle{ padding: .7rem .6rem; }
  .nav .drop-menu{
    padding: 0; margin: .1rem 0 .4rem 0;
    max-height: 58vh; overflow-y: auto;
  }
  .nav .drop-menu a{
    font-size: 15px; line-height: 1.6;
    padding: .5rem .6rem;
    text-align: right;
    border-radius: .5rem;
  }
  .nav .drop-menu a + a{ margin-top: 2px; }
  /* keep list inside viewport */
  .nav{ width: min(340px, 88%); }
}

/* Remove any stray list-style markers globally inside nav */
.nav, .nav *{ list-style: none; }

/* === FIX 10: Final centering for Markets, Process, News === */

/* Markets */
.markets, .markets h2{ text-align:center; margin-left:auto; margin-right:auto; }
.markets-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap:16px;
  justify-items:center;
  align-items:stretch;
  margin-left:auto; margin-right:auto;
  max-width:1200px;
}
.market-item{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; background:#fff;
  border:1px solid var(--line); border-radius:12px;
  padding:12px; width:100%; max-width:180px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.market-item img{ display:block; margin:0 auto 8px; max-width:64px; height:auto; }
.market-item:hover{ transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,0,0,.06); }
@media(min-width:901px){ .markets-grid{ grid-template-columns:repeat(6,1fr);} }
@media(max-width:480px){ .markets-grid{ grid-template-columns:repeat(2,1fr);} }

/* Process & News */
.process, .news-carousel{ text-align:center; }
.process h2, .news-carousel h2{
  text-align:center !important;
  margin-left:auto !important; margin-right:auto !important;
  width:100%;
}
.process-content, .news-track{
  margin-left:auto !important; margin-right:auto !important;
  width:100%; display:flex; justify-content:center;
  max-width:1200px;
}
