/* ==========================================================================
   SMTBOX Layout, Main Content & Thumbnail Geometry Lock
   Clean Specificity Cascade, Token-Driven
   ========================================================================== */

/* Canonical 8-Tier Cascade Layers Apex Declaration (Idempotent) */
@layer reset, vendor, tokens, base, layout, components, utilities, overrides;

@layer layout {

/* Mobile Viewport Containment & Anti-Wobble Architecture (Zero Sticky-Breakage) */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

#wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

:where(#wrapper) #main,
#main,
#content,
.page-wrapper,
.row-main {
    position: relative;
    z-index: var(--smt-z-base);
}

/* 1. Catalog Product & Category Thumbnail Geometry Lock (4:3 ratio for archives) */
.category-page-row .box-image,
.product-small .box-image,
.box-image {
    position: relative;
    overflow: hidden;
    background-color: #ffffff;
}

.archive .product-small .box-image img,
.taxonomy-product_cat .product-small .box-image img,
.category-page-row .box-image img,
.product-small .box-image img,
.has-shadow .box-image img,
img.attachment-catalog_thumbnail,
img.catalog-placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    display: block;
    transition: opacity 0.2s ease-in-out;
}

/* 2. Single Product Gallery Main Image & Thumbnails (4:3 Ratio for Main Image & Placeholders) */
.single-product .product-gallery :is(.woocommerce-product-gallery__image, .catalog-product-gallery__image, .catalog-product-gallery__image--placeholder) img,
.single-product .catalog-product-gallery__wrapper img,
.single-product .product-gallery img.wp-post-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    display: block;
}

.single-product :is(.catalog-product-gallery__image--placeholder, .woocommerce-product-gallery__image--placeholder) {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--smt-color-white, #ffffff);
    aspect-ratio: 4 / 3;
}

.single-product :is(.catalog-product-gallery__image--placeholder, .woocommerce-product-gallery__image--placeholder) img {
    max-width: 320px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.single-product .product-thumbnails img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.single-product .product-thumbnails a {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
}

/* 3. Product Card Flow in Sliders & Grids */
.products:not(.slider) .product-small.box {
    display: block;
    height: auto;
}

.products:not(.slider) .product-small.box .box-text,
.products .product-small.box .box-text {
    display: block;
    padding: 10px 0 15px;
    text-align: center;
}

.slider .product-small.box {
    display: block;
    height: auto;
}

.slider .product-small.box .box-text {
    display: block;
    padding: 10px 0 15px;
    text-align: center;
}

.product-small .title-wrapper {
    font-size: 0.7em;
    line-height: 1.6;
    color: var(--smt-color-text-main);
    text-align: center;
}

.product-small .title-wrapper a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 38px;
    line-height: 1.35;
}

.product-small.box .box-text .sre-details-btn,
.product-small.box .box-text .smtbox-details-btn,
.product-small.box .box-text .add-to-cart-button,
.product-small.box .box-text .button {
    margin-top: auto;
}

img[data-src].lazy-load {
    opacity: 0.85;
}

img.lazy-loaded {
    opacity: 1;
}

