:root {
    --green: #74b529;
    --navy: #0e1b27;
    --blue: #10293d;
    --catalog-bg: #ededed;
    --editorial-ink: #383c40;
}

.sd-site-header { position: relative; z-index: 2; }
.sd-top-row { display: grid; grid-template-columns: 1fr minmax(210px, 360px) 1fr; gap: 22px; min-height: 54px; }
.sd-contact-links, .sd-top-actions, .sd-request-link { display: flex; align-items: center; gap: 18px; }
.sd-contact-links a { white-space: nowrap; }
.sd-contact-links span { color: var(--green); padding-right: 7px; }
.sd-site-header .sd-top-row a:first-child::before { content: none; }
.sd-top-actions { justify-content: center; gap: clamp(12px, 3vw, 38px); }
.sd-account { display: flex; gap: 10px; }
.sd-top-actions strong, .sd-top-actions small { display: block; line-height: 1.2; }
.sd-top-actions strong { color: #a9db70; font-size: 14px; }
.sd-top-actions small { font-size: 11px; }
.sd-top-actions svg, .sd-search svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.sd-search { max-width: none; width: 100%; margin: 0; }
.sd-search input { background: var(--navy); }
.sd-search input::placeholder { color: #abb6c1; }
.sd-search button { display: grid; place-items: center; padding: 5px 13px; }
.sd-social { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--green); color: #122b3d; font-weight: 700; }
.sd-nav { background: var(--blue); }
.sd-nav-row { min-height: 80px; justify-content: flex-start; gap: clamp(12px, 4vw, 60px); }
.sd-nav nav { margin-left: 0; }
.sd-menu-item { display: flex; position: relative; align-items: stretch; }
.sd-nav nav .sd-menu-item > a { padding: 16px clamp(10px, 1.2vw, 23px); }
.sd-nav nav .current > a { background: var(--green); color: #101c25; }
.sd-menu-item.current::after { content: ""; position: absolute; top: 100%; left: 0; width: 100%; height: 16px; background: var(--green); clip-path: polygon(0 0,100% 0,50% 100%); pointer-events: none; }
.sd-menu-item:has(.sd-submenu-toggle) > a { padding-right: 5px; }
.sd-submenu-toggle { border: 0; padding: 0 8px; color: inherit; background: transparent; cursor: pointer; }
.sd-submenu-toggle:hover, .sd-submenu-toggle:focus-visible { background: #25455b; }
.sd-submenu { display: none; position: absolute; z-index: 3; left: 0; top: 100%; min-width: 175px; background: var(--blue); box-shadow: 0 8px 22px #0003; }
.sd-nav nav .sd-submenu a { padding: 10px 17px; }
.sd-submenu.open { display: block; }

.sd-hero { min-height: clamp(680px, 61.5vw, 960px); background: url(hero-factory.webp) left top / cover; padding-top: 0; }
.sd-hero-title { min-height: 300px; padding: clamp(145px,14.5vw,245px) 15px 0; justify-content: flex-start; }
.sd-hero-title strong, .sd-hero-title h1 { font-size: clamp(38px, 4vw, 64px); }
.sd-hero .sd-container { width: min(96%, 1600px); }
.sd-hero .sd-brands { margin-top: 28px; gap: clamp(14px, 2.9vw, 54px); }
.sd-brand { position: relative; min-width: 0; }
.sd-brand:hover { transform: none; }
.sd-brand-logo { height: 54px; padding: 8px 12px; }
.sd-brand-logo img { max-height: 40px; }
.sd-brand-body { color: #102316; padding: 14px 15px 74px; }
.sd-brand-body h2 { color: #102316; font-size: clamp(15px, 1.15vw, 19px); }
.sd-brand-body p { font-size: 14px; }
.sd-brand-arrow { position: absolute; z-index: 1; bottom: 22px; left: 15px; display: grid; place-items: center; width: 36px; height: 36px; background: white; color: var(--blue); }
.sd-brand-product { position: absolute; right: 0; bottom: -12px; width: 70%; height: 95px; object-fit: contain; object-position: right bottom; pointer-events: none; }
.sd-brand-list { margin: 18px 0; }
.sd-section-title { color: #284871; text-align: center; text-transform: uppercase; font-size: clamp(28px, 2.65vw, 42px); margin: 0 0 28px; }
.sd-section-title::after { content: ""; display: block; width: 88px; height: 5px; background: var(--green); margin: 14px auto 0; }
.sd-home-intro { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
.sd-home-intro img { width: 100%; }
.sd-home-intro h2 { font-size: clamp(32px, 4vw, 58px); margin: 0; color: #284871; }
.sd-about-subtitle { margin: 2px 0 20px; font-weight: 700; }
.sd-about-section { padding-top: 82px; }
.sd-featured-section, .sd-news-section { background: #f3f3f3; }
.sd-featured-categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.sd-featured-categories a { position: relative; display: flex; align-items: end; aspect-ratio: 1.55; background: var(--blue); overflow: hidden; }
.sd-featured-categories img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sd-featured-categories span { position: relative; width: 100%; background: #10293de6; color: white; padding: 10px 12px; overflow-wrap: anywhere; font-weight: 700; }
.sd-featured-categories a:hover span { background: var(--green); color: #12231a; }
.sd-center { text-align: center; }
.sd-wide-banner img { display: block; width: 100%; }
.sd-news-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.sd-news-card { min-width: 0; background: white; border: 1px solid #e4e4e4; }
.sd-news-image { display: block; aspect-ratio: 1.6; background: #f4f4f4; overflow: hidden; }
.sd-news-image img { width: 100%; height: 100%; object-fit: cover; }
.sd-news-body { padding: 18px; }
.sd-news-body time { color: #466d1f; font-weight: 700; }
.sd-news-body h3 { margin: 8px 0 12px; font-size: 18px; color: var(--blue); }
.sd-news-body p { font-size: 14px; }
.sd-read-more { font-weight: 700; color: #3b6417; }
.sd-partners-section { padding: 35px 0 45px; background: white; }
.sd-partners, .sd-services { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px; align-items: center; }
.sd-partners a { display: grid; place-items: center; min-height: 75px; }
.sd-partners img { max-height: 65px; max-width: 100%; object-fit: contain; }
.sd-services-section { padding: 30px 0; background: #eef2ef; }
.sd-services { grid-template-columns: repeat(4,minmax(0,1fr)); }
.sd-services > div { display: flex; gap: 14px; align-items: center; }
.sd-services img { width: 44px; height: 44px; object-fit: contain; }
.sd-services span { font-weight: 700; }
.sd-footer-grid { grid-template-columns: 1.3fr 1fr .8fr 1.1fr; gap: clamp(20px, 3vw, 50px); }
.sd-footer-logo { width: min(260px,100%); }
.sd-footer h2 { color: #a9db70; margin-top: 0; }
.sd-footer p { overflow-wrap: anywhere; }

.sd-archive-page, .sd-single-page, .sd-editorial-page { background: var(--catalog-bg); }
.sd-archive-page .sd-container { max-width: 1630px; padding: 0 16px; }
.sd-archive-page .sd-catalog-layout { grid-template-columns: minmax(210px, 23.4%) minmax(0,1fr); gap: 30px; }
.sd-archive-page .woocommerce-breadcrumb, .sd-single-page .woocommerce-breadcrumb { color: #5c6368; margin-bottom: 22px; }
.sd-filter-title { background: white; margin: 0; padding: 38px 12px 43px; font-weight: 700; color: #101010; text-transform: uppercase; text-align: center; font-size: 31px; }
.sd-sidebar { min-width: 0; }
.sd-sidebar h2 { color: #102316; background: var(--green); font-size: 18px; text-transform: uppercase; padding: 9px 18px; }
.sd-sidebar ul { border: 0; background: white; }
.sd-sidebar li { border: 0; }
.sd-sidebar li ul { margin-left: 15px; }
.sd-sidebar a { color: #191919; padding: 7px 17px; overflow-wrap: anywhere; }
.sd-sidebar a::before { content: "○"; font-weight: 700; display: inline-block; margin-right: 6px; }
.sd-sidebar a.selected::before { content: "●"; color: var(--green); }
.sd-sidebar a:hover, .sd-sidebar a.selected { color: #254a08; background: #f1f7e9; }
.sd-facet-form { display: grid; gap: 10px; background: white; padding: 16px; }
.sd-facet-form label { display: grid; gap: 3px; font-size: 14px; font-weight: 700; min-width: 0; }
.sd-facet-form select { width: 100%; min-width: 0; padding: 7px; border: 1px solid #c9d0c5; background: #f7f9f5; font-weight: 500; }
.sd-sidebar .sd-clear-filters { padding: 0; }
.sd-sidebar .sd-clear-filters::before { content: none; }
.sd-products > h1 { margin: 0 0 23px; color: var(--editorial-ink); font-size: 32px; overflow-wrap: anywhere; }
.woocommerce .sd-archive-page .woocommerce-ordering, .woocommerce .sd-archive-page .woocommerce-result-count { margin: 0 0 20px; }
.woocommerce .sd-archive-page .woocommerce-result-count { float: none; }
.sd-page-size { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; }
.sd-page-size select, .woocommerce .sd-archive-page .woocommerce-ordering select { border: 1px solid #5b8e20; background: var(--green); color: #102316; padding: 7px 12px; }
.sd-page-size button { color: #254a08; border: 1px solid #c4cfbd; background: white; padding: 6px 8px; cursor: pointer; }
.woocommerce .sd-archive-page ul.products { clear: both; gap: 26px; }
.woocommerce .sd-archive-page ul.products li.product, .woocommerce ul.products li.product { border: 0; background: white; box-shadow: 0 2px 12px #00000009; padding: 0 0 12px; text-align: center; min-width: 0; }
.woocommerce ul.products li.product a img { height: clamp(130px, 23vw, 322px); margin: 0; background: white; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: #222b34; min-height: auto; margin: 16px 10px 0; padding: 0; overflow-wrap: anywhere; }
.sd-card-code { display: block; margin: 4px 8px; font-size: 11px; color: #4c545a; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .price { color: #3b4044; font-size: 16px; font-weight: 700; margin: 10px 0; }
.sd-card-actions { display: grid; gap: 7px; margin: auto 12px 0; }
.woocommerce ul.products li.product .sd-card-actions .button { width: 100%; margin: 0; padding: 9px 5px; font-size: 14px; color: #102316; }
.woocommerce ul.products li.product .sd-card-actions .sd-card-quote { background: #f3f6ef; color: #345220; }
.woocommerce ul.products li.product .sd-card-actions .button:hover { color: white; background: var(--blue); }
.sd-single-page .sd-container { max-width: 1280px; }
.woocommerce .sd-single-page div.product div.images { width: 41%; margin-bottom: 40px; }
.woocommerce .sd-single-page div.product div.summary { width: 56%; }
.woocommerce .sd-single-page .woocommerce-product-gallery__wrapper { border: 2px solid var(--green); background: white; }
.woocommerce .sd-single-page div.product div.images img { aspect-ratio: 1.06; object-fit: contain; }
.woocommerce .sd-single-page div.product .product_title { color: #141414; font-size: 28px; }
.woocommerce .sd-single-page div.product .product_title::after { content: ""; display: block; width: 105px; height: 4px; background: var(--green); margin: 20px 0; }
.woocommerce .sd-single-page .summary p.price { display: none; }
.sd-product-code, .sd-availability { display: inline-block; margin: 4px 18px 14px 0; padding: 0; border: 0; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.sd-product-code strong { display: inline; font-size: inherit; color: #51585e; }
.sd-availability a { color: #145f88; }
.woocommerce .sd-single-page .summary .sd-request { display: table; margin-bottom: 12px; background: #141414; color: white; text-transform: uppercase; letter-spacing: .06em; }
.woocommerce .sd-single-page .summary .sd-request:hover { background: var(--blue); }
.woocommerce .sd-single-page .product_meta { font-size: 13px; }
.woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li { margin: 0 2px 0 0; padding: 0 clamp(8px, 1.7vw, 25px); background: #d0d0d0; border: 0; }
.woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li.active { background: var(--green); border: 0; }
.woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li a { padding: 15px 0; color: #17221d; text-transform: uppercase; }
.sd-brand-intro { background: white; padding: clamp(20px, 4vw, 45px); margin: 30px 0 0; overflow-wrap: anywhere; }
.sd-editorial-content { width: min(100%,960px); padding: clamp(18px, 4vw, 50px); margin: 0 auto; background: white; overflow-wrap: anywhere; }
.sd-editorial-content h1 { margin-top: 0; }
.sd-editorial-content h1::after { content: ""; display: block; width: 100px; height: 4px; background: var(--green); margin: 17px 0; }
.sd-editorial-content p { line-height: 1.65; }
.sd-editorial-wide { width: 100%; }
.sd-editorial-content .sd-brands h2 { margin: 0 0 10px; }
.sd-article-cover { display: block; margin: 0 0 24px; max-height: 450px; object-fit: contain; }
.sd-contact { display: grid; grid-template-columns: minmax(200px,1fr) minmax(0,2fr); gap: clamp(16px,4vw,60px); }
.sd-contact aside { padding: 20px; background: #f0f3f1; }
.sd-contact aside h2 { margin-top: 0; }
.sd-request-form { display: grid; gap: 14px; }
.sd-request-form label { display: block; font-weight: 700; }
.sd-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.sd-request-form input:not([type=checkbox]), .sd-request-form textarea { width: 100%; padding: 9px 11px; display: block; margin-top: 4px; border: 1px solid #b7c2b4; background: #fbfcfb; color: var(--ink); font-weight: 500; }
.sd-request-form .sd-form-consent { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; font-weight: 500; }
.sd-form-consent a, .sd-quote-list a { text-decoration: underline; }
.sd-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sd-request-form .sd-button { justify-self: start; color: #102316; cursor: pointer; }
.sd-request-form .sd-button:hover { color: white; }
.sd-request-form .sd-button:disabled { cursor: default; opacity: .6; }
.sd-form-notice, .sd-form-error { padding: 10px 13px; background: #edf6e4; border-left: 4px solid #548e22; }
.sd-form-error { background: #fff0ed; border-left-color: #a63e2e; }
.sd-quote-list h2 { margin-top: 0; }
.sd-quote-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(75px,105px) auto; gap: 14px; align-items: center; padding: 12px; background: #f3f5f3; margin-bottom: 6px; }
.sd-quote-row small { display: block; }
.sd-quote-row button { border: 0; background: transparent; color: #8d2d21; cursor: pointer; }
.sd-site-header a:focus-visible, .sd-site-header button:focus-visible, .sd-quote-row button:focus-visible { outline: 2px solid #f9ab22; outline-offset: 2px; }

@media (min-width: 1500px) {
    .sd-site-header .sd-container { max-width: 1560px; }
}
@media (max-width: 1100px) {
    .sd-top-row { grid-template-columns: auto minmax(160px,1fr) auto; gap: 12px; }
    .sd-top-actions { gap: 12px; }
    .sd-archive-page .sd-catalog-layout { gap: 18px; }
    .sd-archive-page .woocommerce-ordering { max-width: 55%; }
    .sd-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 920px) {
    .sd-nav nav .sd-menu-item > a { padding-left: 8px; padding-right: 8px; font-size: 13px; }
    .sd-nav-row { gap: 12px; }
    .sd-nav .sd-logo { width: 195px; }
    .sd-top-actions svg { display: none; }
}
@media (max-width: 760px) {
    .sd-top-row { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 10px 14px; }
    .sd-contact-links { flex-wrap: wrap; gap: 3px 12px; }
    .sd-contact-links .sd-social, .sd-top-actions .sd-account span { display: none; }
    .sd-top-actions .sd-account svg { display: block; width: 18px; height: 18px; }
    .sd-search { grid-column: 1/-1; }
    .sd-top-actions { justify-content: end; }
    .sd-nav nav { margin-left: 0; }
    .sd-menu-item { display: flex; flex-wrap: wrap; }
    .sd-menu-item > a { flex: 1; }
    .sd-menu-item.current::after { display: none; }
    .sd-submenu { position: static; width: 100%; box-shadow: none; background: #0c1f30; }
    .sd-submenu-toggle { min-width: 45px; }
    .sd-hero { min-height: 0; }
    .sd-hero-title { min-height: 245px; padding-top: 0; justify-content: center; }
    .sd-hero-title strong, .sd-hero-title h1 { font-size: clamp(26px,7.5vw,42px); }
    .sd-hero .sd-brands, .sd-brand-list { margin-top: 0; gap: 12px; }
    .sd-hero .sd-brands { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 12px) / 2); overflow-x: auto; scroll-snap-type: x mandatory; }
    .sd-hero .sd-brand { grid-column: auto; scroll-snap-align: start; }
    .sd-brand-body { padding: 10px 10px 74px; }
    .sd-brand-arrow { left: 10px; }
    .sd-brand-body p { font-size: 12px; }
    .sd-home-intro, .sd-contact { grid-template-columns: minmax(0,1fr); }
    .sd-featured-categories { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .sd-featured-categories span { font-size: 13px; }
    .sd-partners { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
    .sd-services, .sd-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
    .sd-services > div { align-items: flex-start; gap: 8px; }
    .sd-services img { width: 31px; height: 31px; }
    .sd-archive-page .sd-catalog-layout { grid-template-columns: minmax(0,1fr); }
    .sd-filter-title { display: none; }
    .woocommerce .sd-archive-page .woocommerce-ordering { max-width: none; }
    .woocommerce .sd-archive-page ul.products { gap: 12px; }
    .woocommerce .sd-single-page div.product div.images, .woocommerce .sd-single-page div.product div.summary { width: 100%; }
    .woocommerce .sd-single-page div.product div.images { margin-bottom: 22px; }
    .woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li a { padding: 10px 0; }
}
@media (max-width: 420px) {
    .sd-news-grid, .sd-footer-grid, .sd-form-grid { grid-template-columns: minmax(0,1fr); }
    .sd-quote-row { grid-template-columns: minmax(0,1fr) minmax(75px,95px); }
    .sd-quote-row button { grid-column: 2; }
    .sd-top-actions strong { font-size: 12px; }
    .sd-contact-links { font-size: 11px; }
}
