/* Iran Package Core 3.9.4: clean quality routes, visible references and aligned marks. */
@font-face{font-family:IRANSansX;src:url('iransansx-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:IRANSansX;src:url('iransansx-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:block}
:where(html[lang^="fa"],html[dir="rtl"]) body:not(.wp-admin),body.rtl:not(.wp-admin){font-family:IRANSansX,Tahoma,Arial,sans-serif!important}
:where(html[lang^="fa"],html[dir="rtl"]) body:not(.wp-admin) :where(h1,h2,h3,h4,h5,h6,p,a,li,dt,dd,strong,b,small,label,legend,button,input,textarea,select,option,table,th,td,figcaption,blockquote,summary),body.rtl:not(.wp-admin) :where(h1,h2,h3,h4,h5,h6,p,a,li,dt,dd,strong,b,small,label,legend,button,input,textarea,select,option,table,th,td,figcaption,blockquote,summary){font-family:IRANSansX,Tahoma,Arial,sans-serif!important}
:where(html[lang^="fa"],html[dir="rtl"]) :where(.ip-header,.ip-main,.ip-footer,.ipb,.ips,.ipf,.ipw,.ip-fa,.wp-site-blocks,.site-main,.entry-content),body.rtl :where(.ip-header,.ip-main,.ip-footer,.ipb,.ips,.ipf,.ipw,.ip-fa,.wp-site-blocks,.site-main,.entry-content){font-family:IRANSansX,Tahoma,Arial,sans-serif!important}
/* Custom product styles historically name IRANSansX directly. Neutralize those
   declarations on LTR/non-Persian output so English keeps the theme font. */
html:not([lang^="fa"]):not([dir="rtl"]) body:not(.rtl) :where(.ipb,.ipb *,.ips,.ips *,.ipf,.ipf *,.ipw,.ipw *){font-family:inherit!important}
@media (min-width:1321px){
  .ip-header{overflow:visible!important}
  .ip-header .ip-products-menu{position:static!important}
  .ip-header .ip-mega,
  .admin-bar .ip-header .ip-mega{
    position:absolute!important;
    top:calc(100% - 1px)!important;
    inset-block-start:calc(100% - 1px)!important;
    right:0!important;
    left:0!important;
    bottom:auto!important;
    margin:0!important;
    max-height:calc(100vh - 103px)!important;
    transform:translateY(4px)!important;
  }
  .ip-header .ip-products-menu:hover .ip-mega,
  .ip-header .ip-products-menu:focus-within .ip-mega,
  .ip-header .ip-products-menu.mega-open .ip-mega{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .ip-products-menu:after{
    content:"";
    position:absolute;
    top:calc(100% - 3px);
    inset-inline:0;
    height:7px;
  }
}

/* 3.7.7 — keep Brands and Contact distinct without relying on flex-gap support */
.ip-header nav>.ip-nav-utility{display:inline-flex!important;align-items:center;gap:0!important;margin-inline-start:clamp(10px,1.2vw,20px);padding-inline-start:clamp(18px,1.7vw,28px);border-inline-start:1px solid #dfe5de}
.ip-header .ip-nav-utility>a{display:inline-flex;align-items:center;min-height:40px;white-space:nowrap;text-decoration:none!important}
.ip-header .ip-nav-utility>a+a{margin-inline-start:clamp(10px,1vw,14px)!important;padding-inline-start:clamp(10px,1vw,14px)!important;border-inline-start:1px solid #dfe5de}
.ip-header .ip-nav-utility>a:hover,.ip-header .ip-nav-utility>a:focus-visible{color:#00682c!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}
@media(max-width:1320px){.ip-header nav>.ip-nav-utility{width:100%;margin:8px 0 0;padding:16px 0 0;border-inline-start:0;border-top:1px solid #dfe5de}.ip-header .ip-nav-utility>a+a{margin-inline-start:12px!important;padding-inline-start:16px!important}}

.ip-header a:focus-visible,.ip-header button:focus-visible,.ipb-product-card>a:focus-visible,.ip-card>a:focus-visible{outline:3px solid #bcd535!important;outline-offset:4px!important;border-radius:6px}

/* A real lazy-load state: the neutral surface occupies the reserved square,
   then yields to the decoded product image without a white flash. */
.ipb-product-media.is-loading,.ip-card-media{background:#eef1ed}
.ipb-product-media.is-loading:before,.ip-card-media:empty:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.62) 48%,transparent 66%);background-size:220% 100%;animation:ip-image-skeleton 1.35s ease-in-out infinite;pointer-events:none}
.ipb-product-media.is-loading>img{opacity:0}.ipb-product-media>img{position:relative;z-index:1;opacity:1;transition:opacity .22s ease}.ipb-product-media.has-error{background:#eef1ed}
@keyframes ip-image-skeleton{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.ipb-product-media.is-loading:before,.ip-card-media:empty:before{animation:none}.ipb-product-media>img{transition:none}}

/* Product detail media must hug the real image instead of reserving tall,
   tinted placeholder bands above and below it. */
.ip-detail-media{min-height:0!important;height:auto!important;padding:0!important;background:transparent!important;align-self:center!important;overflow:visible!important}
.ip-detail-media:before,.ip-detail-media:after{display:none!important}
.ip-detail-media img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important}
.ip-detail-copy .ip-brand-logo{display:block!important;width:auto!important;height:auto!important;max-width:190px!important;max-height:88px!important;margin:0 0 18px!important;padding:0!important;background:transparent!important;object-fit:contain!important}
html[lang^="fa"] .ip-detail-copy .ip-brand-logo{max-height:76px!important}

.ip-materials>a{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.ip-materials>a:hover,.ip-materials>a:focus-visible{transform:translateY(-3px);border-color:#9aae82!important;background:#fff!important;outline:none}
.ip-materials>a article{height:100%;display:flex;flex-direction:column;overflow:hidden}.ip-materials>a strong{display:block;margin-top:22px}.ip-materials>a p{margin-bottom:0}.ip-materials>a article>b{margin-top:auto;padding-top:24px;color:#315b2a;font-size:.7rem}
.ip-material-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}.ip-material-links .ip-text-link{margin-top:0!important}
.ip-material-visual{min-height:132px;margin:-6px 0 12px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent!important;overflow:visible}
.ip-material-visual svg{width:100%;height:128px;display:block}.ip-material-visual svg *{fill:none;stroke:#477744;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.ip-material-visual .ip-material-leaf,.ip-material-visual .ip-material-husk{fill:none;stroke:#477744}.ip-material-visual .ip-material-cob{fill:#f6db78;stroke:#8f762a}.ip-material-visual .ip-material-kernel{stroke:#8f762a;stroke-width:1.7}

.ip-footer{padding:72px 0 24px!important;background:#09291f!important;color:#fff}
.ip-footer-main{display:grid!important;grid-template-columns:minmax(260px,1.05fr) minmax(430px,1.35fr) minmax(230px,.75fr)!important;gap:clamp(42px,5vw,82px)!important;align-items:start}
.ip-footer section,.ip-footer article{min-width:0}.ip-footer strong{display:block;color:#fff;line-height:1.5}
.ip-footer-brand{font-size:clamp(1.45rem,2vw,2rem)!important;margin-bottom:12px}.ip-footer-intro>p{max-width:360px;margin:0;color:rgba(255,255,255,.68)!important;font-size:.82rem;line-height:1.9}
.ip-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:28px}
.ip-footer-links a{width:max-content;max-width:100%;color:rgba(255,255,255,.78)!important;font-size:.74rem;line-height:1.6;text-decoration:none!important;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.ip-footer-links a:hover,.ip-footer-links a:focus{color:#fff!important;border-color:#bcd535}
.ip-footer-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.ip-footer-locations article{padding-inline-start:20px;border-inline-start:1px solid rgba(255,255,255,.16)}
.ip-footer-locations strong,.ip-footer-contact>strong{margin-bottom:14px;font-size:.88rem;font-weight:900}
.ip-footer-locations p{margin:0;color:rgba(255,255,255,.68)!important;font-size:.78rem;line-height:2}.ip-footer-locations small{display:block;margin-top:8px;color:rgba(255,255,255,.48);font-size:.68rem}
.ip-footer-contact{display:flex;flex-direction:column;align-items:flex-start}.ip-footer-contact-line{display:inline-block;margin-bottom:8px;color:#fff!important;font-size:.82rem;font-weight:800;line-height:1.5;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.42)}
.ip-footer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:24px}.ip-footer-actions a{color:rgba(255,255,255,.75)!important;font-size:.74rem;text-decoration:none!important}.ip-footer-actions a:hover,.ip-footer-actions a:focus{color:#bcd535!important}
.ip-footer-bottom{margin-top:54px!important;padding-top:20px!important;border-top:1px solid rgba(255,255,255,.14)!important;display:flex!important;align-items:center;justify-content:space-between;gap:22px;color:rgba(255,255,255,.48)!important;font-size:.7rem}
.ip-footer-bottom .ip-languages{margin:0}.ip-footer-bottom .ip-languages a{color:rgba(255,255,255,.62)!important;border-color:rgba(255,255,255,.2)!important}.ip-footer-bottom .ip-languages a.is-active{color:#fff!important;background:rgba(255,255,255,.1)!important}

@media (max-width:1050px){
  .ip-footer-main{grid-template-columns:1fr 1fr!important}.ip-footer-intro{grid-column:1/-1}.ip-footer-intro>p{max-width:560px}.ip-footer-links{grid-template-columns:repeat(3,minmax(0,max-content));column-gap:28px}.ip-footer-locations{grid-template-columns:1fr;gap:24px}
}
@media (max-width:680px){
  .ip-footer{padding-top:54px!important}.ip-footer-main{grid-template-columns:1fr!important;gap:38px!important}.ip-footer-intro{grid-column:auto}.ip-footer-links{grid-template-columns:1fr 1fr;gap:9px 18px}.ip-footer-locations{gap:22px}.ip-footer-locations article{padding-inline-start:15px}.ip-footer-bottom{margin-top:38px!important;flex-direction:row!important}.ip-footer-contact-line{font-size:.78rem}
}
@media (max-width:390px){.ip-footer-links{grid-template-columns:1fr}.ip-footer-bottom{align-items:flex-start;flex-direction:column!important}}
@media (prefers-reduced-motion:reduce){.ip-materials>a,.ip-footer a{transition:none}}

/* 3.6.8 — site-wide hierarchy by function */
.ip-display,.ip-home-hero h1{font-size:clamp(2.75rem,4.5vw,5rem)!important;line-height:1.08!important}
.ip-section-head h2,.ip-process-heading h2,.ip-quality-heading h2,.ip-cap-heading h2,.ip-section-title h2,.ip-catalog-header h1,.ip-contact-page h1,.ip-detail-copy h1{font-size:clamp(2rem,3.2vw,3.75rem)!important;line-height:1.18!important}
.ip-lead,.ip-section-head>p,.ip-hero-copy>p{font-size:clamp(.98rem,calc(.25vw + .93rem),1.1rem)!important;line-height:1.85!important}
.ip-card-copy h3,.ip-group-tile h3,.ip-quality-grid h3,.ip-process-grid h3{font-size:clamp(1.05rem,calc(.5vw + .95rem),1.3rem)!important;line-height:1.45!important}
.ip-card-copy p,.ip-group-tile p,.ip-quality-grid p,.ip-process-grid p{font-size:clamp(.9rem,calc(.16vw + .87rem),.98rem)!important;line-height:1.8!important}
.ip-footer-intro>p{font-size:.9rem}.ip-footer-links a,.ip-footer-actions a{font-size:.82rem}
.ip-footer-locations p{font-size:.86rem}.ip-footer-locations small{font-size:.76rem}.ip-footer-contact-line{font-size:.88rem}.ip-footer-bottom{font-size:.76rem}
@media(max-width:680px){
  .ip-display,.ip-home-hero h1{font-size:clamp(2.25rem,10.5vw,3.35rem)!important}
  .ip-section-head h2,.ip-process-heading h2,.ip-quality-heading h2,.ip-cap-heading h2,.ip-section-title h2,.ip-catalog-header h1,.ip-contact-page h1,.ip-detail-copy h1{font-size:clamp(1.85rem,7.6vw,2.65rem)!important}
  .ip-footer-intro>p{font-size:.88rem}.ip-footer-links a,.ip-footer-actions a{font-size:.8rem}.ip-footer-locations p{font-size:.83rem}
}

/* 3.9.3 — consistent brand presentation without stretching either logo. */
.ip-brand-grid .ip-brand-card{display:flex!important;min-width:0;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}
.ip-brand-grid .ip-brand-card>img{display:block!important;width:min(100%,280px)!important;height:132px!important;max-width:280px!important;max-height:132px!important;margin:0 auto 24px!important;padding:0!important;background:transparent!important;object-fit:contain!important;object-position:center!important}
.ip-brand-grid .ip-brand-card>p{width:100%;margin-top:auto!important}
.ip-detail-copy .ip-brand-logo{width:190px!important;height:92px!important;max-width:190px!important;max-height:92px!important;object-position:center!important}

/* All three quality marks share one centred canvas and equal displayed height.
   Width remains automatic, so none of the official proportions are altered. */
.ip-quality-grid>.ip-quality-card{display:flex!important;min-width:0;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}
.ip-quality-visual{display:flex!important;width:100%!important;height:156px!important;margin:0 auto 24px!important;align-items:center!important;justify-content:center!important;overflow:hidden;background:transparent!important}
.ip-quality-visual>img{display:block!important;width:auto!important;height:132px!important;max-width:190px!important;max-height:132px!important;margin:0 auto!important;padding:0!important;opacity:1!important;visibility:visible!important;object-fit:contain!important;object-position:center!important}
.ip-quality-grid>.ip-quality-card>h3,.ip-quality-grid>.ip-quality-card>p{width:100%}

/* Official document reference gallery. The source text stays inside the scans. */
.ip-quality-documents{background:#f4f6f1!important}
.ip-quality-documents .ip-section-head{max-width:820px;margin-bottom:34px}
.ip-quality-document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.ip-quality-document{display:flex;min-width:0;min-height:100%;flex-direction:column;padding:14px 14px 18px;border:1px solid #dce5d7;border-radius:18px;background:#fff;color:#123c2d!important;text-decoration:none!important;box-shadow:0 12px 30px rgba(20,58,42,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ip-quality-document:hover,.ip-quality-document:focus-visible{transform:translateY(-4px);border-color:#9fbd8c;box-shadow:0 18px 36px rgba(20,58,42,.11);outline:none}
.ip-quality-document-media{display:flex;height:260px;margin-bottom:16px;align-items:center;justify-content:center;overflow:hidden;border-radius:11px;background:#eef1ed}
.ip-quality-document-media img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;opacity:1!important;visibility:visible!important;object-fit:contain!important;object-position:center!important}
.ip-quality-document-type{display:inline-flex;width:max-content;max-width:100%;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:#e8f2d9;color:#2f6b2d;font-size:.7rem;font-weight:800;line-height:1.4}
.ip-quality-document strong{display:block;margin:0 0 18px;font-size:.92rem;line-height:1.8}
.ip-quality-document-action{margin-top:auto;color:#386d32;font-size:.76rem;font-weight:800}

/* Product pages link to the scoped quality reference without claiming that
   every permit applies to every item. */
.ip-product-assurance{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);align-items:center;margin:42px auto 0;padding:clamp(24px,3vw,38px);border:1px solid #d7e4cf;border-radius:22px;background:#f3f7ed}
.ip-product-assurance .ip-overline{margin:0 0 7px;color:#367330;font-size:.7rem;font-weight:900;letter-spacing:.05em}
.ip-product-assurance h2{margin:0 0 8px;font-size:clamp(1.35rem,2vw,2rem)!important;line-height:1.35!important}
.ip-product-assurance p:last-child{max-width:760px;margin:0;color:#52655b;line-height:1.9}
.ip-product-assurance .ip-button{margin:0;white-space:nowrap}
.ipw>.ipw-shell>.ip-product-assurance{margin-block:0 72px}

@media(max-width:1100px){.ip-quality-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .ip-product-assurance{grid-template-columns:1fr}.ip-product-assurance .ip-button{width:100%;white-space:normal;text-align:center}
  .ip-quality-document-media{height:300px}
}
@media(max-width:560px){.ip-quality-document-grid{grid-template-columns:1fr}.ip-quality-document-media{height:auto;aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.ip-quality-document{transition:none}}
