/* Original CSS defines appearance. Only replace behavior formerly provided by WP. */
.std-about-evidence { background: #fff; color: #303530; padding: 24px; border: 1px solid #e1e6de; border-radius: 8px; font-size: 14px; line-height: 1.7; }
.std-about-evidence h2 { color: #35702a; font-size: 23px; line-height: 1.3; margin: 0 0 12px; }
.std-about-evidence p { margin: 12px 0; }
.std-about-evidence details { border-top: 1px solid #e1e6de; padding: 12px 0; }
.std-about-evidence summary { cursor: pointer; font-weight: 600; }
.std-about-evidence > a { display: inline-block; color: #35702a; margin-top: 12px; text-decoration: underline; }
.std-factory-evidence { background: #f7f9f5; color: #303530; padding: 64px 24px; scroll-margin-top: 180px; }
.std-factory-inner { max-width: 1200px; margin: 0 auto; min-width: 0; }
.std-factory-evidence h2 { color: #4a9635; font-size: clamp(26px, 3vw, 36px); line-height: 1.25; margin: 0 0 20px; }
.std-factory-evidence h3 { color: #35702a; font-size: 23px; margin: 0 0 16px; line-height: 1.35; }
.std-factory-evidence p { font-size: 16px; line-height: 1.75; margin: 0 0 20px; }
.std-factory-photos { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 28px 0 36px; }
.std-factory-photos figure { margin: 0; min-width: 0; }
.std-factory-photos a { display: block; }
.std-factory-photos img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; }
.std-factory-photos figcaption { padding: 10px 0; font-size: 14px; color: #535d50; line-height: 1.5; }
.std-factory-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.std-factory-evidence table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; background: #fff; }
.std-factory-evidence caption { text-align: left; color: #626b60; font-size: 13px; padding-bottom: 10px; }
.std-factory-evidence th, .std-factory-evidence td { padding: 10px 12px; border: 1px solid #dce5d6; text-align: left; overflow-wrap: anywhere; }
.std-factory-evidence thead th { background: #eaf1e5; font-weight: 600; }
.std-factory-evidence tbody th { font-weight: 400; }
.std-factory-evidence td:last-child { width: 85px; white-space: nowrap; }
.std-factory-evidence .std-factory-note { font-size: 13px; color: #626b60; line-height: 1.7; }
.std-factory-evidence summary { cursor: pointer; padding: 12px 0; font-size: 16px; color: #35702a; font-weight: 600; }
.std-factory-contact { display: inline-block; color: #35702a; text-decoration: underline; }
@media(max-width:900px) { .std-factory-photos { grid-template-columns: repeat(2,minmax(0,1fr)); } .std-factory-columns { gap: 24px; } }
@media(max-width:600px) { .std-factory-evidence { padding: 40px 20px; } .std-factory-columns { grid-template-columns: minmax(0,1fr); gap: 28px; } .std-factory-photos { gap: 14px; } .std-factory-evidence table { font-size: 14px; } .std-factory-evidence th, .std-factory-evidence td { padding: 8px; } }
.std-footer-documents a { color: #35702a; font-size: 14px; text-decoration: underline; }
.ekit-template-content-footer { margin-top: 40px; padding-bottom: 0; }
.ekit-template-content-footer .elementor-286 .elementor-element-10486b0 { --margin-top: 0px; --margin-bottom: 24px; --padding-top: 0px; --padding-bottom: 0px; }
.ekit-template-content-footer .elementor-286 .elementor-element-10486b0 > .e-con-inner { max-width: 1200px; width: calc(100% - 48px); }
.ekit-template-content-footer .elementor-286 .elementor-element-88d7731 { --padding-left: 0px; --padding-right: 0px; --padding-bottom: 32px; }
.ekit-template-content-footer .elementor-286 .elementor-element-88d7731 > .e-con-inner { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.2fr); gap: 32px; max-width: 1200px; width: calc(100% - 48px); align-items: start; }
.ekit-template-content-footer .elementor-286 .elementor-element-88d7731 > .e-con-inner > .e-con { --width: 100%; width: 100%; min-width: 0; --margin-left: 0px; --margin-right: 0px; --padding-left: 0px; --padding-right: 0px; }
.ekit-template-content-footer .elementor-286 .elementor-element-35c08e0 img { width: 120px; height: auto; object-fit: contain; }
.ekit-template-content-footer .elementor-social-icons-wrapper { display: flex; flex-wrap: wrap; gap: 10px; }
.ekit-template-content-footer .elementor-social-icons-wrapper .elementor-grid-item { margin: 0; }
.ekit-template-content-footer .elementor-icon-list-text { overflow-wrap: anywhere; }
.std-footer-copyright { border-top: 1px solid #e1e6de; text-align: center; color: #737a70; font-size: 13px; line-height: 1.6; padding: 18px 24px; }
.std-form-optional { margin: 16px 0 0; border-top: 1px solid #e1e8de; padding-top: 12px; }
.std-form-optional summary { cursor: pointer; color: #35702a; font-size: 14px; }
.std-form-optional[open] .std-form-grid { margin-top: 16px; }
@media(max-width:1024px) { .ekit-template-content-footer .elementor-286 .elementor-element-88d7731 > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; } }
@media(max-width:767px) { .ekit-template-content-footer { margin-top: 24px; } .ekit-template-content-footer .elementor-286 .elementor-element-88d7731 > .e-con-inner { grid-template-columns: minmax(0,1fr); width: calc(100% - 32px); gap: 24px; } }
.std-detail { color: #303530; background: #fff; font-size: 16px; line-height: 1.7; }
.std-detail-inner { max-width: 1200px; width: calc(100% - 48px); margin: 0 auto; padding: 24px 0 56px; }
.std-detail-breadcrumb { color: #737a70; font-size: 13px; margin-bottom: 30px; }
.std-detail-breadcrumb p { margin: 0; }
.std-detail-breadcrumb a,.std-detail-description-link { color: #35702a; }
.std-detail-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 56px; align-items: start; }
.std-detail h1 { font-size: 36px; line-height: 1.25; font-weight: 600; color: #263124; margin: 0 0 20px; }
.std-detail h2 { font-size: 27px; line-height: 1.3; color: #263124; margin: 0 0 20px; }
.std-detail h3 { font-size: 18px; line-height: 1.4; color: #263124; margin: 0 0 12px; }
.std-detail-model { color: #4b9738; font-size: 12px; font-weight: 600; letter-spacing: .08em; margin: 0 0 12px; }
.std-detail-intro { color: #667061; font-size: 15px; margin: 0 0 22px; }
.std-gallery-main { display: block; width: 100%; background: #f7f8f5; border: 1px solid #e6eae2; padding: 24px; border-radius: 5px; cursor: zoom-in; color: #52614b; }
.std-gallery-main img { display: block; width: 100%; height: 490px; object-fit: contain; }
.std-gallery-main span { display: block; font-size: 12px; margin-top: 10px; }
.std-gallery-caption { font-size: 12px; color: #778071; margin: 10px 0; }
.std-gallery-thumbnails { display: flex; gap: 10px; overflow-x: auto; padding: 4px 0; }
.std-gallery-thumbnails button { flex: 0 0 76px; background: #fff; border: 1px solid #e1e5de; padding: 4px; border-radius: 3px; cursor: pointer; }
.std-gallery-thumbnails button[aria-pressed=true] { border: 2px solid #4b9738; padding: 3px; }
.std-gallery-thumbnails img { display: block; width: 66px; height: 66px; object-fit: contain; }
.std-detail-specs { margin: 0; font-size: 14px; }
.std-detail-specs > div { display: grid; grid-template-columns: minmax(90px,1fr) minmax(0,2fr); gap: 20px; padding: 10px 0; border-bottom: 1px solid #e1e6de; }
.std-detail-specs dt { font-weight: 600; color: #5c6954; }
.std-detail-specs dd { margin: 0; overflow-wrap: anywhere; }
.std-detail-terms { display: flex; gap: 35px; padding: 20px 0; }
.std-detail-terms span { display: block; color: #737d6b; font-size: 12px; }
.std-detail-terms strong { font-size: 18px; font-weight: 600; }
.std-detail-description-link { display: inline-block; margin-top: 18px; font-size: 14px; }
.std-detail-description,.std-detail-section { margin-top: 56px; padding-top: 32px; border-top: 1px solid #e1e6de; scroll-margin-top: 150px; }
.std-original-description { overflow-wrap: anywhere; }
.std-original-description img { max-width: 100%; height: auto; }
.std-original-description table { display: block; max-width: 100%; overflow-x: auto; }
.std-buying-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.std-buying-columns p { font-size: 14px; color: #667061; margin: 0; }
.std-detail-faq details { border-bottom: 1px solid #e1e6de; padding: 14px 0; }
.std-detail-faq summary { cursor: pointer; font-weight: 600; }
.std-detail-faq details p { font-size: 14px; max-width: 800px; }
.std-related-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.std-related-links .std-related-card { display: flex; flex-direction: column; border: 1px solid #e1e6de; border-radius: 5px; color: #35702a; font-size: 15px; text-decoration: none; overflow: hidden; }
.std-related-photo { background: #f7f8f5; padding: 14px; }
.std-related-photo img { display: block; width: 100%; height: 215px; object-fit: contain; }
.std-related-text { display: flex; flex-direction: column; flex: 1; padding: 18px; }
.std-related-text h3 { font-size: 15px; line-height: 1.5; margin: 8px 0 18px; }
.std-related-model { font-size: 11px; color: #76806f; }
.std-related-view { margin-top: auto; font-size: 12px; }
@media (max-width: 1024px) { .std-related-links { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.std-gallery-dialog { padding: 40px 20px 20px; border: 0; border-radius: 5px; width: min(900px,92vw); max-height: 90vh; }
.std-gallery-dialog::backdrop { background: rgba(0,0,0,.75); }
.std-gallery-dialog img { display: block; width: 100%; height: 72vh; object-fit: contain; }
.std-gallery-dialog button { position: absolute; top: 8px; right: 12px; padding: 0 10px; border: 0; background: white; color: #333; font-size: 26px; cursor: pointer; }
@media (max-width: 767px) {
  .std-detail-inner { width: calc(100% - 32px); }
  .std-detail-hero { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .std-detail h1 { font-size: 27px; }
  .std-detail h2 { font-size: 23px; }
  .std-gallery-main img { height: 340px; }
  .std-buying-columns { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .std-related-links { gap: 12px; }
  .std-related-photo { padding: 8px; }
  .std-related-photo img { height: 150px; }
  .std-related-text { padding: 12px; }
  .std-related-text h3 { font-size: 13px; }
}
.std-product-summary,.std-inquiry,.std-category-guide { box-sizing: border-box; color: #333; background: #f7f9f6; border: 1px solid #e1e8de; border-radius: 8px; padding: 24px; font-size: 15px; line-height: 1.6; }
.std-product-summary h2,.std-inquiry h2,.std-category-guide h2 { color: #4b9738; font-size: 24px; line-height: 1.3; margin: 0 0 16px; }
.std-product-summary p,.std-inquiry p,.std-category-guide p { margin: 12px 0; }
.std-product-summary dl,.std-spec-table dl { margin: 0; }
.std-product-summary dl > div,.std-spec-table dl > div { display: grid; grid-template-columns: minmax(90px,1fr) minmax(0,2fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid #e1e8de; }
.std-product-summary dt,.std-spec-table dt { font-weight: 600; }
.std-product-summary dd,.std-spec-table dd { margin: 0; overflow-wrap: anywhere; }
.std-product-summary .std-commercial-terms { margin-top: 12px; }
.std-inquiry-wide { max-width: 1140px; margin: 32px auto; width: 100%; }
.std-category-guide { max-width: 1140px; width: calc(100% - 32px); margin: 32px auto; }
.std-category-guide ul { padding-left: 22px; }
.std-category-guide summary { cursor: pointer; padding: 12px 0; color: #4b9738; font-weight: 600; }
.std-spec-table { overflow-x: auto; margin: 12px 0; }
.std-spec-table table { width: 100%; background: white; font-size: 14px; }
.std-spec-table th,.std-spec-table td { padding: 12px; text-align: left; vertical-align: top; }
.std-spec-table caption { text-align: left; margin-bottom: 8px; color: #666; }
.std-spec-table th[scope=row] { width: 38%; }
.std-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.std-actions a,.std-inquiry button[type=submit] { display: inline-block; background: #4b9738; color: white; border: 1px solid #4b9738; border-radius: 3px; padding: 12px 18px; font-size: 15px; text-decoration: none; cursor: pointer; }
.std-actions a:last-child { background: white; color: #4b9738; }
.std-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.std-form-grid label { display: block; font-size: 14px; font-weight: 600; }
.std-form-grid label > :is(input,select,textarea) { display: block; width: 100%; box-sizing: border-box; border: 1px solid #bec8ba; background: white; color: #333; border-radius: 3px; padding: 10px; margin-top: 6px; min-height: 44px; font: inherit; font-size: 16px; font-weight: 400; }
.std-form-grid textarea { resize: vertical; }
.std-form-full { grid-column: 1/-1; }
.std-form-note { font-size: 13px; color: #5c6558; }
.std-guide-contact,.std-inquiry p a,.std-spec-table a { color: #35702a; text-decoration: underline; }
.std-inquiry { scroll-margin-top: 160px; }
.std-inquiry button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 767px) {
  .std-form-grid { grid-template-columns: minmax(0,1fr); }
  .std-product-summary,.std-inquiry,.std-category-guide { padding: 18px; }
  .std-product-summary h2,.std-inquiry h2,.std-category-guide h2 { font-size: 21px; }
  .std-spec-table dl > div { display: block; }
}
.elementor-invisible { visibility: visible !important; }
/* The original full-width heading also has outer margins; contain its total width. */
.elementor .elementor-element.e-con:is(.elementor-element-7903a13,.elementor-element-b55588e,.elementor-element-4ebebca,.elementor-element-1734c8ed,.elementor-element-63a0f8b2) { max-width: calc(100% - var(--margin-left, 0px) - var(--margin-right, 0px)); }
@media (max-width: 767px) {
  /* Decorative shadows and section shapes must not create a horizontal page scrollbar. */
  html { overflow-x: clip; }
  .elementor .elementor-element.e-con:is(.elementor-element-7903a13,.elementor-element-b55588e,.elementor-element-4ebebca,.elementor-element-1734c8ed,.elementor-element-63a0f8b2,.elementor-element-5c11110) { --margin-left: 0px; --margin-right: 0px; }
}
@media (min-width: 1025px) {
  .elementskit-megamenu-has:focus-within > .elementskit-megamenu-panel { display: block; opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
}
:is(.elementor-widget-image-carousel,.elementor-widget-testimonial-carousel,.elementor-widget-elementskit-testimonial) .swiper-wrapper { display: flex; gap: 0; }
:is(.elementor-widget-image-carousel,.elementor-widget-testimonial-carousel,.elementor-widget-elementskit-testimonial) .swiper-slide { flex: 0 0 100%; }
:is(.elementor-widget-image-carousel,.elementor-widget-testimonial-carousel,.elementor-widget-elementskit-testimonial) .swiper { overflow: hidden; }
.static-carousel-ready .swiper-wrapper { transition: transform .45s ease; }
.static-carousel-controls { position: absolute; inset: auto 0 12px; display: flex; justify-content: center; gap: 8px; z-index: 2; }
.static-carousel-controls button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #aaa; }
.static-carousel-controls button[aria-current=true] { background: #333; }
@media (max-width: 1024px) {
  .elementskit-menu-container.static-menu-open { left: 0 !important; transform: none !important; visibility: visible !important; opacity: 1 !important; }
  .elementskit-menu-overlay.static-menu-open { display: block; visibility: visible; opacity: 1; }
  .elementskit-navbar-nav li.static-submenu-open > :is(.elementskit-submenu-panel,.elementskit-megamenu-panel) { display: block; visibility: visible; opacity: 1; transform: none; }
}
.wpforms-container form[data-static-form=inquiry] .wpforms-field input,
.wpforms-container form[data-static-form=inquiry] .wpforms-field textarea { box-sizing: border-box; }
.static-form-feedback { margin-top: 12px; font-size: 14px; }
.static-search-results { position: absolute; left: 15%; right: 15%; top: 58%; max-height: 32vh; overflow: auto; color: white; font-size: 16px; }
.static-search-results a { display: block; color: white; padding: 8px 0; }
.elementor-search-form__container .dialog-lightbox-close-button { position: absolute; top: 30px; right: 30px; width: 32px; height: 32px; cursor: pointer; }
.elementor-search-form__container .dialog-lightbox-close-button svg { width: 32px; height: 32px; fill: white; }
@media (prefers-reduced-motion: reduce) { .static-carousel-ready .swiper-wrapper { transition: none; } }

.std-catalog-product{display:flex;gap:24px;align-items:center;margin:24px 0;padding:24px;border:1px solid #dce4dc;background:#fff}.std-catalog-product img{width:160px;height:160px;object-fit:contain}.std-catalog-product h3{margin:8px 0;font-size:22px}.std-catalog-product p{margin:8px 0}@media(max-width:600px){.std-catalog-product{flex-direction:column;align-items:flex-start}}

.std-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.std-catalog-grid .std-catalog-product{display:flex;flex-direction:column;align-items:stretch;margin:0;gap:12px;padding:20px;min-width:0}.std-catalog-grid .std-catalog-product img{width:100%;height:240px;object-fit:contain}.std-catalog-grid h3{font-size:18px;line-height:1.4}.std-catalog-group{border-top:1px solid #dce4dc;padding:20px 0}.std-catalog-group>summary{cursor:pointer;font-weight:600;margin-bottom:20px;color:#498f35}.std-catalog-range>h3{font-size:24px}@media(max-width:1024px){.std-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.std-catalog-grid{grid-template-columns:1fr}}
/* Featured oil sprayer stays within the original category tile layout. */
.elementskit-megamenu-panel .std-product-menu-tiles > .e-con { flex: 1 1 0; width: auto; min-width: 0; }
.elementskit-megamenu-panel .std-oil-menu-tile img { aspect-ratio: 1; object-fit: contain; background: #f5f7f0; }
.elementskit-megamenu-panel .std-oil-menu-tile .ekit-heading--title { color: #397e2d; }
.std-menu-recommended { display: table; margin: 7px auto 0; padding: 3px 7px; border-radius: 3px; background: #eaf3e5; color: #397e2d; font-size: 10px; font-weight: 600; line-height: 1.3; letter-spacing: .03em; text-transform: uppercase; }
@media (max-width: 1024px) {
  .elementskit-megamenu-panel .elementor .std-product-menu-tiles { flex-direction: row; flex-wrap: wrap; }
  .elementskit-megamenu-panel .std-product-menu-tiles > .e-con { flex: 0 0 calc(50% - 5px); width: calc(50% - 5px); }
}
