/*
Theme Name: Tender Edge V2
Description: Premium visual-commerce Divi 5 child theme for Tender Edge.
Author: Tender Edge
Template: Divi
Version: 2.7.4
Text Domain: tender-edge-v2
*/

:root{
 --te-navy:#08263d;--te-navy-2:#041925;--te-teal:#27aebe;--te-cyan:#53d7e5;
 --te-ink:#102332;--te-muted:#667783;--te-light:#f2f6f8;--te-white:#fff;
 --te-radius:22px;--te-shadow:0 22px 70px rgba(4,25,37,.16)
}
body.tender-edge-v2{color:var(--te-ink);background:#fff}
body.tender-edge-v2 #main-content{background:#fff}
.te-v2-wrap{overflow:hidden}
.te-v2-shell{width:min(1280px,calc(100% - 40px));margin:auto}
.te-v2-section{padding:100px 0}
.te-v2-dark{background:var(--te-navy);color:#fff}
.te-v2-kicker{font-size:12px;line-height:1;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--te-teal)}
.te-v2-title{margin:.25em 0;font-size:clamp(42px,6vw,88px);line-height:.96;letter-spacing:-.055em;font-weight:850}
.te-v2-h2{font-size:clamp(34px,4vw,62px);line-height:1.02;letter-spacing:-.04em;margin:0 0 20px}
.te-v2-lead{font-size:clamp(18px,1.7vw,23px);line-height:1.55;color:var(--te-muted);max-width:760px}
.te-v2-dark .te-v2-lead{color:#c9d7df}
.te-v2-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.te-v2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:999px;font-weight:800;text-decoration:none!important;transition:.2s}
.te-v2-btn-primary{background:var(--te-teal);color:#fff!important}
.te-v2-btn-primary:hover{background:var(--te-cyan);transform:translateY(-2px)}
.te-v2-btn-outline{border:1px solid rgba(255,255,255,.45);color:#fff!important}
.te-v2-btn-light{background:#fff;color:var(--te-navy)!important}
.te-v2-hero{position:relative;min-height:760px;display:flex;align-items:center;background:
 linear-gradient(90deg,rgba(4,25,37,.96) 0%,rgba(4,25,37,.78) 52%,rgba(4,25,37,.28) 100%),
 linear-gradient(135deg,#12374f,#176170);color:#fff}
.te-v2-hero:before{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 78% 32%,rgba(83,215,229,.3),transparent 30%),
 linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
.te-v2-hero .te-v2-shell{position:relative;z-index:2}
.te-v2-hero-copy{max-width:850px}
.te-v2-hero .te-v2-lead{max-width:680px}
.te-v2-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dce5ea;border-bottom:1px solid #dce5ea}
.te-v2-trust>div{background:#fff;padding:25px;text-align:center;font-weight:800}
.te-v2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.te-v2-cat{position:relative;min-height:420px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--te-radius);overflow:hidden;color:#fff!important;background:linear-gradient(145deg,#0c324c,#197183);box-shadow:var(--te-shadow);text-decoration:none!important;transition:.25s}
.te-v2-cat:nth-child(2n){background:linear-gradient(145deg,#183347,#554a86)}
.te-v2-cat:nth-child(3n){background:linear-gradient(145deg,#18435a,#218f8b)}
.te-v2-cat:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.24),transparent 28%)}
.te-v2-cat>*{position:relative;z-index:1}
.te-v2-cat:hover{transform:translateY(-7px)}
.te-v2-cat h3{font-size:36px;color:#fff;margin:8px 0}
.te-v2-cat p{color:#d8e8ed;font-size:17px}
.te-v2-cat span{font-weight:800}
.te-v2-product-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,1fr);gap:16px;overflow-x:auto;padding:12px 4px 34px;scroll-snap-type:x mandatory}
.te-v2-product-card{scroll-snap-align:start;border-radius:18px;background:#fff;color:var(--te-ink);padding:24px;min-height:300px;box-shadow:0 15px 45px rgba(0,0,0,.12);display:flex;flex-direction:column}
.te-v2-product-card .te-v2-product-art{height:130px;border-radius:12px;background:linear-gradient(135deg,#e7f4f6,#c8e7ed);margin-bottom:20px}
.te-v2-product-card h3{font-size:24px;margin:0 0 8px}
.te-v2-product-card p{color:var(--te-muted);flex:1}
.te-v2-product-card a{font-weight:800;color:var(--te-navy)}
.te-v2-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.te-v2-visual{min-height:520px;border-radius:var(--te-radius);background:
 linear-gradient(145deg,rgba(8,38,61,.1),rgba(39,174,190,.25)),
 repeating-linear-gradient(45deg,#eaf2f5,#eaf2f5 20px,#f7fafb 20px,#f7fafb 40px);
 box-shadow:var(--te-shadow);position:relative;overflow:hidden}
.te-v2-visual:after{content:"REPLACE WITH TENDER EDGE PROJECT PHOTOGRAPHY";position:absolute;inset:auto 25px 25px;padding:15px;border:1px dashed #6d8998;border-radius:12px;text-align:center;font-weight:800;color:#56707e;background:rgba(255,255,255,.8)}
.te-v2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.te-v2-stat{padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:18px}
.te-v2-stat strong{display:block;font-size:42px;color:#fff}
.te-v2-stat span{color:#bfd1da}
.te-v2-process{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.te-v2-process>div{padding:28px;border-radius:18px;background:var(--te-light)}
.te-v2-process>div:before{counter-increment:step;content:"0" counter(step);display:block;font-weight:900;color:var(--te-teal);font-size:14px;margin-bottom:28px}
.te-v2-process h3{font-size:24px}
.te-v2-cta{border-radius:28px;padding:60px;background:linear-gradient(135deg,var(--te-navy),#176477);color:#fff}
.te-v2-cta h2{color:#fff}
.te-v2-shop-hero{padding:120px 0 70px;background:var(--te-navy);color:#fff}
.te-v2-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.te-v2-shop-card{padding:30px;min-height:280px;border-radius:20px;background:#fff;box-shadow:var(--te-shadow);text-decoration:none!important;color:var(--te-ink)!important;display:flex;flex-direction:column}
.te-v2-shop-card .icon{font-size:42px}
.te-v2-shop-card h3{font-size:30px;margin:auto 0 10px}
.te-v2-shop-card span{font-weight:800;color:var(--te-teal)}
.te-v2-footer{background:var(--te-navy-2);color:#bdd0da;padding:70px 0 25px}
.te-v2-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:35px}
.te-v2-footer h4{color:#fff}
.te-v2-footer a{color:#bdd0da}
.te-v2-footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.te-v2-header{position:sticky;top:0;z-index:999;background:rgba(4,25,37,.96);backdrop-filter:blur(16px);color:#fff}
.te-v2-header-inner{height:82px;display:flex;align-items:center;gap:28px}
.te-v2-logo{font-size:24px;font-weight:900;color:#fff!important;text-decoration:none!important;margin-right:auto}
.te-v2-nav{display:flex;align-items:center;gap:22px}
.te-v2-nav a{color:#d8e5eb!important;font-weight:700;text-decoration:none!important}
.te-v2-nav a:hover{color:#fff!important}
.te-v2-mobile-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.woocommerce ul.products li.product{border-radius:18px;overflow:hidden;padding-bottom:18px;background:#fff;box-shadow:0 12px 35px rgba(4,25,37,.1)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button{margin-left:18px;margin-right:18px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:999px!important;background:var(--te-teal)!important;color:#fff!important;border:none!important}
@media(max-width:980px){
 .te-v2-grid,.te-v2-shop-grid{grid-template-columns:1fr 1fr}
 .te-v2-split{grid-template-columns:1fr;gap:35px}
 .te-v2-stats,.te-v2-process{grid-template-columns:1fr 1fr}
 .te-v2-footer-grid{grid-template-columns:1fr 1fr}
 .te-v2-nav{display:none;position:absolute;top:82px;left:0;right:0;padding:25px;background:var(--te-navy);flex-direction:column;align-items:flex-start}
 .te-v2-nav.open{display:flex}.te-v2-mobile-toggle{display:block}
}
@media(max-width:640px){
 .te-v2-shell{width:min(100% - 26px,1280px)}
 .te-v2-section{padding:65px 0}.te-v2-hero{min-height:690px}
 .te-v2-grid,.te-v2-shop-grid,.te-v2-stats,.te-v2-process,.te-v2-footer-grid{grid-template-columns:1fr}
 .te-v2-trust{grid-template-columns:1fr 1fr}
 .te-v2-cat{min-height:330px}.te-v2-cta{padding:35px 24px}
}


/* =========================================================
   Tender Edge V2.1 — complete Divi header replacement
   ========================================================= */
#main-header,
#top-header,
.et-l--header,
.et_pb_section_0_tb_header,
header#main-header,
body.et_fixed_nav #main-header,
body.et_hide_nav #main-header {
    display: none !important;
}

body.tender-edge-v2 {
    padding-top: 0 !important;
}

body.admin-bar .te-v2-header {
    top: 32px;
}

.te-v2-header {
    position: sticky;
    top: 0;
    z-index: 99999;
    height: auto;
    background: rgba(4, 25, 37, .96);
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.te-v2-header-inner {
    min-height: 86px;
    height: auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.te-v2-logo {
    width: 226px;
    max-width: 27vw;
    flex: 0 0 auto;
    margin-right: auto;
    line-height: 0;
}

.te-v2-logo img {
    width: 100%;
    height: auto;
    display: block;
}

.te-v2-nav {
    display: flex;
    align-items: center;
    gap: 25px;
}

.te-v2-menu {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.5vw, 25px);
    list-style: none;
    margin: 0;
    padding: 0;
}

.te-v2-menu > li {
    position: relative;
    margin: 0;
    padding: 0;
}

.te-v2-menu > li > a {
    display: flex;
    align-items: center;
    min-height: 86px;
    padding: 0;
    color: #d7e4ea !important;
    font-size: 14px;
    line-height: 1;
    font-weight: 750;
    white-space: nowrap;
    text-decoration: none !important;
}

.te-v2-menu > li > a:hover,
.te-v2-menu > li.current-menu-item > a,
.te-v2-menu > li.current_page_item > a {
    color: #fff !important;
}

.te-v2-menu > li > a:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--te-teal);
    opacity: 0;
    transform: scaleX(.3);
    transition: .2s ease;
}

.te-v2-menu > li > a:hover:after,
.te-v2-menu > li.current-menu-item > a:after,
.te-v2-menu > li.current_page_item > a:after {
    opacity: 1;
    transform: scaleX(1);
}

.te-v2-menu .sub-menu {
    position: absolute;
    top: calc(100% - 12px);
    left: -20px;
    display: none;
    min-width: 240px;
    margin: 0;
    padding: 12px;
    list-style: none;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: #08263d;
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.te-v2-menu li:hover > .sub-menu {
    display: block;
}

.te-v2-menu .sub-menu a {
    display: block;
    padding: 12px 14px;
    border-radius: 9px;
    color: #d7e4ea !important;
    font-weight: 700;
    text-decoration: none !important;
}

.te-v2-menu .sub-menu a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08);
}

.te-v2-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.te-v2-icon-button {
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: transparent;
    color: #fff !important;
    font-size: 21px;
    line-height: 1;
    text-decoration: none !important;
    cursor: pointer;
}

.te-v2-icon-button:hover {
    border-color: var(--te-teal);
    background: rgba(39,174,190,.12);
}

.te-v2-cart-count {
    position: absolute;
    top: -5px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--te-teal);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

.te-v2-header-cta {
    min-height: 44px;
    padding-inline: 19px;
    font-size: 13px;
    white-space: nowrap;
}

.te-v2-mobile-toggle {
    width: 46px;
    height: 46px;
    padding: 10px;
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    background: transparent;
}

.te-v2-menu-line {
    display: block;
    width: 21px;
    height: 2px;
    margin: 0 auto;
    border-radius: 999px;
    background: #fff;
}

.te-v2-search-panel {
    border-top: 1px solid rgba(255,255,255,.1);
    background: #08263d;
}

.te-v2-search-panel[hidden] {
    display: none;
}

.te-v2-search-panel form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 18px 0;
}

.te-v2-search-panel input {
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
}

.te-v2-search-panel input::placeholder {
    color: #aebfc8;
}

.te-v2-search-panel button {
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: var(--te-teal);
    color: #fff;
    font-weight: 800;
}

#et-main-area {
    position: relative;
    z-index: 1;
}

.te-v2-footer-brand img {
    width: 220px;
    max-width: 100%;
    margin-bottom: 20px;
}

.te-v2-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

@media (max-width: 1180px) {
    .te-v2-logo {
        width: 190px;
    }

    .te-v2-menu {
        gap: 14px;
    }

    .te-v2-menu > li > a {
        font-size: 13px;
    }

    .te-v2-header-cta {
        display: none;
    }
}

@media (max-width: 980px) {
    body.admin-bar .te-v2-header {
        top: 46px;
    }

    .te-v2-header-inner {
        min-height: 74px;
    }

    .te-v2-logo {
        width: 205px;
        max-width: 65vw;
    }

    .te-v2-mobile-toggle {
        display: flex;
    }

    .te-v2-nav {
        position: fixed;
        top: 74px;
        right: 0;
        bottom: 0;
        left: 0;
        display: none;
        overflow-y: auto;
        padding: 18px 20px 35px;
        align-items: stretch;
        flex-direction: column;
        gap: 20px;
        background: #041925;
    }

    body.admin-bar .te-v2-nav {
        top: 120px;
    }

    .te-v2-nav.open {
        display: flex;
    }

    .te-v2-menu {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
    }

    .te-v2-menu > li > a {
        min-height: 56px;
        border-bottom: 1px solid rgba(255,255,255,.1);
        font-size: 18px;
    }

    .te-v2-menu > li > a:after {
        display: none;
    }

    .te-v2-menu .sub-menu {
        position: static;
        display: block;
        min-width: 0;
        padding: 0 0 8px 15px;
        border: 0;
        box-shadow: none;
        background: transparent;
    }

    .te-v2-header-actions {
        display: grid;
        grid-template-columns: 50px 50px 1fr;
    }

    .te-v2-header-cta {
        display: inline-flex;
    }
}

@media (max-width: 782px) {
    body.admin-bar .te-v2-header {
        top: 46px;
    }
}

@media (max-width: 640px) {
    .te-v2-header-inner {
        min-height: 68px;
    }

    .te-v2-logo {
        width: 180px;
    }

    .te-v2-nav {
        top: 68px;
    }

    body.admin-bar .te-v2-nav {
        top: 114px;
    }

    .te-v2-footer-bottom {
        flex-direction: column;
    }
}
\n\n/* Tender Edge V2.2 — remove Divi's reserved fixed-header space */
html,
body.tender-edge-v2,
body.tender-edge-v2.et_fixed_nav,
body.tender-edge-v2.et_non_fixed_nav,
body.tender-edge-v2.et_fixed_nav.et_show_nav {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.tender-edge-v2 #page-container,
body.tender-edge-v2.et_fixed_nav #page-container,
body.tender-edge-v2.et_non_fixed_nav #page-container,
body.tender-edge-v2 #et-main-area,
body.tender-edge-v2 #main-content,
body.tender-edge-v2 article,
body.tender-edge-v2 .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.tender-edge-v2 #page-container {
    top: auto !important;
}

body.tender-edge-v2 .te-v2-header + #et-main-area,
body.tender-edge-v2 .te-v2-header + #et-main-area > #main-content {
    margin-top: 0 !important;
}


/* Tender Edge V2.3 — full-width Contact and Quote pages */
body.te-v2-fullwidth-utility-page #main-content > .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.te-v2-fullwidth-utility-page #main-content > .container::before,
body.te-v2-fullwidth-utility-page #sidebar {
    display: none !important;
}

body.te-v2-fullwidth-utility-page #left-area {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.te-v2-fullwidth-utility-page article.page,
body.te-v2-fullwidth-utility-page .entry-content,
body.te-v2-fullwidth-utility-page .et_post_meta_wrapper {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.te-v2-fullwidth-utility-page .entry-title,
body.te-v2-fullwidth-utility-page .post-meta {
    display: none !important;
}

body.te-v2-fullwidth-utility-page .entry-content > p:empty {
    display: none !important;
}

body.te-v2-fullwidth-utility-page .te-v2-shop-hero {
    margin-top: 0 !important;
}


/* =========================================================
   Tender Edge V2.4 — full-width WooCommerce and Shop layout
   ========================================================= */
body.te-v2-commerce-page #sidebar,
body.te-v2-commerce-page .et_right_sidebar #sidebar,
body.te-v2-commerce-page .et_left_sidebar #sidebar,
body.woocommerce #sidebar,
body.woocommerce-page #sidebar,
body.post-type-archive-product #sidebar,
body.tax-product_cat #sidebar,
body.single-product #sidebar {
    display: none !important;
}

body.te-v2-commerce-page #left-area,
body.woocommerce #left-area,
body.woocommerce-page #left-area,
body.post-type-archive-product #left-area,
body.tax-product_cat #left-area,
body.single-product #left-area {
    float: none !important;
    width: 100% !important;
    padding-right: 0 !important;
}

body.te-v2-commerce-page #main-content .container,
body.woocommerce #main-content .container,
body.woocommerce-page #main-content .container,
body.post-type-archive-product #main-content .container,
body.tax-product_cat #main-content .container,
body.single-product #main-content .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

body.te-v2-commerce-page #main-content .container:before,
body.woocommerce #main-content .container:before,
body.woocommerce-page #main-content .container:before,
body.post-type-archive-product #main-content .container:before,
body.tax-product_cat #main-content .container:before,
body.single-product #main-content .container:before {
    display: none !important;
}

.te-v2-commerce-main {
    width: 100%;
    background: var(--te-light);
}

.te-v2-commerce-hero {
    padding-top: 105px;
    padding-bottom: 70px;
}

.te-v2-commerce-content {
    padding: 75px 0 100px;
    min-height: 55vh;
}

.te-v2-commerce-content .woocommerce {
    width: 100%;
}

.te-v2-commerce-content .woocommerce-notices-wrapper {
    margin-bottom: 25px;
}

.te-v2-commerce-content .woocommerce-result-count {
    margin: 14px 0 28px;
    color: var(--te-muted);
}

.te-v2-commerce-content .woocommerce-ordering select {
    min-height: 46px;
    padding: 0 42px 0 14px;
    border: 1px solid #cfdae0;
    border-radius: 999px;
    background: #fff;
}

.te-v2-commerce-content ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 30px 0 0 !important;
}

.te-v2-commerce-content ul.products:before,
.te-v2-commerce-content ul.products:after {
    display: none !important;
}

.te-v2-commerce-content ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
    display: flex;
    flex-direction: column;
    border: 1px solid #dce5ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(4, 25, 37, .1);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}

.te-v2-commerce-content ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 58px rgba(4, 25, 37, .15);
}

.te-v2-commerce-content ul.products li.product a img {
    width: 100%;
    margin: 0 0 20px !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: linear-gradient(135deg, #dceef2, #edf5f7);
}

.te-v2-commerce-content ul.products li.product .woocommerce-loop-product__title {
    padding: 0 !important;
    margin: 0 22px 8px !important;
    color: var(--te-navy);
    font-size: 23px !important;
    line-height: 1.15;
}

.te-v2-commerce-content ul.products li.product .price {
    margin: 0 22px 18px !important;
    color: var(--te-teal) !important;
    font-size: 17px !important;
    font-weight: 800;
}

.te-v2-commerce-content ul.products li.product .button {
    align-self: flex-start;
    margin: auto 22px 0 !important;
}

.te-v2-commerce-content nav.woocommerce-pagination {
    margin-top: 45px;
}

.te-v2-commerce-content nav.woocommerce-pagination ul {
    border: 0 !important;
}

.te-v2-commerce-content nav.woocommerce-pagination ul li {
    border: 0 !important;
    margin: 3px;
}

.te-v2-commerce-content nav.woocommerce-pagination ul li a,
.te-v2-commerce-content nav.woocommerce-pagination ul li span {
    min-width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #fff;
}

.te-v2-commerce-content nav.woocommerce-pagination ul li span.current {
    background: var(--te-teal);
    color: #fff;
}

/* Individual product page */
body.single-product .te-v2-commerce-content {
    background: #fff;
}

body.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(35px, 5vw, 75px);
    align-items: start;
}

body.single-product div.product div.images,
body.single-product div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product div.product div.images img {
    border-radius: 20px;
    background: var(--te-light);
}

body.single-product div.product .product_title {
    color: var(--te-navy);
    font-size: clamp(38px, 4.5vw, 64px);
    line-height: 1;
    letter-spacing: -.045em;
}

body.single-product div.product .price {
    color: var(--te-teal);
    font-size: 26px;
    font-weight: 850;
}

body.single-product .woocommerce-tabs,
body.single-product .related,
body.single-product .upsells {
    grid-column: 1 / -1;
    margin-top: 55px;
}

body.single-product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs:before {
    border-bottom-color: #dce5ea !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    border-radius: 12px 12px 0 0 !important;
}

/* Cart, checkout and account */
body.woocommerce-cart .te-v2-commerce-content,
body.woocommerce-checkout .te-v2-commerce-content,
body.woocommerce-account .te-v2-commerce-content {
    background: #fff;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
    max-width: 1180px;
    margin: auto;
}

@media (max-width: 980px) {
    .te-v2-commerce-content ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-product div.product {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .te-v2-commerce-content {
        padding: 48px 0 70px;
    }

    .te-v2-commerce-content ul.products {
        grid-template-columns: 1fr;
    }

    .te-v2-commerce-content .woocommerce-result-count,
    .te-v2-commerce-content .woocommerce-ordering {
        float: none !important;
        width: 100%;
    }

    .te-v2-commerce-content .woocommerce-ordering {
        margin-bottom: 22px;
    }
}


/* =========================================================
   Tender Edge V2.5 — forced commerce template
   ========================================================= */
body.te-v2-forced-commerce #sidebar,
body.te-v2-forced-commerce .widget-area,
body.te-v2-forced-commerce .et_pb_widget_area,
body.te-v2-forced-commerce #main-content > .container,
body.te-v2-forced-commerce #main-content > .container:before {
    display: none !important;
}

body.te-v2-forced-commerce #main-content {
    padding: 0 !important;
    margin: 0 !important;
    background: var(--te-light) !important;
}

.te-v2-forced-commerce-main {
    width: 100%;
    margin: 0;
    padding: 0;
    background: var(--te-light);
}

.te-v2-forced-commerce-content {
    width: 100%;
    min-height: 55vh;
    padding: 75px 0 100px;
    background: var(--te-light);
}

.te-v2-forced-commerce-content .woocommerce {
    width: 100%;
    max-width: none;
}

.te-v2-forced-commerce-content ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
}

.te-v2-forced-commerce-content ul.products:before,
.te-v2-forced-commerce-content ul.products:after {
    display: none !important;
}

.te-v2-forced-commerce-content ul.products li.product {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
    display: flex;
    flex-direction: column;
    border: 1px solid #dce5ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(4,25,37,.10);
    overflow: hidden;
}

.te-v2-forced-commerce-content ul.products li.product a img {
    width: 100%;
    margin: 0 0 20px !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: linear-gradient(135deg,#dceef2,#edf5f7);
}

.te-v2-forced-commerce-content ul.products li.product .woocommerce-loop-product__title {
    margin: 0 22px 8px !important;
    padding: 0 !important;
    color: var(--te-navy);
    font-size: 23px !important;
    line-height: 1.15;
}

.te-v2-forced-commerce-content ul.products li.product .price {
    margin: 0 22px 18px !important;
    color: var(--te-teal) !important;
    font-size: 17px !important;
    font-weight: 800;
}

.te-v2-forced-commerce-content ul.products li.product .button {
    align-self: flex-start;
    margin: auto 22px 0 !important;
}

/* Force single products to two columns without Divi's wrapper. */
body.single-product .te-v2-forced-commerce-content .product {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: clamp(35px,5vw,75px);
    align-items: start;
}

body.single-product .te-v2-forced-commerce-content .product > .images,
body.single-product .te-v2-forced-commerce-content .product > .summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .te-v2-forced-commerce-content .woocommerce-tabs,
body.single-product .te-v2-forced-commerce-content .related,
body.single-product .te-v2-forced-commerce-content .upsells {
    grid-column: 1 / -1;
}

@media(max-width:980px) {
    .te-v2-forced-commerce-content ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    body.single-product .te-v2-forced-commerce-content .product {
        grid-template-columns: 1fr;
    }
}

@media(max-width:620px) {
    .te-v2-forced-commerce-content {
        padding: 48px 0 70px;
    }

    .te-v2-forced-commerce-content ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   Tender Edge V2.6 — premium configurator product page
   ========================================================= */
body.single-product .te-v2-forced-commerce-content {
    padding-top: 28px;
    padding-bottom: 145px;
    background:
        radial-gradient(circle at 75% 12%, rgba(39,174,190,.08), transparent 28%),
        #f3f7f9;
}

.te-v2-product-page {
    width: 100%;
}

.te-v2-product-breadcrumbs {
    margin-bottom: 20px;
}

.te-v2-product-breadcrumbs .woocommerce-breadcrumb {
    margin: 0;
    color: #627581;
    font-size: 14px;
}

.te-v2-product-breadcrumbs a {
    color: var(--te-navy);
    text-decoration: none;
}

.te-v2-breadcrumb-separator {
    padding: 0 9px;
    color: #9aabb4;
}

.te-v2-product-main {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    gap: clamp(38px, 5vw, 76px);
    align-items: start;
}

.te-v2-product-gallery-panel,
.te-v2-product-config-panel {
    min-width: 0;
}

body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

body.single-product .woocommerce-product-gallery__image {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    aspect-ratio: 1.22 / 1;
    object-fit: contain;
    background: linear-gradient(145deg, #f8f9fa, #edf1f3);
}

body.single-product .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 14px;
    margin-top: 14px !important;
}

body.single-product .flex-control-thumbs li {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .flex-control-thumbs img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 2px solid transparent;
    border-radius: 10px;
    background: #fff;
    transition: .18s ease;
}

body.single-product .flex-control-thumbs img.flex-active,
body.single-product .flex-control-thumbs img:hover {
    border-color: var(--te-teal);
}

.te-v2-product-config-panel {
    position: sticky;
    top: 116px;
}

body.single-product .te-v2-product-config-panel .summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .te-v2-product-config-panel .product_title {
    margin: 0 0 10px;
    color: var(--te-navy);
    font-size: clamp(42px, 4.1vw, 68px);
    line-height: .98;
    letter-spacing: -.052em;
}

body.single-product .te-v2-product-config-panel .price {
    margin: 0 0 10px;
    color: var(--te-teal);
    font-size: 25px;
    font-weight: 850;
}

body.single-product .te-v2-product-config-panel .woocommerce-product-details__short-description {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #d7e1e6;
    color: #405460;
    font-size: 16px;
    line-height: 1.65;
}

.te-v2-product-config-panel .tev2-builder {
    margin-top: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    background: transparent;
}

.te-v2-product-config-panel .tev2-builder-head {
    padding: 0 0 20px;
    background: transparent;
    color: var(--te-navy);
}

.te-v2-product-config-panel .tev2-builder-head span {
    color: var(--te-teal);
}

.te-v2-product-config-panel .tev2-builder-head h3 {
    color: var(--te-navy);
    font-size: 27px;
    margin: 5px 0 0;
}

.te-v2-product-config-panel .tev2-step {
    position: relative;
    padding: 20px 0;
    border-top: 1px solid #d7e1e6;
}

.te-v2-product-config-panel .tev2-step > b {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--te-navy);
    font-size: 16px;
    cursor: pointer;
}

.te-v2-product-config-panel .tev2-step.te-v2-collapsible > b:after {
    content: "⌄";
    font-size: 20px;
    line-height: 1;
    transition: transform .18s ease;
}

.te-v2-product-config-panel .tev2-step.te-v2-collapsible.is-collapsed > b:after {
    transform: rotate(-90deg);
}

.te-v2-product-config-panel .tev2-step.te-v2-collapsible.is-collapsed .tev2-options,
.te-v2-product-config-panel .tev2-step.te-v2-collapsible.is-collapsed > input[type="file"] {
    display: none;
}

.te-v2-product-config-panel .tev2-options {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
    margin-top: 13px;
}

.te-v2-product-config-panel .tev2-option {
    min-height: 54px;
    padding: 12px;
    border: 1px solid #cfdbe1;
    background: #fff;
    box-shadow: 0 2px 6px rgba(4,25,37,.03);
}

.te-v2-product-config-panel .tev2-option.active,
.te-v2-product-config-panel .tev2-option:hover {
    border-color: var(--te-teal);
    background: #e9fafc;
}

.te-v2-product-config-panel .tev2-summary {
    display: none !important;
}

.te-v2-product-lower {
    margin-top: 75px;
}

.te-v2-product-lower .woocommerce-tabs,
.te-v2-product-lower .related,
.te-v2-product-lower .upsells {
    width: 100%;
    margin-top: 55px;
}

/* Sticky bottom order dock */
.te-v2-order-dock {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99997;
    padding: 16px 0;
    border-top: 1px solid rgba(255,255,255,.12);
    background: rgba(4,25,37,.98);
    color: #fff;
    box-shadow: 0 -15px 50px rgba(4,25,37,.24);
    backdrop-filter: blur(18px);
}

body.admin-bar .te-v2-order-dock {
    /* Admin bar does not affect the bottom edge. */
}

.te-v2-order-dock-inner {
    display: grid;
    grid-template-columns: minmax(270px,1.25fr) auto auto auto auto;
    align-items: center;
    gap: 28px;
}

.te-v2-dock-product {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 15px;
}

.te-v2-dock-product img {
    width: 64px;
    height: 64px;
    flex: 0 0 auto;
    border-radius: 8px;
    object-fit: cover;
    background: #fff;
}

.te-v2-dock-product strong,
.te-v2-dock-product span {
    display: block;
}

.te-v2-dock-product strong {
    color: #fff;
    font-size: 17px;
}

.te-v2-dock-product span {
    max-width: 420px;
    margin-top: 5px;
    color: #b9cbd4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.te-v2-dock-summary-toggle {
    border: 0;
    background: transparent;
    color: var(--te-cyan);
    font-weight: 750;
    white-space: nowrap;
    cursor: pointer;
}

.te-v2-dock-quantity small,
.te-v2-dock-price small {
    display: block;
    margin-bottom: 7px;
    color: #b9cbd4;
}

.te-v2-dock-qty-control {
    display: grid;
    grid-template-columns: 38px 56px 38px;
    height: 44px;
    border: 1px solid #718895;
    border-radius: 8px;
    overflow: hidden;
}

.te-v2-dock-qty-control button,
.te-v2-dock-qty-control strong {
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #fff;
}

.te-v2-dock-qty-control button {
    cursor: pointer;
    font-size: 20px;
}

.te-v2-dock-price strong {
    display: block;
    color: #fff;
    font-size: 24px;
    white-space: nowrap;
}

.te-v2-dock-add {
    min-width: 166px;
    min-height: 52px;
    margin: 0 !important;
}

.te-v2-order-dock.is-quote .te-v2-dock-quantity {
    opacity: .45;
    pointer-events: none;
}

/* Prevent the host Coming Soon bar obscuring dock on logged-in previews. */
body.logged-in.single-product {
    padding-bottom: 98px;
}

@media (max-width: 1100px) {
    .te-v2-product-main {
        grid-template-columns: minmax(0,1fr) minmax(390px,.9fr);
        gap: 34px;
    }

    .te-v2-order-dock-inner {
        grid-template-columns: 1fr auto auto auto;
        gap: 18px;
    }

    .te-v2-dock-summary-toggle {
        display: none;
    }
}

@media (max-width: 980px) {
    .te-v2-product-main {
        grid-template-columns: 1fr;
    }

    .te-v2-product-config-panel {
        position: static;
    }

    .te-v2-order-dock-inner {
        grid-template-columns: 1fr auto auto;
    }

    .te-v2-dock-product img,
    .te-v2-dock-product span,
    .te-v2-dock-price small {
        display: none;
    }

    .te-v2-dock-product {
        min-width: 0;
    }

    .te-v2-dock-product strong {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 650px) {
    body.single-product .te-v2-forced-commerce-content {
        padding-bottom: 125px;
    }

    .te-v2-product-config-panel .tev2-options {
        grid-template-columns: 1fr 1fr;
    }

    .te-v2-order-dock {
        padding: 11px 0;
    }

    .te-v2-order-dock-inner {
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .te-v2-dock-quantity,
    .te-v2-dock-price {
        display: none;
    }

    .te-v2-dock-add {
        min-width: 130px;
        min-height: 48px;
        padding-inline: 16px !important;
    }
}


/* =========================================================
   Tender Edge V2.7 — approved product-page layout
   ========================================================= */
body.single-product .te-v2-forced-commerce-content {
    padding-top: 24px;
}

.te-v2-product-main {
    grid-template-columns: minmax(0, 1.08fr) minmax(460px, .92fr) !important;
    gap: clamp(42px, 5vw, 82px) !important;
}

.te-v2-product-gallery-panel {
    min-height: 650px;
}

body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery,
body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__wrapper,
body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image,
body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image a {
    display: block !important;
    width: 100% !important;
}

body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__wrapper {
    min-height: 600px;
}

body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image {
    min-height: 600px;
}

body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image img,
body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image--placeholder img {
    display: block !important;
    width: 100% !important;
    height: 600px !important;
    max-height: none !important;
    object-fit: contain !important;
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(145deg,#f8f9fa,#e9eef1);
}

.te-v2-product-config-panel {
    top: 105px !important;
}

.te-v2-product-config-panel .cart:not(.tepb-builder) {
    display: none !important;
}

.te-v2-product-config-panel .product_meta {
    display: none !important;
}

.te-v2-product-config-panel .tepb-builder {
    margin-top: 24px;
}

.tepb-builder {
    position: relative;
    width: 100%;
}

.tepb-builder-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 8px;
}

.tepb-builder-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--te-teal);
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.tepb-builder-title {
    margin: 0;
    color: var(--te-navy);
    font-size: 27px;
    line-height: 1.15;
}

.tepb-reset {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--te-navy);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.tepb-section {
    border-bottom: 1px solid #d6e0e5;
}

.tepb-section:first-of-type {
    border-top: 1px solid #d6e0e5;
}

.tepb-accordion-trigger {
    width: 100%;
    min-height: 58px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border: 0;
    background: transparent;
    color: var(--te-navy);
    text-align: left;
    font-size: 16px;
    font-weight: 850;
    cursor: pointer;
}

.tepb-step-number {
    color: var(--te-navy);
}

.tepb-chevron {
    font-size: 20px;
    transition: transform .18s ease;
}

.tepb-section.is-collapsed .tepb-chevron {
    transform: rotate(-90deg);
}

.tepb-section-body {
    padding: 0 0 20px;
}

.tepb-section.is-collapsed .tepb-section-body {
    display: none;
}

.tepb-options {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
}

.tepb-option {
    position: relative;
    min-height: 54px;
    padding: 12px;
    display: grid;
    place-items: center;
    border: 1px solid #ccd9df;
    border-radius: 9px;
    background: #fff;
    color: var(--te-navy);
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: .18s ease;
}

.tepb-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tepb-option:hover,
.tepb-option.active {
    border-color: var(--te-teal);
    background: #e9fafc;
    box-shadow: inset 0 0 0 1px var(--te-teal);
}

.tepb-upload {
    margin-top: 12px;
    padding: 13px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    border: 1px dashed #a9bcc6;
    border-radius: 9px;
    color: #526b78;
    font-weight: 700;
}

.tepb-hidden-submit {
    display: none;
}

.tepb-live-summary {
    display: none;
}

.te-v2-dock-price .woocommerce-Price-amount,
.te-v2-dock-live-price .woocommerce-Price-amount {
    color: #fff !important;
}

@media(max-width:1100px) {
    .te-v2-product-main {
        grid-template-columns: minmax(0,1fr) minmax(410px,.9fr) !important;
        gap: 34px !important;
    }
}

@media(max-width:980px) {
    .te-v2-product-main {
        grid-template-columns: 1fr !important;
    }

    .te-v2-product-gallery-panel {
        min-height: 0;
    }

    body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__wrapper,
    body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image {
        min-height: 0;
    }

    body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image img,
    body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image--placeholder img {
        height: auto !important;
        min-height: 420px;
    }
}

@media(max-width:620px) {
    .tepb-options {
        grid-template-columns: 1fr 1fr;
    }

    body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image img,
    body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery__image--placeholder img {
        min-height: 300px;
        padding: 8px;
    }
}


/* V2.7.1 Product layout fixes */
body.single-product .te-v2-product-main{
display:grid!important;
grid-template-columns:58% 42%!important;
align-items:start!important;
gap:40px!important;
}
body.single-product .te-v2-product-gallery-panel,
body.single-product .te-v2-product-config-panel{margin:0!important;padding:0!important}
body.single-product .te-v2-product-config-panel{position:sticky;top:100px;align-self:start}
body.single-product .te-v2-product-gallery-panel .woocommerce-product-gallery{width:100%!important;float:none!important}
body.single-product .woocommerce-product-gallery__image img{
width:100%!important;
height:auto!important;
max-height:700px!important;
object-fit:contain!important;
}
body.single-product .summary.entry-summary{
margin-top:0!important;
padding-top:0!important;
}
body.single-product .product_title{margin-top:0!important}
body.single-product div.product{margin-top:0!important}
@media(max-width:980px){
body.single-product .te-v2-product-main{grid-template-columns:1fr!important}
body.single-product .te-v2-product-config-panel{position:relative;top:auto}
}

/* =========================================================
   Tender Edge V2.7.2 — exact two-column product template
   ========================================================= */
body.single-product .te-v2-forced-commerce-content{
    padding:24px 0 132px!important;
    background:#f4f7f9!important;
}
body.single-product .te-v2-forced-commerce-content>.te-v2-shell{
    width:min(1420px,calc(100% - 48px))!important;
    max-width:1420px!important;
}
.te-v272-product-main{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(470px,.88fr);
    gap:64px;
    align-items:start;
}
.te-v272-gallery,.te-v272-details{min-width:0}
.te-v272-main-image{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:570px;
    overflow:hidden;
    border-radius:16px;
    background:linear-gradient(145deg,#f8f9fa,#e8edef);
    box-shadow:0 14px 42px rgba(4,25,37,.08);
}
.te-v272-main-image img{
    display:block;
    width:100%;
    height:570px;
    object-fit:contain;
    padding:0;
}
.te-v272-zoom{
    position:absolute;
    top:16px;
    right:16px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#fff;
    color:var(--te-navy);
    font-size:25px;
    box-shadow:0 8px 24px rgba(4,25,37,.12);
}
.te-v272-thumbnails{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin-top:14px;
}
.te-v272-thumb{
    padding:0;
    overflow:hidden;
    aspect-ratio:1/1;
    border:2px solid transparent;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}
.te-v272-thumb.active,.te-v272-thumb:hover{border-color:var(--te-teal)}
.te-v272-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.te-v272-details{position:sticky;top:108px}
.te-v272-product-header{padding:0 0 22px;border-bottom:1px solid #d5e0e5}
.te-v272-product-header .product_title{
    margin:0 0 10px!important;
    color:var(--te-navy)!important;
    font-size:clamp(48px,4.1vw,68px)!important;
    line-height:.98!important;
    letter-spacing:-.05em!important;
}
.te-v272-product-header .price{
    margin:0 0 10px!important;
    color:var(--te-teal)!important;
    font-size:25px!important;
    font-weight:900!important;
}
.te-v272-product-header .woocommerce-product-details__short-description{
    margin:0!important;
    color:#415761!important;
    font-size:16px!important;
    line-height:1.6!important;
}
.te-v272-product-header .woocommerce-product-details__short-description p{margin:0}
.te-v272-configurator{padding-top:22px}
.te-v272-configurator .tepb-builder{margin:0!important}
.te-v272-configurator .tepb-builder-header{margin-bottom:4px}
.te-v272-configurator .tepb-builder-title{font-size:25px}
.te-v272-configurator .tepb-section{background:transparent}
.te-v272-configurator .tepb-accordion-trigger{min-height:52px}
.te-v272-configurator .tepb-section-body{padding-bottom:16px}
.te-v272-configurator .tepb-option{min-height:52px}
.te-v272-configurator form.cart:not(.tepb-builder){display:block!important}
.te-v2-order-dock{padding:12px 0!important}
.te-v2-order-dock-inner{
    grid-template-columns:minmax(310px,1.25fr) auto auto auto auto auto!important;
    gap:24px!important;
}
.te-v2-dock-product img{width:60px!important;height:60px!important}
.te-v2-dock-add{min-height:50px!important}
.te-v272-unit-price{padding-right:22px;border-right:1px solid rgba(255,255,255,.12)}
.te-v2-product-lower{margin-top:70px}
@media(max-width:1180px){
    .te-v272-product-main{grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:38px}
    .te-v2-order-dock-inner{grid-template-columns:1fr auto auto auto auto!important;gap:16px!important}
    .te-v2-dock-summary-toggle{display:none}
}
@media(max-width:980px){
    body.single-product .te-v2-forced-commerce-content>.te-v2-shell{width:min(100% - 28px,1420px)!important}
    .te-v272-product-main{grid-template-columns:1fr;gap:32px}
    .te-v272-details{position:static}
    .te-v272-main-image,.te-v272-main-image img{min-height:0;height:auto}
    .te-v272-main-image img{max-height:620px}
    .te-v2-order-dock-inner{grid-template-columns:1fr auto auto!important}
    .te-v272-unit-price,.te-v2-dock-quantity{display:none}
}
@media(max-width:640px){
    .te-v272-product-header .product_title{font-size:42px!important}
    .te-v272-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
    .te-v272-configurator .tepb-options{grid-template-columns:1fr 1fr}
    .te-v2-order-dock-inner{grid-template-columns:1fr auto!important}
    .te-v2-dock-price{display:none}
}


/* =========================================================
   Tender Edge V2.7.4 — product article grid conflict fix
   Keeps the V2.7.2 product template and builder unchanged.
   ========================================================= */
body.single-product .te-v2-forced-commerce-content article.product.te-v272-product,
body.single-product .te-v2-forced-commerce-content .te-v272-product {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .te-v272-product > .te-v2-product-breadcrumbs,
body.single-product .te-v272-product > .te-v272-product-main,
body.single-product .te-v272-product > .te-v2-product-lower {
    grid-column: auto !important;
    width: 100% !important;
}

body.single-product .te-v272-product-main {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(470px, .88fr) !important;
    gap: 64px !important;
    align-items: start !important;
}

body.single-product .te-v272-gallery {
    width: 100% !important;
    min-width: 0 !important;
}

body.single-product .te-v272-main-image {
    width: 100% !important;
    min-height: 570px !important;
}

body.single-product .te-v272-main-image img {
    width: 100% !important;
    height: 570px !important;
    max-width: none !important;
    object-fit: contain !important;
}

body.single-product .te-v272-details {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 1180px) {
    body.single-product .te-v272-product-main {
        grid-template-columns: minmax(0, 1fr) minmax(430px, .9fr) !important;
        gap: 38px !important;
    }
}

@media (max-width: 980px) {
    body.single-product .te-v272-product-main {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}
