.sem-related{padding-top:8px}
.sem-related h2{margin:6px 0 18px}
.sem-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sem-related-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e9df;border-radius:16px;overflow:hidden;text-decoration:none;color:#1d281f;transition:box-shadow .2s,transform .2s}
.sem-related-card:hover,.sem-related-card:focus-visible{box-shadow:0 14px 30px rgba(31,54,31,.12);transform:translateY(-2px)}
.sem-related-card img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#f6f8f4}
.sem-related-name{display:block;padding:14px 16px 2px;font-weight:700;font-size:16px}
.sem-related-meta{display:block;padding:0 16px 16px;font-size:13px;color:#4f5c56}
.sem-related-links{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px}
.sem-related-links a{color:#3f6b1f;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.sem-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ep-cat-intro{max-width:760px;margin:14px auto 0;font-size:16px;line-height:1.65;color:#3d4a43;text-transform:none;font-weight:400}
.ep-cat-intro a{color:#3f6b1f;text-decoration:underline;text-underline-offset:3px}
/* ---- accessibility: skip link ---- */
.ep-skip-link{position:absolute;left:12px;top:-100px;z-index:1000000;padding:12px 18px;border-radius:8px;background:#13220d;color:#fff!important;font:600 15px/1.2 "Open Sans",Arial,sans-serif;text-decoration:none}
.ep-skip-link:focus{top:12px}
/* ---- accessibility: visible keyboard focus ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #2f6b3a!important;outline-offset:2px!important}
/* ---- contrast: theme lime buttons keep the brand colour, text becomes dark ---- */
.btn:not(.btn_transparent):not(.btn_outline),.btn:not(.btn_transparent):not(.btn_outline) *{color:#13220d!important}
.man_page .sm_menu_toggle,.man_page .sm_menu_toggle i{color:#13220d!important}
/* buttons whose own design was overridden by the theme's lime button rule */
.man_page .ep-contact-submit,.man_page .ep-custom-submit{background:#3f7648!important;color:#fff!important}
.man_page .ep-contact-submit:hover,.man_page .ep-custom-submit:hover{background:#32633c!important}
.man_page #epcs-coa-clear{background:#3f7648!important;color:#fff!important}
.man_page #epcs-coa-clear:hover{background:#32633c!important}
.sem-order-cta .sem-btn-primary{color:#10200b!important}
.ep-process-btn{background:#35733f!important}
.ep-process-btn:hover{background:#2b5f34!important}
.ep-contact-btn-wa{background:#27744a!important}
.ep-order-step-num{background:#3d704a!important}
/* ---- contrast: labels and muted text on light sections (no !important so dark-section rules still win) ---- */
html body .ep-about-kicker,html body .ep-benefits-kicker,html body .ep-contact-kicker,html body .ep-custom-kicker,html body .ep-faq-kicker,html body .ep-order-kicker,html body .ep-process-kicker{color:#46652b}
html body .stm-product-item .product-categories,html body .stm-product-item .product-categories a{color:#566d10!important}
html body .ep-contact-phone{color:#566059}
html body .ep-contact-person-role{color:#5a645d}
html body .ep-contact-route-no{color:#44633a}
html body .ep-about-ruo,html body .ep-custom-ruo,html body .ep-contact-form-note,html body .ep-custom-form-note,html body .sem-sources,html body .sem-disclaimer p{color:#4f5a53}
html body .sem-stat small,html body .sem-sku small,html body .sem-profile-row span,html body .ep-contact-route small{color:#5b675e!important}
html body .ep-about-partner-card p{color:#56625a}
html body .ep-benefits-intro{color:#5b655e}
html body .ep-about-pillar-number,html body .ep-custom-card-no{color:#557442}
html body .ep-faq-num{color:#46743f}
html body .elementor-widget-button .elementor-button,html body .elementor-widget-button .elementor-button .elementor-button-text{color:#13220d}
.page-numbers{min-width:44px;text-align:center}
html body .sem-quality-number{color:#276b41}
html body .sem-chain span:nth-child(4n){background:#476b35!important;color:#fff!important}
html body .epcs-coa-eyebrow{color:#566d10!important}
html body .epcs-coa-pill--internal small{color:#566d19!important}
/* inline links inside notes: bigger hit area without changing the line layout */
.ep-contact-help a,.ep-contact-reconnect a,.ep-quote-note a,.ep-contact-form-note a,.ep-custom-form-note a,.ep-cat-intro a,.ep-contact-person a,.ep-footer-support{padding-block:8px}

/* product template colour variables are declared on .sem-product only; sections outside it lost their colours */
body.single-product{--ink:#183126;--muted:#5f6d64;--green:#2f7d4c;--green2:#83a65d;--line:#dce6dc;--soft:#f3f7f1;--cream:#fbfcf8}
/* product "Molecular Design" card: its dark background used a CSS variable that is undefined outside .sem-product */
html body .sem-card.sem-structure{background:#183126!important;border-color:#183126!important;color:#fff}
html body .sem-card.sem-structure h3{color:#fff!important}
html body .sem-card.sem-structure p{color:#c9d6cd!important}
/* ---- brand logo sizing (logo aspect ratio differs from the old one) ---- */
.man_logo .man_logo_img{max-width:none!important}
.man_logo .man_logo_img img{height:40px;width:auto;max-width:none}
@media (max-width:1024px){.man_logo .man_logo_img img{height:34px}}
.ep-footer-logo img{width:150px;height:auto}
h2:after{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
/* ---- COA page: documentation-on-request block ---- */
.ep-coa-request{padding:72px 24px 84px;background:#f5f7f1}
.ep-coa-request-inner{max-width:900px;margin:0 auto;text-align:center}
.ep-coa-request-eyebrow{margin:0 0 12px;color:#46652b;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ep-coa-request h1{margin:0 0 18px;font-size:clamp(30px,4vw,44px);line-height:1.15;color:#1d281f}
.ep-coa-request-lead{margin:0 auto 34px;max-width:760px;font-size:17px;line-height:1.7;color:#48544c}
.ep-coa-request-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 34px;padding:0;list-style:none;text-align:left}
.ep-coa-request-list li{background:#fff;border:1px solid #e3e9df;border-radius:14px;padding:18px 18px 20px}
.ep-coa-request-list strong{display:block;margin-bottom:6px;font-size:15px;color:#1d281f}
.ep-coa-request-list span{font-size:14px;line-height:1.55;color:#5b675e}
.ep-coa-request-actions{display:flex;flex-wrap:wrap;gap:14px 20px;justify-content:center;align-items:center;margin:0 0 18px}
.ep-coa-request-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 26px;border-radius:9px;background:#3f7648;color:#fff!important;font-weight:700;text-decoration:none}
.ep-coa-request-btn:hover{background:#32633c}
.ep-coa-request-link{color:#3f6b1f;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding-block:8px}
.ep-coa-request-note{margin:0;font-size:14px;color:#5b675e}
@media(max-width:900px){.ep-coa-request-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ep-coa-request-list{grid-template-columns:1fr}}
/* ---- legibility: nothing below 12px for labels ---- */
.ep-ar-type,.ep-ar-label,.ep-contact-route-no,.ep-about-trust-item,.ep-custom-ruo{font-size:12px!important}
.ep-ar-media:before{font-size:10px!important;color:#46603f!important}
/* ---- mobile tap targets in the footer and link lists ---- */
@media (max-width:767px){
  .ep-footer li a,.ep-footer-legal a,.ep-footer-contact a{display:inline-block;padding-block:8px}
  .product-categories a{display:inline-block;padding-block:6px}
  .sem-sources a{display:inline-block;padding-block:6px}
}
/* ---- motion ---- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ---- header: always visible on every page (the theme floats it over the content, so it
       disappeared on pages whose first section is a dark image) ---- */
#masthead{position:relative!important;z-index:100;background:#fff}
/* ---- mobile legibility: nothing under 12px on small screens ---- */
@media (max-width:767px){
  html body .ep-contact-person-role,html body .ep-footer-ruo,html body .ep-benefits-kicker,
  html body .ep-support-label,html body .ep-about-ruo,html body .sem-sources,
  html body .sem-sources a,html body .ep-custom-card-no,html body .ep-custom-step-no,
  html body .ep-faq-num,html body .sem-sku small,html body .sem-stat small,
  html body .sem-profile-row span,html body .ep-contact-route small,html body .ep-ar-type,
  html body .ep-ar-label,html body .ep-contact-route-no,html body .ep-about-trust-item,
  html body .ep-custom-ruo,html body .ep-custom-spec span,html body .ep-contact-form-note,
  html body .ep-contact-form-note a,html body .ep-custom-form-note,html body .ep-custom-form-note a,
  html body .ep-contact-bottom p,html body .ep-quote-note,html body .ep-quote-note a,
  html body .sem-chain span{font-size:12px!important;line-height:1.35}
}

/* ---- service contacts: two representatives, WhatsApp + Telegram ---- */
.ep-contact-btn-tg{background:#1c7ca8!important;color:#fff!important}
.ep-contact-btn-tg:hover{background:#17698f!important}
@media (min-width:768px){
  html body .ep-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px}
  html body .ep-contact-person-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
}
/* ---- language switcher ---- */
.ep-flag{flex:0 0 20px;width:20px;height:14px;border-radius:2px;background-size:cover;background-position:center;box-shadow:0 0 0 1px rgba(19,34,13,.14) inset}
html body .ep-lang .ep-flag-en.ep-flag-en.ep-flag-en.ep-flag-en{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23fff%22/><rect y=%220.00%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect y=%226.15%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect y=%2212.30%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect y=%2218.45%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect y=%2224.60%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect y=%2230.75%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect y=%2236.90%22 width=%2260%22 height=%223.08%22 fill=%22%23b22234%22/><rect width=%2224%22 height=%2221.5%22 fill=%22%233c3b6e%22/><circle cx=%224%22 cy=%224%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%2212%22 cy=%224%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%2220%22 cy=%224%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%228%22 cy=%229%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%2216%22 cy=%229%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%224%22 cy=%2214%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%2212%22 cy=%2214%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%2220%22 cy=%2214%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%228%22 cy=%2219%22 r=%221.25%22 fill=%22%23fff%22/><circle cx=%2216%22 cy=%2219%22 r=%221.25%22 fill=%22%23fff%22/></svg>")!important}
html body .ep-lang .ep-flag-es.ep-flag-es.ep-flag-es.ep-flag-es{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23c60b1e%22/><rect y=%2210%22 width=%2260%22 height=%2220%22 fill=%22%23ffc400%22/></svg>")!important}
html body .ep-lang .ep-flag-pt.ep-flag-pt.ep-flag-pt.ep-flag-pt{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23009b3a%22/><path d=%22M30 5 55 20 30 35 5 20Z%22 fill=%22%23fedf00%22/><circle cx=%2230%22 cy=%2220%22 r=%228%22 fill=%22%23002776%22/></svg>")!important}
html body .ep-lang .ep-flag-de.ep-flag-de.ep-flag-de.ep-flag-de{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2213.34%22 fill=%22%23000%22/><rect y=%2213.33%22 width=%2260%22 height=%2213.34%22 fill=%22%23dd0000%22/><rect y=%2226.66%22 width=%2260%22 height=%2213.34%22 fill=%22%23ffce00%22/></svg>")!important}
html body .ep-lang .ep-flag-fr.ep-flag-fr.ep-flag-fr.ep-flag-fr{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2220%22 height=%2240%22 fill=%22%23002395%22/><rect x=%2220%22 width=%2220%22 height=%2240%22 fill=%22%23fff%22/><rect x=%2240%22 width=%2220%22 height=%2240%22 fill=%22%23ed2939%22/></svg>")!important}
html body .ep-lang .ep-flag-it.ep-flag-it.ep-flag-it.ep-flag-it{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2220%22 height=%2240%22 fill=%22%23009246%22/><rect x=%2220%22 width=%2220%22 height=%2240%22 fill=%22%23fff%22/><rect x=%2240%22 width=%2220%22 height=%2240%22 fill=%22%23ce2b37%22/></svg>")!important}
html body .ep-lang .ep-flag-nl.ep-flag-nl.ep-flag-nl.ep-flag-nl{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2213.34%22 fill=%22%23ae1c28%22/><rect y=%2213.33%22 width=%2260%22 height=%2213.34%22 fill=%22%23fff%22/><rect y=%2226.66%22 width=%2260%22 height=%2213.34%22 fill=%22%2321468b%22/></svg>")!important}
html body .ep-lang .ep-flag-ru.ep-flag-ru.ep-flag-ru.ep-flag-ru{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2213.34%22 fill=%22%23fff%22/><rect y=%2213.33%22 width=%2260%22 height=%2213.34%22 fill=%22%230039a6%22/><rect y=%2226.66%22 width=%2260%22 height=%2213.34%22 fill=%22%23d52b1e%22/></svg>")!important}
html body .ep-lang .ep-flag-ar.ep-flag-ar.ep-flag-ar.ep-flag-ar{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23006c35%22/><rect x=%2211%22 y=%2213%22 width=%2238%22 height=%223.4%22 rx=%221.7%22 fill=%22%23fff%22/><rect x=%2211%22 y=%2224%22 width=%2234%22 height=%222.2%22 rx=%221.1%22 fill=%22%23fff%22/><path d=%22M45 25.1 49 22v6.2z%22 fill=%22%23fff%22/></svg>")!important}
html body .ep-lang .ep-flag-ja.ep-flag-ja.ep-flag-ja.ep-flag-ja{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23fff%22/><circle cx=%2230%22 cy=%2220%22 r=%2211%22 fill=%22%23bc002d%22/></svg>")!important}
html body .ep-lang .ep-flag-ko.ep-flag-ko.ep-flag-ko.ep-flag-ko{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23fff%22/><circle cx=%2230%22 cy=%2220%22 r=%229.5%22 fill=%22%23cd2e3a%22/><path d=%22M30 10.5a4.75 4.75 0 0 1 0 9.5 4.75 4.75 0 0 0 0 9.5 9.5 9.5 0 0 1 0-19z%22 fill=%22%230047a0%22/><g fill=%22%23000%22 opacity=%22.92%22><rect x=%227%22 y=%228%22 width=%227.5%22 height=%221.3%22 transform=%22rotate(33 7 8)%22/><rect x=%227%22 y=%2211%22 width=%227.5%22 height=%221.3%22 transform=%22rotate(33 7 11)%22/><rect x=%2246%22 y=%2227%22 width=%227.5%22 height=%221.3%22 transform=%22rotate(-33 46 27)%22/><rect x=%2246%22 y=%2230%22 width=%227.5%22 height=%221.3%22 transform=%22rotate(-33 46 30)%22/></g></svg>")!important}
html body .ep-lang .ep-flag-zh.ep-flag-zh.ep-flag-zh.ep-flag-zh{background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 40%22><rect width=%2260%22 height=%2240%22 fill=%22%23de2910%22/><g fill=%22%23ffde00%22><path d=%22M12.00,4.50L13.46,8.99L18.18,8.99L14.36,11.77L15.82,16.26L12.00,13.48L8.18,16.26L9.64,11.77L5.82,8.99L10.54,8.99Z%22/><path d=%22M23.25,2.43L23.20,4.03L24.70,4.58L23.16,5.02L23.11,6.61L22.21,5.29L20.68,5.73L21.66,4.47L20.77,3.15L22.27,3.69Z%22/><path d=%22M28.56,7.44L27.83,8.87L28.96,10.00L27.38,9.75L26.66,11.17L26.41,9.59L24.83,9.34L26.25,8.62L26.00,7.04L27.13,8.17Z%22/><path d=%22M26.25,13.43L27.23,14.69L28.73,14.15L27.84,15.47L28.82,16.73L27.29,16.29L26.39,17.61L26.34,16.02L24.80,15.58L26.30,15.03Z%22/><path d=%22M22.88,17.83L23.10,19.42L24.68,19.69L23.24,20.39L23.46,21.98L22.35,20.83L20.92,21.53L21.67,20.12L20.56,18.97L22.13,19.24Z%22/></g></svg>")!important}
.ep-lang{position:fixed;left:16px;bottom:16px;z-index:99990;font:600 14px/1.2 "Open Sans",Arial,sans-serif}
.ep-lang details{position:relative}
.ep-lang summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;border-radius:10px;background:#fff;color:#13220d;box-shadow:0 6px 22px rgba(19,34,13,.18);cursor:pointer;list-style:none}
.ep-lang summary::-webkit-details-marker{display:none}
.ep-lang summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-135deg) translateY(-2px);margin-inline-start:2px}
.ep-lang details[open] summary::after{transform:rotate(45deg)}
.ep-lang-code{display:inline-grid;place-items:center;min-width:30px;height:24px;border-radius:6px;background:#13220d;color:#fff;font-size:12px;letter-spacing:.04em}
.ep-lang ul{position:absolute;bottom:calc(100% + 8px);left:0;margin:0;padding:6px;list-style:none;min-width:190px;max-height:70vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(19,34,13,.22)}
.ep-lang li a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;color:#13220d;text-decoration:none}
.ep-lang li a:hover,.ep-lang li a:focus-visible{background:#eef3e8}
.ep-lang li a[aria-current]{background:#13220d;color:#fff}
@media (max-width:767px){.ep-lang-name{display:none}}
html[dir="rtl"] .ep-lang{left:auto;right:16px}
html[dir="rtl"] .ep-lang ul{left:auto;right:0}
/* ---- right-to-left pages ---- */
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .sem-related-links,html[dir="rtl"] .ep-ar-formats{direction:rtl}
html[dir="rtl"] input,html[dir="rtl"] textarea,html[dir="rtl"] select{text-align:right}
html[dir="rtl"] .sem-sku small,html[dir="rtl"] code{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .sem-stat strong,html[dir="rtl"] .sem-profile-row strong,html[dir="rtl"] .sem-profile-row span,html[dir="rtl"] .sem-pill,html[dir="rtl"] .sem-related-meta{unicode-bidi:plaintext}
/* home hero: keep the text column over the darker left side of the photo */
html[dir="rtl"] .elementor-998 .elementor-element-f4e5a8b > .e-con-inner,html[dir="rtl"] .elementor-998 .elementor-element-f4e5a8b > .elementor-container{direction:ltr}
html[dir="rtl"] .elementor-998 .elementor-element-f4e5a8b .elementor-widget-container{direction:rtl;text-align:right}

/* ---- vertical scrolling only ----
   Several sections carry decorative blobs at negative offsets (the footer's
   reaches 270px past the right edge, the product hero's 180px). Desktop
   browsers clip them against an ancestor, but iOS Safari lets the viewport pan
   sideways to reach them instead. Clip at the root so the page can only ever
   scroll up and down. Must be `hidden`, not `clip`: with `overflow-x:clip` the
   other axis stays `visible` and the viewport stops scrolling altogether,
   whereas `hidden` promotes `overflow-y` to `auto` and vertical scrolling
   keeps working. */
html,body{overflow-x:hidden}

/* ---- mobile menu: lift the header layer while the menu is open ----
   The theme wraps the header in #page.man_page, which is position:relative with
   z-index:0 — a stacking context. The off-canvas menu's z-index:999990 is capped
   inside it, so #content (later in the DOM) paints its absolutely positioned
   hero overlay on top and swallows every menu click. Raise the whole header
   layer for as long as the menu is open, and leave normal stacking alone. */
body.ep-mobile-nav-open #page.man_page{z-index:999999}
