:root {
    --sg-blue: #0757b7;
    --sg-blue-dark: #063d82;
    --sg-blue-deep: #082d59;
    --sg-blue-soft: #eef6ff;
    --sg-ink: #10213a;
    --sg-text: #3f4d61;
    --sg-muted: #66758a;
    --sg-line: #dfe6ef;
    --sg-soft: #f6f8fb;
    --sg-white: #fff;
    --sg-green: #198754;
    --sg-radius: 14px;
    --sg-shadow: 0 14px 40px rgba(17, 41, 76, .09);
    --sg-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--sg-text);
    background: var(--sg-white);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
body.sg-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
.sg-container { width: min(calc(100% - 40px), var(--sg-container)); margin-inline: auto; }
.screen-reader-text {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.sg-skip-link:focus { width: auto; height: auto; clip: auto; margin: 10px; padding: 10px 14px; z-index: 10000; background: #fff; color: #000; }
.sg-icon { width: 24px; height: 24px; fill: currentColor; flex: 0 0 auto; }

/* Header */
.sg-site-header {
    position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(223,230,239,.9); backdrop-filter: blur(12px);
}
.sg-header-inner { min-height: 82px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.sg-branding .custom-logo { max-height: 54px; width: auto; }
.sg-wordmark { display: flex; flex-direction: column; line-height: 1.06; }
.sg-wordmark strong { font-size: clamp(22px, 2vw, 31px); color: var(--sg-blue); letter-spacing: -.04em; }
.sg-wordmark span { margin-top: 5px; font-size: 14px; color: var(--sg-ink); }
.sg-nav-list { display: flex; gap: 25px; align-items: center; list-style: none; padding: 0; margin: 0; }
.sg-nav-list a { color: var(--sg-ink); font-weight: 650; font-size: 14px; }
.sg-nav-list a:hover, .sg-nav-list .current-menu-item > a { color: var(--sg-blue); }
.sg-header-actions { display: flex; align-items: center; gap: 14px; }
.sg-header-search form { position: relative; margin: 0; }
.sg-header-search .search-field,
.sg-header-search input[type="search"] {
    width: 220px; height: 42px; border: 1px solid var(--sg-line); border-radius: 11px;
    padding: 0 42px 0 13px; background: #fff; color: var(--sg-ink); outline: none;
}
.sg-header-search button,
.sg-header-search input[type="submit"] { display: none; }
.sg-action-link { position: relative; display: flex; min-width: 48px; align-items: center; justify-content: center; flex-direction: column; gap: 2px; color: var(--sg-ink); font-size: 10px; }
.sg-action-link:hover { color: var(--sg-blue); }
.sg-action-icon-wrap { position: relative; line-height: 1; }
.sg-cart-count {
    position: absolute; right: -9px; top: -8px; display: grid; place-items: center;
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 50px; background: var(--sg-blue); color: #fff; font-weight: 800; font-size: 10px;
}
.sg-menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.sg-menu-toggle > span:not(.screen-reader-text) { display: block; width: 24px; height: 2px; background: var(--sg-ink); margin: 5px 0; }

/* Hero */
.sg-hero {
    position: relative; min-height: 500px; display: grid; align-items: center; color: #fff; overflow: hidden;
    background-image: var(--sg-hero-image), radial-gradient(circle at 82% 45%, #436078 0 13%, #203a52 14% 28%, #0b1828 60%);
    background-size: cover; background-position: center;
}
.sg-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,13,25,.92) 0%, rgba(5,18,35,.72) 45%, rgba(4,14,28,.18) 100%); }
.sg-hero__inner { position: relative; z-index: 1; }
.sg-hero__content { max-width: 690px; padding: 80px 0 98px; }
.sg-eyebrow { margin: 0 0 10px; color: var(--sg-blue); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.sg-hero .sg-eyebrow { color: #9bc8ff; }
.sg-hero h1 { margin: 0; max-width: 780px; font-size: clamp(40px, 5vw, 68px); line-height: 1.02; letter-spacing: -.045em; color: #fff; }
.sg-hero p:not(.sg-eyebrow) { max-width: 620px; margin: 22px 0 0; font-size: clamp(18px, 2vw, 23px); color: rgba(255,255,255,.9); }
.sg-button-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.sg-button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px;
    border: 1px solid var(--sg-blue); border-radius: 9px; background: var(--sg-blue); color: #fff; font-weight: 800; transition: .2s ease;
}
.sg-button:hover { transform: translateY(-1px); background: var(--sg-blue-dark); border-color: var(--sg-blue-dark); }
.sg-button--outline { border-color: rgba(255,255,255,.8); background: rgba(0,0,0,.2); }
.sg-button--outline:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.sg-button--outline-blue { background: #fff; color: var(--sg-blue); }
.sg-button--small { min-height: 36px; padding: 0 13px; font-size: 13px; border-radius: 7px; }

/* Quick entry */
.sg-quick-entry {
    position: relative; z-index: 5; margin-top: -45px; display: grid; grid-template-columns: repeat(3, 1fr);
    overflow: hidden; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; box-shadow: var(--sg-shadow);
}
.sg-quick-card { min-height: 104px; display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; padding: 22px 26px; color: var(--sg-ink); }
.sg-quick-card + .sg-quick-card { border-left: 1px solid var(--sg-line); }
.sg-quick-card > .sg-icon:first-child { width: 38px; height: 38px; color: var(--sg-blue); }
.sg-quick-card > .sg-icon:last-child { width: 20px; color: var(--sg-blue); }
.sg-quick-card strong { display: block; font-size: 18px; }
.sg-quick-card small { display: block; margin-top: 3px; color: var(--sg-muted); font-size: 13px; }
.sg-quick-card:hover { background: var(--sg-blue-soft); }

.sg-flow { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1fr; align-items: center; gap: 14px; margin-top: 18px; padding-block: 15px; border-radius: 10px; background: #f3f8fe; }
.sg-flow__step { display: flex; gap: 12px; align-items: center; padding: 0 18px; }
.sg-flow__step > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: var(--sg-blue); color: #fff; font-weight: 800; }
.sg-flow__step strong, .sg-flow__step small { display: block; }
.sg-flow__step strong { color: var(--sg-ink); font-size: 14px; }
.sg-flow__step small { color: var(--sg-muted); font-size: 12px; }
.sg-flow__arrow { color: var(--sg-blue); font-size: 24px; }

/* Sections */
.sg-section { padding-block: 70px; }
.sg-section--soft { background: var(--sg-soft); }
.sg-section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 26px; }
.sg-section-heading h2, .sg-brands h2, .sg-service h2 { margin: 0; color: var(--sg-ink); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: -.03em; }
.sg-text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--sg-blue); font-weight: 800; font-size: 14px; }
.sg-text-link .sg-icon { width: 18px; height: 18px; }
.sg-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.sg-category-card { overflow: hidden; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; transition: .2s ease; }
.sg-category-card:hover { transform: translateY(-3px); box-shadow: var(--sg-shadow); }
.sg-category-card__media { aspect-ratio: 4 / 3; background: #f5f7fa; overflow: hidden; }
.sg-category-card__image { width: 100%; height: 100%; object-fit: contain; }
.sg-category-card__image--placeholder { display: grid; place-items: center; align-content: center; gap: 10px; color: var(--sg-muted); text-align: center; padding: 22px; }
.sg-category-card__image--placeholder .sg-icon { width: 58px; height: 58px; color: var(--sg-blue); opacity: .65; }
.sg-category-card__image--placeholder small { max-width: 180px; font-size: 12px; }
.sg-category-card__body { padding: 20px; }
.sg-category-card h3 { margin: 0; color: var(--sg-ink); font-size: 20px; }
.sg-category-card p { min-height: 64px; margin: 9px 0 18px; color: var(--sg-muted); font-size: 14px; }

.sg-benefits { border-top: 1px solid var(--sg-line); border-bottom: 1px solid var(--sg-line); background: #fff; }
.sg-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.sg-benefits__grid > div { display: flex; align-items: center; gap: 14px; padding: 22px 28px; }
.sg-benefits__grid > div + div { border-left: 1px solid var(--sg-line); }
.sg-benefits .sg-icon { width: 34px; height: 34px; color: var(--sg-blue); }
.sg-benefits strong, .sg-benefits small { display: block; }
.sg-benefits strong { color: var(--sg-ink); font-size: 14px; }
.sg-benefits small { color: var(--sg-muted); font-size: 12px; }

/* Product cards */
.sg-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.sg-product-card { overflow: hidden; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; }
.sg-product-card__image { display: grid; place-items: center; aspect-ratio: 1 / .82; padding: 18px; background: #f8fafc; }
.sg-product-card__image img { max-height: 250px; width: auto; object-fit: contain; }
.sg-product-card__body { padding: 18px; }
.sg-product-card h3 { min-height: 48px; margin: 0 0 8px; font-size: 16px; line-height: 1.35; color: var(--sg-ink); }
.sg-stock { margin: 0 0 14px; font-size: 12px; font-weight: 700; }
.sg-stock--in { color: var(--sg-green); }
.sg-product-card__bottom { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.sg-price { color: var(--sg-blue-dark); font-size: 18px; font-weight: 850; }
.sg-price ins { text-decoration: none; }
.sg-empty-state { padding: 28px; border: 1px dashed #b8c6d6; border-radius: var(--sg-radius); background: #fbfdff; }
.sg-empty-state strong { color: var(--sg-ink); }

/* Finder */
.sg-finder-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.sg-finder-card { display: flex; gap: 14px; align-items: center; min-height: 110px; padding: 18px; border: 1px solid var(--sg-line); border-radius: 12px; background: #fff; }
.sg-finder-card > span, .sg-finder-card > .sg-icon { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid #9fb9dd; border-radius: 50%; color: var(--sg-blue); font-weight: 850; padding: 10px; }
.sg-finder-card strong, .sg-finder-card small { display: block; }
.sg-finder-card strong { color: var(--sg-ink); font-size: 14px; }
.sg-finder-card small { margin-top: 4px; color: var(--sg-muted); font-size: 12px; }

.sg-brands { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding-block: 50px; }
.sg-brand-names { display: flex; align-items: center; gap: 42px; color: var(--sg-ink); font-size: clamp(24px, 3vw, 36px); font-weight: 900; letter-spacing: .08em; }
.sg-brand-names span + span { border-left: 1px solid var(--sg-line); padding-left: 42px; }

.sg-service { display: grid; grid-template-columns: 1fr 1.15fr; overflow: hidden; margin-bottom: 70px; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #f8fbff; }
.sg-service__content { padding: 42px; }
.sg-service__content > p:not(.sg-eyebrow) { max-width: 620px; }
.sg-check-list { margin: 22px 0 26px; padding: 0; list-style: none; }
.sg-check-list li { position: relative; padding: 5px 0 5px 26px; }
.sg-check-list li::before { content: "✓"; position: absolute; left: 0; top: 5px; color: var(--sg-blue); font-weight: 900; }
.sg-service__media { min-height: 360px; background: #edf2f7; }
.sg-service__media img { width: 100%; height: 100%; object-fit: cover; }
.sg-real-photo-placeholder { height: 100%; min-height: 360px; display: grid; place-items: center; align-content: center; gap: 10px; padding: 30px; text-align: center; color: var(--sg-muted); }
.sg-real-photo-placeholder .sg-icon { width: 62px; height: 62px; color: var(--sg-blue); }
.sg-real-photo-placeholder strong { color: var(--sg-ink); }

/* Footer */
.sg-site-footer { border-top: 1px solid var(--sg-line); background: #f8fafc; }
.sg-footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr) 1.2fr; gap: 35px; padding-block: 48px; }
.sg-footer-grid h2 { margin: 0 0 14px; color: var(--sg-ink); font-size: 15px; }
.sg-footer-grid p { margin: 6px 0; font-size: 13px; color: var(--sg-muted); }
.sg-footer-menu { list-style: none; padding: 0; margin: 0; }
.sg-footer-menu li { margin: 7px 0; }
.sg-footer-menu a { color: var(--sg-muted); font-size: 13px; }
.sg-footer-menu a:hover { color: var(--sg-blue); }
.sg-payment-line { color: var(--sg-ink) !important; font-weight: 800; }
.sg-footer-bottom { background: var(--sg-blue-deep); color: #d8e6f6; font-size: 12px; }
.sg-footer-bottom .sg-container { min-height: 52px; display: flex; justify-content: space-between; gap: 20px; align-items: center; }

/* General content */
.sg-default-content, .sg-woocommerce-shell { padding-block: 50px; }
.sg-default-content h1, .sg-woocommerce-shell h1 { color: var(--sg-ink); }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color: var(--sg-muted); font-size: 12px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--sg-blue); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 25px 0 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 15px; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; }
.woocommerce ul.products li.product img { border-radius: 9px; background: #f8fafc; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--sg-ink); font-size: 16px; }
.woocommerce ul.products li.product .price { color: var(--sg-blue-dark); font-weight: 850; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 8px; background: var(--sg-blue); color: #fff; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--sg-blue-dark); color: #fff; }
.woocommerce span.onsale { background: var(--sg-blue); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sg-blue-dark); }
.woocommerce div.product .product_title { color: var(--sg-ink); letter-spacing: -.02em; }

@media (max-width: 1120px) {
    .sg-header-inner { grid-template-columns: auto auto 1fr; gap: 14px; }
    .sg-menu-toggle { display: block; justify-self: end; order: 2; }
    .sg-primary-nav { position: fixed; inset: 82px 0 auto; max-height: 0; overflow: hidden; background: #fff; border-bottom: 1px solid var(--sg-line); transition: max-height .25s ease; }
    .sg-primary-nav.is-open { max-height: calc(100vh - 82px); overflow: auto; }
    .sg-nav-list { display: block; padding: 16px 20px 24px; }
    .sg-nav-list li { border-bottom: 1px solid var(--sg-line); }
    .sg-nav-list a { display: block; padding: 14px 2px; }
    .sg-header-actions { justify-self: end; order: 3; }
    .sg-header-search { display: none; }
    .sg-action-link > span:last-child { display: none; }
    .sg-category-grid, .sg-product-grid, .sg-finder-grid { grid-template-columns: repeat(2, 1fr); }
    .sg-benefits__grid { grid-template-columns: repeat(2, 1fr); }
    .sg-benefits__grid > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--sg-line); }
    .sg-benefits__grid > div:nth-child(4) { border-top: 1px solid var(--sg-line); }
    .sg-footer-grid { grid-template-columns: repeat(3, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 780px) {
    .sg-container { width: min(calc(100% - 28px), var(--sg-container)); }
    .sg-header-inner { min-height: 72px; }
    .sg-primary-nav { inset: 72px 0 auto; }
    .sg-wordmark strong { font-size: 21px; }
    .sg-wordmark span { font-size: 12px; }
    .sg-action-link--optional { display: none; }
    .sg-hero { min-height: 510px; }
    .sg-hero__content { padding: 70px 0 96px; }
    .sg-hero__overlay { background: linear-gradient(90deg, rgba(4,13,25,.94), rgba(4,13,25,.72)); }
    .sg-quick-entry { margin-top: -42px; grid-template-columns: 1fr; }
    .sg-quick-card + .sg-quick-card { border-left: 0; border-top: 1px solid var(--sg-line); }
    .sg-flow { grid-template-columns: 1fr; padding: 10px; }
    .sg-flow__arrow { transform: rotate(90deg); text-align: center; }
    .sg-section { padding-block: 48px; }
    .sg-section-heading { align-items: start; flex-direction: column; }
    .sg-category-grid, .sg-product-grid, .sg-finder-grid, .sg-benefits__grid, .woocommerce ul.products { grid-template-columns: 1fr; }
    .sg-benefits__grid > div + div { border-left: 0; border-top: 1px solid var(--sg-line); }
    .sg-brands { grid-template-columns: 1fr; }
    .sg-brand-names { gap: 22px; }
    .sg-brand-names span + span { padding-left: 22px; }
    .sg-service { grid-template-columns: 1fr; }
    .sg-service__content { padding: 30px 24px; }
    .sg-service__media { min-height: 260px; }
    .sg-footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
    .sg-footer-bottom .sg-container { padding-block: 14px; flex-direction: column; align-items: flex-start; justify-content: center; }
}

@media (max-width: 520px) {
    .sg-header-actions { gap: 8px; }
    .sg-header-actions .sg-icon { width: 22px; height: 22px; }
    .sg-footer-grid { grid-template-columns: 1fr; }
    .sg-product-card__bottom { align-items: stretch; flex-direction: column; }
    .sg-button--small { width: 100%; }
}

/* =========================================================
   v0.2 – Product finder / technical WooCommerce archive
   ========================================================= */
.sg-shop-page { background: var(--sg-soft); min-height: 70vh; padding-bottom: 70px; }
.sg-shop-hero { padding: 34px 0 28px; border-bottom: 1px solid var(--sg-line); background: #fff; }
.sg-shop-hero .woocommerce-breadcrumb { margin: 0 0 18px; }
.sg-shop-hero h1 { margin: 0; color: var(--sg-ink); font-size: clamp(34px, 4vw, 52px); line-height: 1.05; letter-spacing: -.035em; }
.sg-shop-description { max-width: 760px; margin-top: 12px; color: var(--sg-muted); }
.sg-shop-description > :last-child { margin-bottom: 0; }

.sg-shop-tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; }
.sg-filter-toggle { display: none; align-items: center; gap: 9px; min-height: 44px; padding: 0 15px; border: 1px solid var(--sg-line); border-radius: 9px; background: #fff; color: var(--sg-ink); font-weight: 800; }
.sg-filter-toggle .sg-icon { width: 20px; color: var(--sg-blue); }
.sg-active-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--sg-blue); }
.sg-shop-guide { display: flex; align-items: center; gap: 13px; margin-left: auto; color: var(--sg-muted); font-size: 12px; }
.sg-shop-guide span { display: flex; align-items: center; gap: 7px; }
.sg-shop-guide b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--sg-blue-soft); color: var(--sg-blue); }
.sg-shop-guide i { color: var(--sg-blue); font-size: 18px; font-style: normal; }

.sg-shop-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 30px; align-items: start; margin-top: 20px; }
.sg-filters { position: sticky; top: 104px; overflow: hidden; max-height: calc(100vh - 125px); border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; box-shadow: 0 8px 30px rgba(17,41,76,.05); }
.sg-filters__header { display: flex; align-items: center; justify-content: space-between; padding: 20px 20px 15px; border-bottom: 1px solid var(--sg-line); }
.sg-filters__header h2 { margin: 2px 0 0; color: var(--sg-ink); font-size: 20px; }
.sg-filters__eyebrow { color: var(--sg-blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.sg-filter-close { display: none; width: 38px; height: 38px; border: 0; background: transparent; color: var(--sg-ink); font-size: 29px; line-height: 1; }
.sg-filter-form { max-height: calc(100vh - 202px); overflow: auto; scrollbar-width: thin; }
.sg-filter-group { border-bottom: 1px solid var(--sg-line); }
.sg-filter-group summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 20px; color: var(--sg-ink); cursor: pointer; font-size: 14px; font-weight: 800; list-style: none; }
.sg-filter-group summary::-webkit-details-marker { display: none; }
.sg-filter-group summary::after { content: '+'; color: var(--sg-blue); font-size: 18px; font-weight: 500; }
.sg-filter-group[open] summary::after { content: '−'; }
.sg-filter-count { display: grid; place-items: center; min-width: 21px; height: 21px; margin-left: auto; padding: 0 6px; border-radius: 50px; background: var(--sg-blue); color: #fff; font-size: 10px; }
.sg-filter-options { display: grid; gap: 4px; max-height: 230px; overflow: auto; padding: 0 15px 14px; }
.sg-filter-option { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 9px; align-items: center; min-height: 34px; padding: 5px; border-radius: 6px; cursor: pointer; color: var(--sg-text); font-size: 13px; }
.sg-filter-option:hover { background: var(--sg-blue-soft); color: var(--sg-ink); }
.sg-filter-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--sg-blue); }
.sg-filter-option small { color: #94a0b1; font-size: 10px; }
.sg-filter-actions { position: sticky; bottom: 0; display: grid; gap: 8px; padding: 16px 20px 20px; border-top: 1px solid var(--sg-line); background: #fff; }
.sg-filter-actions .sg-button { width: 100%; }
.sg-filter-reset { text-align: center; color: var(--sg-blue); font-size: 12px; font-weight: 750; }

.sg-shop-results { min-width: 0; }
.sg-loop-toolbar { min-height: 48px; margin-bottom: 14px; }
.sg-loop-toolbar .woocommerce-notices-wrapper { width: 100%; }
.sg-loop-toolbar .woocommerce-result-count { margin: 12px 0 0; color: var(--sg-muted); font-size: 13px; }
.sg-loop-toolbar .woocommerce-ordering { margin: 0; }
.sg-loop-toolbar .woocommerce-ordering select { min-height: 42px; padding: 0 36px 0 12px; border: 1px solid var(--sg-line); border-radius: 8px; background: #fff; color: var(--sg-ink); }
.sg-shop-results .woocommerce ul.products,
.sg-shop-results ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 0; }
.sg-shop-results .woocommerce ul.products li.product,
.sg-shop-results ul.products li.product { display: flex; flex-direction: column; padding: 0; overflow: hidden; box-shadow: 0 6px 22px rgba(17,41,76,.045); transition: transform .18s ease, box-shadow .18s ease; }
.sg-shop-results ul.products li.product:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(17,41,76,.09); }
.sg-shop-results ul.products li.product > a.woocommerce-LoopProduct-link { display: block; padding: 15px 15px 0; }
.sg-shop-results ul.products li.product img { aspect-ratio: 1 / .82; object-fit: contain; margin: 0 0 12px; }
.sg-shop-results ul.products li.product .woocommerce-loop-product__title { min-height: 44px; margin: 0; padding: 0; line-height: 1.35; }
.sg-shop-results ul.products li.product .star-rating { margin: 9px 15px 0; font-size: 12px; }
.sg-shop-results ul.products li.product .price { margin: 10px 15px 0; font-size: 17px; }
.sg-shop-results ul.products li.product > a.button,
.sg-shop-results ul.products li.product > a.added_to_cart { margin: 10px 15px 15px; text-align: center; }
.sg-loop-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 4px; margin: 10px 15px 0; padding: 9px 0; border-top: 1px solid var(--sg-line); border-bottom: 1px solid var(--sg-line); }
.sg-loop-facts span { min-width: 0; }
.sg-loop-facts small, .sg-loop-facts strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sg-loop-facts small { color: var(--sg-muted); font-size: 9px; }
.sg-loop-facts strong { margin-top: 2px; color: var(--sg-ink); font-size: 11px; }
.sg-loop-stock { margin: 8px 15px 0; font-size: 11px; font-weight: 800; }
.sg-loop-stock.is-in-stock { color: var(--sg-green); }
.sg-loop-stock.is-out-of-stock { color: #a33; }
.sg-no-products { display: grid; place-items: center; min-height: 420px; padding: 40px; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; text-align: center; }
.sg-no-products .sg-icon { width: 46px; height: 46px; color: var(--sg-blue); }
.sg-no-products h2 { margin: 15px 0 5px; color: var(--sg-ink); }
.sg-no-products p { margin: 0 0 20px; }

/* Single product technical summary */
.sg-tech-summary { clear: both; margin: 22px 0 0; padding: 18px; border: 1px solid var(--sg-line); border-radius: 10px; background: #fff; }
.sg-tech-summary h2 { margin: 0 0 12px; color: var(--sg-ink); font-size: 18px; }
.sg-tech-summary dl { display: grid; gap: 0; margin: 0; }
.sg-tech-summary dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 7px 0; border-top: 1px solid var(--sg-line); font-size: 13px; }
.sg-tech-summary dt { color: var(--sg-muted); }
.sg-tech-summary dd { margin: 0; color: var(--sg-ink); font-weight: 750; }
.sg-advice-box { display: grid; grid-template-columns: auto 1fr; gap: 13px; margin-top: 14px; padding: 16px; border-radius: 10px; background: var(--sg-blue-soft); color: var(--sg-ink); }
.sg-advice-box .sg-icon { width: 28px; height: 28px; color: var(--sg-blue); }
.sg-advice-box strong, .sg-advice-box span, .sg-advice-box a { display: block; }
.sg-advice-box span { margin-top: 2px; color: var(--sg-muted); font-size: 12px; }
.sg-advice-box a { margin-top: 7px; color: var(--sg-blue); font-size: 12px; font-weight: 800; }
.sg-filter-backdrop { display: none; }

@media (max-width: 1120px) {
    .sg-shop-layout { grid-template-columns: 250px minmax(0,1fr); gap: 20px; }
    .sg-shop-results .woocommerce ul.products,
    .sg-shop-results ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .sg-shop-guide { display: none; }
}

@media (max-width: 780px) {
    .sg-shop-page { padding-bottom: 45px; }
    .sg-shop-tools { padding-top: 16px; }
    .sg-filter-toggle { display: inline-flex; }
    .sg-shop-layout { display: block; margin-top: 14px; }
    .sg-filters { position: fixed; z-index: 1200; top: 0; left: 0; bottom: 0; width: min(90vw, 360px); max-height: none; border: 0; border-radius: 0 14px 14px 0; transform: translateX(-105%); transition: transform .22s ease; }
    .sg-filters.is-open { transform: translateX(0); }
    .sg-filter-close { display: block; }
    .sg-filter-form { max-height: calc(100vh - 78px); }
    .sg-filter-backdrop { position: fixed; z-index: 1190; inset: 0; background: rgba(6,22,42,.45); }
    .sg-filter-backdrop.is-open { display: block; }
    body.sg-filter-open { overflow: hidden; }
    .sg-shop-results .woocommerce ul.products,
    .sg-shop-results ul.products { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
    .sg-shop-hero { padding: 25px 0 20px; }
    .sg-shop-results .woocommerce ul.products,
    .sg-shop-results ul.products { grid-template-columns: 1fr; }
    .sg-loop-facts { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* v0.2.1 – clearer empty filter state */
.sg-filter-empty { margin: 14px; padding: 14px; border: 1px solid #dce8f6; border-radius: 9px; background: var(--sg-blue-soft); }
.sg-filter-empty strong { display: block; margin-bottom: 4px; color: var(--sg-ink); font-size: 13px; }
.sg-filter-empty p { margin: 0; color: var(--sg-muted); font-size: 11px; line-height: 1.45; }

/* =========================================================
   v0.3 – Faster filtering, active chips, comparison & product detail
   ========================================================= */

/* Filters: keep the important dimensions open, everything else compact. */
.sg-filter-form { position: relative; }
.sg-filter-options { max-height: 168px; padding-bottom: 11px; }
.sg-filter-group summary { min-height: 46px; padding-top: 11px; padding-bottom: 11px; }
.sg-filter-option { min-height: 31px; padding-block: 4px; }
.sg-filter-actions { padding: 12px 16px 14px; }
.sg-filter-auto-hint { display: none; color: var(--sg-muted); text-align: center; font-size: 10px; }
.sg-js .sg-filter-actions .sg-button[type="submit"] { display: none; }
.sg-js .sg-filter-auto-hint { display: block; }
.sg-filter-form.is-applying::after {
    content: '';
    position: sticky;
    z-index: 5;
    bottom: 0;
    display: block;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--sg-blue) 45%, transparent 100%);
    animation: sg-filter-progress .7s linear infinite;
}
@keyframes sg-filter-progress {
    from { transform: translateX(-55%); }
    to { transform: translateX(55%); }
}
.sg-shop-results { transition: opacity .16s ease; }
.sg-shop-results.is-filtering { opacity: .48; pointer-events: none; }

/* Result toolbar and active-filter chips. */
.sg-loop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 48px;
}
.sg-loop-toolbar .woocommerce-result-count { float: none; }
.sg-loop-toolbar .woocommerce-ordering { float: none; margin-left: auto; }
.sg-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: -1px 0 15px;
    padding: 11px 12px;
    border: 1px solid var(--sg-line);
    border-radius: 10px;
    background: #fff;
}
.sg-active-filters__label { margin-right: 3px; color: var(--sg-muted); font-size: 11px; font-weight: 750; }
.sg-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 9px 0 11px;
    border: 1px solid #cfe0f5;
    border-radius: 999px;
    background: var(--sg-blue-soft);
    color: var(--sg-blue-dark);
    font-size: 11px;
    font-weight: 800;
}
.sg-filter-chip:hover { border-color: #a9c9ee; background: #e5f1ff; }
.sg-filter-chip b { color: var(--sg-blue); font-size: 15px; line-height: 1; }
.sg-filter-clear { margin-left: auto; color: var(--sg-blue); font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

/* Product cards: calmer type hierarchy, stronger technical scanability. */
.sg-shop-results ul.products li.product { position: relative; border-color: #dce4ee; }
.sg-shop-results ul.products li.product > a.woocommerce-LoopProduct-link { padding: 14px 14px 0; }
.sg-shop-results ul.products li.product img {
    aspect-ratio: 1 / .86;
    padding: 5px;
    border-radius: 10px;
    background: #fbfcfe;
}
.sg-shop-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 0;
    margin-top: 2px;
    color: var(--sg-ink);
    font-size: 15px;
    font-weight: 780;
    line-height: 1.32;
}
.sg-loop-use {
    margin: 5px 14px 0;
    color: var(--sg-muted);
    font-size: 10.5px;
    line-height: 1.4;
}
.sg-shop-results ul.products li.product .star-rating { margin: 7px 14px 0; }
.sg-loop-facts {
    gap: 7px;
    margin: 10px 14px 0;
    padding: 8px 0;
}
.sg-loop-facts small { font-size: 8.5px; letter-spacing: .01em; }
.sg-loop-facts strong { font-size: 11.5px; }
.sg-shop-results ul.products li.product .price {
    order: 20;
    margin: 7px 14px 0;
    color: var(--sg-blue-dark);
    font-size: 18px;
    font-weight: 900;
}
.sg-loop-stock {
    display: flex;
    align-items: center;
    gap: 6px;
    order: 21;
    margin: 7px 14px 0;
}
.sg-loop-stock > span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sg-shop-results ul.products li.product > a.button,
.sg-shop-results ul.products li.product > a.added_to_cart {
    order: 30;
    min-height: 40px;
    margin: 10px 14px 7px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 850;
}
.sg-compare-toggle {
    order: 31;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 34px;
    margin: 0 14px 14px;
    padding: 0 9px;
    border: 1px solid var(--sg-line);
    border-radius: 7px;
    background: #fff;
    color: var(--sg-blue-dark);
    cursor: pointer;
    font-size: 10.5px;
    font-weight: 800;
}
.sg-compare-toggle:hover,
.sg-compare-toggle.is-selected { border-color: #b8d2ef; background: var(--sg-blue-soft); }
.sg-compare-plus { color: var(--sg-blue); font-size: 15px; line-height: 1; }

/* Comparison tray. */
.sg-compare-tray {
    position: fixed;
    z-index: 1130;
    right: 0;
    bottom: 0;
    left: 0;
    border-top: 1px solid #cbd9ea;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -14px 36px rgba(17,41,76,.13);
    backdrop-filter: blur(12px);
}
.sg-compare-tray[hidden] { display: none !important; }
.sg-compare-tray__inner {
    min-height: 86px;
    display: grid;
    grid-template-columns: 145px minmax(0,1fr) auto;
    align-items: center;
    gap: 18px;
    padding-block: 11px;
}
.sg-compare-tray__inner > div:first-child strong,
.sg-compare-tray__inner > div:first-child span { display: block; }
.sg-compare-tray__inner > div:first-child strong { color: var(--sg-ink); font-size: 13px; }
.sg-compare-tray__count { margin-top: 3px; color: var(--sg-muted); font-size: 10px; }
.sg-compare-tray__items { display: flex; min-width: 0; gap: 8px; overflow-x: auto; }
.sg-compare-pill {
    flex: 0 1 220px;
    min-width: 150px;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 6px 7px;
    border: 1px solid var(--sg-line);
    border-radius: 8px;
    background: #fff;
}
.sg-compare-pill img { width: 38px; height: 38px; object-fit: contain; border-radius: 5px; background: #f8fafc; }
.sg-compare-pill span { overflow: hidden; color: var(--sg-ink); font-size: 9.5px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.sg-compare-pill button { width: 24px; height: 24px; padding: 0; border: 0; background: transparent; color: var(--sg-muted); cursor: pointer; font-size: 18px; }
.sg-compare-tray__actions { display: flex; align-items: center; gap: 8px; }
.sg-compare-clear { border: 0; background: transparent; color: var(--sg-muted); cursor: pointer; font-size: 11px; font-weight: 750; }
.sg-compare-open:disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* Comparison modal. */
body.sg-compare-open { overflow: hidden; }
.sg-compare-modal { position: fixed; z-index: 1400; inset: 0; display: grid; place-items: center; padding: 30px; }
.sg-compare-modal[hidden] { display: none !important; }
.sg-compare-modal__backdrop { position: absolute; inset: 0; background: rgba(5,19,37,.62); }
.sg-compare-modal__panel {
    position: relative;
    width: min(1050px, 100%);
    max-height: min(760px, calc(100vh - 60px));
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(0,0,0,.23);
}
.sg-compare-modal__panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px 15px;
    border-bottom: 1px solid var(--sg-line);
}
.sg-compare-modal__panel h2 { margin: 0; color: var(--sg-ink); font-size: 25px; }
.sg-compare-modal__panel .sg-eyebrow { margin-bottom: 2px; font-size: 9px; }
.sg-compare-modal__close { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--sg-soft); color: var(--sg-ink); cursor: pointer; font-size: 27px; line-height: 1; }
.sg-compare-table-wrap { max-height: calc(min(760px, 100vh - 60px) - 85px); overflow: auto; padding: 0 24px 24px; }
.sg-compare-table { width: 100%; border-collapse: separate; border-spacing: 0; color: var(--sg-text); font-size: 12px; }
.sg-compare-table th,
.sg-compare-table td { min-width: 175px; padding: 11px 12px; border-bottom: 1px solid var(--sg-line); vertical-align: middle; text-align: left; }
.sg-compare-table th:first-child { position: sticky; left: 0; z-index: 1; min-width: 135px; background: #fff; color: var(--sg-muted); font-weight: 700; }
.sg-compare-product-cell img { width: 84px; height: 68px; margin-bottom: 7px; object-fit: contain; border-radius: 7px; background: #f8fafc; }
.sg-compare-product-cell a { display: block; max-width: 230px; color: var(--sg-ink); font-weight: 800; line-height: 1.3; }

/* Single product: stronger ecommerce hierarchy without replacing WooCommerce logic. */
.single-product .sg-woocommerce-shell { padding-block: 35px 65px; }
.single-product .woocommerce-breadcrumb { margin-bottom: 22px; }
.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0,1.02fr) minmax(360px,.88fr);
    gap: clamp(34px, 5vw, 70px);
    align-items: start;
}
.single-product div.product::before,
.single-product div.product::after { display: none; }
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary { float: none; width: auto; margin: 0; }
.single-product div.product .woocommerce-product-gallery {
    padding: 18px;
    border: 1px solid var(--sg-line);
    border-radius: 14px;
    background: #fff;
}
.single-product .woocommerce-product-gallery__image img { border-radius: 9px; background: #fbfcfe; object-fit: contain; }
.single-product div.product .summary {
    padding-top: 4px;
}
.single-product div.product .product_title {
    margin: 0 0 9px;
    font-size: clamp(28px, 3.3vw, 44px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.single-product div.product .woocommerce-product-rating { margin-bottom: 11px; }
.single-product div.product p.price,
.single-product div.product span.price { margin: 12px 0; color: var(--sg-blue-dark); font-size: clamp(25px, 3vw, 34px); font-weight: 900; }
.single-product div.product .stock { margin: 0 0 13px; color: var(--sg-green); font-size: 12px; font-weight: 850; }
.single-product div.product form.cart { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0 0; padding: 16px 0; border-top: 1px solid var(--sg-line); border-bottom: 1px solid var(--sg-line); }
.single-product div.product form.cart .quantity .qty { min-height: 46px; border: 1px solid var(--sg-line); border-radius: 8px; }
.single-product div.product form.cart .single_add_to_cart_button { min-height: 46px; padding-inline: 24px; font-weight: 850; }
.single-product .product_meta { margin-top: 14px; color: var(--sg-muted); font-size: 11px; }
.sg-single-trust {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
    margin-top: 14px;
}
.sg-single-trust span {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 45px;
    padding: 7px 8px;
    border: 1px solid var(--sg-line);
    border-radius: 8px;
    background: #fff;
}
.sg-single-trust .sg-icon { width: 20px; height: 20px; color: var(--sg-blue); }
.sg-single-trust b { color: var(--sg-ink); font-size: 9.5px; line-height: 1.2; }
.sg-tech-summary { padding: 0; overflow: hidden; }
.sg-tech-summary__head { padding: 14px 16px 10px; background: #fbfcfe; }
.sg-tech-summary__head .sg-eyebrow { margin: 0 0 1px; font-size: 8px; }
.sg-tech-summary__head h2 { margin: 0; font-size: 17px; }
.sg-tech-summary dl > div { padding: 7px 16px; }
.sg-tech-summary dl > div:nth-child(even) { background: #fbfcfe; }
.sg-advice-box { border: 1px solid #d6e7fa; }
.sg-single-compatibility {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(260px,.75fr);
    gap: 24px;
    align-items: center;
    margin: 35px 0 0;
    padding: 25px 28px;
    border: 1px solid #d9e6f5;
    border-radius: 14px;
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
}
.sg-single-compatibility .sg-eyebrow { margin-bottom: 4px; font-size: 9px; }
.sg-single-compatibility h2 { margin: 0; color: var(--sg-ink); font-size: 24px; }
.sg-single-compatibility p { margin: 7px 0 0; color: var(--sg-muted); font-size: 12px; }
.sg-single-compatibility > strong { color: var(--sg-blue-dark); font-size: 15px; line-height: 1.5; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells { grid-column: 1 / -1; width: 100%; }
.single-product div.product .woocommerce-tabs { margin-top: 10px; }
.single-product div.product .woocommerce-tabs ul.tabs { padding-left: 0; border-bottom: 1px solid var(--sg-line); }
.single-product div.product .woocommerce-tabs ul.tabs::before { display: none; }
.single-product div.product .woocommerce-tabs ul.tabs li { margin: 0 4px 0 0; border: 0; background: transparent; }
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--sg-blue); }
.single-product div.product .woocommerce-tabs ul.tabs li a { color: var(--sg-muted); font-size: 12px; }
.single-product div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sg-blue-dark); }
.single-product .related.products > h2,
.single-product .upsells.products > h2 { color: var(--sg-ink); font-size: 26px; }

@media (max-width: 920px) {
    .single-product div.product { grid-template-columns: 1fr; }
    .sg-single-compatibility,
    .single-product div.product .woocommerce-tabs,
    .single-product div.product .related,
    .single-product div.product .upsells { grid-column: 1; }
    .sg-compare-tray__inner { grid-template-columns: 110px minmax(0,1fr) auto; }
}

@media (max-width: 780px) {
    .sg-loop-toolbar { align-items: flex-start; }
    .sg-active-filters { margin-top: 0; }
    .sg-filter-clear { margin-left: 0; }
    .sg-compare-tray__inner { grid-template-columns: 1fr auto; gap: 8px 12px; min-height: 0; padding-block: 8px; }
    .sg-compare-tray__items { grid-column: 1 / -1; grid-row: 2; }
    .sg-compare-tray__actions { grid-column: 2; grid-row: 1; }
    .sg-compare-pill { flex-basis: 180px; }
    .sg-compare-modal { padding: 12px; }
    .sg-compare-modal__panel { max-height: calc(100vh - 24px); }
    .sg-compare-table-wrap { max-height: calc(100vh - 105px); padding-inline: 12px; }
    .sg-single-trust { grid-template-columns: 1fr; }
    .sg-single-compatibility { grid-template-columns: 1fr; padding: 20px; }
}

@media (max-width: 520px) {
    .sg-loop-toolbar { display: block; }
    .sg-loop-toolbar .woocommerce-ordering { width: 100%; margin-top: 8px; }
    .sg-loop-toolbar .woocommerce-ordering select { width: 100%; }
    .sg-shop-results ul.products li.product .woocommerce-loop-product__title { font-size: 16px; }
    .sg-compare-tray__inner > div:first-child { display: none; }
    .sg-compare-tray__inner { grid-template-columns: 1fr; }
    .sg-compare-tray__actions { grid-column: 1; grid-row: 1; justify-content: flex-end; }
    .sg-compare-tray__items { grid-column: 1; grid-row: 2; }
}

/* ==========================================================
   v0.4 – real-image fallbacks, adaptive shop grid, legal links
   and stronger single-product hierarchy.
   ========================================================== */

/* Real product-photo fallback in the hero when no dedicated hero image was chosen. */
.sg-hero__inner { min-height: 500px; display: flex; align-items: center; }
.sg-hero__content { position: relative; z-index: 2; width: min(690px, 62%); }
.sg-hero__product-visual {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 34px;
    width: min(430px, 35vw);
    padding: 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 28px 70px rgba(0,0,0,.28);
    transform: rotate(-1.4deg);
}
.sg-hero__product-visual img {
    width: 100%;
    max-height: 330px;
    object-fit: contain;
    border-radius: 11px;
    background: #fff;
}
.sg-hero__product-visual span {
    display: block;
    margin-top: 8px;
    color: #607084;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
    text-align: center;
}

/* Category cards prefer real WooCommerce category/product photos. */
.sg-category-card__media { display: grid; place-items: center; padding: 10px; }
.sg-category-card__image { border-radius: 8px; background: #fff; }

/* Footer legal links are always available, even without an assigned footer menu. */
.sg-footer-legal-links { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--sg-line); }
.sg-footer-legal-links a { font-weight: 750; color: var(--sg-ink); }
.sg-footer-bottom .sg-container { display: grid; grid-template-columns: 1fr auto 1fr; }
.sg-footer-bottom .sg-container > span:last-child { justify-self: end; }
.sg-footer-bottom__legal { display: flex; align-items: center; justify-content: center; gap: 16px; }
.sg-footer-bottom__legal a { color: #d8e6f6; text-decoration: underline; text-decoration-color: rgba(216,230,246,.35); text-underline-offset: 3px; }
.sg-footer-bottom__legal a:hover { color: #fff; text-decoration-color: #fff; }

/* Content pages such as Impressum and Datenschutz. */
.sg-default-content { max-width: 940px; }
.sg-default-content article { color: var(--sg-text); }
.sg-default-content h1 { margin: 0 0 28px; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; letter-spacing: -.035em; }
.sg-default-content h2 { margin: 34px 0 10px; color: var(--sg-ink); font-size: 24px; }
.sg-default-content h3 { margin: 26px 0 8px; color: var(--sg-ink); font-size: 19px; }
.sg-default-content p, .sg-default-content li { font-size: 15px; line-height: 1.7; }
.sg-default-content a { color: var(--sg-blue); text-decoration: underline; text-underline-offset: 2px; }

/* Adaptive product grid: one or two search results no longer look lost on a wide page. */
.sg-shop-results ul.products.sg-products--one,
.sg-shop-results .woocommerce ul.products.sg-products--one { grid-template-columns: minmax(270px, 360px); justify-content: start; }
.sg-shop-results ul.products.sg-products--two,
.sg-shop-results .woocommerce ul.products.sg-products--two { grid-template-columns: repeat(2, minmax(270px, 360px)); justify-content: start; }
.sg-shop-results ul.products.sg-products--three,
.sg-shop-results .woocommerce ul.products.sg-products--three { grid-template-columns: repeat(3, minmax(250px, 1fr)); }

/* Product cards: calmer proportions and clearer scanning. */
.sg-shop-results ul.products li.product > a.woocommerce-LoopProduct-link { padding: 16px 16px 0; }
.sg-shop-results ul.products li.product img { aspect-ratio: 1 / .9; max-height: 285px; }
.sg-shop-results ul.products li.product .woocommerce-loop-product__title { min-height: 0; margin-top: 2px; font-size: 16px; line-height: 1.34; }
.sg-loop-use { min-height: 0; }
.sg-loop-facts { margin-top: 10px; }
.sg-shop-results ul.products li.product .price { margin-top: 12px; font-size: 18px; }
.sg-shop-results ul.products li.product > a.button { min-height: 43px; display: flex; align-items: center; justify-content: center; }

/* Single product. */
.sg-single-product-page { padding-top: 26px; }
.sg-single-breadcrumb { margin-bottom: 20px; }
.single-product .sg-single-product-page div.product {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: clamp(34px, 5vw, 72px);
}
.single-product div.product .woocommerce-product-gallery {
    position: sticky;
    top: 108px;
    align-self: start;
    padding: 20px;
    box-shadow: 0 12px 34px rgba(17,41,76,.055);
}
.sg-single-category {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--sg-blue);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.single-product div.product .summary .woocommerce-product-details__short-description {
    margin-top: 12px;
    color: var(--sg-text);
    font-size: 14px;
    line-height: 1.6;
}
.sg-single-quick-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
    margin: 18px 0 2px;
}
.sg-single-quick-facts > span {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid var(--sg-line);
    border-radius: 9px;
    background: #fbfcfe;
}
.sg-single-quick-facts small,
.sg-single-quick-facts strong { display: block; overflow-wrap: anywhere; }
.sg-single-quick-facts small { margin-bottom: 3px; color: var(--sg-muted); font-size: 8.5px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.sg-single-quick-facts strong { color: var(--sg-ink); font-size: 13px; line-height: 1.2; }
.single-product div.product form.cart { margin-top: 14px; }
.sg-single-trust { margin-top: 12px; }
.sg-advice-box { margin-top: 14px; padding: 14px; border-radius: 10px; background: #f5faff; }
.sg-advice-box { display: flex; gap: 12px; align-items: flex-start; }
.sg-advice-box .sg-icon { width: 25px; height: 25px; color: var(--sg-blue); }
.sg-advice-box strong, .sg-advice-box span, .sg-advice-box a { display: block; }
.sg-advice-box strong { color: var(--sg-ink); font-size: 13px; }
.sg-advice-box span { margin-top: 3px; color: var(--sg-muted); font-size: 11px; line-height: 1.45; }
.sg-advice-box a { margin-top: 6px; color: var(--sg-blue); font-size: 11px; font-weight: 800; }

/* Full-width technical table below the main product section. */
.single-product div.product .sg-tech-summary--full,
.single-product div.product .sg-single-compatibility { grid-column: 1 / -1; }
.sg-tech-summary--full {
    margin-top: 38px;
    overflow: hidden;
    border: 1px solid var(--sg-line);
    border-radius: 14px;
    background: #fff;
}
.sg-tech-summary--full .sg-tech-summary__head { padding: 22px 24px 16px; }
.sg-tech-summary--full .sg-tech-summary__head h2 { font-size: 26px; }
.sg-tech-summary--full .sg-tech-summary__head p { margin: 5px 0 0; color: var(--sg-muted); font-size: 12px; }
.sg-tech-summary--full dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    margin: 0;
    border-top: 1px solid var(--sg-line);
}
.sg-tech-summary--full dl > div {
    display: grid;
    grid-template-columns: minmax(120px,.8fr) minmax(0,1.2fr);
    gap: 16px;
    padding: 11px 24px;
    border-bottom: 1px solid var(--sg-line);
}
.sg-tech-summary--full dl > div:nth-child(odd) { border-right: 1px solid var(--sg-line); }
.sg-tech-summary--full dt { color: var(--sg-muted); font-size: 11px; font-weight: 700; }
.sg-tech-summary--full dd { margin: 0; color: var(--sg-ink); font-size: 12px; font-weight: 800; }

@media (max-width: 1120px) {
    .sg-hero__content { width: min(650px, 66%); }
    .sg-hero__product-visual { width: min(350px, 31vw); }
    .sg-footer-bottom .sg-container { grid-template-columns: 1fr auto; }
    .sg-footer-bottom .sg-container > span:last-child { display: none; }
}

@media (max-width: 920px) {
    .sg-hero__content { width: 100%; max-width: 660px; }
    .sg-hero__product-visual { opacity: .24; right: -35px; width: 360px; transform: none; }
    .single-product .sg-single-product-page div.product { grid-template-columns: 1fr; }
    .single-product div.product .woocommerce-product-gallery { position: static; }
    .sg-single-quick-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .sg-tech-summary--full dl { grid-template-columns: 1fr; }
    .sg-tech-summary--full dl > div:nth-child(odd) { border-right: 0; }
}

@media (max-width: 780px) {
    .sg-footer-bottom .sg-container { grid-template-columns: 1fr; gap: 8px; align-items: flex-start; }
    .sg-footer-bottom__legal { justify-content: flex-start; }
    .sg-shop-results ul.products.sg-products--two,
    .sg-shop-results .woocommerce ul.products.sg-products--two,
    .sg-shop-results ul.products.sg-products--three,
    .sg-shop-results .woocommerce ul.products.sg-products--three { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
    .sg-hero__product-visual { display: none; }
    .sg-single-quick-facts { grid-template-columns: 1fr 1fr; }
    .sg-tech-summary--full dl > div { grid-template-columns: 1fr; gap: 2px; padding-inline: 18px; }
    .sg-shop-results ul.products.sg-products--two,
    .sg-shop-results .woocommerce ul.products.sg-products--two,
    .sg-shop-results ul.products.sg-products--three,
    .sg-shop-results .woocommerce ul.products.sg-products--three { grid-template-columns: 1fr; }
}

/* Result toolbar: an empty WooCommerce notices wrapper must not steal the row. */
.sg-loop-toolbar .woocommerce-notices-wrapper:empty { display: none; }
.sg-loop-toolbar .woocommerce-result-count { white-space: nowrap; }

/* v0.6 – HM vs. HSS/HSS-E and live homepage finder */
.sg-blade-type-section { padding-top: 22px; }
.sg-blade-type-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.sg-blade-type-heading h2 { margin: 2px 0 0; color: var(--sg-ink); font-size: clamp(20px, 2vw, 28px); }
.sg-blade-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sg-blade-type-card { display: grid; grid-template-columns: 62px minmax(0,1fr) 28px; align-items: center; gap: 16px; min-height: 120px; padding: 18px 20px; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; box-shadow: 0 7px 24px rgba(17,41,76,.045); color: inherit; text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.sg-blade-type-card:hover { transform: translateY(-2px); border-color: #b5cfea; box-shadow: 0 12px 30px rgba(17,41,76,.09); }
.sg-blade-type-card.is-active { border-color: var(--sg-blue); box-shadow: 0 0 0 2px rgba(23,105,190,.08); }
.sg-blade-type-badge { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--sg-blue-soft); color: var(--sg-blue); font-size: 17px; font-weight: 950; letter-spacing: .03em; }
.sg-blade-type-card.is-active .sg-blade-type-badge { background: var(--sg-blue); color: #fff; }
.sg-blade-type-card strong { display: block; margin-bottom: 5px; color: var(--sg-ink); font-size: 17px; }
.sg-blade-type-card p { margin: 0; color: var(--sg-muted); font-size: 12px; line-height: 1.5; }
.sg-blade-type-arrow { color: var(--sg-blue); font-size: 24px; font-weight: 700; }

.sg-category-subchoices { display: flex; flex-wrap: wrap; gap: 7px; margin: -1px 0 12px; }
.sg-category-subchoices a { padding: 6px 9px; border: 1px solid #cddff2; border-radius: 999px; background: var(--sg-blue-soft); color: var(--sg-blue); font-size: 11px; font-weight: 850; text-decoration: none; }
.sg-category-subchoices a:hover { border-color: var(--sg-blue); background: #e1efff; }

.sg-live-finder { scroll-margin-top: 90px; }
.sg-live-finder__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sg-live-finder__panel { scroll-margin-top: 100px; padding: 22px; border: 1px solid var(--sg-line); border-radius: var(--sg-radius); background: #fff; box-shadow: 0 7px 24px rgba(17,41,76,.04); }
.sg-live-finder__title { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.sg-live-finder__title .sg-icon { width: 29px; height: 29px; flex: 0 0 auto; color: var(--sg-blue); }
.sg-live-finder__title strong { display: block; color: var(--sg-ink); font-size: 18px; }
.sg-live-finder__title small { display: block; margin-top: 2px; color: var(--sg-muted); font-size: 11px; }
.sg-live-finder__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.sg-live-finder__choices a { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 11px; border: 1px solid #d8e2ee; border-radius: 8px; background: #fff; color: var(--sg-ink); font-size: 12px; font-weight: 750; text-decoration: none; }
.sg-live-finder__choices a span { color: var(--sg-blue); }
.sg-live-finder__choices a:hover { border-color: #a8c8ec; background: var(--sg-blue-soft); color: var(--sg-blue); }
.sg-live-finder__choices p { margin: 0; color: var(--sg-muted); font-size: 12px; line-height: 1.5; }
.sg-howto-heading { margin-top: 38px; }

@media (max-width: 760px) {
    .sg-blade-type-heading { align-items: start; flex-direction: column; }
    .sg-blade-type-grid, .sg-live-finder__grid { grid-template-columns: 1fr; }
    .sg-blade-type-card { grid-template-columns: 52px minmax(0,1fr) 22px; min-height: 108px; padding: 15px; }
    .sg-blade-type-badge { width: 48px; height: 48px; font-size: 14px; }
}

/* v0.7 – Interactive homepage product finder */
.sg-home-finder-section { scroll-margin-top: 88px; }
.sg-home-finder-heading { align-items: end; }
.sg-home-finder-heading p:not(.sg-eyebrow) { max-width: 680px; margin: 8px 0 0; color: var(--sg-muted); font-size: 14px; line-height: 1.6; }
.sg-home-finder { overflow: hidden; border: 1px solid #d9e3ee; border-radius: 16px; background: #fff; box-shadow: 0 14px 42px rgba(17, 41, 76, .07); }
.sg-home-finder__progress { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr auto 1fr; align-items: center; gap: 12px; padding: 16px 22px; border-bottom: 1px solid #dfe8f1; background: #f6f9fc; color: #74859a; font-size: 11px; font-weight: 750; }
.sg-home-finder__progress span { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.sg-home-finder__progress b { display: inline-grid; place-items: center; width: 24px; height: 24px; flex: 0 0 auto; border-radius: 50%; background: #dfe9f5; color: #315b8f; font-size: 11px; }
.sg-home-finder__progress span.is-active { color: var(--sg-ink); }
.sg-home-finder__progress span.is-active b { background: var(--sg-blue); color: #fff; }
.sg-home-finder__progress i { color: var(--sg-blue); font-style: normal; font-size: 16px; }
.sg-home-finder__body { padding: 4px 26px 12px; }
.sg-home-finder__step { padding: 22px 0 24px; border-bottom: 1px solid #e5ebf2; opacity: .62; transition: opacity .2s ease; }
.sg-home-finder__step:last-child { border-bottom: 0; }
.sg-home-finder__step.is-active, .sg-home-finder__step.is-complete { opacity: 1; }
.sg-home-finder__step[hidden] { display: none !important; }
.sg-home-finder__step > header { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; }
.sg-home-finder__number { display: inline-grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%; background: var(--sg-blue); color: #fff; font-size: 13px; font-weight: 900; }
.sg-home-finder__step header strong { display: block; color: var(--sg-ink); font-size: 17px; }
.sg-home-finder__step header small { display: block; margin-top: 2px; color: var(--sg-muted); font-size: 11px; }
.sg-home-finder__options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sg-home-finder__option { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; min-width: 0; min-height: 78px; padding: 13px 14px; border: 1px solid #d7e2ee; border-radius: 11px; background: #fff; color: var(--sg-ink); text-align: left; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease; }
.sg-home-finder__option:hover:not(:disabled) { border-color: #99bfe9; box-shadow: 0 7px 20px rgba(18, 78, 147, .08); transform: translateY(-1px); }
.sg-home-finder__option.is-selected { border-color: var(--sg-blue); background: #f1f7ff; box-shadow: inset 0 0 0 1px var(--sg-blue); }
.sg-home-finder__option:disabled { opacity: .42; cursor: not-allowed; }
.sg-home-finder__option-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--sg-blue-soft); color: var(--sg-blue); }
.sg-home-finder__option-icon .sg-icon { width: 23px; height: 23px; }
.sg-home-finder__option strong { display: block; font-size: 14px; }
.sg-home-finder__option small { display: block; margin-top: 2px; color: var(--sg-muted); font-size: 10px; line-height: 1.4; }
.sg-home-finder__option em { color: #70839a; font-size: 10px; font-style: normal; font-weight: 750; white-space: nowrap; }
.sg-home-finder__substep { margin-top: 16px; padding: 14px; border-radius: 11px; background: #f6f9fc; }
.sg-home-finder__substep > strong { display: block; margin-bottom: 9px; font-size: 12px; }
.sg-home-finder__options--compact { grid-template-columns: repeat(2, minmax(0, 260px)); }
.sg-home-finder__options--compact .sg-home-finder__option { min-height: 56px; grid-template-columns: 1fr auto; }
.sg-home-finder__facets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sg-home-finder__facets--usage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sg-home-finder__facet { min-width: 0; padding: 13px; border: 1px solid #dce5ef; border-radius: 11px; background: #fbfcfe; }
.sg-home-finder__facet[hidden] { display: none !important; }
.sg-home-finder__facet > strong { display: block; margin-bottom: 8px; color: var(--sg-ink); font-size: 12px; }
.sg-home-finder__choice-list { display: flex; flex-wrap: wrap; gap: 7px; max-height: 144px; overflow: auto; padding: 1px; }
.sg-home-finder__choice { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 6px 9px; border: 1px solid #d4dfeb; border-radius: 8px; background: #fff; color: var(--sg-ink); font-size: 11px; font-weight: 760; cursor: pointer; }
.sg-home-finder__choice:hover { border-color: #9abfe8; background: #f3f8ff; }
.sg-home-finder__choice.is-selected { border-color: var(--sg-blue); background: var(--sg-blue); color: #fff; }
.sg-home-finder__choice small { color: #8291a3; font-size: 9px; }
.sg-home-finder__choice.is-selected small { color: rgba(255,255,255,.76); }
.sg-home-finder__result { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 94px; padding: 18px 26px; border-top: 1px solid #dbe4ee; background: #f5f9fd; }
.sg-home-finder__result-label { display: block; margin-bottom: 2px; color: var(--sg-blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.sg-home-finder__result strong { display: block; color: var(--sg-ink); font-size: 18px; }
.sg-home-finder__selection { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.sg-home-finder__selection span { padding: 4px 7px; border-radius: 999px; background: #e8f1fc; color: #315f93; font-size: 9px; font-weight: 760; }
.sg-home-finder__result-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.sg-home-finder__reset { padding: 9px 10px; border: 0; background: transparent; color: #66798f; font-size: 11px; font-weight: 760; cursor: pointer; }
.sg-home-finder__reset:disabled { opacity: .42; cursor: default; }
.sg-home-finder__submit { white-space: nowrap; }
.sg-home-finder__submit.is-disabled { pointer-events: none; opacity: .48; }
.sg-home-finder__status { min-height: 0; padding: 0 26px; color: #61758c; font-size: 10px; }
.sg-home-finder.is-loading .sg-home-finder__body, .sg-home-finder.is-loading .sg-home-finder__result { opacity: .68; }
.sg-home-finder.is-loading { cursor: progress; }
.sg-home-finder.is-flash { animation: sgFinderFlash .9s ease; }
@keyframes sgFinderFlash { 0%,100% { box-shadow: 0 14px 42px rgba(17,41,76,.07); } 45% { box-shadow: 0 0 0 4px rgba(25,100,190,.12), 0 14px 42px rgba(17,41,76,.10); } }

@media (max-width: 900px) {
    .sg-home-finder__progress { grid-template-columns: repeat(4, 1fr); gap: 6px; }
    .sg-home-finder__progress i { display: none; }
    .sg-home-finder__progress span { justify-content: center; text-align: center; }
    .sg-home-finder__options { grid-template-columns: 1fr; }
    .sg-home-finder__options--compact { grid-template-columns: 1fr 1fr; }
    .sg-home-finder__facets, .sg-home-finder__facets--usage { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .sg-home-finder__progress { display: none; }
    .sg-home-finder__body { padding: 2px 16px 8px; }
    .sg-home-finder__step { padding: 18px 0; }
    .sg-home-finder__options--compact { grid-template-columns: 1fr; }
    .sg-home-finder__result { align-items: stretch; flex-direction: column; padding: 16px; }
    .sg-home-finder__result-actions { width: 100%; }
    .sg-home-finder__submit { flex: 1; text-align: center; }
}

/* === v0.8 technical smart search ======================================= */
.sg-header-search { position: relative; min-width: 230px; }
.sg-smart-search__form { position: relative; margin: 0; }
.sg-header-search .sg-smart-search__input {
    width: 100%; height: 42px; padding: 0 44px 0 14px;
    border: 1px solid var(--sg-line); border-radius: 12px; background: #fff;
    color: var(--sg-ink); font: inherit; font-size: 13px; outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.sg-header-search .sg-smart-search__input:focus,
.sg-smart-search.is-open .sg-smart-search__input {
    border-color: rgba(24, 91, 199, .55);
    box-shadow: 0 0 0 3px rgba(24, 91, 199, .09);
}
.sg-header-search .sg-smart-search__submit {
    display: grid; position: absolute; z-index: 2; top: 50%; right: 7px;
    width: 32px; height: 32px; padding: 0; border: 0; border-radius: 9px;
    background: transparent; color: var(--sg-blue); place-items: center;
    transform: translateY(-50%); cursor: pointer;
}
.sg-smart-search__submit svg { width: 19px; height: 19px; }
.sg-smart-search__panel {
    position: absolute; z-index: 120; top: calc(100% + 9px); right: 0;
    width: min(590px, calc(100vw - 32px)); overflow: hidden;
    border: 1px solid var(--sg-line); border-radius: 16px; background: #fff;
    box-shadow: 0 20px 55px rgba(11, 31, 57, .16);
}
.sg-smart-search__status { padding: 18px; color: var(--sg-muted); font-size: 13px; }
.sg-smart-search__results { max-height: min(510px, 66vh); overflow-y: auto; }
.sg-smart-search__item {
    display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 13px;
    align-items: center; min-height: 92px; padding: 10px 14px;
    border-bottom: 1px solid var(--sg-line); color: inherit; text-decoration: none;
    transition: background .15s ease;
}
.sg-smart-search__item:hover { background: #f6f9fe; }
.sg-smart-search__item img {
    width: 72px; height: 72px; object-fit: contain; border-radius: 9px; background: #f7f9fc;
}
.sg-smart-search__item-body { display: grid; gap: 5px; min-width: 0; }
.sg-smart-search__item-body strong {
    overflow: hidden; color: var(--sg-ink); font-size: 13px; line-height: 1.25;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.sg-smart-search__item-body small { color: var(--sg-muted); font-size: 11px; line-height: 1.3; }
.sg-smart-search__item-meta { display: grid; gap: 4px; min-width: 82px; text-align: right; }
.sg-smart-search__item-meta b { color: var(--sg-blue); font-size: 13px; white-space: nowrap; }
.sg-smart-search__item-meta small { color: var(--sg-muted); font-size: 10px; white-space: nowrap; }
.sg-smart-search__item-meta small.is-stock { color: #24854b; }
.sg-smart-search__all {
    display: flex; align-items: center; justify-content: space-between; padding: 14px 18px;
    background: #f5f8fd; color: var(--sg-blue); font-size: 13px; font-weight: 750;
    text-decoration: none;
}
.sg-smart-search__all:hover { background: #edf4ff; }
.sg-shop-search-help { max-width: 720px; margin: 12px 0 0; color: var(--sg-muted); font-size: 14px; }

@media (max-width: 1120px) {
    .sg-header-search { min-width: 190px; }
}
@media (max-width: 760px) {
    .sg-smart-search__item { grid-template-columns: 58px minmax(0, 1fr); }
    .sg-smart-search__item img { width: 58px; height: 58px; }
    .sg-smart-search__item-meta { grid-column: 2; display: flex; gap: 9px; text-align: left; }
}

/* =========================================================
   v0.10 – readability, wider desktop content & favicon era
   ========================================================= */
@media (min-width: 921px) {
    :root { --sg-container: 1380px; }

    body { font-size: 16.5px; line-height: 1.58; }

    /* Header: slightly larger without making the navigation bulky. */
    .sg-header-inner { min-height: 86px; gap: 30px; }
    .sg-nav-list { gap: 27px; }
    .sg-nav-list a { font-size: 15px; }
    .sg-action-link { font-size: 11px; }
    .sg-header-search .sg-smart-search__input { font-size: 14px; }

    /* Home / general content. */
    .sg-eyebrow { font-size: 14px; }
    .sg-quick-card strong { font-size: 19px; }
    .sg-quick-card small { font-size: 14px; }
    .sg-flow__step strong { font-size: 15px; }
    .sg-flow__step small { font-size: 13px; }
    .sg-text-link { font-size: 15px; }
    .sg-category-card p { font-size: 15px; line-height: 1.6; }
    .sg-benefits strong { font-size: 15px; }
    .sg-benefits small { font-size: 13px; }
    .sg-service__content > p:not(.sg-eyebrow) { max-width: 760px; font-size: 17px; line-height: 1.68; }

    /* Shop intro: wider description column on desktop. */
    .sg-shop-description { max-width: 1040px; font-size: 17px; line-height: 1.68; }
    .sg-shop-search-help { max-width: 900px; font-size: 15px; line-height: 1.6; }
    .sg-shop-guide { font-size: 13px; }

    /* Filters: keep the technical density, but remove the tiny typography. */
    .sg-shop-layout { grid-template-columns: 310px minmax(0,1fr); gap: 34px; }
    .sg-filters__header h2 { font-size: 22px; }
    .sg-filters__eyebrow { font-size: 11px; }
    .sg-filter-group summary { font-size: 15px; padding-block: 15px; }
    .sg-filter-option { min-height: 38px; font-size: 14px; }
    .sg-filter-option small { font-size: 11px; }
    .sg-filter-reset { font-size: 13px; }
    .sg-loop-toolbar .woocommerce-result-count { font-size: 14px; }

    /* Product cards. */
    .sg-shop-results ul.products li.product .woocommerce-loop-product__title { font-size: 17px; line-height: 1.4; }
    .sg-loop-use { font-size: 14px; line-height: 1.5; }
    .sg-loop-facts small { font-size: 10px; }
    .sg-loop-facts strong { font-size: 12.5px; }
    .sg-loop-stock { font-size: 12.5px; }
    .sg-shop-results ul.products li.product .price { font-size: 19px; }

    /* Product detail: give the description/buy column more room. */
    .single-product .sg-single-product-page div.product {
        grid-template-columns: minmax(390px, .88fr) minmax(520px, 1.12fr);
        gap: clamp(42px, 4.4vw, 74px);
    }
    .single-product div.product .woocommerce-product-gallery { padding: 18px; }
    .single-product div.product .summary { padding-top: 2px; }
    .single-product div.product .product_title { font-size: clamp(32px, 3.2vw, 48px); }
    .single-product div.product .summary .woocommerce-product-details__short-description {
        max-width: 760px;
        font-size: 16.5px;
        line-height: 1.7;
    }
    .sg-single-category { font-size: 12px; }
    .single-product div.product .stock { font-size: 14px; }
    .single-product .product_meta { font-size: 13px; line-height: 1.55; }
    .sg-single-quick-facts small { font-size: 10px; }
    .sg-single-quick-facts strong { font-size: 14px; line-height: 1.3; }
    .sg-single-trust b { font-size: 11.5px; line-height: 1.3; }
    .sg-advice-box strong { font-size: 15px; }
    .sg-advice-box span { font-size: 13px; line-height: 1.55; }
    .sg-advice-box a { font-size: 13px; }

    /* Technical data and long description/tabs. */
    .sg-tech-summary--full .sg-tech-summary__head p { font-size: 14px; }
    .sg-tech-summary--full dt { font-size: 13px; }
    .sg-tech-summary--full dd { font-size: 14px; line-height: 1.45; }
    .single-product div.product .woocommerce-tabs ul.tabs li a { font-size: 14px; }
    .single-product div.product .woocommerce-tabs .panel,
    .single-product div.product .woocommerce-tabs .panel p,
    .single-product div.product .woocommerce-tabs .panel li { font-size: 16.5px; line-height: 1.72; }
    .sg-single-compatibility p { font-size: 14px; line-height: 1.6; }
    .sg-single-compatibility > strong { font-size: 16px; }

    /* Static content pages: wider but still comfortable to read. */
    .sg-default-content { max-width: 1120px; }
    .sg-default-content p, .sg-default-content li { font-size: 17px; line-height: 1.75; }

    /* Finder/search interfaces. */
    .sg-home-finder-heading p:not(.sg-eyebrow) { max-width: 820px; font-size: 16px; }
    .sg-home-finder__progress { font-size: 12px; }
    .sg-home-finder__step header small { font-size: 12px; }
    .sg-home-finder__option strong { font-size: 15px; }
    .sg-home-finder__option small { font-size: 12px; }
    .sg-home-finder__option em { font-size: 11px; }
    .sg-home-finder__substep > strong,
    .sg-home-finder__facet > strong { font-size: 13px; }
    .sg-home-finder__choice { font-size: 12.5px; }
    .sg-home-finder__choice small { font-size: 10px; }
    .sg-home-finder__result-label { font-size: 10px; }
    .sg-home-finder__selection span { font-size: 10px; }
    .sg-home-finder__status { font-size: 12px; }

    .sg-smart-search__status { font-size: 14px; }
    .sg-smart-search__item-body strong { font-size: 14.5px; }
    .sg-smart-search__item-body small { font-size: 12px; }
    .sg-smart-search__item-meta b { font-size: 14px; }
    .sg-smart-search__item-meta small { font-size: 11px; }
    .sg-smart-search__all { font-size: 14px; }

    /* Footer should no longer feel visually detached/small. */
    .sg-footer-grid h2 { font-size: 16px; }
    .sg-footer-grid p,
    .sg-footer-menu a { font-size: 14px; }
    .sg-footer-bottom { font-size: 13px; }
}

/* Keep description typography comfortable on tablets too. */
@media (min-width: 621px) and (max-width: 920px) {
    .sg-shop-description { max-width: 860px; font-size: 16px; line-height: 1.65; }
    .single-product div.product .summary .woocommerce-product-details__short-description { font-size: 16px; line-height: 1.68; }
    .sg-default-content p, .sg-default-content li { font-size: 16px; }
}


/* =========================================================
   v0.10.1 – larger product imagery & wider desktop summary
   ========================================================= */
@media (min-width: 921px) {
    /* Keep the general site width calm, but give product detail pages
       their own wider canvas. This adds room to both the gallery and
       the description/buy column instead of making one steal space
       from the other. */
    .single-product .sg-single-product-page {
        width: min(calc(100% - 40px), 1600px);
    }

    .single-product .sg-single-product-page div.product {
        grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
        gap: clamp(44px, 4vw, 68px);
    }

    /* The image itself can now use the full enlarged gallery column.
       Compared with v0.10 this gives roughly 30% more visible image
       area on a normal 1600–1920 px desktop. */
    .single-product div.product .woocommerce-product-gallery {
        padding: 16px;
    }
    .single-product .woocommerce-product-gallery__wrapper,
    .single-product .woocommerce-product-gallery__image,
    .single-product .woocommerce-product-gallery__image a,
    .single-product .woocommerce-product-gallery__image img {
        width: 100%;
    }
    .single-product .woocommerce-product-gallery__image img {
        max-height: none;
        object-fit: contain;
    }

    /* A little more usable width for the short description and the
       purchasing information on the right. */
    .single-product div.product .summary .woocommerce-product-details__short-description {
        max-width: 860px;
    }
}

/* On very wide desktop screens the detail page may breathe a little more. */
@media (min-width: 1700px) {
    .single-product .sg-single-product-page {
        width: min(calc(100% - 56px), 1640px);
    }
}


/* =========================================================
   v0.10.4 – readability + denser, more structured product pages
   ========================================================= */

/* Keep secondary information readable across the shop. */
.sg-action-link { font-size: 11.5px; }
.sg-quick-card small,
.sg-flow__step small,
.sg-benefits small { font-size: 13px; line-height: 1.45; }
.sg-category-card__image--placeholder small { font-size: 13px; }
.sg-stock,
.sg-loop-stock { font-size: 13px; }
.sg-loop-facts small { font-size: 11px; }
.sg-loop-facts strong { font-size: 13.5px; line-height: 1.35; }
.sg-filter-option small { font-size: 12px; }
.sg-shop-guide { font-size: 14px; line-height: 1.5; }
.sg-live-finder__title small,
.sg-live-finder__choices p { font-size: 13px; line-height: 1.5; }
.sg-live-finder__choices a { font-size: 13px; }
.sg-home-finder__step header small,
.sg-home-finder__option small { font-size: 12.5px; line-height: 1.45; }
.sg-home-finder__option em { font-size: 11.5px; }
.sg-home-finder__choice { font-size: 13px; }
.sg-home-finder__choice small { font-size: 11px; }
.sg-home-finder__status { font-size: 12.5px; line-height: 1.45; }
.sg-smart-search__item-body small { font-size: 12.5px; }

/* Product page: turn the previously open right column into a clear buy box. */
.single-product div.product .summary {
    padding: clamp(22px, 2.2vw, 34px);
    border: 1px solid var(--sg-line);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 14px 38px rgba(17,41,76,.065);
}
.single-product .sg-single-category {
    margin-bottom: 10px;
    font-size: 12.5px;
    letter-spacing: .075em;
}
.single-product div.product .product_title {
    margin-bottom: 12px;
    line-height: 1.12;
}
.single-product div.product .summary .woocommerce-product-details__short-description {
    margin-top: 15px;
    color: #33445a;
    font-size: 17px;
    line-height: 1.7;
}
.single-product div.product p.price,
.single-product div.product span.price {
    margin: 16px 0 10px;
    font-size: clamp(29px, 3vw, 38px);
}
.single-product div.product .stock {
    margin-bottom: 15px;
    font-size: 14px;
}

/* Larger technical facts – two wider columns read better than four tiny boxes. */
.single-product .sg-single-quick-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 22px 0 4px;
}
.single-product .sg-single-quick-facts > span {
    min-height: 72px;
    padding: 13px 14px;
    border-color: #d7e2ee;
    border-radius: 10px;
    background: #f5f9fd;
}
.single-product .sg-single-quick-facts small {
    margin-bottom: 5px;
    color: #61758d;
    font-size: 11.5px;
    line-height: 1.25;
    letter-spacing: .045em;
}
.single-product .sg-single-quick-facts strong {
    font-size: 15px;
    line-height: 1.4;
}

/* The buying action is a visual zone instead of two thin divider lines. */
.single-product div.product form.cart {
    gap: 12px;
    margin-top: 20px;
    padding: 17px;
    border: 1px solid #d7e2ee;
    border-radius: 11px;
    background: #f7faff;
}
.single-product div.product form.cart .quantity .qty,
.single-product div.product form.cart .single_add_to_cart_button {
    min-height: 50px;
    font-size: 15px;
}
.single-product .product_meta {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e1e8f0;
    font-size: 13.5px;
    line-height: 1.65;
}

/* Trust and advice blocks now carry enough visual weight to fill the page naturally. */
.single-product .sg-single-trust {
    gap: 10px;
    margin-top: 16px;
}
.single-product .sg-single-trust span {
    min-height: 58px;
    padding: 10px 11px;
    background: #fff;
}
.single-product .sg-single-trust .sg-icon { width: 23px; height: 23px; }
.single-product .sg-single-trust b { font-size: 12px; line-height: 1.35; }
.single-product .sg-advice-box {
    margin-top: 16px;
    padding: 17px 18px;
    border: 1px solid #d6e5f5;
    background: #eef6ff;
}
.single-product .sg-advice-box strong { font-size: 15.5px; }
.single-product .sg-advice-box span { font-size: 14px; line-height: 1.6; }
.single-product .sg-advice-box a { font-size: 13.5px; }

/* The lower half is visually grouped instead of floating in white space. */
.single-product .sg-tech-summary--full {
    margin-top: 44px;
    border-color: #d6e1ed;
    box-shadow: 0 10px 30px rgba(17,41,76,.04);
}
.single-product .sg-tech-summary--full .sg-tech-summary__head {
    padding: 24px 26px 18px;
    background: #f4f8fc;
}
.single-product .sg-tech-summary--full .sg-tech-summary__head h2 { font-size: 28px; }
.single-product .sg-tech-summary--full .sg-tech-summary__head p { font-size: 15px; line-height: 1.55; }
.single-product .sg-tech-summary--full dl > div { padding: 14px 26px; }
.single-product .sg-tech-summary--full dt { font-size: 14px; line-height: 1.45; }
.single-product .sg-tech-summary--full dd { font-size: 15px; line-height: 1.5; }
.single-product div.product .woocommerce-tabs .panel,
.single-product div.product .woocommerce-tabs .panel p,
.single-product div.product .woocommerce-tabs .panel li {
    font-size: 17px;
    line-height: 1.72;
}

@media (min-width: 921px) {
    body { font-size: 17px; }
    .sg-nav-list a { font-size: 15.5px; }
    .sg-filter-group summary { font-size: 15.5px; }
    .sg-filter-option { font-size: 14.5px; }
    .sg-shop-results ul.products li.product .woocommerce-loop-product__title { font-size: 17.5px; }
    .sg-loop-use { font-size: 14.5px; line-height: 1.55; }
    .sg-footer-grid p,
    .sg-footer-menu a { font-size: 14.5px; }
}

@media (max-width: 920px) {
    .single-product div.product .summary { padding: 20px; }
    .single-product div.product .summary .woocommerce-product-details__short-description { font-size: 16.5px; }
    .single-product .sg-single-quick-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 620px) {
    body { font-size: 16px; }
    .sg-action-link { font-size: 11px; }
    .single-product div.product .summary { padding: 17px; border-radius: 12px; }
    .single-product .sg-single-quick-facts { grid-template-columns: 1fr; }
    .single-product .sg-single-quick-facts > span { min-height: 0; }
    .single-product .sg-single-trust { grid-template-columns: 1fr; }
    .single-product div.product form.cart { padding: 14px; }
    .single-product .sg-tech-summary--full dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 13px 18px;
    }
    .single-product .sg-tech-summary--full dt { font-size: 13px; }
    .single-product .sg-tech-summary--full dd { font-size: 15px; }
}

/* =========================================================
   v0.10.5 – product-series buttons + stronger product layout
   ========================================================= */
.single-product .sg-series-selector {
    margin: 22px 0 4px;
    padding: 18px;
    border: 1px solid #d6e2ef;
    border-radius: 12px;
    background: #f6f9fd;
}
.single-product .sg-series-selector__head {
    display: flex;
    gap: 18px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 15px;
}
.single-product .sg-series-selector__head > div,
.single-product .sg-series-selector__head strong,
.single-product .sg-series-selector__head small,
.single-product .sg-series-selector__eyebrow {
    display: block;
}
.single-product .sg-series-selector__eyebrow {
    margin-bottom: 3px;
    color: #60758d;
    font-size: 11.5px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.single-product .sg-series-selector__head strong {
    color: var(--sg-ink);
    font-size: 17px;
    line-height: 1.3;
}
.single-product .sg-series-selector__head small {
    max-width: 280px;
    color: #61758d;
    font-size: 12.5px;
    line-height: 1.45;
    text-align: right;
}
.single-product .sg-series-selector__groups {
    display: grid;
    gap: 14px;
}
.single-product .sg-series-selector__group {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.single-product .sg-series-selector__group legend {
    margin-bottom: 7px;
    padding: 0;
    color: #34465c;
    font-size: 13px;
    font-weight: 850;
}
.single-product .sg-series-selector__choices {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.single-product .sg-series-selector__choice {
    min-width: 68px;
    min-height: 43px;
    padding: 9px 13px;
    border: 1px solid #cbd9e8;
    border-radius: 8px;
    background: #fff;
    color: #263b55;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.single-product .sg-series-selector__choice:hover,
.single-product .sg-series-selector__choice:focus-visible {
    border-color: var(--sg-blue);
    box-shadow: 0 0 0 3px rgba(21,88,167,.10);
    outline: 0;
}
.single-product .sg-series-selector__choice:active { transform: translateY(1px); }
.single-product .sg-series-selector__choice.is-selected,
.single-product .sg-series-selector__choice[aria-pressed="true"] {
    border-color: var(--sg-blue);
    background: var(--sg-blue);
    color: #fff;
    box-shadow: 0 5px 14px rgba(21,88,167,.18);
}
.single-product .sg-series-selector__result {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #dae4ef;
}
.single-product .sg-series-selector__result > span {
    color: #536b84;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.4;
}
.single-product .sg-series-selector__open {
    min-height: 42px;
    padding: 10px 15px;
    font-size: 13.5px;
    white-space: nowrap;
}

/* Give the image/product canvas more visual weight on desktop. */
@media (min-width: 921px) {
    .single-product .sg-single-product-page {
        width: min(calc(100% - 42px), 1680px);
    }
    .single-product .sg-single-product-page div.product {
        grid-template-columns: minmax(0, 1.12fr) minmax(480px, .88fr);
        gap: clamp(36px, 3.6vw, 62px);
    }
    .single-product div.product .woocommerce-product-gallery {
        padding: 20px;
    }
    .single-product div.product .woocommerce-product-gallery__image:first-child img {
        width: 100%;
        max-height: 760px;
        object-fit: contain;
    }
    .single-product div.product .flex-control-thumbs {
        display: grid;
        grid-template-columns: repeat(5, minmax(72px, 1fr));
        gap: 10px;
        margin-top: 14px;
    }
    .single-product div.product .flex-control-thumbs li {
        width: auto;
        float: none;
    }
    .single-product div.product .flex-control-thumbs img {
        aspect-ratio: 1 / 1;
        width: 100%;
        object-fit: contain;
        border: 1px solid #d8e2ed;
        border-radius: 8px;
        background: #fff;
    }
}

@media (max-width: 920px) {
    .single-product .sg-series-selector__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
    .single-product .sg-series-selector__head small {
        max-width: none;
        text-align: left;
    }
}

@media (max-width: 620px) {
    .single-product .sg-series-selector { padding: 15px; }
    .single-product .sg-series-selector__choice {
        min-width: 60px;
        min-height: 42px;
        padding: 8px 11px;
        font-size: 13.5px;
    }
    .single-product .sg-series-selector__result {
        align-items: stretch;
        flex-direction: column;
    }
    .single-product .sg-series-selector__open {
        justify-content: center;
        width: 100%;
    }
}

/* =========================================================
   v0.10.6 – wider product buy panel + overflow-safe layout
   ========================================================= */

/* WooCommerce's own float/width rules can be loaded after theme rules.
   Be explicit here so the product grid always owns both columns. */
.single-product .sg-single-product-page div.product > .woocommerce-product-gallery,
.single-product .sg-single-product-page div.product > .summary {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}

.single-product div.product .summary {
    overflow: hidden;
    padding: clamp(24px, 2.2vw, 34px);
}
.single-product div.product .summary > * {
    min-width: 0;
    max-width: 100%;
}
.single-product div.product .product_title {
    max-width: 100%;
    margin-bottom: 14px;
    font-size: clamp(31px, 2.55vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}
.single-product div.product .summary .woocommerce-product-details__short-description {
    max-width: none;
    margin-top: 16px;
    font-size: 16.5px;
    line-height: 1.65;
    overflow-wrap: break-word;
}
.single-product div.product .summary .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}
.single-product div.product .summary p.price,
.single-product div.product .summary span.price {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.single-product .product_meta {
    overflow-wrap: anywhere;
}

/* Give the right side more room on desktop. The former v0.10.5 rule made
   the image column larger than the buy column, which is the opposite of
   what long technical product titles need. */
@media (min-width: 1180px) {
    .single-product .sg-single-product-page {
        width: min(calc(100% - 44px), 1700px);
    }
    .single-product .sg-single-product-page div.product {
        grid-template-columns: minmax(500px, .92fr) minmax(620px, 1.08fr);
        gap: clamp(30px, 2.7vw, 48px);
        align-items: start;
    }
    .single-product div.product .woocommerce-product-gallery {
        width: 100% !important;
        padding: 18px;
    }
    .single-product div.product .summary {
        width: 100% !important;
        padding: clamp(28px, 2.1vw, 38px);
    }
    .single-product div.product .product_title {
        font-size: clamp(34px, 2.65vw, 48px);
    }
    .single-product .sg-single-quick-facts {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .single-product .sg-single-quick-facts > span {
        min-width: 0;
    }
    .single-product .sg-single-quick-facts strong {
        overflow-wrap: anywhere;
    }
}

/* Compact desktop / landscape tablet: still two columns, but no forced
   minimum on the right that could push content out of the viewport. */
@media (min-width: 921px) and (max-width: 1179px) {
    .single-product .sg-single-product-page {
        width: min(calc(100% - 32px), 1160px);
    }
    .single-product .sg-single-product-page div.product {
        grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
        gap: 28px;
    }
    .single-product div.product .product_title {
        font-size: clamp(30px, 3.4vw, 42px);
    }
    .single-product .sg-single-quick-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Variant result: keep the action entirely inside its frame. The status is
   allowed to yield space and ellipsize before the button can overflow. */
.single-product .sg-series-selector {
    min-width: 0;
    overflow: hidden;
}
.single-product .sg-series-selector__result {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    min-width: 0;
    overflow: hidden;
}
.single-product .sg-series-selector__result > span {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.single-product .sg-series-selector__open {
    position: relative;
    z-index: 2;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    overflow-wrap: break-word;
}

/* Make all selector controls resilient to long technical values. */
.single-product .sg-series-selector__head,
.single-product .sg-series-selector__groups,
.single-product .sg-series-selector__group,
.single-product .sg-series-selector__choices {
    min-width: 0;
}
.single-product .sg-series-selector__choice {
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Tablet: keep good reading width and let the gallery stop sticking before
   it consumes too much vertical space. */
@media (min-width: 621px) and (max-width: 920px) {
    .single-product .sg-single-product-page {
        width: min(calc(100% - 30px), 860px);
    }
    .single-product .sg-single-product-page div.product {
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .single-product div.product .woocommerce-product-gallery {
        position: static;
    }
    .single-product div.product .summary {
        padding: 24px;
    }
    .single-product div.product .product_title {
        font-size: clamp(30px, 6vw, 42px);
    }
    .single-product .sg-single-quick-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Smartphone: one clean vertical flow, full-width actions, no clipping. */
@media (max-width: 620px) {
    .single-product .sg-single-product-page {
        width: min(calc(100% - 20px), 600px);
    }
    .single-product .sg-single-product-page div.product {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .single-product div.product .woocommerce-product-gallery {
        position: static;
        padding: 12px;
    }
    .single-product div.product .summary {
        padding: 18px;
        border-radius: 12px;
    }
    .single-product div.product .product_title {
        font-size: clamp(27px, 9vw, 36px);
        line-height: 1.1;
    }
    .single-product div.product .summary .woocommerce-product-details__short-description {
        font-size: 16px;
        line-height: 1.6;
    }
    .single-product .sg-single-quick-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .single-product .sg-series-selector__result {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .single-product .sg-series-selector__result > span {
        white-space: normal;
        text-overflow: clip;
    }
    .single-product .sg-series-selector__open {
        width: 100%;
    }
    .single-product div.product form.cart {
        display: grid;
        grid-template-columns: minmax(72px, .3fr) minmax(0, 1fr);
        align-items: stretch;
    }
    .single-product div.product form.cart .single_add_to_cart_button {
        width: 100%;
        white-space: normal;
    }
}

/* ==========================================================
   v0.10.7 – one archive card per product series
   ========================================================== */
.sg-loop-series-preview {
    display: grid;
    gap: 3px;
    margin: 8px 15px 0;
    padding: 9px 11px;
    border: 1px solid #dce6f2;
    border-radius: 9px;
    background: #f7faff;
    color: var(--sg-ink);
}
.sg-loop-series-preview span {
    color: var(--sg-blue-dark);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.sg-loop-series-preview strong {
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.sg-loop-series-preview small {
    color: var(--sg-muted);
    font-size: 12px;
    line-height: 1.4;
}
.sg-loop-series-preview.is-filtered {
    border-color: #bed4ef;
    background: #edf5ff;
}
.sg-series-from {
    color: var(--sg-muted);
    font-size: .72em;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sg-shop-results ul.products li.product .woocommerce-loop-product__title {
    overflow-wrap: anywhere;
}
.sg-shop-results ul.products li.product > a.sg-series-choose {
    white-space: normal;
    line-height: 1.25;
}

/* ================================================================
   v0.10.9 – Kontakt, Marken und robuste Informationsseiten
   ================================================================ */
.sg-brand-names a {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-decoration: none;
}
.sg-brand-names a:hover { color: var(--sg-blue); }
.sg-brand-names a + a { border-left: 1px solid var(--sg-line); padding-left: 42px; }
.sg-page-hero { padding-top: clamp(42px, 5vw, 76px); padding-bottom: 28px; }
.sg-page-hero h1 { max-width: 900px; margin: 5px 0 14px; font-size: clamp(34px, 4vw, 58px); line-height: 1.04; letter-spacing: -.04em; }
.sg-page-hero > p:last-child { max-width: 820px; margin: 0; color: var(--sg-muted); font-size: 18px; line-height: 1.65; }

.sg-contact-layout { display: grid; grid-template-columns: minmax(320px, .82fr) minmax(520px, 1.35fr); gap: 34px; align-items: start; padding-bottom: 76px; }
.sg-contact-details { display: grid; gap: 18px; }
.sg-contact-card,
.sg-contact-form-card,
.sg-brand-card,
.sg-empty-state { background: #fff; border: 1px solid var(--sg-line); box-shadow: 0 12px 34px rgba(14, 33, 54, .055); }
.sg-contact-card { padding: 27px; }
.sg-contact-card__label { display: block; margin-bottom: 8px; color: var(--sg-blue); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sg-contact-card h2,
.sg-contact-form-card h2 { margin: 0 0 18px; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.1; letter-spacing: -.025em; }
.sg-contact-card address { margin: 0 0 22px; color: var(--sg-ink); font-style: normal; font-size: 17px; line-height: 1.65; }
.sg-contact-links { display: grid; gap: 10px; }
.sg-contact-links a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; padding: 13px 0; border-top: 1px solid var(--sg-line); color: var(--sg-ink); text-decoration: none; overflow-wrap: anywhere; }
.sg-contact-links a:hover strong { color: var(--sg-blue); }
.sg-contact-links span { color: var(--sg-muted); font-size: 14px; }
.sg-hours { margin: 0; }
.sg-hours > div { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 13px 0; border-top: 1px solid var(--sg-line); }
.sg-hours dt { font-weight: 700; }
.sg-hours dd { margin: 0; text-align: right; color: var(--sg-muted); line-height: 1.5; }
.sg-contact-card--service { display: flex; gap: 16px; align-items: flex-start; background: var(--sg-soft); }
.sg-contact-card--service .sg-icon { flex: 0 0 28px; width: 28px; height: 28px; color: var(--sg-blue); }
.sg-contact-card--service strong { font-size: 18px; }
.sg-contact-card--service p { margin: 7px 0; color: var(--sg-muted); line-height: 1.55; }
.sg-contact-card--service a { font-weight: 750; }

.sg-contact-form-card { padding: clamp(26px, 3vw, 42px); }
.sg-contact-form { display: grid; gap: 20px; }
.sg-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sg-contact-form label { display: grid; gap: 7px; color: var(--sg-ink); font-weight: 700; font-size: 15px; }
.sg-contact-form input[type="text"],
.sg-contact-form input[type="email"],
.sg-contact-form input[type="tel"],
.sg-contact-form select,
.sg-contact-form textarea { width: 100%; min-height: 49px; padding: 12px 13px; border: 1px solid #cfd7df; border-radius: 3px; background: #fff; color: var(--sg-ink); font: inherit; font-weight: 500; box-sizing: border-box; }
.sg-contact-form textarea { min-height: 160px; resize: vertical; line-height: 1.55; }
.sg-contact-form input:focus,
.sg-contact-form select:focus,
.sg-contact-form textarea:focus { border-color: var(--sg-blue); outline: 3px solid rgba(22, 91, 151, .12); }
.sg-form-consent { grid-template-columns: auto 1fr !important; align-items: start; gap: 10px !important; color: var(--sg-muted) !important; font-size: 14px !important; line-height: 1.5; font-weight: 500 !important; }
.sg-form-consent input { margin-top: 4px; }
.sg-form-message { margin: 0 0 22px; padding: 15px 17px; border-left: 4px solid var(--sg-blue); background: var(--sg-soft); line-height: 1.55; }
.sg-form-message strong { display: block; }
.sg-form-message--success { border-left-color: #35861a; background: #f1f8ed; }
.sg-form-message--error { border-left-color: #a52a2a; background: #fff3f1; }
.sg-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.sg-brand-overview { padding-bottom: 76px; }
.sg-brand-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sg-brand-card { display: flex; min-height: 230px; flex-direction: column; padding: 28px; color: var(--sg-ink); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.sg-brand-card:hover { transform: translateY(-2px); border-color: #b9c9d9; box-shadow: 0 16px 40px rgba(14, 33, 54, .09); }
.sg-brand-card__name { font-size: clamp(25px, 2.4vw, 38px); line-height: 1.05; font-weight: 900; letter-spacing: .04em; overflow-wrap: anywhere; }
.sg-brand-card__count { margin-top: 9px; color: var(--sg-blue); font-size: 14px; font-weight: 800; }
.sg-brand-card p { margin: 18px 0 0; color: var(--sg-muted); line-height: 1.55; }
.sg-brand-card__link { margin-top: auto; padding-top: 26px; font-weight: 800; color: var(--sg-blue); }
.sg-empty-state { padding: 34px; }
.sg-empty-state h2 { margin-top: 0; }

@media (max-width: 980px) {
    .sg-contact-layout { grid-template-columns: 1fr; }
    .sg-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .sg-page-hero > p:last-child { font-size: 16px; }
    .sg-form-grid { grid-template-columns: 1fr; }
    .sg-brand-grid { grid-template-columns: 1fr; }
    .sg-brand-names a + a { padding-left: 22px; }
    .sg-hours > div { grid-template-columns: 1fr; gap: 4px; }
    .sg-hours dd { text-align: left; }
}
