/*
 * SHINSYU GLOBAL layout stability layer v1.0.1
 * Loaded last to correct the collapsed columns seen on home, product,
 * checkout and footer-linked information pages.
 */
:root {
    --sgx-green: #103b2d;
    --sgx-green-dark: #0b261e;
    --sgx-green-soft: #eaf1ed;
    --sgx-cream: #f8f6f0;
    --sgx-paper: #fffefb;
    --sgx-ink: #14231e;
    --sgx-muted: #66726d;
    --sgx-gold: #b78a45;
    --sgx-border: #dfe5e1;
    --sgx-radius: 18px;
    --sgx-shadow: 0 16px 44px rgba(9, 38, 29, .09);
    --sgx-container: 1240px;
}

* { box-sizing: border-box; }
html { width: 100%; max-width: 100%; overflow-x: clip; }
body.sgx-stable-layout {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}
body.sgx-stable-layout #page,
body.sgx-stable-layout .site,
body.sgx-stable-layout .site-content,
body.sgx-stable-layout .site-main,
body.sgx-stable-layout #primary,
body.sgx-stable-layout .content-area {
    min-width: 0 !important;
    max-width: 100% !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}
body.sgx-stable-layout .widget-area { display: none !important; }
body.sgx-stable-layout #primary,
body.sgx-stable-layout .content-area {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
body.sgx-stable-layout img,
body.sgx-stable-layout video,
body.sgx-stable-layout iframe,
body.sgx-stable-layout svg { max-width: 100%; }
body.sgx-stable-layout img { height: auto; }
body.sgx-stable-layout a,
body.sgx-stable-layout p,
body.sgx-stable-layout li,
body.sgx-stable-layout td,
body.sgx-stable-layout th,
body.sgx-stable-layout h1,
body.sgx-stable-layout h2,
body.sgx-stable-layout h3,
body.sgx-stable-layout h4 {
    overflow-wrap: anywhere;
    word-break: normal;
    writing-mode: horizontal-tb !important;
}

/* Header/nav guard: do not let a large category menu widen or collapse the page. */
.site-header,
#masthead,
.ast-primary-header-bar,
.main-header-bar {
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
    z-index: 100;
}
.main-header-menu,
.ast-builder-menu,
[class*="category-nav"],
[class*="shop-nav"] {
    min-width: 0;
}
@media (min-width: 922px) {
    .main-header-menu,
    .ast-builder-menu-1 .main-header-menu {
        flex-wrap: nowrap;
    }
}

/* HOME: a normal horizontal document flow, regardless of earlier experimental grids. */
body.home.sgx-stable-layout .site-content,
body.home.sgx-stable-layout .site-content > .ast-container,
body.home.sgx-stable-layout #primary,
body.home.sgx-stable-layout .site-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    grid-template-columns: none !important;
    columns: auto !important;
    column-width: auto !important;
    min-height: 0 !important;
    writing-mode: horizontal-tb !important;
    background: transparent;
}
.sgx-home,
.sgx-home * {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}
.sgx-home {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--sgx-ink);
    background: var(--sgx-paper);
}
.sgx-home > section {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    display: block !important;
    margin: 0 !important;
    clear: both;
}
.sgx-container {
    width: min(calc(100% - 48px), var(--sgx-container)) !important;
    max-width: var(--sgx-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    min-width: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
}
.sgx-section { padding: 84px 0; }
.sgx-section--soft { background: var(--sgx-cream); }
.sgx-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 14px;
    color: var(--sgx-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.sgx-eyebrow::before { content: ""; width: 30px; height: 1px; background: currentColor; }
.sgx-section-head {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: end;
    gap: 28px;
    margin-bottom: 34px;
    width: 100% !important;
}
.sgx-section-head h2 {
    margin: 0;
    color: var(--sgx-ink);
    font-size: clamp(28px, 3.2vw, 46px);
    line-height: 1.18;
    letter-spacing: -.025em;
}
.sgx-text-link { color: var(--sgx-green); font-weight: 700; text-decoration: none; white-space: nowrap; }
.sgx-text-link:hover { text-decoration: underline; }

.sgx-hero {
    overflow: hidden;
    background:
      radial-gradient(circle at 88% 16%, rgba(183,138,69,.25), transparent 32%),
      linear-gradient(135deg, #0d2d23 0%, #123f30 64%, #1d5441 100%);
    color: #fff;
}
.sgx-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .13;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px);
    background-size: 48px 48px;
}
.sgx-hero__grid {
    min-height: 600px;
    padding: 86px 0;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr) !important;
    align-items: center;
    gap: 72px;
}
.sgx-hero__copy { min-width: 0; position: relative; z-index: 2; }
.sgx-hero__copy .sgx-eyebrow { color: #e0bd7d; }
.sgx-hero h1 {
    color: #fff;
    margin: 0 0 24px;
    font-size: clamp(42px, 5.4vw, 76px);
    line-height: 1.07;
    letter-spacing: -.045em;
}
.sgx-hero__lead {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.9;
}
.sgx-actions { display: flex !important; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.sgx-button {
    min-height: 50px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.sgx-button:hover { transform: translateY(-2px); }
.sgx-button--gold { background: #c69a52; color: #10291f !important; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.sgx-button--ghost { border-color: rgba(255,255,255,.42); color: #fff !important; background: rgba(255,255,255,.06); }
.sgx-hero__visual {
    min-width: 0;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px;
    align-items: center;
    position: relative;
    z-index: 2;
}
.sgx-hero-card {
    min-width: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    color: var(--sgx-ink);
    box-shadow: 0 26px 70px rgba(0,0,0,.26);
    text-decoration: none !important;
}
.sgx-hero-card:nth-child(2) { transform: translateY(42px); }
.sgx-hero-card__image { aspect-ratio: 1 / 1.12; background: #f5f3ee; overflow: hidden; }
.sgx-hero-card__image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.sgx-hero-card__body { padding: 18px; }
.sgx-hero-card__body strong { display: block; color: var(--sgx-ink); line-height: 1.45; }
.sgx-hero-card__body span { display: block; margin-top: 7px; color: var(--sgx-green); font-weight: 800; }

.sgx-trust { background: #eff5f1; border-bottom: 1px solid var(--sgx-border); }
.sgx-trust__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 0;
}
.sgx-trust__item { min-width: 0; padding: 24px 28px; display: flex !important; align-items: center; gap: 15px; border-right: 1px solid #d8e4dd; }
.sgx-trust__item:last-child { border-right: 0; }
.sgx-trust__icon { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--sgx-green); font-size: 19px; }
.sgx-trust__item strong { display:block; margin-bottom: 4px; }
.sgx-trust__item small { display:block; color: var(--sgx-muted); line-height: 1.5; }

.sgx-category-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 18px;
    width: 100% !important;
}
.sgx-category-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--sgx-border);
    border-radius: var(--sgx-radius);
    background: #fff;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sgx-category-card:hover { transform: translateY(-4px); box-shadow: var(--sgx-shadow); border-color: #c8d5ce; }
.sgx-category-card__image { aspect-ratio: 1.16 / 1; background: #f5f3ee; overflow:hidden; }
.sgx-category-card__image img { width:100% !important; height:100% !important; object-fit:cover; display:block; }
.sgx-category-card__fallback { width:100%; height:100%; display:grid; place-items:center; color:var(--sgx-gold); font-size:34px; }
.sgx-category-card__body { padding: 17px 18px 19px; }
.sgx-category-card h3 { margin: 0; color: var(--sgx-ink); font-size: 16px; line-height:1.45; }
.sgx-category-card span { display:block; margin-top:6px; color:var(--sgx-muted); font-size:12px; }

.sgx-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 30px 20px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.sgx-product-card { min-width:0; position:relative; background:#fff; }
.sgx-product-card__link { display:block; text-decoration:none !important; color:inherit; }
.sgx-product-card__media { aspect-ratio:1/1.05; border-radius:16px; overflow:hidden; background:#f3f2ee; position:relative; }
.sgx-product-card__media img { width:100% !important; height:100% !important; object-fit:cover; display:block; transition: transform .35s ease; }
.sgx-product-card:hover .sgx-product-card__media img { transform:scale(1.035); }
.sgx-badge { position:absolute; top:12px; left:12px; z-index:2; min-width:44px; padding:6px 9px; border-radius:999px; background:#a33b30; color:#fff; font-size:11px; font-weight:800; text-align:center; }
.sgx-product-card__body { padding:15px 2px 0; }
.sgx-product-card__body h3 { margin:0; color:var(--sgx-ink); font-size:15px; line-height:1.55; font-weight:650; }
.sgx-product-card__price { margin-top:9px; color:var(--sgx-green); font-size:16px; font-weight:800; }
.sgx-product-card__price del { color:#87908c; font-weight:500; margin-right:6px; }
.sgx-product-card__price ins { text-decoration:none; }
.sgx-empty { padding:34px; border:1px dashed #cfd8d3; border-radius:16px; background:#fff; color:var(--sgx-muted); text-align:center; }

.sgx-company-band { background: var(--sgx-green); color:#fff; overflow:hidden; }
.sgx-company-band__grid {
    padding: 82px 0;
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) !important;
    gap:72px;
    align-items:center;
}
.sgx-company-band h2 { margin:0 0 20px; color:#fff; font-size:clamp(30px,4vw,52px); line-height:1.2; }
.sgx-company-band p { margin:0; color:rgba(255,255,255,.78); line-height:1.9; }
.sgx-company-card { padding:32px; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.sgx-company-card dl { margin:0; display:grid; grid-template-columns:112px minmax(0,1fr); gap:13px 18px; }
.sgx-company-card dt { color:#d8b36f; font-weight:800; }
.sgx-company-card dd { margin:0; color:#fff; }
.sgx-company-card a { color:#fff; }

/* PRODUCT: restore the standard two-column summary and a full-width description. */
body.single-product.sgx-stable-layout .site-content > .ast-container,
body.single-product.sgx-stable-layout .ast-container,
body.woocommerce-page.sgx-stable-layout:not(.home) .site-content > .ast-container {
    width: min(calc(100% - 48px), 1280px) !important;
    max-width: 1280px !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    display: block !important;
    grid-template-columns: none !important;
}
body.single-product.sgx-stable-layout .site-main,
body.single-product.sgx-stable-layout .woocommerce,
body.single-product.sgx-stable-layout div.product {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    display:block !important;
    columns:auto !important;
    column-width:auto !important;
}
body.single-product.sgx-stable-layout div.product::after { content:""; display:table; clear:both; }
body.single-product.sgx-stable-layout div.product .woocommerce-product-gallery {
    width:54% !important;
    max-width:54% !important;
    min-width:0 !important;
    float:left !important;
    margin:0 0 56px !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
}
body.single-product.sgx-stable-layout div.product .summary {
    width:40% !important;
    max-width:40% !important;
    min-width:0 !important;
    float:right !important;
    margin:0 0 56px !important;
    padding:0 !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
}
body.single-product.sgx-stable-layout .woocommerce-product-gallery__wrapper,
body.single-product.sgx-stable-layout .woocommerce-product-gallery__image,
body.single-product.sgx-stable-layout .woocommerce-product-gallery__image a { width:100% !important; max-width:100% !important; }
body.single-product.sgx-stable-layout .woocommerce-product-gallery__image img { width:100% !important; height:auto !important; object-fit:contain; }
body.single-product.sgx-stable-layout div.product .product_title { font-size:clamp(28px,3.2vw,44px); line-height:1.22; margin:0 0 18px; }
body.single-product.sgx-stable-layout div.product p.price,
body.single-product.sgx-stable-layout div.product span.price { color:var(--sgx-green); font-size:clamp(22px,2.3vw,30px); line-height:1.3; }
body.single-product.sgx-stable-layout div.product form.cart,
body.single-product.sgx-stable-layout div.product .variations,
body.single-product.sgx-stable-layout div.product .variations tbody,
body.single-product.sgx-stable-layout div.product .variations tr,
body.single-product.sgx-stable-layout div.product .variations th,
body.single-product.sgx-stable-layout div.product .variations td { width:100% !important; max-width:100% !important; }
body.single-product.sgx-stable-layout div.product .variations tr { display:block; margin-bottom:18px; }
body.single-product.sgx-stable-layout div.product .variations th,
body.single-product.sgx-stable-layout div.product .variations td { display:block; padding:0; }
body.single-product.sgx-stable-layout div.product .variations th { margin-bottom:8px; text-align:left; }
body.single-product.sgx-stable-layout div.product form.cart select { width:100% !important; min-height:48px; }
body.single-product.sgx-stable-layout div.product form.cart .quantity { width:92px; margin-right:12px; }
body.single-product.sgx-stable-layout div.product form.cart .button { min-height:50px; padding-inline:28px; border-radius:999px; background:var(--sgx-green); }
body.single-product.sgx-stable-layout div.product .woocommerce-tabs,
body.single-product.sgx-stable-layout div.product .related,
body.single-product.sgx-stable-layout div.product .upsells,
body.single-product.sgx-stable-layout div.product section.products {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:both !important;
    margin-inline:0 !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    columns:auto !important;
    writing-mode:horizontal-tb !important;
}
body.single-product.sgx-stable-layout .woocommerce-tabs { padding-top:38px; border-top:1px solid var(--sgx-border); }
body.single-product.sgx-stable-layout .woocommerce-tabs .tabs { display:flex !important; flex-wrap:wrap; gap:8px 28px; width:100% !important; margin:0 0 26px !important; padding:0 !important; }
body.single-product.sgx-stable-layout .woocommerce-tabs .tabs::before,
body.single-product.sgx-stable-layout .woocommerce-tabs .tabs::after { display:none !important; }
body.single-product.sgx-stable-layout .woocommerce-tabs .tabs li { width:auto !important; display:block !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
body.single-product.sgx-stable-layout .woocommerce-tabs .tabs li a { padding:12px 0 !important; }
body.single-product.sgx-stable-layout .woocommerce-Tabs-panel,
body.single-product.sgx-stable-layout .woocommerce-Tabs-panel > *,
body.single-product.sgx-stable-layout .woocommerce-product-details__short-description {
    max-width:100% !important;
    min-width:0 !important;
    columns:auto !important;
    writing-mode:horizontal-tb !important;
}
body.single-product.sgx-stable-layout .woocommerce-Tabs-panel { width:100% !important; padding:0 !important; line-height:1.8; overflow:hidden; }
body.single-product.sgx-stable-layout .woocommerce-Tabs-panel img,
body.single-product.sgx-stable-layout .woocommerce-product-details__short-description img {
    display:block;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto;
    margin-right:auto;
    float:none !important;
}
body.single-product.sgx-stable-layout .woocommerce-Tabs-panel table { width:100% !important; max-width:100% !important; }
body.single-product.sgx-stable-layout .related.products > h2,
body.single-product.sgx-stable-layout .upsells.products > h2 { margin:64px 0 28px; font-size:clamp(26px,3vw,40px); }
body.single-product.sgx-stable-layout ul.products { width:100% !important; max-width:100% !important; display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:28px 20px !important; margin:0 !important; padding:0 !important; }
body.single-product.sgx-stable-layout ul.products::before,
body.single-product.sgx-stable-layout ul.products::after { display:none !important; }
body.single-product.sgx-stable-layout ul.products li.product { width:auto !important; max-width:none !important; min-width:0 !important; float:none !important; margin:0 !important; clear:none !important; }

/* CHECKOUT: desktop two-column layout, full-width order card, one column on mobile. */
body.woocommerce-checkout.sgx-stable-layout .site-content > .ast-container,
body.woocommerce-checkout.sgx-stable-layout .ast-container {
    width:min(calc(100% - 48px), 1240px) !important;
    max-width:1240px !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
    display:block !important;
    grid-template-columns:none !important;
}
body.woocommerce-checkout.sgx-stable-layout .entry-header,
body.woocommerce-checkout.sgx-stable-layout .entry-content,
body.woocommerce-checkout.sgx-stable-layout .woocommerce {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    margin-inline:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout .entry-title { margin:0 0 34px; font-size:clamp(32px,4vw,52px); }
body.woocommerce-checkout.sgx-stable-layout form.checkout.woocommerce-checkout {
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr) !important;
    grid-template-areas:"customer review-title" "customer review" !important;
    align-items:start;
    gap:0 64px;
    margin:0 !important;
    padding:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout #customer_details {
    grid-area:customer;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:block !important;
    float:none !important;
    margin:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout #customer_details .col-1,
body.woocommerce-checkout.sgx-stable-layout #customer_details .col-2 {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    margin:0 0 30px !important;
    padding:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout #order_review_heading {
    grid-area:review-title;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:24px 26px 14px !important;
    border:1px solid var(--sgx-border);
    border-bottom:0;
    border-radius:18px 18px 0 0;
    background:#fff;
    font-size:22px;
    position:static !important;
    inset:auto !important;
    transform:none !important;
}
body.woocommerce-checkout.sgx-stable-layout #order_review {
    grid-area:review;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    margin:0 !important;
    padding:0 26px 26px !important;
    border:1px solid var(--sgx-border);
    border-top:0;
    border-radius:0 0 18px 18px;
    background:#fff;
    box-shadow:var(--sgx-shadow);
    position:static !important;
    inset:auto !important;
    transform:none !important;
}
body.woocommerce-checkout.sgx-stable-layout .woocommerce-billing-fields,
body.woocommerce-checkout.sgx-stable-layout .woocommerce-shipping-fields,
body.woocommerce-checkout.sgx-stable-layout .woocommerce-additional-fields {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout.sgx-stable-layout .woocommerce-shipping-fields__field-wrapper {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px 20px;
    width:100% !important;
}
body.woocommerce-checkout.sgx-stable-layout .form-row {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    margin:0 0 18px !important;
    padding:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout.sgx-stable-layout .woocommerce-shipping-fields__field-wrapper .form-row { margin:0 !important; }
body.woocommerce-checkout.sgx-stable-layout .form-row-wide,
body.woocommerce-checkout.sgx-stable-layout [id$="_company_field"],
body.woocommerce-checkout.sgx-stable-layout [id$="_country_field"],
body.woocommerce-checkout.sgx-stable-layout [id$="_address_1_field"],
body.woocommerce-checkout.sgx-stable-layout [id$="_address_2_field"],
body.woocommerce-checkout.sgx-stable-layout [id$="_phone_field"],
body.woocommerce-checkout.sgx-stable-layout [id$="_email_field"] { grid-column:1 / -1; }
body.woocommerce-checkout.sgx-stable-layout .form-row label { display:block; margin:0 0 7px; font-size:13px; font-weight:750; color:var(--sgx-ink); }
body.woocommerce-checkout.sgx-stable-layout .input-text,
body.woocommerce-checkout.sgx-stable-layout select,
body.woocommerce-checkout.sgx-stable-layout .select2-container,
body.woocommerce-checkout.sgx-stable-layout .select2-selection {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
body.woocommerce-checkout.sgx-stable-layout .input-text,
body.woocommerce-checkout.sgx-stable-layout select,
body.woocommerce-checkout.sgx-stable-layout .select2-selection--single {
    min-height:48px;
    border:1px solid #cfd8d3;
    border-radius:10px;
    background:#fff;
    padding:11px 13px;
}
body.woocommerce-checkout.sgx-stable-layout textarea.input-text { min-height:120px; resize:vertical; }
body.woocommerce-checkout.sgx-stable-layout table.shop_table {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 22px !important;
    border-collapse:collapse;
    table-layout:auto;
}
body.woocommerce-checkout.sgx-stable-layout table.shop_table th,
body.woocommerce-checkout.sgx-stable-layout table.shop_table td {
    padding:15px 6px;
    vertical-align:top;
    border-bottom:1px solid #e4e9e6;
    white-space:normal !important;
}
body.woocommerce-checkout.sgx-stable-layout table.shop_table td.product-name { width:68%; }
body.woocommerce-checkout.sgx-stable-layout table.shop_table td.product-total,
body.woocommerce-checkout.sgx-stable-layout table.shop_table tfoot td { text-align:right; white-space:nowrap !important; }
body.woocommerce-checkout.sgx-stable-layout #payment {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    background:#f1f5f2;
    border-radius:13px;
}
body.woocommerce-checkout.sgx-stable-layout #payment ul.payment_methods,
body.woocommerce-checkout.sgx-stable-layout #payment .place-order { width:100% !important; margin:0 !important; padding:20px !important; }
body.woocommerce-checkout.sgx-stable-layout #payment li,
body.woocommerce-checkout.sgx-stable-layout #payment .payment_box { width:100% !important; max-width:100% !important; white-space:normal !important; overflow-wrap:anywhere; }
body.woocommerce-checkout.sgx-stable-layout #place_order { width:100% !important; min-height:52px; margin-top:12px; border-radius:999px; background:var(--sgx-green); font-weight:800; }
body.woocommerce-checkout.sgx-stable-layout .woocommerce-privacy-policy-text { font-size:12px; line-height:1.7; }
body.woocommerce-checkout.sgx-stable-layout .woocommerce-form-login-toggle,
body.woocommerce-checkout.sgx-stable-layout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout.sgx-stable-layout .woocommerce-form-login,
body.woocommerce-checkout.sgx-stable-layout .checkout_coupon { width:100% !important; max-width:100% !important; }
.sgx-postcode-status { display:block; margin-top:7px; font-size:12px; line-height:1.5; color:var(--sgx-muted); }
.sgx-postcode-status.is-loading { color:#8b672d; }
.sgx-postcode-status.is-success { color:#167346; }
.sgx-postcode-status.is-error { color:#a13d35; }

/* INFORMATION PAGES: replace overlapping absolute panels with a standard shell. */
body.sgx-information-page .site-content,
body.sgx-information-page .site-content > .ast-container,
body.sgx-information-page #primary,
body.sgx-information-page .site-main {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    float:none !important;
    grid-template-columns:none !important;
}
.sgx-page-shell { width:100%; background:var(--sgx-paper); color:var(--sgx-ink); }
.sgx-page-hero { padding:72px 0 54px; background:linear-gradient(120deg,#edf2ee,#faf8f2); border-bottom:1px solid var(--sgx-border); }
.sgx-page-hero h1 { margin:0; font-size:clamp(36px,5vw,64px); line-height:1.12; letter-spacing:-.035em; }
.sgx-page-main { padding:70px 0 92px; }
.sgx-page-card { width:100%; max-width:100%; padding:clamp(24px,4vw,58px); border:1px solid var(--sgx-border); border-radius:22px; background:#fff; box-shadow:0 12px 40px rgba(12,44,34,.055); }
.sgx-entry { width:100% !important; max-width:100% !important; min-width:0 !important; color:#293731; font-size:16px; line-height:1.85; }
.sgx-entry > *,
.sgx-entry [class*="company"],
.sgx-entry [class*="page-"],
.sgx-entry [class*="section"] {
    max-width:100% !important;
    min-width:0 !important;
    writing-mode:horizontal-tb !important;
}
.sgx-entry [style*="position: absolute"],
.sgx-entry [style*="position:absolute"] {
    position:static !important;
    inset:auto !important;
    transform:none !important;
}
.sgx-entry [style*="width"] { max-width:100% !important; }
.sgx-entry h2 { margin:2em 0 .7em; font-size:clamp(25px,3vw,36px); line-height:1.3; color:var(--sgx-ink); }
.sgx-entry h2:first-child { margin-top:0; }
.sgx-entry h3 { margin:1.7em 0 .6em; font-size:22px; line-height:1.4; color:var(--sgx-ink); }
.sgx-entry p { margin:0 0 1.25em; }
.sgx-entry ul,
.sgx-entry ol { margin:0 0 1.5em; padding-left:1.5em; }
.sgx-entry a { color:var(--sgx-green); text-decoration:underline; text-underline-offset:3px; }
.sgx-entry table,
.sgx-company-table { width:100% !important; max-width:100% !important; border-collapse:collapse; table-layout:auto; }
.sgx-entry th,
.sgx-entry td,
.sgx-company-table th,
.sgx-company-table td { padding:18px 20px; border-bottom:1px solid var(--sgx-border); text-align:left; vertical-align:top; }
.sgx-entry th,
.sgx-company-table th { width:28%; background:#f2f5f2; color:var(--sgx-ink); font-weight:800; }
.sgx-company-intro { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr) !important; gap:54px; align-items:start; }
.sgx-company-intro__copy h2 { margin:0 0 20px; font-size:clamp(30px,4vw,48px); }
.sgx-company-intro__copy p { color:var(--sgx-muted); }
.sgx-company-highlight { padding:30px; border-radius:18px; background:var(--sgx-green); color:#fff; box-shadow:var(--sgx-shadow); }
.sgx-company-highlight strong { display:block; margin-bottom:8px; color:#d9b46f; font-size:13px; letter-spacing:.08em; }
.sgx-company-highlight p { margin:0 0 18px; color:rgba(255,255,255,.82); }
.sgx-company-highlight a { color:#fff; }
.sgx-company-table-wrap { margin-top:52px; overflow-x:auto; border:1px solid var(--sgx-border); border-radius:16px; }
.sgx-company-table tr:last-child th,
.sgx-company-table tr:last-child td { border-bottom:0; }

/* Footer: keep all columns inside the viewport and stack cleanly. */
#colophon,
.site-footer,
footer.site-footer {
    clear:both !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    overflow:hidden;
}
#colophon .ast-container,
.site-footer .ast-container,
footer.site-footer .ast-container {
    width:min(calc(100% - 48px), 1240px) !important;
    max-width:1240px !important;
    min-width:0 !important;
    margin-inline:auto !important;
}
#colophon .ast-builder-grid-row,
.site-footer .ast-builder-grid-row {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:30px !important;
}
#colophon .widget,
.site-footer .widget,
#colophon .footer-widget-area,
.site-footer .footer-widget-area { min-width:0 !important; max-width:100% !important; }
#colophon a,
.site-footer a { overflow-wrap:anywhere; }

@media (max-width: 1180px) {
    .sgx-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
    .sgx-hero__grid { grid-template-columns:minmax(0,1fr) minmax(350px,.82fr) !important; gap:44px; }
    body.woocommerce-checkout.sgx-stable-layout form.checkout.woocommerce-checkout { gap:0 38px; }
}

@media (max-width: 921px) {
    .sgx-container,
    body.single-product.sgx-stable-layout .site-content > .ast-container,
    body.single-product.sgx-stable-layout .ast-container,
    body.woocommerce-checkout.sgx-stable-layout .site-content > .ast-container,
    body.woocommerce-checkout.sgx-stable-layout .ast-container,
    #colophon .ast-container,
    .site-footer .ast-container { width:min(calc(100% - 32px), var(--sgx-container)) !important; }
    .sgx-section { padding:64px 0; }
    .sgx-hero__grid { min-height:0; padding:68px 0 84px; grid-template-columns:1fr !important; }
    .sgx-hero__copy { max-width:720px; }
    .sgx-hero__visual { max-width:650px; }
    .sgx-trust__grid { grid-template-columns:1fr !important; }
    .sgx-trust__item { border-right:0; border-bottom:1px solid #d8e4dd; }
    .sgx-trust__item:last-child { border-bottom:0; }
    .sgx-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .sgx-product-grid,
    body.single-product.sgx-stable-layout ul.products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .sgx-company-band__grid { grid-template-columns:1fr !important; gap:38px; }

    body.single-product.sgx-stable-layout div.product .woocommerce-product-gallery,
    body.single-product.sgx-stable-layout div.product .summary {
        width:100% !important;
        max-width:100% !important;
        float:none !important;
    }
    body.single-product.sgx-stable-layout div.product .woocommerce-product-gallery { margin-bottom:38px !important; }

    body.woocommerce-checkout.sgx-stable-layout form.checkout.woocommerce-checkout {
        display:block !important;
        grid-template-columns:none !important;
        grid-template-areas:none !important;
    }
    body.woocommerce-checkout.sgx-stable-layout #customer_details { margin-bottom:42px !important; }
    body.woocommerce-checkout.sgx-stable-layout #order_review_heading { padding:22px 22px 12px !important; }
    body.woocommerce-checkout.sgx-stable-layout #order_review { padding:0 22px 22px !important; }

    .sgx-company-intro { grid-template-columns:1fr !important; gap:30px; }
    #colophon .ast-builder-grid-row,
    .site-footer .ast-builder-grid-row { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 640px) {
    .sgx-container,
    body.single-product.sgx-stable-layout .site-content > .ast-container,
    body.single-product.sgx-stable-layout .ast-container,
    body.woocommerce-checkout.sgx-stable-layout .site-content > .ast-container,
    body.woocommerce-checkout.sgx-stable-layout .ast-container,
    #colophon .ast-container,
    .site-footer .ast-container { width:calc(100% - 24px) !important; }
    .sgx-section { padding:52px 0; }
    .sgx-section-head { align-items:start; flex-direction:column !important; gap:12px; margin-bottom:26px; }
    .sgx-hero__grid { padding:54px 0 72px; gap:40px; }
    .sgx-hero h1 { font-size:clamp(38px,12vw,56px); }
    .sgx-actions { flex-direction:column; }
    .sgx-button { width:100%; }
    .sgx-hero__visual { grid-template-columns:1fr !important; }
    .sgx-hero-card:nth-child(2) { transform:none; }
    .sgx-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px; }
    .sgx-category-card__body { padding:13px; }
    .sgx-category-card h3 { font-size:14px; }
    .sgx-product-grid,
    body.single-product.sgx-stable-layout ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:24px 12px !important; }
    .sgx-product-card__body h3 { font-size:13px; }
    .sgx-company-card { padding:22px; }
    .sgx-company-card dl { grid-template-columns:1fr; gap:5px; }
    .sgx-company-card dd { margin-bottom:12px; }

    body.single-product.sgx-stable-layout .woocommerce-tabs .tabs { display:block !important; }
    body.single-product.sgx-stable-layout .woocommerce-tabs .tabs li { border-bottom:1px solid var(--sgx-border) !important; }
    body.single-product.sgx-stable-layout div.product form.cart .quantity { width:80px; }
    body.single-product.sgx-stable-layout div.product form.cart .button { padding-inline:18px; }

    body.woocommerce-checkout.sgx-stable-layout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout.sgx-stable-layout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr !important; gap:15px; }
    body.woocommerce-checkout.sgx-stable-layout .form-row { grid-column:1 !important; }
    body.woocommerce-checkout.sgx-stable-layout #order_review_heading { padding:20px 16px 10px !important; }
    body.woocommerce-checkout.sgx-stable-layout #order_review { padding:0 16px 18px !important; }
    body.woocommerce-checkout.sgx-stable-layout table.shop_table th,
    body.woocommerce-checkout.sgx-stable-layout table.shop_table td { padding:12px 4px; font-size:13px; }
    body.woocommerce-checkout.sgx-stable-layout table.shop_table td.product-name { width:62%; }

    .sgx-page-hero { padding:52px 0 38px; }
    .sgx-page-main { padding:42px 0 64px; }
    .sgx-page-card { padding:22px 18px; border-radius:16px; }
    .sgx-entry th,
    .sgx-entry td,
    .sgx-company-table th,
    .sgx-company-table td { display:block; width:100% !important; padding:13px 15px; }
    .sgx-entry th,
    .sgx-company-table th { border-bottom:0; }
    .sgx-company-table-wrap { overflow:hidden; }
    #colophon .ast-builder-grid-row,
    .site-footer .ast-builder-grid-row { grid-template-columns:1fr !important; }
}