/* 4. Tabbed Content & Homepage Product Tab Bar (Zero-Important Flexbox Architecture) */
:where(#wrapper) .tabbed-content .nav:not(.nav-vertical),
#main .tabbed-content .nav:not(.nav-vertical),
:where(#wrapper) ul.nav-line-bottom,
:where(#wrapper) ul.nav-tabs {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: var(--smt-space-lg, 20px);
    border-bottom: 1px solid var(--smt-color-slate-200, #e2e8f0);
}

:where(#wrapper) .tabbed-content .nav:not(.nav-vertical) > li.tab,
#main .tabbed-content .nav:not(.nav-vertical) > li.tab,
:where(#wrapper) ul.nav-line-bottom > li.tab,
:where(#wrapper) ul.nav-tabs > li.tab {
    flex: 1 1 0%;
    max-width: 20%;
    text-align: center;
    margin: 0;
    padding: 0;
}

:where(#wrapper) .tabbed-content .nav:not(.nav-vertical) > li.tab > a,
#main .tabbed-content .nav:not(.nav-vertical) > li.tab > a,
:where(#wrapper) ul.nav-line-bottom > li.tab > a,
:where(#wrapper) ul.nav-tabs > li.tab > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    padding: 0 6px;
    font-size: 13px;
    font-weight: 600;
    box-sizing: border-box;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    background-color: var(--smt-color-slate-50, #f8fafc);
    border: 1px solid var(--smt-color-slate-200, #e2e8f0);
    border-bottom: none;
    color: var(--smt-color-slate-500, #64748b);
    transition: all var(--smt-transition-fast, 0.2s ease);
}

:where(#wrapper) .tabbed-content .nav:not(.nav-vertical) > li.tab.active > a,
#main .tabbed-content .nav:not(.nav-vertical) > li.tab.active > a,
:where(#wrapper) ul.nav-line-bottom > li.tab.active > a,
:where(#wrapper) ul.nav-tabs > li.tab.active > a {
    background-color: var(--smt-color-white, #ffffff);
    color: var(--smt-color-primary, #002780);
    border: 1px solid var(--smt-color-primary, #002780);
    border-top: 3px solid var(--smt-color-primary, #002780);
    border-bottom: 1px solid var(--smt-color-white, #ffffff);
}

/* 4.1 SMTBOX Product Layout Toggle & List View Styles */
.sre-layout-toggle,
.smtbox-layout-toggle {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.sre-layout-toggle button,
.smtbox-layout-toggle button {
    background: #f1f1f1;
    color: #475569;
    border: 1px solid #ddd;
    border-radius: var(--smt-border-radius-sm);
    padding: 6px 12px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all var(--smt-transition-fast);
    line-height: 1;
}

.sre-layout-toggle button i,
.smtbox-layout-toggle button i {
    font-size: 16px;
}

.sre-layout-toggle button.active,
.smtbox-layout-toggle button.active {
    background: var(--smt-color-primary);
    color: #ffffff;
    border-color: var(--smt-color-primary);
}

.sre-layout-toggle button:hover:not(.active),
.smtbox-layout-toggle button:hover:not(.active) {
    background: #e2e8f0;
}


/* 5. SMTBOX Blog & Content Cards Aspect Ratio Geometry Lock */
.sre-blog-grid,
.smtbox-blog-grid {
    contain: layout;
}

.sre-blog-card,
.smtbox-blog-card {
    contain: layout style;
}

.sre-blog-image,
.smtbox-blog-image,
.sre-blog-card__image-link,
.smtbox-blog-card__image-link,
.sre-blog-card .sre-blog-image,
.smtbox-blog-card .smtbox-blog-image,
.sre-blog-card .smtbox-blog-image,
.smtbox-blog-card .sre-blog-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    contain: layout paint;
    display: block;
}

/* 6. Support Centre & Glossary Structure */
#glossary,
#faq,
.sre-glossary-integrated-section,
.smtbox-glossary-integrated-section {
    scroll-margin-top: calc(var(--smt-nav-height, 43px) + 20px);
}

.sre-accordion-list,
.smtbox-accordion-list {
    contain: layout style;
    min-height: 480px;
}

.sre-accordion-item,
.smtbox-accordion-item {
    border: 1px solid #e1e7f0;
    border-radius: var(--smt-border-radius-sm, 6px);
    margin-bottom: 10px;
    background: #ffffff;
    overflow: hidden;
    contain: layout style;
    transition: border-color var(--smt-transition-fast), box-shadow var(--smt-transition-fast);
}

.sre-accordion-header,
.smtbox-accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    user-select: none;
    background: #ffffff;
    transition: background-color var(--smt-transition-fast);
}

.sre-accordion-title,
.smtbox-accordion-title {
    font-family: var(--smt-font-heading, 'Outfit', sans-serif);
    font-size: 15.5px;
    font-weight: 600;
    color: var(--smt-color-primary, #002780);
    margin: 0;
    line-height: 1.4;
}

.sre-accordion-body,
.smtbox-accordion-body {
    padding: 0 20px 18px;
    font-size: 14px;
    line-height: 1.6;
    color: #4a5568;
    border-top: 1px solid #f0f4f8;
    padding-top: 14px;
}

.sre-glossary-grid,
.smtbox-glossary-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    contain: layout;
}

@media (min-width: 640px) {
    .sre-glossary-grid,
    .smtbox-glossary-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

.sre-glossary-card,
.smtbox-glossary-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: var(--smt-border-radius-md, 8px);
    padding: 18px;
    text-align: left;
    contain: layout paint;
    content-visibility: auto;
    transition: transform var(--smt-transition-fast), box-shadow var(--smt-transition-fast), border-color var(--smt-transition-fast);
}

.sre-glossary-card:hover,
.smtbox-glossary-card:hover {
    border-color: var(--smt-color-primary, #002780);
    transform: translateY(-2px);
    box-shadow: 0 8px 16px -4px rgba(0, 39, 128, 0.08);
}

.sre-glossary-term,
.smtbox-glossary-term {
    font-family: var(--smt-font-heading, 'Outfit', sans-serif);
    font-size: 17px;
    font-weight: 700;
    color: var(--smt-color-primary, #002780);
    margin: 0 0 6px;
}

.sre-glossary-def,
.smtbox-glossary-def {
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
    margin: 0;
}

/* ==========================================================================
   7. Responsive Visibility & Mobile Gutter Matrix
   ========================================================================== */
@media (max-width: 549px) {
    .hide-for-small { display: none; }
    .show-for-small { display: block; }
    .show-for-small.flex-col { display: flex; }
    .show-for-small.flex-row { display: flex; }

    .category-page-row {
        padding-left: var(--container-padding-mobile, 15px);
        padding-right: var(--container-padding-mobile, 15px);
    }

    .product-small .title-wrapper a {
        height: 36px;
        font-size: 12.5px;
    }

    .sre-accordion-header,
    .smtbox-accordion-header {
        padding: 12px 14px;
    }
    .sre-accordion-title,
    .smtbox-accordion-title {
        font-size: 14px;
        line-height: 1.35;
        letter-spacing: -0.01em;
    }
    .sre-accordion-body,
    .smtbox-accordion-body {
        padding: 0 14px 14px;
        font-size: 13px;
        line-height: 1.5;
    }
    .sre-glossary-card,
    .smtbox-glossary-card {
        padding: 14px 12px;
    }
    .sre-glossary-term,
    .smtbox-glossary-term {
        font-size: 15px;
        margin-bottom: 4px;
    }
    .sre-glossary-def,
    .smtbox-glossary-def {
        font-size: 13px;
        line-height: 1.5;
    }
}

@media (min-width: 550px) {
    .show-for-small { display: none; }
    .hide-for-small { display: block; }
}

@media (max-width: 849px) {
    .hide-for-medium { display: none; }
    .show-for-medium { display: block; }
    .show-for-medium.flex-col { display: flex; }
    .show-for-medium.flex-row { display: flex; }

    .sre-support-centre-container,
    .smtbox-support-centre-container,
    .sre-glossary-integrated-section,
    .smtbox-glossary-integrated-section,
    .category-page-row {
        padding-left: var(--container-padding-mobile, 15px);
        padding-right: var(--container-padding-mobile, 15px);
    }
    .sre-accordion-header,
    .smtbox-accordion-header {
        padding: 14px 18px;
    }
    .sre-accordion-title,
    .smtbox-accordion-title {
        font-size: 15px;
    }
}

@media (min-width: 850px) {
    .show-for-medium { display: none; }
    .hide-for-medium:not(.sre-sticky-search):not(.smtbox-sticky-search) { display: block; }
    .hide-for-medium.flex-col:not(.sre-sticky-search):not(.smtbox-sticky-search) { display: flex; }
    .hide-for-medium.flex-row:not(.sre-sticky-search):not(.smtbox-sticky-search) { display: flex; }
}

/* ==========================================================================
   8. Full-Width Category & Shop Archive Layout (Scheme A)
   Eliminates ghost empty sidebar, expands product grid to 100% container width,
   and ensures .shop-page-title / Hero Banner spans full width edge-to-edge
   ========================================================================== */
html body.archive :where(#wrapper) #main .category-page-row > .col.large-3,
html body.archive.tax-product_cat :where(#wrapper) #main .category-page-row > .col.large-3,
html body.archive.post-type-archive-product :where(#wrapper) #main .category-page-row > .col.large-3,
html body.woocommerce.archive :where(#wrapper) #main .category-page-row > .col.large-3,
html body.tax-product_tag :where(#wrapper) #main .category-page-row > .col.large-3,
.category-page-row > .col.large-3,
.archive.tax-product_cat .category-page-row > .col.large-3,
.archive.post-type-archive-product .category-page-row > .col.large-3,
.woocommerce.archive .category-page-row > .col.large-3 {
    display: none;
}

html body.archive :where(#wrapper) #main .category-page-row > .col.large-9,
html body.archive.tax-product_cat :where(#wrapper) #main .category-page-row > .col.large-9,
html body.archive.post-type-archive-product :where(#wrapper) #main .category-page-row > .col.large-9,
html body.woocommerce.archive :where(#wrapper) #main .category-page-row > .col.large-9,
html body.tax-product_tag :where(#wrapper) #main .category-page-row > .col.large-9,
.category-page-row > .col.large-9,
.archive.tax-product_cat .category-page-row > .col.large-9,
.archive.post-type-archive-product .category-page-row > .col.large-9,
.woocommerce.archive .category-page-row > .col.large-9 {
    max-width: 100%;
    flex-basis: 100%;
    width: 100%;
    flex: 0 0 100%;
}

.category-page-row .shop-container {
    width: 100%;
    max-width: 100%;
}

.category-page-row .products.row {
    margin-left: -10px;
    margin-right: -10px;
}

.category-page-row .products.row > .col {
    padding-left: 10px;
    padding-right: 10px;
}

/* Edge-to-Edge Hero Title Banner on Shop, Category & Product Pages */
html body :where(#wrapper) #main .shop-page-title,
html body :where(#wrapper) #main .shop-page-title.category-page-title,
html body :where(#wrapper) #main .page-title.shop-page-title,
html body :where(#wrapper) .product-page-title,
html body :where(#wrapper) .shop-page-title.product-page-title,
.shop-page-title,
.shop-page-title.category-page-title,
.page-title.shop-page-title,
.product-page-title {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    position: relative;
    left: 0;
    right: 0;
}

.shop-page-title .page-title-inner,
.page-title.shop-page-title .page-title-inner,
.product-page-title .page-title-inner {
    width: 100%;
    max-width: var(--smt-max-w-screen, 1200px);
    margin: 0 auto;
    box-sizing: border-box;
}

.shop-page-title .page-title-bg,
.page-title.shop-page-title .page-title-bg,
.product-page-title .page-title-bg {
    width: 100%;
    left: 0;
    right: 0;
}

/* ==========================================================================
   9. Modern Industrial Product List View (has-box-vertical)
   Transforms awkward vertical cards into sleek, horizontal B2B component rows
   ========================================================================== */
html body.woocommerce #main .products.has-box-vertical > .product-small.col,
html body #main .products.has-box-vertical > .product-small.col,
body.woocommerce #main .products.has-box-vertical > .product-small.col,
body #main .products.has-box-vertical > .product-small.col,
html body .products.has-box-vertical > .product-small.col,
.products.has-box-vertical > .product-small.col {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 14px;
}

html body.woocommerce #main .products.has-box-vertical .col-inner,
html body #main .products.has-box-vertical .col-inner,
body.woocommerce #main .products.has-box-vertical .col-inner,
body #main .products.has-box-vertical .col-inner,
html body .products.has-box-vertical .col-inner,
.products.has-box-vertical .col-inner {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 16px 20px;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 160px;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

html body.woocommerce #main .products.has-box-vertical .col-inner:hover,
html body #main .products.has-box-vertical .col-inner:hover,
body.woocommerce #main .products.has-box-vertical .col-inner:hover,
body #main .products.has-box-vertical .col-inner:hover,
html body .products.has-box-vertical .col-inner:hover,
.products.has-box-vertical .col-inner:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 16px rgba(0, 39, 128, 0.08);
}

html body.woocommerce #main .products.has-box-vertical .product-small.box,
html body #main .products.has-box-vertical .product-small.box,
body.woocommerce #main .products.has-box-vertical .product-small.box,
body #main .products.has-box-vertical .product-small.box,
html body .products.has-box-vertical .product-small.box,
.products.has-box-vertical .product-small.box {
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    min-width: 0;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .box-image,
html body #main .products.has-box-vertical .product-small.box .box-image,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-image,
body #main .products.has-box-vertical .product-small.box .box-image,
html body .products.has-box-vertical .product-small.box .box-image,
.products.has-box-vertical .product-small.box .box-image {
    flex: 0 0 160px;
    width: 160px;
    height: 120px;
    min-width: 160px;
    min-height: 120px;
    max-width: 160px;
    max-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
    margin: 0;
    padding: 6px;
    box-sizing: border-box;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .box-image a,
html body.woocommerce #main .products.has-box-vertical .product-small.box .box-image .image-none,
html body.woocommerce #main .products.has-box-vertical .product-small.box .box-image .image-cover,
html body #main .products.has-box-vertical .product-small.box .box-image a,
html body #main .products.has-box-vertical .product-small.box .box-image .image-none,
html body #main .products.has-box-vertical .product-small.box .box-image .image-cover,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-image a,
body #main .products.has-box-vertical .product-small.box .box-image a,
html body .products.has-box-vertical .product-small.box .box-image a,
html body .products.has-box-vertical .product-small.box .box-image .image-none,
html body .products.has-box-vertical .product-small.box .box-image .image-cover,
.products.has-box-vertical .product-small.box .box-image a,
.products.has-box-vertical .product-small.box .box-image .image-none,
.products.has-box-vertical .product-small.box .box-image .image-cover {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .box-image img,
html body #main .products.has-box-vertical .product-small.box .box-image img,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-image img,
body #main .products.has-box-vertical .product-small.box .box-image img,
html body .products.has-box-vertical .product-small.box .box-image img,
.products.has-box-vertical .product-small.box .box-image img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .box-text,
html body #main .products.has-box-vertical .product-small.box .box-text,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-text,
body #main .products.has-box-vertical .product-small.box .box-text,
html body .products.has-box-vertical .product-small.box .box-text,
.products.has-box-vertical .product-small.box .box-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
    text-align: left;
    margin: 0;
    min-width: 0;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper,
html body #main .products.has-box-vertical .product-small.box .title-wrapper,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper,
body #main .products.has-box-vertical .product-small.box .title-wrapper,
html body .products.has-box-vertical .product-small.box .title-wrapper,
.products.has-box-vertical .product-small.box .title-wrapper {
    margin-bottom: 6px;
    text-align: left;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name,
html body #main .products.has-box-vertical .product-small.box .title-wrapper .name,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name,
body #main .products.has-box-vertical .product-small.box .title-wrapper .name,
html body .products.has-box-vertical .product-small.box .title-wrapper .name,
.products.has-box-vertical .product-small.box .title-wrapper .name {
    font-size: 15px;
    font-weight: 700;
    color: #002780;
    line-height: 1.35;
    margin: 0;
    text-align: left;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name a,
html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-plain,
html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link,
html body #main .products.has-box-vertical .product-small.box .title-wrapper .name a,
html body #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-plain,
html body #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name a,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-plain,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link,
body #main .products.has-box-vertical .product-small.box .title-wrapper .name a,
body #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-plain,
body #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link,
html body .products.has-box-vertical .product-small.box .title-wrapper .name a,
html body .products.has-box-vertical .product-small.box .title-wrapper .product-title-plain,
html body .products.has-box-vertical .product-small.box .title-wrapper .product-title-link,
.products.has-box-vertical .product-small.box .title-wrapper .name a,
.products.has-box-vertical .product-small.box .title-wrapper .product-title-plain,
.products.has-box-vertical .product-small.box .title-wrapper .product-title-link {
    color: #002780;
    text-decoration: none;
    transition: color 0.15s ease;
    cursor: pointer;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name a:hover,
html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link:hover,
html body #main .products.has-box-vertical .product-small.box .title-wrapper .name a:hover,
html body #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link:hover,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name a:hover,
body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link:hover,
body #main .products.has-box-vertical .product-small.box .title-wrapper .name a:hover,
body #main .products.has-box-vertical .product-small.box .title-wrapper .product-title-link:hover,
html body .products.has-box-vertical .product-small.box .title-wrapper .name a:hover,
html body .products.has-box-vertical .product-small.box .title-wrapper .product-title-link:hover,
.products.has-box-vertical .product-small.box .title-wrapper .name a:hover,
.products.has-box-vertical .product-small.box .title-wrapper .product-title-link:hover {
    color: #CF0921;
    text-decoration: underline;
}

html body.woocommerce #main .products.has-box-vertical .product-small.box .box-excerpt,
html body #main .products.has-box-vertical .product-small.box .box-excerpt,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-excerpt,
body #main .products.has-box-vertical .product-small.box .box-excerpt,
html body .products.has-box-vertical .product-small.box .box-excerpt,
.products.has-box-vertical .product-small.box .box-excerpt {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.55;
    margin: 0;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Hide redundant lone details button inside text box as buttons are in action column */
body.woocommerce #main .products.has-box-vertical .product-small.box .box-text .add-to-cart-button,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-text .sre-details-btn,
body.woocommerce #main .products.has-box-vertical .product-small.box .box-text .smtbox-details-btn,
body #main .products.has-box-vertical .product-small.box .box-text .add-to-cart-button,
body #main .products.has-box-vertical .product-small.box .box-text .sre-details-btn,
body #main .products.has-box-vertical .product-small.box .box-text .smtbox-details-btn,
html body .products.has-box-vertical .product-small.box .box-text .add-to-cart-button,
html body .products.has-box-vertical .product-small.box .box-text .sre-details-btn,
html body .products.has-box-vertical .product-small.box .box-text .smtbox-details-btn,
.products.has-box-vertical .product-small.box .box-text .add-to-cart-button,
.products.has-box-vertical .product-small.box .box-text .sre-details-btn,
.products.has-box-vertical .product-small.box .box-text .smtbox-details-btn {
    display: none;
}

body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
.products.has-box-vertical .sre-quote-loop-btn-wrapper,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper {
    flex: 0 0 150px;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 8px;
    margin: 0;
    padding: 0 0 0 16px;
    border-left: 1px solid #f1f5f9;
    box-sizing: border-box;
}

body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn,
body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smt-c-card__btn--details,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smt-c-card__btn--details,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 100%;
    background: #f8fafc;
    color: #002780;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    box-sizing: border-box;
    padding: 0 8px 2px 8px;
    line-height: 1;
    margin: 0;
}

body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn:hover,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn:hover,
body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn:hover,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn:hover,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn:hover,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn:hover,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn:hover,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn:hover,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn:hover,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn:hover,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn:hover,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn:hover,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smt-c-card__btn--details:hover,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smt-c-card__btn--details:hover,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-details-btn:hover,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-details-btn:hover,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-details-btn:hover,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-details-btn:hover {
    background: #002780;
    border-color: #002780;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 39, 128, 0.2);
}

body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smt-c-card__btn--quote,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smt-c-card__btn--quote,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 100%;
    background-color: #002780;
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 700;
    padding: 0 8px 2px 8px;
    border-radius: 6px;
    border: 1.5px solid #002780;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0;
    box-sizing: border-box;
    line-height: 1;
}

body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
html body .products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smt-c-card__btn--quote:hover,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smt-c-card__btn--quote:hover,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.products.has-box-vertical .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.products.has-box-vertical .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover {
    background-color: #CF0921;
    border-color: #CF0921;
    box-shadow: 0 4px 10px rgba(207, 9, 33, 0.3);
}

/* ==========================================================================
   Product Loop Action Buttons — Unified 2-Button Architecture
   ========================================================================== */

/* 1. Loop Button Wrapper */
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper,
.related-products-wrapper .sre-quote-loop-btn-wrapper,
.related-products-wrapper .smtbox-quote-loop-btn-wrapper,
.related .sre-quote-loop-btn-wrapper,
.related .smtbox-quote-loop-btn-wrapper,
.product-section .sre-quote-loop-btn-wrapper,
.product-section .smtbox-quote-loop-btn-wrapper,
.slider.row-slider .sre-quote-loop-btn-wrapper,
.slider.row-slider .smtbox-quote-loop-btn-wrapper,
.row-slider .sre-quote-loop-btn-wrapper,
.row-slider .smtbox-quote-loop-btn-wrapper,
.smt-c-card__actions,
.upsells .sre-quote-loop-btn-wrapper,
.upsells .smtbox-quote-loop-btn-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: auto;
    padding-top: 12px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    clear: both;
}

/* 2. DETAILS Button in Loop Wrapper */
.product-small.box .box-text :is(.sre-quote-loop-btn-wrapper, .smtbox-quote-loop-btn-wrapper) a:is(.sre-details-btn, .smtbox-details-btn),
:is(.products, .woocommerce, .related, .product-footer, .related-products-wrapper, .product-section, .slider) .product-small.box .box-text :is(.sre-quote-loop-btn-wrapper, .smtbox-quote-loop-btn-wrapper) a:is(.sre-details-btn, .smtbox-details-btn),
.sre-quote-loop-btn-wrapper a.sre-details-btn,
.smtbox-quote-loop-btn-wrapper a.smtbox-details-btn,
.sre-quote-loop-btn-wrapper a.smtbox-details-btn,
.smtbox-quote-loop-btn-wrapper a.sre-details-btn,
.sre-quote-loop-btn-wrapper .smt-c-card__btn--details,
.smtbox-quote-loop-btn-wrapper .smt-c-card__btn--details,
.smt-c-card__btn--details,
.sre-quote-loop-btn-wrapper a.button,
.smtbox-quote-loop-btn-wrapper a.button,
.products a.button.sre-details-btn,
.products a.button.smtbox-details-btn {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 11.5px;
    letter-spacing: -0.1px;
    white-space: nowrap;
    word-break: keep-all;
    font-kerning: normal;
    padding: 0 8px 2px 8px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1.5px solid #002780;
    color: #002780;
    background: #ffffff;
    box-sizing: border-box;
    transition: all 0.2s ease;
    margin: 0;
    line-height: 1;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    text-decoration: none;
}

.sre-quote-loop-btn-wrapper a.sre-details-btn:hover,
.smtbox-quote-loop-btn-wrapper a.smtbox-details-btn:hover,
.sre-quote-loop-btn-wrapper a.smtbox-details-btn:hover,
.smtbox-quote-loop-btn-wrapper a.sre-details-btn:hover,
.sre-quote-loop-btn-wrapper .smt-c-card__btn--details:hover,
.smtbox-quote-loop-btn-wrapper .smt-c-card__btn--details:hover,
.smt-c-card__btn--details:hover,
.sre-quote-loop-btn-wrapper a.button:hover,
.smtbox-quote-loop-btn-wrapper a.button:hover,
.products a.button.sre-details-btn:hover,
.products a.button.smtbox-details-btn:hover {
    background: #002780;
    color: #ffffff;
    border-color: #002780;
}

/* 3. + ADD TO QUOTE Button in Loop Wrapper */
.sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.sre-quote-loop-btn-wrapper .smt-c-card__btn--quote,
.smtbox-quote-loop-btn-wrapper .smt-c-card__btn--quote,
.smt-c-card__btn--quote,
.products .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.products .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.products .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.products .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.slider .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.slider .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.slider .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.slider .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn {
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 11.5px;
    letter-spacing: -0.1px;
    white-space: nowrap;
    word-break: keep-all;
    font-kerning: normal;
    padding: 0 8px 2px 8px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1.5px solid #002780;
    background: #002780;
    color: #ffffff;
    box-sizing: border-box;
    transition: all 0.2s ease;
    margin: 0;
    line-height: 1;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    cursor: pointer;
}

.sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.sre-quote-loop-btn-wrapper .smt-c-card__btn--quote:hover,
.smtbox-quote-loop-btn-wrapper .smt-c-card__btn--quote:hover,
.smt-c-card__btn--quote:hover,
.products .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.products .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.products .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.products .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.slider .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.slider .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.slider .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.slider .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover {
    background: var(--smt-color-accent, #cf0921);
    border-color: var(--smt-color-accent, #cf0921);
    color: #ffffff;
}

body.woocommerce #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
body.woocommerce #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body.woocommerce #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body.woocommerce #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
body #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
body #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
body #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smt-c-card__btn--quote,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smt-c-card__btn--quote,
.related-products-wrapper .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.related-products-wrapper .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.related-products-wrapper .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.related-products-wrapper .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.related .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.related .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.related .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.related .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.product-section .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.product-section .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.product-section .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.product-section .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.slider.row-slider .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.slider.row-slider .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.slider.row-slider .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.slider.row-slider .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.row-slider .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.row-slider .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.row-slider .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.row-slider .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.upsells .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn,
.upsells .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.upsells .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn,
.upsells .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn {
    width: 100%;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 6px;
    background-color: #002780;
    border: 1.5px solid #002780;
    color: #ffffff;
    box-sizing: border-box;
    padding: 0 8px 2px 8px;
    margin: 0;
    line-height: 1;
    transition: all 0.2s ease;
    font-family: var(--smt-font-brand, "Outfit", "Inter", sans-serif);
    cursor: pointer;
}

body.woocommerce #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
body.woocommerce #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body.woocommerce #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body.woocommerce #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
body #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
body #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body #main .products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
body #main .products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.products:not(.has-box-vertical) .sre-quote-loop-btn-wrapper .smt-c-card__btn--quote:hover,
.products:not(.has-box-vertical) .smtbox-quote-loop-btn-wrapper .smt-c-card__btn--quote:hover,
.related-products-wrapper .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.related-products-wrapper .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.related-products-wrapper .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.related-products-wrapper .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.related .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.related .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.related .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.related .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.product-section .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.product-section .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.product-section .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.product-section .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.slider.row-slider .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.slider.row-slider .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.slider.row-slider .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.slider.row-slider .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.row-slider .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.row-slider .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.row-slider .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.row-slider .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.upsells .sre-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover,
.upsells .smtbox-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.upsells .sre-quote-loop-btn-wrapper .smtbox-add-to-quote-btn:hover,
.upsells .smtbox-quote-loop-btn-wrapper .sre-add-to-quote-btn:hover {
    background-color: #CF0921;
    border-color: #CF0921;
    box-shadow: 0 4px 10px rgba(207, 9, 33, 0.3);
}

@media (max-width: 767px) {
    html body.woocommerce #main .products.has-box-vertical .col-inner,
    html body #main .products.has-box-vertical .col-inner,
    body.woocommerce #main .products.has-box-vertical .col-inner,
    body #main .products.has-box-vertical .col-inner,
    html body .products.has-box-vertical .col-inner,
    .products.has-box-vertical .col-inner {
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
        gap: 12px;
    }
    html body.woocommerce #main .products.has-box-vertical .product-small.box,
    html body #main .products.has-box-vertical .product-small.box,
    body.woocommerce #main .products.has-box-vertical .product-small.box,
    body #main .products.has-box-vertical .product-small.box,
    html body .products.has-box-vertical .product-small.box,
    .products.has-box-vertical .product-small.box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
    }
    html body.woocommerce #main .products.has-box-vertical .product-small.box .box-image,
    html body #main .products.has-box-vertical .product-small.box .box-image,
    body.woocommerce #main .products.has-box-vertical .product-small.box .box-image,
    body #main .products.has-box-vertical .product-small.box .box-image,
    html body .products.has-box-vertical .product-small.box .box-image,
    .products.has-box-vertical .product-small.box .box-image {
        width: 100%;
        max-width: 220px;
        height: 165px;
        max-height: 165px;
    }
    html body.woocommerce #main .products.has-box-vertical .product-small.box .box-text,
    html body #main .products.has-box-vertical .product-small.box .box-text,
    body.woocommerce #main .products.has-box-vertical .product-small.box .box-text,
    body #main .products.has-box-vertical .product-small.box .box-text,
    html body .products.has-box-vertical .product-small.box .box-text,
    .products.has-box-vertical .product-small.box .box-text {
        text-align: center;
    }
    html body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name,
    html body #main .products.has-box-vertical .product-small.box .title-wrapper .name,
    body.woocommerce #main .products.has-box-vertical .product-small.box .title-wrapper .name,
    body #main .products.has-box-vertical .product-small.box .title-wrapper .name,
    html body .products.has-box-vertical .product-small.box .title-wrapper .name,
    .products.has-box-vertical .product-small.box .title-wrapper .name {
        text-align: center;
    }
    html body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper,
    html body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
    html body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper,
    html body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
    body.woocommerce #main .products.has-box-vertical .sre-quote-loop-btn-wrapper,
    body.woocommerce #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
    body #main .products.has-box-vertical .sre-quote-loop-btn-wrapper,
    body #main .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
    html body .products.has-box-vertical .sre-quote-loop-btn-wrapper,
    html body .products.has-box-vertical .smtbox-quote-loop-btn-wrapper,
    .products.has-box-vertical .sre-quote-loop-btn-wrapper,
    .products.has-box-vertical .smtbox-quote-loop-btn-wrapper {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        border-left: none;
        border-top: 1px solid #f1f5f9;
        padding: 12px 0 0 0;
    }
}

/* ==========================================================================
   10. WCAG AA 100/100 Accessibility & Contrast Remediation
   ========================================================================== */
.absolute-footer,
.copyright-footer,
.footer-primary .copyright-footer,
.footer-primary .copyright-footer > span,
.footer-primary .copyright-footer a,
.absolute-footer .footer-text {
    color: var(--smt-color-footer-text, #cbd5e1);
    opacity: 1;
}

.entry-content a:not(.button):not(.btn):not(.woocommerce-LoopProduct-link),
.woocommerce-breadcrumb a,
.sre-cookie-link,
.smtbox-cookie-link {
    text-decoration: underline;
}

/* ==========================================================================
   11. Cart & Checkout CLS Defense & Layout Stability Locks
   ========================================================================== */
.woocommerce-notices-wrapper {
    min-height: 1px;
    margin-bottom: 10px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    margin: 0 0 1.5em;
    padding: 1em 1.5em;
    border-radius: 4px;
    box-sizing: border-box;
}

.woocommerce-cart .page-inner,
.woocommerce-checkout .page-inner,
.woocommerce-cart-form,
#sre-rfq-cart-wrapper,
#smtbox-rfq-cart-wrapper,
.cart-container {
    min-height: 480px;
    content-visibility: auto;
    contain-intrinsic-size: 1px 480px;
}

.woocommerce-cart table.cart,
.woocommerce-checkout table.shop_table,
.shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    min-height: 180px;
}

#customer_details,
#order_review_heading,
#order_review {
    min-height: 220px;
}

.cart-empty,
.return-to-shop {
    min-height: 200px;
}

/* ==========================================================================
   12. Zero-CLS Card Aspect Ratios & Containment (Task 3A CWV Enforcement)
   ========================================================================== */
.sre-blog-card,
.smtbox-blog-card,
.sre-blog-grid .col-inner,
.smtbox-blog-grid .col-inner {
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 1px 350px;
}

.sre-blog-image,
.smtbox-blog-image,
.sre-blog-card__image-link,
.smtbox-blog-card__image-link,
.sre-blog-card .sre-blog-image,
.smtbox-blog-card .smtbox-blog-image,
.sre-blog-card .smtbox-blog-image,
.smtbox-blog-card .sre-blog-image,
.post-item .box-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.sre-support-centre-container,
.smtbox-support-centre-container,
.sre-support-card,
.smtbox-support-card,
.sre-accordion-list,
.smtbox-accordion-list {
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 1px 480px;
}

.sre-glossary-grid,
.smtbox-glossary-grid,
.sre-glossary-card,
.smtbox-glossary-card {
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 1px 180px;
}

.category-page-row .box-image img,
.product-small .box-image img,
.products.has-box-vertical .product-small.box .box-image img,
.has-shadow .box-image img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
    width: 100%;
    height: auto;
}

.products.has-box-vertical .product-small.col {
    content-visibility: auto;
    contain-intrinsic-size: 1px 140px;
}

.single-product .product-gallery :is(.woocommerce-product-gallery__image, .catalog-product-gallery__image) img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
    width: 100%;
    height: auto;
}

.single-product .product-thumbnails img,
.single-product .product-thumbnails a {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* ==========================================================================
   Single Product Page Summary RFQ Button - BEM Standardized (Stan verified)
   ========================================================================== */
.smt-c-product-summary__btn--quote {
    width: auto;
    min-width: 170px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--smt-color-white, #ffffff);
    color: var(--smt-color-primary, #002780);
    border: 1.5px solid var(--smt-color-primary, #002780);
    border-radius: var(--smt-radius-sm, 6px);
    font-size: var(--smt-font-size-sm, 13px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-family: var(--smt-font-brand, "Outfit", "Inter", sans-serif);
    padding: 10px 24px;
    margin-left: 12px;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
    cursor: pointer;
    transition: all var(--smt-transition-fast, 0.2s ease-in-out);
    text-decoration: none;
    box-sizing: border-box;
    box-shadow: none;
    line-height: 1;
}

.smt-c-product-summary__btn--quote:hover {
    background-color: var(--smt-color-primary, #002780);
    border-color: var(--smt-color-primary, #002780);
    color: var(--smt-color-white, #ffffff);
    box-shadow: 0 4px 12px rgba(0, 39, 128, 0.2);
}

@media (max-width: 549px) {
    .smt-c-product-summary__btn--quote {
        display: flex;
        width: 100%;
        min-width: 100%;
        margin-left: 0;
        margin-top: 0;
        margin-bottom: 12px;
        text-align: center;
    }
}

/* ==========================================================================
   13. Back to Top Button Enterprise Red Hover & Floating Elevation (Stan verified)
   ========================================================================== */
html body :where(#wrapper) #top-link,
html body :where(#wrapper) a.back-to-top,
html body #top-link.button,
:where(#wrapper) #top-link,
:where(#wrapper) a.back-to-top,
#top-link,
a.back-to-top {
    background-color: var(--smt-color-primary, #002780);
    border: 1.5px solid var(--smt-color-primary, #002780);
    color: #ffffff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 39, 128, 0.3);
    z-index: 1040;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.3s ease;
}

html body :where(#wrapper) #top-link:hover,
html body :where(#wrapper) a.back-to-top:hover,
html body #top-link.button:hover,
html body #top-link.button.invert:hover,
html body #top-link:hover,
html body a.back-to-top:hover,
html body #top-link.active:hover,
html body a.back-to-top.active:hover,
:where(#wrapper) #top-link.button:hover,
:where(#wrapper) #top-link:hover,
:where(#wrapper) a.back-to-top:hover,
#top-link:hover,
a.back-to-top:hover,
.back-to-top:hover,
#top-link.active:hover,
a.back-to-top.active:hover,
.back-to-top.active:hover {
    background-color: var(--smt-color-accent, #CF0921);
    border-color: var(--smt-color-accent, #CF0921);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(207, 9, 33, 0.4);
    transform: translateY(-2px) scale(1.05);
    z-index: 1042;
}

:where(#wrapper) #top-link i,
:where(#wrapper) a.back-to-top i,
:where(#wrapper) #top-link svg,
:where(#wrapper) a.back-to-top svg,
#top-link i,
#top-link svg,
a.back-to-top i,
a.back-to-top svg,
:where(#wrapper) #top-link:hover i,
:where(#wrapper) #top-link:hover svg,
#top-link:hover i,
#top-link:hover svg,
#top-link.active:hover i,
#top-link.active:hover svg,
a.back-to-top:hover i,
a.back-to-top:hover svg,
a.back-to-top.active:hover i,
a.back-to-top.active:hover svg {
    color: #ffffff;
    fill: #ffffff;
    stroke: #ffffff;
}

/* Header Search Button Hover State */
html body .smt-search-submit:hover,
html body .searchform button[type="submit"]:hover,
html body #sre-nav-search-btn:hover,
html body #smtbox-nav-search-btn:hover,
.smt-search-submit:hover,
.searchform button[type="submit"]:hover,
#sre-nav-search-btn:hover,
#smtbox-nav-search-btn:hover {
    background-color: var(--smt-color-accent, #CF0921);
    border-color: var(--smt-color-accent, #CF0921);
    color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* ==========================================================================
   Fluid Heading Typography Clamps (P1-4)
   ========================================================================== */
h1, .entry-title {
    font-size: clamp(1.5rem, 3.5vw + 0.8rem, 2.25rem);
    line-height: 1.25;
    text-wrap: balance;
}

h2 {
    font-size: clamp(1.25rem, 2.5vw + 0.6rem, 1.75rem);
    line-height: 1.3;
    text-wrap: balance;
}

/* ==========================================================================
   Mobile Touch Target Expansion (P1-3: >= 44x44px for WCAG 2.5.5 / Apple HIG)
   ========================================================================== */
@media (max-width: 767px) {
    .icon.button.round.is-small,
    .nav-pagination > li > a,
    .nav-pagination > li > span,
    .header-button .button,
    .sre-sticky-search-btn,
    .category-filter-link {
        min-inline-size: 44px;
        min-block-size: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        touch-action: manipulation;
    }
}

} /* End @layer layout */



