:root {
    --bs-ink:#0d1728;
    --bs-muted:#647081;
    --bs-green:#104c3f;
    --bs-mint:#e5f4ef;
    --bs-line:#e0e4e8;
    --bs-soft:#f5f6f7;
    --bs-radius:15px
}
* {
    box-sizing:border-box
}
body {
    margin:0;
    background:#fff;
    color:var(--bs-ink);
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased
}
a {
    color:var(--bs-green);
    text-decoration:none
}
a:hover {
    text-decoration:underline
}
button,input,select,textarea {
    font:inherit
}
button,a,input,select,textarea {
    touch-action:manipulation
}
button {
    cursor:pointer
}
button:disabled {
    cursor:not-allowed;
    opacity:.4
}
img {
    max-width:100%;
    height:auto
}
h1,h2,h3 {
    line-height:1.2;
    letter-spacing:-.035em
}
h1 {
    font-size:36px
}
h2 {
    font-size:25px
}
p {
    margin:0 0 16px
}
:focus-visible {
    outline:3px solid #008864;
    outline-offset:4px
}
.bs-container {
    max-width:1440px;
    margin:0 auto;
    padding:0 40px
}
.bs-icon {
    flex-shrink:0;
    vertical-align:middle
}
.bs-header-main {
    min-height:86px;
    display:flex;
    align-items:center;
    gap:48px
}
.bs-branding {
    flex:0 0 258px
}
.bs-wordmark {
    display:inline-flex;
    flex-direction:column;
    color:#081323;
    line-height:1
}
.bs-wordmark:hover {
    text-decoration:none
}
.bs-wordmark strong {
    font-size:34px;
    letter-spacing:-1.4px;
    font-weight:900
}
.bs-wordmark span {
    font-size:10px;
    letter-spacing:3px;
    color:#85909e;
    font-weight:700;
    margin-top:7px
}
.custom-logo-link {
    display:block;
    line-height:0
}
.custom-logo {
    width:auto;
    max-width:258px;
    max-height:64px;
    object-fit:contain
}
.bs-search {
    display:flex;
    flex:1;
    align-items:center;
    background:var(--bs-soft);
    border:1px solid var(--bs-line);
    border-radius:30px;
    overflow:hidden
}
.bs-search input {
    border:0;
    background:none;
    width:100%;
    min-width:0;
    padding:13px 18px;
    font-size:14px;
    color:var(--bs-ink)
}
.bs-search input::placeholder {
    color:#7c8696
}
.bs-search button {
    background:none;
    border:0;
    padding:9px 16px;
    color:var(--bs-ink)
}
.bs-header-actions {
    display:flex;
    gap:36px;
    align-items:center;
    margin-left:30px
}
.bs-header-actions a {
    color:var(--bs-ink);
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    white-space:nowrap
}
.bs-cart {
    position:relative;
    margin-right:10px
}
.bs-cart .bs-icon {
    width:28px;
    height:28px
}
.bs-cart-count {
    position:absolute;
    top:-9px;
    right:-10px;
    border-radius:999px;
    background:#009668;
    color:white;
    font-size:10px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    white-space:nowrap;
    text-align:center;
    line-height:18px
}
.bs-menu-toggle {
    display:none;
    border:0;
    background:none;
    padding:4px;
    color:var(--bs-ink)
}
.bs-nav-bar {
    background:#f7f8f9
}
.bs-nav-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    min-height:60px
}
.bs-menu {
    display:flex;
    gap:38px;
    list-style:none;
    padding:0;
    margin:0
}
.bs-menu a {
    display:block;
    color:var(--bs-ink);
    font-size:13px;
    font-weight:600;
    padding:20px 0
}
.bs-menu li {
    position:relative
}
.bs-menu .sub-menu {
    display:none;
    position:absolute;
    z-index:30;
    top:100%;
    left:0;
    background:white;
    padding:8px 20px;
    min-width:180px;
    list-style:none;
    box-shadow:0 10px 30px #12251c1f;
    border:1px solid var(--bs-line);
    border-radius:8px
}
.bs-menu li:hover>.sub-menu,.bs-menu li:focus-within>.sub-menu {
    display:block
}
.bs-menu .sub-menu a {
    padding:10px 0
}
.bs-soft-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:13px 22px;
    background:var(--bs-mint);
    border-radius:28px;
    color:var(--bs-green);
    font-size:13px;
    font-weight:700;
    white-space:nowrap
}
.bs-soft-button:hover {
    background:#d2ece2;
    text-decoration:none
}
.bs-bulk {
    padding:11px 22px;
    border-radius:18px
}
.bs-bulk svg {
    width:18px
}
.bs-main {
    padding-top:21px;
    padding-bottom:40px;
    min-height:50vh
}
.woocommerce .woocommerce-breadcrumb {
    color:var(--bs-muted);
    font-size:12px;
    margin:0 0 26px;
    line-height:1.6
}
.woocommerce .woocommerce-breadcrumb a {
    color:var(--bs-muted)
}
.bs-product-top {
    display:grid;
    grid-template-columns:minmax(0,9fr) minmax(0,11fr);
    gap:30px
}
.woocommerce div.product div.summary {
    float:none;
    width:auto;
    margin:0
}
.woocommerce div.product div.images {
    float:none;
    width:100%;
    margin:0 0 18px
}
.bs-product-media {
    min-width:0
}
.woocommerce div.product div.images.woocommerce-product-gallery {
    display:flex;
    flex-direction:row-reverse;
    gap:16px;
    align-items:flex-start
}
.woocommerce div.product div.images .flex-viewport {
    width:calc(100% - 90px);
    border-radius:12px;
    background:#f2f3f4
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    width:100%;
    margin:0
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
    height:560px;
    width:100%;
    object-fit:contain;
    background:#f2f3f4;
    mix-blend-mode:multiply
}
.woocommerce div.product div.images .flex-control-thumbs {
    width:74px;
    flex-shrink:0;
    max-height:560px;
    overflow-y:auto;
    scrollbar-width:thin;
    display:flex;
    flex-direction:column;
    gap:10px
}
.woocommerce div.product div.images .flex-control-thumbs li {
    float:none;
    width:100%;
    padding:2px;
    border-radius:9px;
    border:1px solid var(--bs-line);
    background:var(--bs-soft);
    overflow:hidden;
    flex-shrink:0
}
.woocommerce div.product div.images .flex-control-thumbs li:has(.flex-active) {
    border-color:#008b66
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    height:75px;
    object-fit:contain;
    opacity:.8;
    mix-blend-mode:multiply
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
    opacity:1
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    top:auto;
    bottom:14px;
    right:14px;
    z-index:9
}
.bs-color-previews h2 {
    font-size:12px;
    letter-spacing:0;
    margin:20px 0 10px
}
.bs-color-preview-list {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px
}
.bs-color-preview {
    border:0;
    background:none;
    padding:0;
    min-width:0;
    font-size:11px;
    color:#344254
}
.bs-color-preview img {
    display:block;
    border:1px solid var(--bs-line);
    border-radius:8px;
    background:transparent;
    width:100%;
    height:70px;
    object-fit:contain;
    margin-bottom:5px;
    padding:4px
}
.bs-color-preview[aria-pressed=true] img {
    border-color:#008b66;
    box-shadow:0 0 0 1px #008b66
}
.bs-color-preview span {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.bs-image-note {
    text-align:center;
    font-size:12px;
    color:#8a929d;
    margin:26px 0 0
}
.bs-product-eyebrow {
    display:flex;
    gap:16px;
    align-items:center;
    margin:0 0 14px
}
.bs-maker {
    font-size:22px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-1px;
    color:#1452a0
}
.bs-maker:empty {
    display:none
}
.bs-pill {
    background:#daf3e7;
    color:#007e56;
    border-radius:30px;
    padding:4px 18px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.02em
}
.woocommerce div.product .product_title {
    font-size:clamp(25px,2.5vw,34px);
    margin:0 0 10px;
    line-height:1.14;
    letter-spacing:-.035em
}
.woocommerce-product-details__short-description {
    font-size:17px;
    color:#596474;
    line-height:1.45
}
.woocommerce-product-details__short-description p {
    margin-bottom:10px
}
.bs-product-meta {
    display:flex;
    gap:20px;
    color:var(--bs-muted);
    font-size:12px;
    align-items:center;
    min-height:20px
}
.woocommerce .bs-product-meta .woocommerce-product-rating {
    margin:0;
    font-size:12px
}
.woocommerce .star-rating {
    color:#edb321
}
.bs-features {
    display:flex;
    gap:20px;
    justify-content:space-between;
    margin:25px 0 22px
}
.bs-features>span,.bs-services>span {
    display:flex;
    align-items:center;
    gap:12px
}
.bs-features strong,.bs-features small,.bs-services strong,.bs-services small {
    display:block;
    font-size:10px;
    font-weight:400;
    line-height:1.4;
    color:#536071
}
.bs-features strong {
    color:#344254
}
.bs-features .bs-icon {
    width:24px
}
.bs-price-card {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    border:1px solid var(--bs-line);
    border-radius:var(--bs-radius);
    padding:17px 22px;
    margin-bottom:14px
}
.bs-price-caption {
    font-size:11px;
    color:var(--bs-muted)
}
.bs-starting-price {
    font-size:37px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-1px
}
.bs-price-card small {
    font-size:11px;
    color:var(--bs-muted)
}
#bs-purchase {
    scroll-margin-top:24px
}
.woocommerce div.product form.cart {
    border:1px solid var(--bs-line);
    border-radius:var(--bs-radius);
    padding:20px;
    margin:0 0 16px
}
.woocommerce div.product form.cart .variations {
    margin:0;
    border:0
}
.woocommerce div.product form.cart .variations tr {
    display:flex;
    flex-direction:column;
    margin:0 0 16px
}
.woocommerce div.product form.cart .variations th {
    padding:0 0 10px;
    text-align:left;
    font-size:14px;
    line-height:1.3
}
.woocommerce div.product form.cart .variations td {
    padding:0;
    line-height:1
}
.bs-selected-label {
    font-weight:400
}
.bs-native-select {
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important
}
.bs-swatches {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}
.bs-swatch {
    width:37px;
    height:37px;
    border:1px solid #dce0e4;
    border-radius:100%;
    padding:3px;
    background:white;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
.bs-swatch-fill {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    border-radius:100%;
    border:1px solid #00000014;
    font-size:9px;
    background:#f2f3f4
}
.bs-swatch[aria-pressed=true] {
    outline:2px solid #008966;
    outline-offset:1px
}
.bs-swatches:not(.is-expanded) .bs-extra-color {
    display:none
}
.bs-more-colors {
    border:0;
    border-radius:100%;
    background:#eff3f3;
    width:37px;
    height:37px;
    font-size:11px;
    font-weight:700;
    color:#344254
}
.bs-sizes {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
.bs-size {
    min-width:68px;
    min-height:41px;
    border:1px solid #cfd6dd;
    border-radius:5px;
    padding:9px 15px;
    color:var(--bs-ink);
    background:#fff;
    font-size:12px
}
.bs-size[aria-pressed=true] {
    border-color:var(--bs-green);
    background:var(--bs-mint);
    color:var(--bs-green);
    font-weight:700;
    box-shadow:inset 0 0 0 2px #fff
}
.woocommerce div.product form.cart .reset_variations {
    font-size:11px;
    display:inline-block;
    margin-top:10px;
    color:var(--bs-muted)
}
.woocommerce div.product form.cart .variations select {
    padding:10px;
    border:1px solid var(--bs-line);
    border-radius:5px
}
.woocommerce-variation-price {
    margin-bottom:8px
}
.woocommerce div.product p.price,.woocommerce div.product span.price {
    color:var(--bs-green);
    font-size:20px;
    font-weight:700
}
.woocommerce div.product .stock {
    font-size:14px;
    margin:5px 0 13px;
    color:var(--bs-ink)
}
.woocommerce div.product .stock.in-stock:before {
    content:'';
    display:inline-block;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#20bb62;
    margin-right:10px
}
.woocommerce div.product .stock.out-of-stock {
    color:#a13b31
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center
}
.woocommerce div.product form.cart div.quantity {
    margin:0;
    display:flex;
    border:1px solid #cfd6dd;
    border-radius:30px;
    overflow:hidden;
    flex-shrink:0;
    height:50px
}
.woocommerce .quantity .qty {
    width:44px;
    min-height:48px;
    border:0;
    border-radius:0;
    border-left:1px solid var(--bs-line);
    border-right:1px solid var(--bs-line);
    padding:0;
    background:white;
    color:var(--bs-ink);
    appearance:textfield;
    -moz-appearance:textfield
}
.qty::-webkit-inner-spin-button,.qty::-webkit-outer-spin-button {
    -webkit-appearance:none;
    margin:0
}
.bs-qty-step {
    border:0;
    background:white;
    width:32px;
    color:#344254;
    font-size:19px;
    padding:0
}
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt {
    background:var(--bs-green);
    color:#fff;
    border-radius:28px
}
.woocommerce div.product form.cart .button {
    flex:1;
    min-height:50px;
    border-radius:28px;
    font-size:17px;
    background:var(--bs-green);
    color:white;
    line-height:1.25;
    padding:12px 16px
}
.woocommerce div.product form.cart .button:hover {
    background:#176450
}
.woocommerce div.product form.cart .button.disabled,.woocommerce div.product form.cart .button:disabled {
    background:var(--bs-green);
    opacity:.45;
    color:#fff
}
.bs-quote {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    border:1px solid #72998c;
    border-radius:25px;
    font-size:12px;
    font-weight:600;
    padding:10px 20px;
    margin:8px 0 20px
}
.bs-services {
    display:flex;
    justify-content:space-around;
    gap:20px;
    margin:20px 0 0
}
.bs-services strong {
    font-size:11px;
    font-weight:600;
    color:var(--bs-ink)
}
.bs-services small {
    font-size:10px
}
.bs-detail-note {
    font-size:12px;
    color:var(--bs-muted);
    margin:0 4px 16px
}
.summary>.bs-brand {
    display:none
}
.bs-status {
    font-size:12px;
    color:#7d5615;
    background:#fbf4e5;
    display:inline-block;
    padding:6px 10px;
    border-radius:6px
}
.woocommerce div.product .woocommerce-tabs {
    margin-top:36px;
    clear:both
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding:0;
    margin:0 0 24px;
    display:flex;
    gap:6px;
    overflow:visible;
    border-bottom:1px solid var(--bs-line)
}
.woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
    display:none
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border:0;
    background:none;
    border-radius:0;
    margin:0;
    padding:0 22px
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding:15px 0;
    font-size:14px;
    font-weight:400;
    color:#415069
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom:3px solid var(--bs-green);
    background:none
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color:var(--bs-green);
    font-weight:700
}
.woocommerce div.product .woocommerce-tabs .panel {
    margin:0 0 28px;
    font-size:14px;
    color:#647081;
    line-height:1.7
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    color:var(--bs-ink);
    font-size:21px;
    margin:0 0 14px
}
.woocommerce div.product .woocommerce-tabs .panel p {
    max-width:850px
}
.woocommerce table.shop_attributes {
    border-collapse:collapse
}
.woocommerce table.shop_attributes th {
    width:110px;
    text-align:left
}
.woocommerce table.shop_attributes td {
    padding:10px;
    font-style:normal
}
.woocommerce table.shop_attributes td p {
    padding:0
}
.related.products>h2 {
    font-size:25px;
    margin:0 0 20px
}
.woocommerce ul.products {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px
}
.woocommerce ul.products:before,.woocommerce ul.products:after {
    display:none
}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product {
    width:auto;
    float:none;
    margin:0;
    padding:0;
    min-width:0
}
.woocommerce ul.products li.product a img {
    height:290px;
    object-fit:contain;
    background:#fff;
    border-radius:6px;
    padding:0;
    margin:0 0 12px;
    mix-blend-mode:normal
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size:16px;
    line-height:1.35;
    letter-spacing:-.02em;
    color:var(--bs-ink);
    padding:0 0 6px
}
.woocommerce ul.products li.product .price {
    color:var(--bs-green);
    font-size:14px
}
.woocommerce ul.products li.product .button {
    font-size:12px;
    background:var(--bs-mint);
    color:var(--bs-green);
    border-radius:30px;
    font-weight:600;
    margin-top:8px
}
.woocommerce .related ul.products {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:16px
}
.woocommerce .related ul.products li.product a img {
    height:225px
}
.woocommerce .related ul.products li.product .woocommerce-loop-product__title {
    font-size:13px
}
.woocommerce ul.products li.product .bs-brand {
    font-size:11px;
    color:var(--bs-muted);
    margin:4px 0
}
.bs-intro {
    background:#edf5f1;
    padding:35px;
    border-radius:15px;
    margin:15px 0 30px;
    clear:both
}
.bs-eyebrow {
    font-size:11px;
    letter-spacing:.16em;
    color:var(--bs-green)
}
.bs-intro h2 {
    font-size:36px;
    margin:10px 0
}
.bs-intro p {
    color:var(--bs-muted)
}
.bs-local {
    font-size:11px;
    color:var(--bs-muted)
}
.woocommerce .woocommerce-ordering select {
    padding:8px;
    border:1px solid var(--bs-line);
    background:white;
    border-radius:5px
}
.woocommerce-result-count {
    font-size:12px;
    color:var(--bs-muted)
}
.woocommerce-message,.woocommerce-info,.woocommerce-error {
    border-radius:8px;
    background:#f5f8f6;
    font-size:14px
}
.woocommerce-message {
    border-top-color:var(--bs-green)
}
.woocommerce-message:before {
    color:var(--bs-green)
}
.bs-footer {
    border-top:1px solid var(--bs-line);
    padding:32px 0;
    background:#fafbfa;
    color:var(--bs-muted);
    font-size:12px
}
.bs-footer>.bs-container {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px
}
.bs-footer strong {
    font-size:20px;
    letter-spacing:-.7px;
    color:var(--bs-ink)
}
.bs-footer p {
    font-size:9px;
    letter-spacing:2px;
    margin:4px 0 0
}
.bs-footer ul {
    display:flex;
    list-style:none;
    padding:0;
    gap:20px
}
.bs-content h1 {
    margin:20px 0 30px
}
/* WooCommerce block fields reserve their own space for floating labels. */
.bs-content input:not([type=checkbox]):not([type=radio]):not([type=submit]):not(.wc-block-components-form input),.bs-content textarea:not(.wc-block-components-form textarea) {
    border:1px solid #cfd6dd;
    border-radius:5px;
    padding:10px
}
.wc-block-components-button:not(.is-link) {
    background:var(--bs-green);
    color:#fff;
    border-radius:28px
}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea {
    padding:12px;
    border:1px solid var(--bs-line);
    border-radius:5px
}
.screen-reader-text {
    clip:rect(1px,1px,1px,1px);
    clip-path:inset(50%);
    height:1px;
    width:1px;
    overflow:hidden;
    position:absolute!important;
    white-space:nowrap
}
.skip-link:focus {
    clip:auto;
    clip-path:none;
    height:auto;
    width:auto;
    left:12px;
    top:12px;
    z-index:1000;
    background:white;
    padding:12px
}
.woocommerce div.product .bs-price-card .price {
    font-size:24px
}
@media(min-width:1440px) {
    .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
        height:620px
    }
    .woocommerce div.product div.images .flex-control-thumbs {
        max-height:620px
    }
}
@media(max-width:1150px) {
    .bs-container {
        padding-left:28px;
        padding-right:28px
    }
    .bs-header-main {
        gap:25px
    }
    .bs-header-actions {
        margin-left:0;
        gap:22px
    }
    .bs-branding {
        flex-basis:225px
    }
    .bs-wordmark strong {
        font-size:30px
    }
    .custom-logo {
        max-width:225px
    }
    .bs-menu {
        gap:25px
    }
    .bs-product-top {
        gap:24px
    }
    .bs-features {
        gap:12px
    }
    .bs-features>span {
        gap:7px
    }
    .bs-features strong,.bs-features small {
        font-size:9px
    }
    .bs-price-card {
        padding:15px
    }
    .bs-price-card .bs-soft-button {
        padding:12px;
        font-size:11px
    }
    .bs-swatches {
        gap:8px
    }
    .bs-swatch,.bs-more-colors {
        width:33px;
        height:33px
    }
    .bs-size {
        min-width:57px
    }
    .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
        height:510px
    }
    .woocommerce div.product div.images .flex-control-thumbs {
        max-height:510px;
        width:62px
    }
    .woocommerce div.product div.images .flex-viewport {
        width:calc(100% - 76px)
    }
    .woocommerce div.product div.images .flex-control-thumbs li img {
        height:64px
    }
    .woocommerce div.product div.images.woocommerce-product-gallery {
        gap:14px
    }
    .bs-color-preview img {
        height:62px
    }
    .bs-color-preview {
        font-size:9px
    }
}
@media(max-width:900px) {
    .bs-account span {
        display:none
    }
    .bs-menu {
        gap:20px
    }
    .bs-bulk {
        font-size:11px;
        padding:10px 14px
    }
    .bs-header-main {
        gap:20px
    }
    .bs-header-actions {
        gap:20px
    }
    .bs-branding {
        flex-basis:208px
    }
    .bs-wordmark strong {
        font-size:28px
    }
    .bs-wordmark span {
        font-size:8px
    }
    .bs-product-top {
        grid-template-columns:minmax(0,9fr) minmax(0,11fr);
        gap:22px
    }
    .woocommerce div.product div.images.woocommerce-product-gallery {
        display:block
    }
    .woocommerce div.product div.images .flex-viewport {
        width:100%
    }
    .woocommerce div.product div.images .flex-control-thumbs {
        flex-direction:row;
        width:100%;
        margin-top:10px;
        max-height:none;
        overflow:auto
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        width:55px
    }
    .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
        height:470px
    }
    .bs-features {
        flex-wrap:wrap;
        margin:18px 0
    }
    .bs-features>span:last-child {
        display:none
    }
    .bs-price-card {
        align-items:flex-start
    }
    .bs-price-card .bs-soft-button {
        font-size:0;
        padding:12px
    }
    .bs-price-card .bs-soft-button svg {
        width:20px
    }
    .bs-services {
        justify-content:flex-start;
        gap:14px
    }
    .bs-services>span {
        gap:7px
    }
    .bs-services strong,.bs-services small {
        font-size:9px
    }
    .woocommerce div.product form.cart {
        padding:16px
    }
    .woocommerce div.product .product_title {
        font-size:27px
    }
    .woocommerce-product-details__short-description {
        font-size:15px
    }
    .woocommerce ul.products {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .woocommerce .related ul.products {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .bs-color-preview-list {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .bs-color-preview:nth-child(n+5) {
        display:none
    }
    .bs-image-note {
        font-size:11px
    }
}
@media(max-width:700px) {
    .bs-container {
        padding-left:20px;
        padding-right:20px
    }
    .bs-header-main {
        padding-top:15px;
        padding-bottom:15px;
        min-height:0;
        display:grid;
        grid-template-columns:1fr auto;
        gap:16px
    }
    .bs-branding {
        min-width:0
    }
    .bs-wordmark strong {
        font-size:27px
    }
    .bs-wordmark span {
        font-size:8px;
        letter-spacing:2.4px
    }
    .custom-logo {
        max-width:215px;
        max-height:48px
    }
    .bs-search {
        grid-row:2;
        grid-column:1/-1
    }
    .bs-search input {
        padding:11px 15px;
        font-size:13px
    }
    .bs-header-actions {
        gap:20px
    }
    .bs-header-actions .bs-icon {
        width:22px;
        height:22px
    }
    .bs-menu-toggle {
        display:block
    }
    .bs-nav-inner {
        min-height:48px;
        justify-content:flex-end
    }
    .bs-nav-inner nav {
        display:none
    }
    .bs-nav-bar.is-open .bs-nav-inner {
        flex-wrap:wrap;
        padding-top:12px;
        padding-bottom:12px
    }
    .bs-nav-bar.is-open nav {
        display:block;
        width:100%
    }
    .bs-menu {
        flex-direction:column;
        gap:0
    }
    .bs-menu a {
        padding:10px 0
    }
    .bs-menu .sub-menu {
        position:static;
        box-shadow:none;
        margin-bottom:8px
    }
    .bs-bulk {
        background:none;
        padding:8px 0
    }
    .bs-main {
        padding-top:17px
    }
    .woocommerce .woocommerce-breadcrumb {
        font-size:11px;
        margin-bottom:18px
    }
    .bs-product-top {
        display:flex;
        flex-direction:column;
        gap:28px
    }
    .woocommerce div.product div.images.woocommerce-product-gallery {
        display:flex;
        flex-direction:row-reverse;
        gap:10px
    }
    .woocommerce div.product div.images .flex-viewport {
        width:calc(100% - 64px)
    }
    .woocommerce div.product div.images .flex-control-thumbs {
        flex-direction:column;
        width:54px;
        max-height:430px;
        margin:0
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        width:100%
    }
    .woocommerce div.product div.images .flex-control-thumbs li img {
        height:58px
    }
    .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
        height:430px
    }
    .bs-color-preview-list {
        grid-template-columns:repeat(7,minmax(0,1fr));
        gap:7px
    }
    .bs-color-preview:nth-child(n+5) {
        display:block
    }
    .bs-color-preview img {
        height:58px
    }
    .bs-color-previews h2 {
        margin-top:14px
    }
    .bs-image-note {
        display:none
    }
    .bs-product-eyebrow {
        margin-bottom:12px
    }
    .bs-maker {
        font-size:20px
    }
    .woocommerce div.product .product_title {
        font-size:29px
    }
    .woocommerce-product-details__short-description {
        font-size:16px
    }
    .bs-features>span:last-child {
        display:flex
    }
    .bs-features strong,.bs-features small {
        font-size:9px
    }
    .bs-price-card {
        padding:16px 18px;
        align-items:center
    }
    .bs-price-card .bs-soft-button {
        font-size:11px;
        padding:12px
    }
    .bs-price-card .bs-soft-button svg {
        display:none
    }
    .bs-starting-price {
        font-size:34px
    }
    .woocommerce div.product form.cart {
        padding:18px
    }
    .bs-swatches {
        gap:10px
    }
    .bs-swatch,.bs-more-colors {
        width:35px;
        height:35px
    }
    .bs-size {
        min-width:51px;
        flex:1;
        padding-left:12px;
        padding-right:12px
    }
    .bs-services {
        justify-content:space-around
    }
    .bs-services strong {
        font-size:10px
    }
    .bs-services small {
        font-size:9px
    }
    .woocommerce div.product .woocommerce-tabs {
        margin-top:26px
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        gap:0
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        padding:0 16px
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size:13px
    }
    .woocommerce ul.products,.woocommerce .related ul.products {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px 14px
    }
    .woocommerce ul.products li.product a img,.woocommerce .related ul.products li.product a img {
        height:220px
    }
    .bs-intro {
        padding:25px
    }
    .bs-intro h2 {
        font-size:29px
    }
    .bs-footer>.bs-container {
        align-items:flex-start;
        flex-direction:column;
        gap:20px
    }
    .bs-content h1 {
        font-size:30px
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior:auto!important;
        transition:none!important
    }
}
/* Blend white-backed supplier photography into the neutral gallery surface. */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    background:#f2f3f4
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
    background:transparent
}
.bs-decoration {
    display:flex;
    align-items:center;
    gap:30px;
    padding:30px;
    background:var(--bs-mint);
    border-radius:12px
}
.bs-decoration>.bs-icon {
    width:90px;
    height:90px;
    color:var(--bs-green)
}
.bs-wordmark strong {
    font-family:'Arial Black',Arial,Helvetica,sans-serif
}
.bs-wordmark {
    max-width:100%
}
.bs-wordmark strong {
    overflow-wrap:anywhere
}
@media(max-width:700px) {
    .custom-logo {
        max-width:min(215px,100%)
    }
}
@media(max-width:380px) {
    .bs-wordmark strong {
        font-size:23px
    }
    .bs-wordmark span {
        font-size:7px;
        letter-spacing:1.8px
    }
    .bs-header-actions {
        gap:13px
    }
    .bs-header-actions .bs-icon {
        width:20px;
        height:20px
    }
    .bs-header-main {
        gap:13px
    }
    .bs-color-preview-list {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .bs-color-preview:nth-child(n+6) {
        display:none
    }
    .bs-features>span:last-child {
        display:none
    }
}
/* WooCommerce's column classes set percentage widths for floated lists; grid items fill their tracks. */
.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product {
    width:100%;
    float:none;
    margin:0;
    clear:none
}

/* Color changes rebuild the gallery; keep its thumbnail rail visible while
   WooCommerce initializes the replacement slider instead of fading the root. */
.woocommerce .bs-product-media .woocommerce-product-gallery {
    opacity:1!important;
    transition:none!important;
}

/* The zoom image is an opaque overlay, not another blended gallery photo.
   WooCommerce controls its natural dimensions, position, and fade opacity. */
.woocommerce div.product div.images .woocommerce-product-gallery__image img.zoomImg {
    mix-blend-mode:normal;
    background:#f2f3f4;
    object-fit:fill;
}
.bs-swatch-fill { overflow:hidden; }
.bs-swatch-fill img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }

.bs-size:disabled {
    opacity: .35;
    background: #f1f3f4;
    text-decoration: line-through;
    cursor: not-allowed;
}

/* Success notices receive programmatic focus from WooCommerce. Keep keyboard
   outlines on their controls without drawing a second border around the panel. */
.woocommerce-message.bs-success-notice {
    position: relative;
    border: 1px solid #c8e5da;
    border-radius: 12px;
    padding-right: 3.5em;
    background: #eff8f3;
    color: #164e40;
    box-shadow: 0 4px 16px rgb(20 78 64 / 6%);
    animation: bs-notice-in .25s ease-out;
    transition: opacity .25s ease, transform .25s ease;
}
.woocommerce-message.bs-success-notice:focus {
    outline: none;
}
.bs-success-notice .button {
    background: #d9eee4;
    color: #164e40;
    border-radius: 7px;
}
.bs-notice-dismiss {
    position: absolute;
    top: 12px;
    right: 10px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #164e40;
    font-size: 24px;
    cursor: pointer;
}
.bs-notice-dismiss:hover { background: #d9eee4; }
.bs-success-notice.is-dismissing { opacity: 0; transform: translateY(-6px); }
@keyframes bs-notice-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .woocommerce-message.bs-success-notice { animation: none; transition: none; }
}

/* Make the available purchase action distinct from its disabled state. */
.woocommerce div.product form.cart .single_add_to_cart_button:not(:disabled):not(.disabled) {
    background: #006b4f;
    color: #fff;
    opacity: 1;
    font-weight: 700;
    box-shadow: 0 3px 8px rgb(0 70 50 / 16%);
    cursor: pointer;
}
.woocommerce div.product form.cart .single_add_to_cart_button:not(:disabled):not(.disabled):hover {
    background: #00533d;
}
.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.disabled {
    background: #e4e9e7;
    color: #697770;
    opacity: 1;
    box-shadow: none;
    cursor: not-allowed;
}

.bs-bulk-mode .bs-sizes, .bs-bulk-mode .single_variation_wrap, .bs-bulk-mode .reset_variations { display: none !important; }
.bs-bulk-sizes:not([hidden]) { display: grid; grid-template-columns: repeat(auto-fit, minmax(65px, 1fr)); gap: 10px; }
.bs-bulk-sizes label { display: flex; flex-direction: column; gap: 6px; text-align: center; font-size: 12px; }
.bs-bulk-sizes input { width: 100%; min-width: 0; padding: 10px 4px; border: 1px solid #b9ccc4; border-radius: 7px; text-align: center; background: #fff; color: #173e31; font-size:16px; }
.bs-bulk-sizes input:disabled { background: #eef0ef; opacity: .45; cursor: not-allowed; }
.bs-bulk-actions { margin-top: 16px; }
.bs-bulk-submit { width: 100%; padding: 14px; border: 0; border-radius: 25px; background: #006b4f; color: white; font-weight: 700; cursor: pointer; }
.bs-bulk-status { font-size: 14px; margin: 10px 0; }

.woocommerce div.product form.cart .bs-bulk-sizes label { align-items: center; text-align: center; }
.bs-bulk-sizes label > span { width: 100%; text-align: center; }
.bs-bulk-sizes input::placeholder { color: #a5ada9; opacity: 1; font-weight: 400; text-align: center; }
.bs-bulk-sizes input[type="number"] { appearance: textfield; -moz-appearance: textfield; text-align: center; }
.bs-bulk-sizes input::-webkit-inner-spin-button,
.bs-bulk-sizes input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.bs-bulk-unit-price { display: block; width: 100%; text-align: center; font-size: 11px; font-weight: 400; color: #64746c; white-space: nowrap; }

/* Align the thumbnail rail to the main image top; center images within frames. */
.woocommerce div.product div.images .flex-control-thumbs { align-self: flex-start; padding: 0; box-sizing: border-box; }
.woocommerce div.product div.images .flex-control-thumbs li { display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.woocommerce div.product div.images .flex-control-thumbs li img { display: block; width: 100%; max-width: 100%; margin: 0; object-fit: contain; object-position: center center; }
.bs-color-preview img { object-position: center center; }

/* Product specifications and measurement charts. */
.bs-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    margin: 24px 0;
    border: 1px solid #dce6e1;
    border-radius: 12px;
    background: #fff;
    scrollbar-width: thin;
    scrollbar-color: #b7cec2 #f2f6f3;
}
.woocommerce div.product .woocommerce-tabs .panel table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    border: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #43534c;
    font-variant-numeric: tabular-nums;
}
.woocommerce div.product .woocommerce-tabs .panel table th,
.woocommerce div.product .woocommerce-tabs .panel table td {
    padding: 14px 18px;
    vertical-align: middle;
    text-align: left;
    border: 0;
    border-bottom: 1px solid #e5ece8;
}
.woocommerce div.product .woocommerce-tabs .panel table thead th {
    background: #eaf4ee;
    color: #164e3e;
    font-size: 12px;
    font-weight: 700;
    min-width: 105px;
}
.woocommerce div.product .woocommerce-tabs .panel table tbody tr:nth-child(even) { background: #f7faf8; }
.woocommerce div.product .woocommerce-tabs .panel table tbody tr:hover { background: #edf6f1; }
.woocommerce div.product .woocommerce-tabs .panel table tbody tr:last-child > * { border-bottom: 0; }
.woocommerce div.product .woocommerce-tabs .panel table tbody tr > :first-child { font-weight: 600; color: #233f32; }
.woocommerce div.product .woocommerce-tabs .panel table caption { text-align: left; padding: 14px 18px; font-weight: 700; color: #164e3e; }
@media (max-width: 640px) {
    .woocommerce div.product .woocommerce-tabs .panel table th,
    .woocommerce div.product .woocommerce-tabs .panel table td { padding: 12px 14px; }
}

/* Storefront masthead and account welcome dialog. */
.bs-top-bar { background:#29433f; color:#fff; font-size:11px; }
.bs-top-inner { min-height:35px; display:flex; align-items:center; gap:26px; }
.bs-top-label { font-size:10px; font-weight:700; letter-spacing:1.3px; white-space:nowrap; }
.bs-top-benefits,.bs-hero-benefits { display:flex; align-items:center; list-style:none; padding:0; margin:0; }
.bs-top-benefits { gap:25px; flex:1; }
.bs-top-benefits li,.bs-top-links,.bs-top-links a { display:flex; align-items:center; gap:8px; }
.bs-top-links { gap:22px; margin-left:auto; }
.bs-top-links a { color:#fff; white-space:nowrap; }
.bs-top-bar .bs-icon { width:16px; height:16px; }
.bs-header-main { gap:30px; min-height:92px; }
.bs-header-actions { gap:28px; margin-left:0; }
.bs-header-actions .bs-new-here { padding:10px 13px; gap:11px; border:1px solid #f2dfbd; border-radius:9px; background:#fffaf2; }
.bs-new-here:hover { background:#fff3dd; text-decoration:none; }
.bs-new-here strong,.bs-new-here small { display:block; }
.bs-new-here strong { font-size:13px; }
.bs-new-here small { font-size:11px; margin-top:1px; }
.bs-new-icon { display:grid; place-items:center; width:29px; height:33px; background:#efa51e; border-radius:6px; color:#fff; }
.bs-new-icon .bs-icon { width:20px; height:20px; }
.bs-new-here > .bs-icon { width:17px; height:17px; }
.bs-nav-bar { border-top:1px solid #f0f2f4; border-bottom:1px solid #e7ebee; }
.bs-nav-inner { min-height:49px; justify-content:flex-start; gap:22px; }
.bs-menu a { padding:15px 0; }
.bs-menu-toggle { display:none; align-items:center; gap:10px; }
.bs-menu-toggle span { display:none; font-size:13px; font-weight:600; }
.bs-nav-inner nav[hidden] { display:none!important; }
.bs-header-hero { background:linear-gradient(110deg, #ffffff50, transparent 65%), var(--bs-hero-bg, #edf4ef); border-bottom:1px solid #dce7df; }
.bs-header-hero-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:100px; padding-top:20px; padding-bottom:20px; }
.bs-header-hero-copy h2 { margin:0 0 5px; font-size:23px; letter-spacing:-.6px; font-weight:800; color:#102444; }
.bs-header-hero-copy p { margin:0; color:#344c49; font-size:14px; }
.bs-hero-benefits { gap:30px; }
.bs-hero-benefits li { display:flex; align-items:center; gap:11px; }
.bs-hero-benefits .bs-icon { width:31px; height:31px; color:#264f45; }
.bs-hero-benefits strong,.bs-hero-benefits small { display:block; }
.bs-hero-benefits strong { font-size:11px; text-transform:uppercase; letter-spacing:.3px; color:#163a31; }
.bs-hero-benefits small { margin-top:3px; font-size:10px; color:#4f655f; }
.bs-registration { width:460px; max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); padding:35px; border:0; border-radius:18px; color:var(--bs-ink); box-shadow:0 24px 90px #0c233a40; }
.bs-registration::backdrop { background:#10244499; backdrop-filter:blur(3px); }
.bs-modal-open { overflow:hidden; }
.bs-registration-close { position:absolute; right:15px; top:12px; border:0; background:transparent; font-size:28px; color:#647081; width:36px; height:36px; line-height:1; }
.bs-registration-emblem { display:grid; place-items:center; width:52px; height:52px; margin-bottom:22px; color:#845807; background:#fff0d4; border-radius:13px; }
.bs-registration-eyebrow { font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--bs-green); margin:0 0 10px; }
.bs-registration h2 { font-size:29px; margin:0 0 12px; }
#bs-register-intro, #bs-login-intro { color:var(--bs-muted); font-size:14px; }
.bs-registration form.register { margin:24px 0 0; padding:0; border:0; }
.bs-registration label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.bs-registration input:not([type=hidden]):not([type=checkbox]) { width:100%; border:1px solid #cdd7d4; border-radius:7px; padding:11px 12px; background:#fff; font-size:16px; }
.bs-registration-note,.bs-registration .woocommerce-privacy-policy-text { font-size:12px; color:var(--bs-muted); }
.bs-registration-submit { display:flex; align-items:center; justify-content:center; gap:16px; width:100%; padding:13px; color:#fff; background:var(--bs-green); border:0; border-radius:8px; font-weight:600; }
.bs-registration-submit:hover { background:#16614f; }
.bs-registration-login { margin:22px 0 0; font-size:13px; text-align:center; color:var(--bs-muted); }
.bs-registration-login a { font-weight:700; }
@media(max-width:1150px) {
    .bs-top-inner { gap:18px; }
    .bs-top-benefits { gap:15px; }
    .bs-top-label { display:none; }
    .bs-header-main { gap:24px; }
    .bs-hero-benefits { gap:20px; }
    .bs-header-hero-copy h2 { font-size:20px; }
    .bs-hero-benefits .bs-icon { width:25px; height:25px; }
}
@media(max-width:900px) {
    .bs-top-benefits li:nth-child(n+3) { display:none; }
    .bs-new-here small,.bs-new-here > .bs-icon { display:none; }
    .bs-header-hero-inner { gap:16px; flex-wrap:wrap; }
    .bs-hero-benefits { justify-content:space-between; width:100%; }
}
@media(max-width:700px) {
    .bs-top-inner { min-height:32px; gap:12px; }
    .bs-top-benefits li:nth-child(n+2) { display:none; }
    .bs-top-links { gap:14px; }
    .bs-top-links a .bs-icon { display:none; }
    .bs-top-links a[href^="tel:"] { display:none; }
    .bs-header-main { gap:14px; padding-top:18px; padding-bottom:14px; }
    .bs-header-actions { gap:15px; }
    .bs-header-actions .bs-new-here { padding:7px 9px; }
    .bs-new-here .bs-new-icon { display:none; }
    .bs-new-here strong { font-size:11px; }
    .bs-nav-inner,.bs-nav-bar.is-open .bs-nav-inner { min-height:46px; padding-top:8px; padding-bottom:8px; flex-wrap:wrap; gap:7px; }
    .bs-header-enhanced .bs-menu-toggle { display:flex; }
    .bs-menu-toggle span { display:inline; }
    .bs-nav-inner nav { display:block; width:100%; }
    .bs-menu a { padding:10px 0; }
    .bs-header-hero-inner { min-height:0; padding-top:10px; padding-bottom:10px; gap:16px; }
    .bs-header-hero-copy h2 { font-size:18px; }
    .bs-header-hero-copy p { font-size:12px; }
    .bs-hero-benefits { gap:12px; align-items:flex-start; }
    .bs-hero-benefits li { gap:6px; flex:1; }
    .bs-hero-benefits .bs-icon { width:21px; height:21px; }
    .bs-hero-benefits strong { font-size:9px; letter-spacing:0; }
    .bs-hero-benefits small { display:none; }
    .bs-registration { padding:28px 24px; }
}
@media(max-width:380px) {
    .bs-header-main { gap:12px 8px; }
    .bs-header-actions { gap:10px; }
    .bs-header-actions .bs-new-here { padding:6px; }
    .bs-header-hero-copy h2 { font-size:16px; }
}

/* One transparent composition per edge; reserved space keeps artwork off text. */
.bs-header-hero { position:relative; overflow:hidden; }
.bs-hero-with-graphics { padding-left:170px; padding-right:170px; gap:24px; }
.bs-hero-with-graphics .bs-header-hero-copy { position:relative; flex:1; min-width:0; }
.bs-hero-with-graphics .bs-header-hero-copy h2 { font-size:20px; }
.bs-hero-with-graphics .bs-hero-benefits { position:relative; gap:20px; }
.bs-hero-art {
    overflow:hidden; position:absolute; top:0; bottom:0; width:150px; pointer-events:none;

}
.bs-hero-art-left { left:0; }
.bs-hero-art-right { right:0; }
.bs-hero-product { position:absolute; top:-25px; width:185px; height:185px; max-width:none; object-fit:contain; }
.bs-hero-art-left .bs-hero-product { left:-30px; }
.bs-hero-art-right .bs-hero-product { right:-20px; top:-12px; }
@media(max-width:1150px) and (min-width:701px) {
    .bs-hero-with-graphics { flex-wrap:wrap; gap:14px; }
    .bs-hero-with-graphics .bs-header-hero-copy { flex-basis:100%; }
    .bs-hero-with-graphics .bs-hero-benefits { width:100%; justify-content:space-between; }
}
@media(max-width:700px) {
    .bs-hero-with-graphics { padding-left:20px; padding-right:20px; gap:17px; }
    .bs-header-hero-copy,.bs-hero-art { display:none; }
    .bs-hero-with-graphics .bs-hero-benefits { gap:12px; }
}

/* Unavailable colors: keep the product recognizable and cross out its image. */
.bs-swatch { position:relative; }
.bs-color-preview-image { position:relative; margin-bottom:5px; border-radius:8px; }
.bs-color-preview .bs-color-preview-image img { margin-bottom:0; }
.bs-swatch:disabled,.bs-color-preview:disabled { opacity:1; cursor:not-allowed; }
.bs-swatch:disabled .bs-swatch-fill,.bs-color-preview:disabled img { opacity:.4; }
.bs-swatch:disabled::after,.bs-color-preview:disabled .bs-color-preview-image::after {
    content:""; position:absolute; inset:3px; pointer-events:none; border-radius:inherit;
    background:linear-gradient(45deg, transparent calc(50% - 1px), #4b5055 calc(50% - 1px), #4b5055 calc(50% + 1px), transparent calc(50% + 1px)),
               linear-gradient(-45deg, transparent calc(50% - 1px), #4b5055 calc(50% - 1px), #4b5055 calc(50% + 1px), transparent calc(50% + 1px));
}

.bs-location-trigger { display:inline-flex; align-items:center; gap:7px; border:0; padding:0; background:transparent; color:inherit; font-size:11px; min-width:0; }
.bs-location-trigger span { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bs-location-trigger:hover span { text-decoration:underline; }
.bs-location-dialog form { margin:22px 0 0; }
#bs-location-description { color:var(--bs-muted); font-size:14px; }
#bs-location-status { font-size:13px; color:#4b5055; }
.bs-location-detect { display:flex; justify-content:center; align-items:center; gap:8px; width:100%; padding:12px; margin:14px 0; border:1px solid var(--bs-line); border-radius:8px; color:var(--bs-green); background:#fff; }
.bs-location-trigger .bs-icon { width:16px; height:16px; }
@media(max-width:700px) {
    .bs-top-inner { flex-wrap:wrap; padding-top:7px; padding-bottom:7px; }
    .bs-top-links { flex-wrap:wrap; gap:12px; }
    .bs-location-trigger span { max-width:130px; }
}

/* Complete color rail and scrollable picker. */
.bs-colors-show-all { border:1px solid #bad8ce; border-radius:7px; padding:8px 3px; background:var(--bs-mint); color:var(--bs-green); font:600 11px/1.25 Arial,Helvetica,sans-serif; text-decoration:none; cursor:pointer; min-height:36px; }
.bs-color-preview-list { --bs-color-tile-height:70px; }
@media(max-width:1150px) { .bs-color-preview-list { --bs-color-tile-height:62px; } }
@media(max-width:700px) { .bs-color-preview-list { --bs-color-tile-height:58px; } }
.bs-color-preview-list .bs-color-preview img { height:var(--bs-color-tile-height); }
.bs-color-preview-list > .bs-colors-show-all { flex:0 0 76px; align-self:flex-start; height:var(--bs-color-tile-height); min-height:0; padding:10px 8px; scroll-snap-align:start; }
.bs-colors-show-all:hover { background:#d2eae1; }
.bs-colors-show-all:focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }
.bs-colors-rail { display:flex; align-items:center; gap:8px; min-width:0; }
.bs-colors-rail > button { flex:0 0 28px; height:40px; transform:translateY(-10px); border:1px solid var(--bs-line); border-radius:6px; background:#fff; color:var(--bs-green); font-size:24px; }
.bs-colors-rail .bs-color-preview-list { display:flex; flex:1; min-width:0; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:2px 1px 8px; }
.bs-colors-rail .bs-color-preview { display:block; flex:0 0 76px; scroll-snap-align:start; }
.bs-colors-dialog { width:min(720px,calc(100% - 32px)); max-height:85vh; overflow-y:auto; }
.bs-colors-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:18px 12px; margin-top:20px; }
.bs-colors-grid .bs-color-preview { display:block; }
.bs-colors-grid .bs-color-preview[hidden] { display:none; }
.bs-colors-search { display:grid; gap:6px; margin-top:16px; color:var(--bs-ink); font-size:13px; font-weight:600; }
.bs-colors-search input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--bs-line); border-radius:8px; background:#fff; color:var(--bs-ink); font:inherit; font-size:16px; font-weight:400; }
.bs-colors-search input:focus-visible { outline:2px solid var(--bs-green); outline-offset:2px; }
.bs-colors-empty { margin:20px 0 0; color:var(--bs-muted); }
.bs-colors-grid .bs-color-preview img { height:90px; }
.bs-color-no-image { display:flex!important; align-items:center; justify-content:center; height:70px; background:var(--bs-soft); border:1px solid var(--bs-line); font-size:10px; }

/* Stretch paired order address cards to the taller address. */
@media(min-width:769px) {
    .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses {
        display:flex;
        align-items:stretch;
        gap:4%;
    }
    .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses::before,
    .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses::after { display:none; }
    .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses > .woocommerce-column {
        float:none;
        flex:1;
        min-width:0;
        display:flex;
        flex-direction:column;
    }
    .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses address { flex:1; }
}

/* Account navigation: comfortable targets and a clear current section. */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width:24%;
    padding:10px;
    border:1px solid var(--bs-line);
    border-radius:12px;
    background:#fafcfb;
}
.woocommerce-account .woocommerce-MyAccount-content { width:72%; min-width:0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style:none;
    margin:0;
    padding:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { margin-top:4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:46px;
    padding:11px 14px;
    border-radius:8px;
    color:#465650;
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    text-decoration:none;
    transition:background-color .15s,color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation a::after { content:'›'; font-size:20px; line-height:1; opacity:.55; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:#edf3ef; color:var(--bs-green); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--bs-green); color:#fff; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after { opacity:1; }
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { outline:2px solid var(--bs-green); outline-offset:2px; }
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin-top:10px; padding-top:10px; border-top:1px solid var(--bs-line); }
@media(max-width:768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; }
    .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:24px; padding:8px; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; gap:6px; overflow-x:auto; padding:2px; scrollbar-width:thin; }
    .woocommerce-account .woocommerce-MyAccount-navigation li { flex:0 0 auto; }
    .woocommerce-account .woocommerce-MyAccount-navigation li + li { margin-top:0; }
    .woocommerce-account .woocommerce-MyAccount-navigation a { white-space:nowrap; padding:10px 14px; }
    .woocommerce-account .woocommerce-MyAccount-navigation a::after { display:none; }
    .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin:0 0 0 4px; padding:0 0 0 6px; border-top:0; border-left:1px solid var(--bs-line); }
}

.bs-added-dialog { width:min(1120px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:32px; background:#fff; }
.bs-added-dialog::backdrop { background:#15283e99; backdrop-filter:blur(4px); }
.bs-added-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; }
.bs-added-layout:has(> .bs-added-promos[hidden]) { grid-template-columns:minmax(0,1fr); }
.bs-added-cart { min-width:0; display:flex; flex-direction:column; }
.bs-added-heading { display:flex; align-items:center; gap:16px; padding-right:18px; }
.bs-added-heading h2 { margin:0; font-size:28px; line-height:1.2; letter-spacing:-.6px; }
.bs-added-check { display:grid; place-items:center; flex:0 0 56px; height:56px; border-radius:50%; background:var(--bs-mint); color:var(--bs-green); font-size:32px; }
.bs-added-shipping .bs-free-shipping { border:0; background:transparent; padding:0; margin:18px 0 24px; }
.bs-added-shipping progress { height:12px; }
.bs-added-items { display:grid; margin:22px 0 0; border-top:1px solid var(--bs-line); max-height:440px; overflow:auto; }
.bs-added-item { display:grid; grid-template-columns:100px minmax(0,1fr) auto; gap:18px; padding:20px 0; border-bottom:1px solid var(--bs-line); }
.bs-added-item > img { width:100px; height:112px; object-fit:contain; border-radius:8px; background:#f5f6f7; }
.bs-added-item-details > strong { display:block; font-size:14px; line-height:1.4; }
.bs-added-item p { margin:8px 0 0; color:var(--bs-muted); font-size:13px; }
.bs-added-attributes { color:var(--bs-muted); font-size:13px; margin-top:6px; }
.bs-added-attributes dl { margin:0; }
.bs-added-attributes dt { display:inline; font-weight:400; }
.bs-added-attributes dd { display:inline; margin:0 7px 0 3px; }
.bs-added-attributes dd p { display:inline; margin:0; }
.bs-added-prices { display:flex; flex-direction:column; text-align:right; white-space:nowrap; }
.bs-added-prices > strong { margin-top:16px; font-size:17px; }
.bs-added-prices > span { color:var(--bs-muted); font-size:13px; }
.bs-added-remove { align-self:flex-end; border:0; background:none; padding:0 4px; min-width:28px; min-height:28px; font-size:23px; line-height:1; color:var(--bs-muted); cursor:pointer; }
.bs-added-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:22px 0; margin-top:auto; min-height:90px; }
.bs-added-count { color:var(--bs-muted); font-weight:600; }
.bs-added-subtotal { font-size:20px; }
.bs-added-errors:empty { display:none; }
.bs-added-errors { color:#8a471d; font-size:13px; }
.bs-added-promos { border-left:1px solid var(--bs-line); padding-left:24px; padding-top:58px; min-width:0; }
.bs-added-promo-intro { display:flex; gap:12px; padding:18px; border-radius:9px; background:#edf5f2; color:#073c43; }
.bs-added-promo-intro > span { font-size:32px; line-height:1; }
.bs-added-promos h3 { margin:0; font-size:20px; line-height:1.3; letter-spacing:-.4px; }
.bs-added-promos p { margin:5px 0 0; color:var(--bs-muted); font-size:14px; line-height:1.4; }
.bs-added-promo { display:grid; grid-template-columns:minmax(100px,.7fr) minmax(0,1.2fr); gap:18px; padding:22px 0; }
.bs-added-promo + .bs-added-promo { border-top:1px solid var(--bs-line); }
.bs-added-promo > img { width:100%; height:210px; object-fit:contain; background:#f5f6f7; border-radius:8px; }
.bs-added-promo ul { list-style:none; padding:0; margin:15px 0; font-size:13px; color:#42596a; }
.bs-added-promo li { display:flex; gap:8px; margin:8px 0; }
.bs-added-promo li::before { content:'✓'; flex:0 0 17px; height:17px; line-height:17px; text-align:center; border-radius:50%; background:var(--bs-green); color:#fff; font-size:12px; }
.bs-added-promo a,.bs-added-promo .bs-added-quote-link { display:block; width:100%; background:#fff; color:inherit; font-family:inherit; cursor:pointer; text-align:center; padding:10px 8px; border:1px solid var(--bs-green); border-radius:9px; font-size:14px; font-weight:700; text-decoration:none; }
.bs-added-promo a:hover,.bs-added-promo .bs-added-quote-link:hover { background:var(--bs-mint); }
.bs-added-actions { display:flex; gap:20px; margin-top:28px; padding-top:22px; border-top:1px solid var(--bs-line); }
.bs-added-actions > * { flex:1; text-align:center; padding:16px; border-radius:10px; font:inherit; font-weight:700; text-decoration:none; }
.bs-added-actions > [hidden] { display:none; }
.bs-added-continue { background:#fff; border:1px solid var(--bs-line); color:var(--bs-ink); cursor:pointer; }
.bs-added-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px; color:#073c43; }
.bs-added-benefits > div { display:flex; align-items:center; justify-content:center; gap:16px; }
.bs-added-benefits > div + div { border-left:1px solid var(--bs-line); }
.bs-added-benefits svg { width:36px; height:36px; flex-shrink:0; color:var(--bs-green); }
.bs-added-benefits p { margin:0; font-size:12px; color:var(--bs-muted); }
.bs-added-benefits strong { display:block; margin-bottom:3px; color:#073c43; font-size:11px; }
@media(max-width:850px) { .bs-added-layout { grid-template-columns:1fr; } .bs-added-promos { padding:20px 0 0; border-left:0; border-top:1px solid var(--bs-line); } .bs-added-promo { grid-template-columns:120px 1fr; } .bs-added-promo > img { height:180px; } .bs-added-heading h2 { font-size:24px; } }
@media(max-width:500px) { .bs-added-dialog { padding:24px 18px; } .bs-added-heading { gap:10px; } .bs-added-heading h2 { font-size:20px; } .bs-added-check { flex-basis:40px; height:40px; font-size:25px; } .bs-added-item { grid-template-columns:65px minmax(0,1fr) auto; gap:10px; } .bs-added-item > img { width:65px; height:85px; } .bs-added-item-details > strong { font-size:12px; } .bs-added-prices > strong { font-size:14px; } .bs-added-subtotal { font-size:17px; } .bs-added-actions { flex-direction:column-reverse; gap:10px; } .bs-added-benefits { gap:14px; grid-template-columns:1fr; margin-top:24px; } .bs-added-benefits > div { justify-content:flex-start; } .bs-added-benefits > div + div { border:0; } }


.bs-search { position:relative; overflow:visible; }
@media(min-width:701px) {
    .bs-header-main .bs-search { flex:0.5 1 0%; min-width:0; }
    .bs-header-main .bs-header-actions { margin-left:auto; }
}
.bs-search-results { position:absolute; z-index:100; top:calc(100% + 10px); left:0; right:0; max-height:min(65vh,520px); overflow-y:auto; padding:8px; border:1px solid var(--bs-line); border-radius:14px; background:#fff; box-shadow:0 16px 44px #152c2426; text-align:left; }
.bs-search-results[hidden] { display:none; }
.bs-search-result { display:flex; gap:14px; align-items:center; padding:10px; border-radius:9px; color:var(--bs-ink); text-decoration:none; }
.bs-search-result:hover,.bs-search-result:focus-visible { background:var(--bs-mint); outline:2px solid transparent; }
.bs-search-result img { flex:0 0 52px; width:52px; height:60px; object-fit:contain; border-radius:5px; }
.bs-search-result strong { display:block; font-size:14px; line-height:1.4; }
.bs-search-result small { display:block; margin-top:4px; font-size:12px; color:var(--bs-green); }
.bs-search-all { display:block; margin-top:6px; padding:13px; border-top:1px solid var(--bs-line); color:var(--bs-green); text-align:center; font-size:13px; font-weight:700; text-decoration:none; }
.bs-search-all:hover,.bs-search-all:focus-visible { background:var(--bs-mint); }
.bs-search-message { padding:16px; margin:0; color:var(--bs-muted); font-size:13px; }

/* Reserve asynchronous header and gallery geometry before enhancement. */
.bs-location-trigger span { width:150px; text-align:left; }
.bs-cart-count { min-width:18px; font-variant-numeric:tabular-nums; }
.bs-js .bs-color-previews { display:flow-root; height:148px; }
.bs-js .bs-color-previews[hidden] { display:flow-root; visibility:hidden; }
.bs-js .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { width:calc(100% - 90px); }
.bs-js .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display:none; }
@media(max-width:1150px) {
    .bs-js .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { width:calc(100% - 76px); }
}
@media(max-width:900px) and (min-width:701px) {
    .bs-js .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { width:100%; }
    .bs-js .woocommerce div.product div.images.woocommerce-product-gallery { min-height:550px; }
}
@media(max-width:700px) {
    .bs-location-trigger span { width:110px; }
    .bs-js:not(.bs-header-enhanced) .bs-nav-inner nav { display:none; }
    .bs-js:not(.bs-header-enhanced) .bs-menu-toggle { display:flex; }
    .bs-js .bs-color-previews { height:96px; }
    .bs-js .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { width:calc(100% - 64px); }
}

.bs-description-toggle { display:inline-flex; align-items:center; gap:10px; padding:10px 18px; margin-top:8px; border:1px solid #cbdcd3; border-radius:8px; background:var(--bs-mint); color:var(--bs-green); font:inherit; font-weight:600; }
.bs-description-toggle::after { content:'+'; font-size:18px; }
.bs-description-toggle[aria-expanded=true]::after { content:'−'; }
.bs-description-toggle:hover { background:#d8ebe2; }
.bs-description-toggle:focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }
#bs-description-full[hidden],.bs-description-preview[hidden] { display:none!important; }

.bs-price-card > div { min-width: 0; }
.bs-starting-details { max-width: 48ch; font-size: 12px; line-height: 1.5; }
.bs-starting-details summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.bs-starting-details summary::-webkit-details-marker { display: none; }
.bs-starting-options { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.bs-starting-more { flex: none; color: var(--bs-green); font-weight: 600; text-decoration: underline; }
.bs-starting-details ul { max-height: 180px; overflow-y: auto; padding-left: 18px; margin: 8px 0; }
.bs-starting-details li { margin-bottom: 5px; }

/* Account address actions use the storefront's mint button treatment. */
.woocommerce-account .woocommerce-Address-title {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-bottom:16px;
}
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after { display:none; }
.woocommerce-account .woocommerce-Address-title h2 { float:none; margin-bottom:0; }
.woocommerce-account .woocommerce-Address-title a.edit {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    float:none;
    min-height:44px;
    max-width:100%;
    padding:10px 18px;
    border:1px solid #cbdcd3;
    border-radius:8px;
    background:var(--bs-mint);
    color:var(--bs-green);
    font-size:13px;
    font-weight:600;
    line-height:1.4;
    text-align:center;
    text-decoration:none;
}
.woocommerce-account .woocommerce-Address-title a.edit:hover { background:#d8ebe2; border-color:#a8c8b9; }
.woocommerce-account .woocommerce-Address-title a.edit:focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }

/* FlexSlider writes a transient zero height while its images initialize. */
.woocommerce div.product div.images.woocommerce-product-gallery { --bs-gallery-height:560px; min-height:var(--bs-gallery-height); }
.woocommerce div.product div.images .flex-viewport { height:var(--bs-gallery-height)!important; }
@media(min-width:1440px) { .woocommerce div.product div.images.woocommerce-product-gallery { --bs-gallery-height:620px; } }
@media(max-width:1150px) { .woocommerce div.product div.images.woocommerce-product-gallery { --bs-gallery-height:510px; } }
@media(max-width:900px) and (min-width:701px) { .woocommerce div.product div.images.woocommerce-product-gallery { --bs-gallery-height:470px; min-height:550px; } }
@media(max-width:700px) { .woocommerce div.product div.images.woocommerce-product-gallery { --bs-gallery-height:430px; } }

.bs-form-placeholder { display:none; }
.bs-js .variations_form:has(.bs-form-placeholder):not(.bs-form-ready) > :not(.bs-form-placeholder) { display:none!important; }
.bs-js .variations_form:not(.bs-form-ready) > .bs-form-placeholder { display:block; }
.bs-placeholder-sizes { display:grid; grid-template-columns:repeat(auto-fit,minmax(65px,1fr)); gap:10px; }
.bs-placeholder-sizes > span { display:flex; flex-direction:column; align-items:center; gap:6px; }
.bs-placeholder-label { height:12px; width:24px; border-radius:3px; background:#eef2f0; }
.bs-placeholder-input { width:100%; height:36px; border:1px solid #e0e8e4; border-radius:7px; background:#f7f9f8; }
.bs-placeholder-price { height:11px; width:42px; border-radius:3px; background:#eef2f0; }
.bs-placeholder-action { height:50.5px; margin:16px 0 10px; border-radius:25px; background:#e5eeea; }
.bs-wholesale-slot { display:flow-root; }
.woocommerce div.product div.images.woocommerce-product-gallery { height:var(--bs-gallery-height); }
@media(max-width:900px) and (min-width:701px) {
    .woocommerce div.product div.images.woocommerce-product-gallery { height:550px; }
}

/* Keep the current shipping offer visible in the compact top bar. */
.bs-top-bar .bs-top-shipping { color:#ffdf80; font-weight:700; }
.bs-top-bar .bs-top-shipping .bs-icon { flex-shrink:0; color:inherit; }
@media(max-width:700px) {
    .bs-top-shipping { font-size:10px; line-height:1.3; }
    .bs-top-benefits { min-width:0; }
    .bs-top-inner { padding-top:5px; padding-bottom:5px; }
}
@media(max-width:380px) {
    .bs-top-inner { flex-wrap:wrap; justify-content:center; gap:4px; }
    .bs-top-benefits { flex:0 0 100%; justify-content:center; }
    .bs-top-links { margin-left:0; gap:20px; }
}

/* White product cards keep attention on apparel and pricing. */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product {
    padding:12px;
    background:#fff;
    border:1px solid #e7ebe8;
    border-radius:10px;
    box-shadow:0 2px 5px #102e2708;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; font-weight:600; }
.woocommerce ul.products li.product .price { font-size:17px; font-weight:700; }
.woocommerce ul.products li.product .button { border-radius:6px; }
@media(max-width:700px) {
    .woocommerce ul.products li.product { padding:10px; }
    .woocommerce ul.products li.product a img,.woocommerce .related ul.products li.product a img { height:180px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:12px; }
    .woocommerce ul.products li.product .price { font-size:15px; }
}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product { display:flex; flex-direction:column; align-items:stretch; }
.woocommerce ul.products li.product .button { align-self:flex-start; margin-top:auto; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { padding-bottom:10px; }

.bs-header-chat { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; color:var(--bs-ink); border-radius:50%; }
.bs-header-chat .bs-icon { width:25px; height:25px; }
.bs-header-chat:hover { color:var(--bs-green); background:var(--bs-mint); }
.bs-header-green .bs-header-chat { color:#fff; }
.bs-header-green .bs-header-chat:hover { color:var(--bs-green); }
@media(max-width:700px) { .bs-header-actions { gap:8px; } }
@media(max-width:380px) { .bs-header-actions { gap:3px; } .bs-header-actions .bs-new-here { padding:7px 6px; } }

/* Brand logos are compact artwork, separate from the product photograph. */
.bs-card-brands { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0; }
.bs-home-product .bs-card-brands img.bs-card-brand-logo,
.woocommerce ul.products li.product .bs-card-brands img.bs-card-brand-logo {
    display:block; width:auto; height:auto; max-width:100px; max-height:28px;
    object-fit:contain; object-position:left center; margin:0; padding:0;
    border:0; border-radius:0; background:transparent; mix-blend-mode:normal;
}

/* DTF promotion: copy, transfer samples, and supporting benefits. */
.bs-dtf-banner { display:flex; flex-wrap:nowrap; gap:20px; min-height:108px; padding-top:8px; padding-bottom:8px; }
.bs-dtf-banner .bs-header-hero-copy { display:block; flex:1 1 300px; min-width:0; }
.bs-dtf-banner .bs-header-hero-copy h2 { max-width:390px; font-size:clamp(22px,2vw,28px); line-height:1.06; color:#353535; margin-bottom:0; }
.bs-dtf-banner .bs-header-hero-copy p { font-size:14px; }
.bs-dtf-banner-cta { display:inline-flex; align-items:center; gap:8px; margin-top:8px; padding:7px 14px; min-height:34px; background:#086049; color:#fff; border-radius:24px; font-size:12px; font-weight:700; }
.bs-dtf-banner-cta:hover { background:#104c3f; color:#fff; text-decoration:none; }
.bs-dtf-banner-cta .bs-icon { width:16px; height:16px; }
.bs-dtf-banner .bs-dtf-banner-art { width:32%; max-width:400px; height:108px; object-fit:contain; object-position:center; align-self:center; margin:-8px 0; }
.bs-dtf-banner .bs-hero-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex:1 0 430px; gap:14px; align-items:start; }
.bs-dtf-banner .bs-hero-benefits li { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:start; gap:7px; }
.bs-dtf-banner .bs-hero-benefits strong { font-size:10px; line-height:1.4; min-height:28px; }
.bs-dtf-banner .bs-hero-benefits small { font-size:10px; }
.bs-dtf-banner .bs-hero-benefits .bs-icon { width:26px; height:26px; flex-shrink:0; }
@media(max-width:1100px) {
    .bs-dtf-banner { flex-wrap:wrap; gap:8px; }
    .bs-dtf-banner .bs-dtf-banner-art { width:40%; height:90px; object-fit:contain; }
    .bs-dtf-banner .bs-hero-benefits { flex-basis:100%; width:100%; justify-content:space-between; }
}
@media(max-width:700px) {
    .bs-dtf-banner { flex-wrap:nowrap; gap:10px; min-height:76px; padding-top:6px; padding-bottom:6px; }
    .bs-dtf-banner .bs-header-hero-copy { flex:1 1 50%; }
    .bs-dtf-banner .bs-header-hero-copy h2 { font-size:clamp(16px,4.6vw,19px); margin-bottom:0; }
    .bs-dtf-banner .bs-header-hero-copy p { font-size:12px; }
    .bs-dtf-banner .bs-dtf-banner-art { width:40%; height:64px; margin:0; object-fit:contain; }
    .bs-dtf-banner .bs-hero-benefits { display:none; }
    .bs-dtf-banner-cta { font-size:11px; padding:8px 12px; }
}

.bs-category-filters { clear:both; margin:0 0 24px; padding:14px 18px; border:1px solid var(--bs-line); border-radius:10px; }
.bs-category-options { display:flex; flex-direction:column; gap:4px; }
.bs-category-options label { display:flex; align-items:center; gap:7px; min-height:36px; cursor:pointer; }
.bs-category-options input { accent-color:var(--bs-green); }
.bs-category-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; }

.woocommerce-product-gallery:has(.bs-style-preview-note) { position:relative; padding-top:38px; }
.bs-style-preview-note { position:absolute; top:0; left:0; right:0; margin:0; color:var(--bs-muted); font-size:12px; line-height:1.4; }

/* Keep archive controls alongside their product results. */
.bs-catalog-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:start; clear:both; }
.bs-catalog-sidebar, .bs-catalog-results { min-width:0; }
.bs-catalog-sidebar .bs-category-filters { margin:0; padding:18px 16px; }
.bs-catalog-sidebar .bs-category-options label { font-size:13px; line-height:1.4; }
.bs-catalog-sidebar .bs-category-options input { flex-shrink:0; }
.bs-catalog-results::after { content:""; display:block; clear:both; }
@media (max-width:1000px) and (min-width:761px) {
    .bs-catalog-layout { grid-template-columns:200px minmax(0,1fr); gap:20px; }
    .woocommerce .bs-catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .bs-catalog-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
    .bs-catalog-sidebar .bs-category-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
}

.bs-card-colors { display:flex; align-items:center; gap:4px; width:100%; min-height:18px; margin:10px 0; overflow:hidden; }
.bs-card-color { display:inline-flex; align-items:center; justify-content:center; flex:0 0 14px; width:14px; height:14px; overflow:hidden; border:1px solid #d7ddda; border-radius:3px; background:#f3f5f4; font-size:7px; color:#46564e; }
.woocommerce ul.products li.product .bs-card-color img { display:block; width:100%; height:100%; margin:0; object-fit:cover; border-radius:0; }
.bs-card-color-more { flex-shrink:0; font-size:11px; line-height:18px; color:var(--bs-muted); }
.bs-card-colors [hidden] { display:none; }

/* Scale the complete photograph into a compact portrait frame. */
.woocommerce ul.products li.product .woocommerce-loop-product__link > img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4 / 5;
    object-fit:contain;
    object-position:center;
    padding:0;
    margin:0 0 6px;
}

.bs-catalog-price .bs-as-low-as { display:block; margin-bottom:2px; font-size:10px; line-height:1.3; font-weight:500; text-transform:uppercase; letter-spacing:.04em; color:var(--bs-muted); }

.bs-product-brand-links { display:flex; flex-wrap:wrap; gap:16px; }
.bs-product-brand-link { display:inline-flex; align-items:center; gap:10px; }
.bs-product-brand-link:hover span { text-decoration:underline; }
.woocommerce .bs-product-brand-link img.bs-product-brand-logo { width:auto; height:auto; max-width:120px; max-height:38.4px; object-fit:contain; }

.bs-brand-directory-intro { color:var(--bs-muted); margin-bottom:28px; }
.bs-brand-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:0; }
.bs-brand-grid li { min-width:0; }
.bs-brand-grid a { display:flex; align-items:center; justify-content:center; min-height:160px; height:100%; padding:28px; border:1px solid var(--bs-line); border-radius:12px; background:#fff; color:var(--bs-green); font-size:20px; font-weight:700; text-align:center; transition:border-color .2s,box-shadow .2s; }
.bs-brand-grid a:hover,.bs-brand-grid a:focus-visible { border-color:var(--bs-green); box-shadow:0 3px 12px #104c3f15; }
.bs-brand-grid img { display:block; width:auto; height:auto; max-width:100%; max-height:80px; object-fit:contain; }
@media(max-width:760px) { .bs-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .bs-brand-grid a { min-height:125px; padding:20px; font-size:17px; } }

/* Category-first catalog navigation, shared across all storefront pages. */
#bs-navigation { flex:1; min-width:0; }
#bs-navigation .bs-menu { gap:clamp(14px,2vw,32px); align-items:center; flex-direction:row; flex-wrap:wrap; }
#bs-navigation .bs-menu > li { display:flex; align-items:center; }
#bs-navigation .bs-menu > li > a { white-space:nowrap; font-size:14px; padding:16px 0; }
.bs-submenu-toggle { display:inline-flex; align-items:center; justify-content:center; align-self:center; line-height:1; border:0; background:transparent; color:inherit; cursor:pointer; padding:12px 7px; min-width:32px; }
.bs-submenu-toggle svg { display:block; flex:none; width:16px; height:16px; transition:transform .15s; }
.bs-submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
#bs-navigation .bs-menu .sub-menu { min-width:230px; padding:12px; border-radius:0 0 12px 12px; border-top:3px solid var(--bs-green); }
#bs-navigation .bs-menu .sub-menu a { padding:11px 12px; border-radius:5px; font-size:13px; }
#bs-navigation .bs-menu a:hover { color:var(--bs-green); }
#bs-navigation .bs-menu .sub-menu a:hover { background:#edf4ef; }
#bs-navigation.bs-dropdowns-ready .bs-menu li:hover > .sub-menu,
#bs-navigation.bs-dropdowns-ready .bs-menu li:focus-within > .sub-menu { display:none; }
#bs-navigation.bs-dropdowns-ready .bs-menu li.is-expanded > .sub-menu { display:block; }
#bs-navigation .bs-menu > li:last-child { margin-left:0; }

#bs-navigation .bs-menu > li:nth-last-child(-n+3) > .sub-menu { left:auto; right:0; }
#bs-navigation a:focus-visible,.bs-submenu-toggle:focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }
@media(max-width:700px) {
 #bs-navigation .bs-menu { flex-direction:column; align-items:stretch; gap:0; }
 #bs-navigation .bs-menu > li { flex-wrap:wrap; border-bottom:1px solid var(--bs-line); }
 #bs-navigation .bs-menu > li > a { flex:1; padding:14px 0; }
 #bs-navigation .bs-menu > li:last-child { margin-left:0; }
 .bs-submenu-toggle { min-width:44px; min-height:44px; }
 #bs-navigation .bs-menu .sub-menu { position:static; width:100%; border:0; border-left:2px solid var(--bs-line); box-shadow:none; margin:0 0 12px; padding:0 6px; }
}
@media(max-width:700px) {
 #bs-navigation { flex:0 0 100%; }
 .bs-nav-inner { align-items:flex-start; }
}

/* Shared shop and related-product rhythm. */
.woocommerce ul.products li.product .bs-card-brands { height:28px; margin:4px 0 8px; flex-wrap:nowrap; align-items:center; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; line-height:1.35; margin:0; padding:0 0 8px; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { padding-bottom:0; }
.woocommerce ul.products li.product .price { margin:0 0 6px; }
.woocommerce ul.products li.product .bs-brand { display:none; }
.woocommerce ul.products li.product .bs-status { margin:6px 0 0; }
@media(max-width:700px) { .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:12px; } }

/* Keep the shared header stable when moving between home and catalog. */
.bs-header-main { justify-content:space-between; min-height:106px; }
.bs-branding { flex:0 0 220px; }
.bs-header-main .bs-search { max-width:510px; flex:1; }
.bs-header-actions { min-width:110px; justify-content:flex-end; }
.bs-nav-inner { min-height:62px; }
html:not(.bs-js) .bs-submenu-toggle { display:none; }
.bs-js #bs-navigation .bs-menu li:not(.is-expanded) > .sub-menu { display:none; }
@media(max-width:1100px) { .bs-branding { flex-basis:195px; } }
@media(max-width:760px) {
 .bs-header-main { min-height:100px; gap:16px; }
 .bs-branding { flex-basis:auto; }
 .bs-header-actions { min-width:0; }
 .bs-header-main .bs-search { max-width:none; }
}
@media(max-width:700px) { .bs-header-main .bs-search { flex:1 0 100%; } }

/* Decoration discovery starts with a garment, before a cart is needed. */
.bs-print-directory { padding-top:36px; padding-bottom:64px; }
.bs-print-intro { padding:32px; background:#edf4ef; border-radius:14px; margin-bottom:24px; }
.bs-print-eyebrow { letter-spacing:2px; font-size:12px; font-weight:700; color:var(--bs-green); }
.bs-print-intro h1 { margin:8px 0 16px; font-size:clamp(32px,4vw,48px); }
.bs-print-intro > p { max-width:700px; }
.bs-print-note { color:var(--bs-muted); font-size:13px; }
.bs-print-categories { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:38px; }
.bs-print-categories a { border:1px solid var(--bs-line); padding:10px 18px; border-radius:24px; color:var(--bs-green); font-weight:600; }
.bs-print-categories a:hover { background:var(--bs-mint); }
.bs-print-section { margin-bottom:48px; scroll-margin-top:24px; }
.bs-print-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.bs-print-section-heading h2 { margin:0 0 6px; font-size:28px; }
.bs-print-section-heading p { margin:0; color:var(--bs-muted); }
.bs-print-section-heading > a { color:var(--bs-green); font-weight:600; }
@media(max-width:700px) {
 .bs-print-intro { padding:24px 20px; }
 .bs-print-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
}

/* Mobile menu lives beside the logo; the navigation row appears only when open. */
@media(max-width:700px) {
 .bs-header-main { grid-template-columns:36px minmax(0,1fr) auto; column-gap:8px; }
 .bs-header-main > .bs-menu-toggle { grid-column:1; grid-row:1; padding:0; width:36px; height:44px; align-items:center; justify-content:center; border:0; background:transparent; color:inherit; }
 .bs-header-main > .bs-menu-toggle span { display:none; }
 .bs-header-main > .bs-branding { grid-column:2; grid-row:1; }
 .bs-header-main > .bs-header-actions { grid-column:3; grid-row:1; gap:6px; }
 .bs-header-main > .bs-search { grid-column:1 / -1; grid-row:2; }
 .bs-header-main .custom-logo { max-width:100%; height:auto; }
 .bs-js .bs-nav-bar:not(.is-open) { display:none; }
 .bs-nav-bar { border-top:0; }
 .bs-nav-bar.is-open .bs-nav-inner { padding-top:0; }
 .bs-header-green .bs-header-main > .bs-menu-toggle { color:#fff; }
}

/* Mobile catalog filters share the sorting row and open in a native modal. */
.bs-filter-toggle { display:none; }
.bs-filter-dialog { width: min(440px, calc(100% - 32px)); max-height:85dvh; padding:0; border:0; border-radius:16px; color:var(--bs-ink); background:#fff; }
.bs-filter-dialog::backdrop { background:rgba(15,30,25,.5); }
.bs-filter-heading { position:sticky; top:0; z-index:1; background:#fff; display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--bs-line); }
.bs-filter-heading h2 { margin:0; font-size:22px; }
.bs-filter-close { width:44px; height:44px; border:0; border-radius:50%; background:#f2f5f3; font-size:28px; cursor:pointer; }
.bs-filter-dialog .bs-category-filters { border:0; margin:0; padding:16px 20px; }
.bs-filter-dialog .bs-category-options label { min-height:44px; }
.bs-filter-dialog .bs-category-actions { position:sticky; bottom:-16px; background:#fff; padding:16px 0; border-top:1px solid var(--bs-line); }
html:has(.bs-filter-dialog[open]) { overflow:hidden; }
@media(max-width:760px) {
    .bs-filters-enhanced .bs-catalog-sidebar { display:none; }
    .bs-filters-enhanced .bs-filter-toggle { display:inline-flex; align-items:center; gap:8px; float:left; min-height:44px; padding:10px 16px; margin:0 12px 20px 0; border:1px solid var(--bs-line); border-radius:8px; background:#fff; font:inherit; cursor:pointer; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-result-count { clear:both; float:none; margin:0 0 12px; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-ordering { float:right; margin:0 0 20px; max-width:calc(100% - 140px); }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-ordering select { width:100%; min-height:44px; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-result-count { display:none; }
}

/* Separate account actions from the password fieldset border. */
.woocommerce-account .woocommerce-EditAccountForm > p:has([name="save_account_details"]) {
    margin:24px 0 16px;
    padding:0 3px;
}

/* Color-specific thumbnails in the enlarged product gallery. */
.bs-lightbox-thumbnails { position:absolute; z-index:10; bottom:0; left:0; right:0; display:flex; gap:10px; align-items:center; width:max-content; max-width:100%; height:96px; margin:0 auto; padding:12px 16px; overflow-x:auto; box-sizing:border-box; background:rgba(0,0,0,.7); }
.bs-lightbox-thumbnails button { flex:0 0 64px; width:64px; height:64px; padding:3px; border:2px solid transparent; border-radius:6px; background:#fff; color:#111; cursor:pointer; }
.bs-lightbox-thumbnails img { display:block; width:100%; height:100%; object-fit:contain; }
.bs-lightbox-thumbnails button[aria-pressed="true"] { border-color:#63d4b1; }
.bs-lightbox-thumbnails button:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.bs-lightbox-with-thumbnails .pswp__caption { bottom:96px; }

/* Configurable rewards promotion beside the header actions. */
.bs-header-rewards { display:flex; align-items:center; gap:12px; flex:0 1 220px; padding-right:22px; border-right:1px solid #b8c9c4; color:var(--bs-green); text-decoration:none; }
.bs-rewards-icon { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border-radius:50%; background:#eaf5ef; color:#087b55; }
.bs-rewards-copy { min-width:0; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
.bs-rewards-copy strong,.bs-rewards-copy > span { display:block; }
.bs-rewards-copy .bs-icon { width:16px; height:16px; vertical-align:middle; }
.bs-header-green .bs-header-rewards { color:#fff; border-color:rgba(255,255,255,.35); }
@media(min-width:701px) and (max-width:1100px) {
    .bs-header-main:has(.bs-header-rewards) { gap:14px; }
    .bs-header-rewards { gap:8px; padding-right:14px; flex-basis:175px; }
    .bs-rewards-copy { font-size:12px; }
    .bs-rewards-icon { flex-basis:36px; width:36px; height:36px; }
}
@media(max-width:700px) {
    .bs-header-main > .bs-header-rewards { grid-column:1 / -1; grid-row:3; justify-content:center; width:100%; padding:10px 0 0; border-right:0; border-top:1px solid #dce5e1; }
    .bs-rewards-icon { flex-basis:32px; width:32px; height:32px; }
    .bs-rewards-icon .bs-icon { width:20px; height:20px; }
    .bs-rewards-copy { display:flex; gap:4px; flex-wrap:wrap; font-size:12px; }
}

/* Give transfers a prominent first position in the primary menu. */
#bs-navigation .bs-menu > .bs-menu-dtf > a { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:8px; background:#f7dfa6; color:#263b32; font-weight:800; box-shadow:inset 0 0 0 1px #dec17d; }
#bs-navigation .bs-menu > .bs-menu-dtf > a::before { content:'✦'; font-size:18px; line-height:1; color:#805c16; }
#bs-navigation .bs-menu > .bs-menu-dtf > a:hover { background:#f0d18a; color:#172d24; }
@media(max-width:700px) { #bs-navigation .bs-menu > .bs-menu-dtf { border:0; margin:8px 0; } #bs-navigation .bs-menu > .bs-menu-dtf > a { padding:13px 16px; } }
.bs-header-rewards .bs-rewards-copy > span{white-space:nowrap}

.bs-category-filters fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
.bs-category-filters legend,.bs-attribute-filter>summary{font-weight:600;color:var(--bs-ink);margin-bottom:10px}
.bs-attribute-filter{border-top:1px solid var(--bs-line);padding:12px 0}
.bs-attribute-filter>summary{cursor:pointer}
.bs-attribute-filter .bs-category-options{max-height:240px;overflow:auto;display:flex;flex-direction:column;flex-wrap:nowrap}
.bs-price-filter label{display:block;font-size:12px;margin:8px 0}
.bs-price-filter input{display:block;width:100%;max-width:180px;padding:8px;border:1px solid var(--bs-line);border-radius:6px}

#bs-navigation .bs-menu > .bs-menu-print > a { display:inline-flex; align-items:center; gap:8px; font-weight:750; color:var(--bs-green); }
#bs-navigation .bs-print-gem { flex-shrink:0; color:#a57824; }

/* Color lives in the icons; service links stay clean and unboxed. */
#bs-navigation .bs-menu > .bs-menu-dtf > a,
#bs-navigation .bs-menu > .bs-menu-print > a,
#bs-navigation .bs-menu > .bs-menu-dtf > a:hover,
#bs-navigation .bs-menu > .bs-menu-print > a:hover {
    display:inline-flex; align-items:center; gap:8px; padding:16px 0;
    border:0; border-radius:0; background:none; box-shadow:none;
    color:var(--bs-green); font-weight:800;
}
#bs-navigation .bs-menu > .bs-menu-dtf > a::before { content:none; }
#bs-navigation .bs-service-icon { width:25px; height:25px; flex-shrink:0; }
@media(max-width:700px) {
    #bs-navigation .bs-menu > .bs-menu-dtf,
    #bs-navigation .bs-menu > .bs-menu-print { margin:0; border-bottom:1px solid var(--bs-line); }
    #bs-navigation .bs-menu > .bs-menu-dtf > a,
    #bs-navigation .bs-menu > .bs-menu-print > a { padding:14px 0; }
}

/* Collection facets: stable counts, compact swatches, and readable option lists. */
.bs-filter-count { margin-left:auto; color:var(--bs-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.bs-filter-swatch { width:16px; height:16px; flex:0 0 16px; border-radius:50%; border:1px solid #d5d9db; }
.bs-attribute-filter:first-child { border-top:0; padding-top:0; }
.bs-attribute-filter .bs-category-options { padding-right:6px; }

/* Compact banner; artwork is bottom-anchored outside the content flow. */
.bs-header-hero{overflow:visible}
.bs-header-hero-inner.bs-dtf-banner{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1.1fr);gap:24px;align-items:center;min-height:108px;padding-top:8px;padding-bottom:8px}
.bs-dtf-banner .bs-dtf-banner-art{position:absolute;right:0;bottom:0;width:27%;max-width:480px;height:132px;margin:0;object-fit:contain;object-position:right bottom;pointer-events:none}
.bs-dtf-banner .bs-hero-benefits{width:auto;min-width:0;gap:12px}
@media(min-width:701px) and (max-width:1100px){
 .bs-header-hero-inner.bs-dtf-banner{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px 22px}
 .bs-dtf-banner .bs-header-hero-copy{grid-column:1;grid-row:1}
 .bs-dtf-banner .bs-hero-benefits{grid-column:1;grid-row:2}
 .bs-dtf-banner .bs-dtf-banner-art{width:37%;height:132px}
}
@media(max-width:700px){
 .bs-header-hero-inner.bs-dtf-banner{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;min-height:76px;padding-top:6px;padding-bottom:6px}
 .bs-dtf-banner .bs-dtf-banner-art{right:0;height:90px;width:46%}
 .bs-dtf-banner .bs-hero-benefits{display:none}
}

/* Readable, consistently aligned service benefits. */
.bs-dtf-banner .bs-hero-benefits{margin:0;padding:0;list-style:none;gap:18px;align-items:start}
.bs-dtf-banner .bs-hero-benefits li{grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}
.bs-dtf-banner .bs-hero-benefits .bs-icon{width:36px;height:36px;color:#24604e}
.bs-dtf-banner .bs-hero-benefits strong{font-size:13px;line-height:1.35;min-height:0;display:block;letter-spacing:.15px;font-weight:750}
.bs-dtf-banner .bs-hero-benefits small{font-size:12px;line-height:1.4;margin-top:2px;min-height:0;color:#526b62}
@media(min-width:701px) and (max-width:1100px){
 .bs-dtf-banner .bs-hero-benefits{gap:12px}
 .bs-dtf-banner .bs-hero-benefits li{grid-template-columns:30px minmax(0,1fr);gap:7px}
 .bs-dtf-banner .bs-hero-benefits .bs-icon{width:30px;height:30px}
 .bs-dtf-banner .bs-hero-benefits strong{font-size:12px;min-height:0}
 .bs-dtf-banner .bs-hero-benefits small{font-size:11px;min-height:0}
}

.woocommerce-product-gallery .flex-viewport{position:relative}
.woocommerce-product-gallery .bs-image-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:grid;place-items:center;width:36px;height:44px;padding:0;border:1px solid #dce4df;border-radius:8px;background:#fffffff0;color:#254c40;box-shadow:0 2px 8px #173b3510;cursor:pointer}
.woocommerce-product-gallery .bs-image-arrow[hidden]{display:none}
.woocommerce-product-gallery .bs-image-prev{left:10px}
.woocommerce-product-gallery .bs-image-next{right:10px}
.woocommerce-product-gallery .bs-image-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.woocommerce-product-gallery .bs-image-arrow:hover{background:#fff;border-color:#8baa9b}
.woocommerce-product-gallery .bs-image-arrow:focus-visible{outline:2px solid #24604e;outline-offset:3px}
.bs-estimated-retail { display:flex; align-items:center; gap:8px; color:#7b817e; font-size:13px; margin:4px 0; }
.bs-estimated-retail s { color:inherit; font-weight:400; }
.bs-price-threshold { display:block; color:var(--bs-muted); font-size:12px; margin:6px 0; }
.bs-price-inline { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.bs-price-inline .bs-estimated-retail { margin:0; font-size:16px; }
.bs-reference-badge { padding:4px 8px; border-radius:5px; background:#e3f2e9; color:#246045; font-size:11px; font-weight:700; white-space:nowrap; }
.bs-price-inline [hidden] { display:none; }

.bs-added-shipping-amount { display:block; text-align:right; margin-top:8px; color:var(--bs-ink); font-size:14px; }
/* Compact celebration for confirmed free shipping; no animated motion. */
.bs-added-unlocked { position:relative; display:flex; align-items:center; gap:14px; overflow:hidden; margin:18px 0; padding:18px 20px; border-radius:10px; background:linear-gradient(110deg,#e2f5eb,#eff9f3); color:#095344; }
.bs-added-unlocked > svg { flex:0 0 46px; width:46px; height:40px; }
.bs-added-unlocked strong { display:block; font-size:19px; line-height:1.25; letter-spacing:-.3px; }
.bs-added-unlocked p { margin:5px 0 0; font-size:13px; line-height:1.45; }
.bs-added-unlocked > div { position:relative; z-index:1; }
.bs-added-confetti::before,.bs-added-confetti::after { content:""; position:absolute; width:5px; height:10px; border-radius:1px; transform:rotate(28deg); pointer-events:none; }
.bs-added-confetti::before { top:8px; right:18px; background:#f4ca55; box-shadow:-24px 13px 0 #70c8a0,8px 53px 0 #70c8a0; }
.bs-added-confetti::after { bottom:10px; left:12px; background:#f4ca55; transform:rotate(-30deg); }
@media(max-width:500px) { .bs-added-unlocked { padding:15px 14px; gap:10px; } .bs-added-unlocked strong { font-size:17px; } .bs-added-unlocked > svg { flex-basis:36px; width:36px; } }

.bs-added-artwork { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; max-height:480px; overflow:auto; }
.bs-added-artwork figure { margin:0; padding:10px; border:1px solid var(--bs-line); border-radius:10px; min-width:0; }
.bs-added-artwork img { display:block; width:100%; height:170px; object-fit:contain; border-radius:6px; background:#f5f6f7; }
.bs-added-artwork figcaption { margin-top:10px; font-size:12px; line-height:1.4; }
.bs-added-artwork figcaption strong,.bs-added-artwork figcaption span { display:block; }
.bs-added-artwork figcaption span { color:var(--bs-muted); margin-top:4px; }
@media(max-width:500px) { .bs-added-artwork { grid-template-columns:1fr; } }

/* Keep quantity text large enough to avoid mobile focus zoom. */
@media (max-width: 767px), (pointer: coarse) {
    .single-product .quantity input.qty,
    .single-product .bs-bulk-sizes input { font-size:16px; }
}

/* Sale comparisons use the same variant as the displayed starting price. */
.woocommerce ul.products li.product .bs-sale-pill { position:absolute; inset:10px 10px auto auto; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:0; height:auto; min-height:0; margin:0; padding:6px 14px; border-radius:999px; background:#db1739; color:#fff; line-height:1.2; font-size:13px; font-weight:700; }
.bs-card-price-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bs-card-current-price { color:var(--bs-green); font-size:22px; font-weight:750; }
.woocommerce ul.products li.product .price .bs-card-regular-price { color:#7c8791; opacity:1; font-size:15px; font-weight:500; }
.bs-card-saving { display:inline-flex; align-items:center; gap:4px; padding:6px 9px; border-radius:8px; background:#e5f4e9; color:#17603e; font-size:13px; font-weight:700; white-space:nowrap; }
@media(max-width:700px) { .woocommerce ul.products li.product .bs-sale-pill { right:6px; top:6px; padding:5px 11px; font-size:12px; } .bs-card-current-price { font-size:19px; } .bs-card-price-line { gap:6px; } .bs-card-saving { font-size:12px; padding:5px 7px; } }

/* Personal greeting is reserved for roomy desktop headers. */
.bs-header-welcome-slot { display:none; }
@media(min-width:1350px) {
 .bs-header-actions:has(.bs-header-welcome) { flex:1; min-width:0; }
 .bs-header-welcome-slot { display:flex; flex:1; min-width:0; justify-content:center; }
 .bs-header-actions .bs-header-welcome { display:block; min-width:0; max-width:100%; padding:6px 12px; border:1px solid #d3e4dc; border-radius:999px; background:#f0f7f3; text-align:center; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; line-height:1.5; font-weight:600; color:var(--bs-green); transition:background .15s,border-color .15s; }
 .bs-header-green .bs-header-welcome { color:#fff; background:#ffffff14; border-color:#ffffff40; }
}

.bs-header-actions .bs-header-welcome:hover { background:#e0eee6; border-color:#a6c7b7; }
.bs-header-green .bs-header-actions .bs-header-welcome:hover { background:#ffffff26; border-color:#ffffff80; }
.bs-header-welcome:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:3px; }

/* Compact horizontal price and customization summary. */
.bs-price-card:has(.bs-decoration-info) { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.5fr); align-items:center; gap:12px; padding:12px; }
.bs-price-card:has(.bs-decoration-info) > div:first-child { min-width:0; padding-right:12px; border-right:1px solid var(--bs-line); }
.bs-price-card:has(.bs-decoration-info) .bs-price-inline { flex-wrap:wrap; gap:5px 8px; }
.bs-price-card:has(.bs-decoration-info) .bs-starting-price { font-size:30px; }
.bs-decoration-info { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 92px; grid-template-areas:"heading image" "services action"; align-items:center; gap:8px; padding:10px; border:1px solid #dce9e2; border-radius:10px; background:linear-gradient(120deg,#f1f8f4,#f7faf8); color:var(--bs-green); }
.bs-decoration-info-heading { grid-area:heading; display:flex; align-items:flex-start; gap:6px; }
.bs-decoration-info-heading > .bs-icon { flex:0 0 18px; width:18px; height:18px; }
.bs-decoration-info-heading strong { display:block; font-size:14px; line-height:1.2; }
.bs-decoration-info-heading p { margin:4px 0 0; font-size:11px; line-height:1.35; color:#526c60; }
.bs-decoration-info-image { grid-area:image; width:92px; height:62px; object-fit:contain; }
.bs-decoration-info-services { grid-area:services; display:flex; align-items:center; gap:8px; }
.bs-decoration-info-services > * { display:flex; flex:1; align-items:center; gap:4px; min-width:0; color:var(--bs-ink); text-decoration:none; }
.bs-decoration-info-services > :last-child { border-left:1px solid #d4e2da; padding-left:8px; }
.bs-decoration-info-services strong { display:block; font-size:10px; line-height:1.3; }
.bs-price-card .bs-decoration-info-services small { display:block; margin-top:2px; font-size:9px; line-height:1.3; }
.bs-decoration-info-services .bs-icon { flex:0 0 16px; width:16px; height:16px; color:var(--bs-green); }
.bs-decoration-sparkle { color:#8653d6; font-size:20px; line-height:1; }
.bs-decoration-info-trigger { grid-area:action; border:1px solid #145546; border-radius:7px; padding:8px 6px; background:linear-gradient(135deg,#1c6050,#104438); color:#fff; font:600 10px/1.3 Arial,sans-serif; cursor:pointer; }
.bs-decoration-info-trigger:hover { background:#0e4034; }
.bs-decoration-info a:hover strong { text-decoration:underline; }
.bs-decoration-info :focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }
@media(min-width:701px) and (max-width:1150px), (max-width:500px) {
 .bs-price-card:has(.bs-decoration-info) { grid-template-columns:1fr; gap:10px; }
 .bs-price-card:has(.bs-decoration-info) > div:first-child { border-right:0; padding-right:0; }
 .bs-decoration-info { grid-template-columns:minmax(0,1fr) 100px; grid-template-areas:"heading action" "services action"; }
 .bs-decoration-info-image { display:none; }
 .bs-decoration-info-trigger { min-height:40px; }
}

/* Informational decoration panel; ordering retains its existing designer trigger. */
.bs-decoration-info-trigger[hidden] { display:none; }
.bs-price-card:has(.bs-decoration-info) { padding:10px; gap:10px; }
.bs-decoration-info { grid-template-areas:"heading image" "services image"; grid-template-columns:minmax(0,1fr) 70px; padding:8px 10px; gap:6px 8px; }
.bs-decoration-info-image { width:70px; height:56px; }
.bs-decoration-info-heading p { margin-top:3px; }
.bs-decoration-info-services small { margin-top:1px; }
@media(min-width:701px) and (max-width:1150px), (max-width:500px) {
 .bs-decoration-info { grid-template-columns:1fr; grid-template-areas:"heading" "services"; }
}

/* Text-only customization note. */
.bs-price-card .bs-decoration-info { grid-template-columns:1fr; grid-template-areas:"heading" "services"; gap:5px; padding:7px 10px; }
.bs-decoration-info-heading strong { font-size:13px; }
.bs-decoration-info-heading p { font-size:10px; line-height:1.3; }
.bs-price-card .bs-decoration-info-services small { display:none; }
.bs-decoration-info-services strong { font-size:10px; }

/* Restore the original price-card spacing around the compact content. */
.bs-price-card:has(.bs-decoration-info) { padding:17px 22px; gap:15px; margin-bottom:14px; }
@media(max-width:1150px) { .bs-price-card:has(.bs-decoration-info) { padding:15px; } }
@media(max-width:700px) { .bs-price-card:has(.bs-decoration-info) { padding:16px 18px; } }

/* Avoid an empty metadata row and tighten the space below product pricing. */
.bs-product-meta:empty { display:none; }
.bs-price-card,.bs-price-card:has(.bs-decoration-info) { margin-bottom:8px; }
.bs-price-card + .bs-product-meta:empty + .bs-features { margin-top:20px; margin-bottom:20px; }

/* Spacious catalog menu with a compact touch-friendly fallback. */
@media(min-width:1000px) {
 #bs-navigation { position:relative; }
 #bs-navigation .bs-menu > .bs-mega-parent { position:static; }
 #bs-navigation .bs-menu > li.is-expanded,
 #bs-navigation .bs-menu > .bs-menu-dtf:hover,
 #bs-navigation .bs-menu > .bs-menu-dtf:focus-within,
 #bs-navigation .bs-menu > .bs-menu-print:hover,
 #bs-navigation .bs-menu > .bs-menu-print:focus-within { background:#e4f2ec; border-radius:8px; }
 #bs-navigation .bs-mega-parent > .sub-menu { left:0; right:0; width:100%; top:100%; border:1px solid #e5ebe7; border-radius:12px; padding:18px; box-shadow:0 18px 40px #12392c26; }
 #bs-navigation.bs-dropdowns-ready .bs-menu > .bs-mega-parent.is-expanded > .sub-menu { display:grid; grid-template-columns:210px minmax(0,1fr); column-gap:22px; }
 #bs-navigation .bs-mega-parent > .sub-menu > li:not(.bs-mega-content) { grid-column:1; }
 #bs-navigation .bs-mega-parent > .sub-menu > li:not(.bs-mega-content) > a { padding:10px 12px; }
 #bs-navigation .bs-mega-parent > .sub-menu > li:first-child > a { background:#e5f3ed; color:#104c3f; font-weight:700; }
 #bs-navigation .bs-mega-content { grid-column:2; grid-row:1 / span 10; display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:24px; border-left:1px solid #e0e7e3; padding-left:24px; }
 .bs-mega-content h3 { font-size:15px; margin:0 0 16px; color:#0d1728; }
 .bs-mega-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 14px; }
 #bs-navigation .bs-mega-tiles .bs-mega-tile { padding:0; text-align:center; display:flex; flex-direction:column; gap:4px; }
 .bs-mega-tile img { width:100%; height:115px; object-fit:contain; border-radius:9px; }
 .bs-mega-tile strong { font-size:12px; }
 .bs-mega-tile small { font-size:11px; color:#647081; }
 #bs-navigation .bs-mega-all { display:flex; justify-content:center; gap:18px; background:#e5f3ed; margin-top:20px; font-weight:700; color:#104c3f; }
 .bs-mega-brands { border-left:1px solid #e0e7e3; padding-left:22px; }
 #bs-navigation .bs-mega-brands > a { display:flex; align-items:center; gap:14px; padding:8px 0; min-height:45px; }
 .bs-mega-brands img { width:62px; height:32px; object-fit:contain; }
 #bs-navigation .bs-mega-brands .bs-mega-help { flex-direction:column; align-items:flex-start; gap:2px; background:#eff7f3; padding:12px; margin-top:15px; }
}
@media(max-width:999px) { #bs-navigation .bs-mega-content { display:none; } }

@media(min-width:1000px) { #bs-navigation .bs-mega-brands a img { width:62px; max-width:62px; height:32px; object-fit:contain; flex:none; } }
.bs-nav-category-icon { display:inline-flex; vertical-align:middle; margin-right:8px; }
.bs-nav-category-icon svg { width:21px; height:21px; }
@media(min-width:1000px) {
 #bs-navigation .bs-menu { gap:clamp(4px,.7vw,12px); }
 #bs-navigation .bs-menu > li { padding-inline:8px; }
}
@media(min-width:1000px) and (max-width:1199px) {
 #bs-navigation .bs-menu { gap:4px; }
 #bs-navigation .bs-menu > li { padding-inline:5px; }
 #bs-navigation .bs-menu > li > a { font-size:12px; gap:5px; }
 #bs-navigation .bs-submenu-toggle { min-width:20px; padding-inline:2px; }
 #bs-navigation .bs-service-icon,#bs-navigation .bs-nav-artwork-icon svg { width:18px; height:18px; }
}
#bs-navigation .sub-menu a.bs-brand-logo-link { display:flex; align-items:center; justify-content:center; min-height:54px; padding:10px 16px; }
#bs-navigation .sub-menu a.bs-brand-logo-link img { width:auto; height:auto; max-width:130px; max-height:38px; object-fit:contain; }
/* Brands directory dropdown: white logo cards above alphabetical links. */
#bs-navigation .sub-menu .bs-brand-featured a.bs-brand-logo-link,
#bs-navigation .bs-mega-brands a.bs-brand-logo-link { background:#fff; }
@media(min-width:1000px) {
 #bs-navigation .bs-menu > .bs-brands-mega { position:static; }
 #bs-navigation .bs-menu > .bs-brands-mega > .sub-menu { left:0; right:0; top:100%; width:100%; padding:24px; border:1px solid #e1e6e3; border-radius:14px; box-shadow:0 18px 40px #12392c26; max-height:calc(100vh - 250px); overflow:auto; }
 #bs-navigation.bs-dropdowns-ready .bs-menu > .bs-brands-mega.is-expanded > .sub-menu { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px 20px; }
 #bs-navigation .bs-brand-featured { margin-bottom:18px; }
 #bs-navigation .bs-brand-featured a.bs-brand-logo-link { height:112px; border:1px solid #e1e6e3; border-radius:10px; padding:20px; }
 #bs-navigation .bs-brand-featured a.bs-brand-logo-link img { max-width:100%; max-height:68px; width:auto; height:auto; }
 #bs-navigation .bs-brand-featured a.bs-brand-logo-link:hover { border-color:var(--bs-green); box-shadow:0 3px 12px #104c3f12; }
 #bs-navigation .bs-brand-directory-link > a { padding:8px 10px; font-size:14px; font-weight:400; }
}
/* Jacket and polo collections share a grouped, catalog-backed menu. */
#bs-navigation .bs-collection-column h3 { margin:0 0 12px; padding-bottom:12px; border-bottom:1px solid #e3e8e5; font-size:12px; letter-spacing:1.2px; text-transform:uppercase; color:var(--bs-ink); }
#bs-navigation .bs-collection-column > a { display:block; font-size:14px; font-weight:400; padding:8px 5px; }
#bs-navigation .bs-collection-product { background:#fff; border:1px solid #e3e8e5; border-radius:10px; overflow:hidden; }
#bs-navigation .bs-collection-product img { display:block; width:100%; height:180px; object-fit:contain; background:#fff; margin-bottom:12px; }
#bs-navigation .bs-collection-product strong { display:block; padding:0 10px 12px; font-size:14px; }
#bs-navigation .bs-collection-column .bs-collection-all { background:#e5f3ed; color:var(--bs-green); text-align:center; font-weight:700; margin-top:12px; padding:12px; }
@media(min-width:1000px) {
 #bs-navigation .bs-menu > .bs-collection-mega { position:static; }
 #bs-navigation .bs-menu > .bs-collection-mega > .sub-menu { left:0; right:0; top:100%; width:100%; padding:24px; border:1px solid #e1e6e3; border-radius:14px; max-height:calc(100vh - 250px); overflow:auto; box-shadow:0 18px 40px #12392c26; }
 #bs-navigation.bs-dropdowns-ready .bs-menu > .bs-collection-mega.is-expanded > .sub-menu { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,1.25fr); }
 #bs-navigation .bs-collection-column { padding:0 20px; border-right:1px solid #e3e8e5; }
 #bs-navigation .bs-collection-column:first-child { padding-left:0; }
 #bs-navigation .bs-collection-column:last-child { padding-right:0; border:0; }
}
@media(max-width:999px) { #bs-navigation .bs-collection-column { margin-bottom:20px; } #bs-navigation .bs-collection-product { max-width:220px; } }
.bs-nav-artwork-icon { mix-blend-mode:multiply; }
.bs-nav-artwork-icon svg { width:24px; height:24px; overflow:hidden; }
/* Custom apparel landing page. */
.bs-print-hero { display:grid; grid-template-columns:1fr 1.05fr; overflow:hidden; background:#eef5f0; border-radius:20px; margin-bottom:22px; }
.bs-print-hero-copy { padding:clamp(26px,4vw,58px); align-self:center; }
.bs-print-hero h1 { font-size:clamp(36px,4.2vw,62px); line-height:1.05; letter-spacing:-2px; margin:15px 0 24px; color:#103e33; }
.bs-print-hero-copy > p:not(.bs-print-eyebrow):not(.bs-print-note) { font-size:18px; color:#52665e; max-width:440px; }
.bs-print-hero figure,.bs-print-quality figure { margin:0; position:relative; min-width:0; }
.bs-print-hero figure img { width:100%; height:100%; min-height:420px; object-fit:cover; display:block; }
.bs-print-hero figcaption,.bs-print-quality figcaption { position:absolute; bottom:10px; left:12px; font-size:10px; color:#344c42; background:#fffffff0; border-radius:4px; padding:4px 7px; }
.bs-print-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin:28px 0 20px; font-weight:700; }
.bs-print-actions .button { display:inline-flex; align-items:center; gap:12px; padding:14px 20px; border-radius:8px; background:var(--bs-green); color:#fff; text-decoration:none; }
.bs-print-actions .button:hover { background:#0a392f; }
.bs-print-assurance { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; padding:24px 10px 36px; border-bottom:1px solid #e0e9e3; }
.bs-print-assurance > div { display:flex; gap:14px; align-items:center; }.bs-print-assurance svg { flex:none; width:30px; height:30px; color:#145745; }.bs-print-assurance strong,.bs-print-assurance small { display:block; }.bs-print-assurance small { color:#61736b; margin-top:4px; }
.bs-print-methods { margin:40px 0; }.bs-print-method-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.bs-print-method-grid article { border:1px solid #dde7e1; border-radius:12px; padding:24px; background:#fff; }.bs-print-method-grid article > span { font-size:12px; color:#51806b; letter-spacing:2px; }.bs-print-method-grid h3 { font-size:20px; margin:12px 0; }.bs-print-method-grid p { color:#61736b; }.bs-print-method-grid a,.bs-print-quality a { font-weight:700; color:#145745; }
.bs-print-quality { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; margin:48px 0 56px; }.bs-print-quality figure { overflow:hidden; border-radius:16px; }.bs-print-quality img { width:100%; display:block; aspect-ratio:3/2; object-fit:cover; }.bs-print-quality h2 { font-size:clamp(28px,3.3vw,44px); line-height:1.12; letter-spacing:-1px; margin:12px 0 20px; color:#103e33; }.bs-print-quality p,.bs-print-quality li { color:#61736b; }.bs-print-quality ul { padding-left:20px; margin:20px 0; }.bs-print-quality li { padding:5px 0; }
@media(max-width:900px) { .bs-print-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.bs-print-hero-copy { padding:28px; }.bs-print-assurance { gap:14px; }.bs-print-quality { gap:24px; } }
@media(max-width:600px) { .bs-print-hero,.bs-print-quality { grid-template-columns:1fr; }.bs-print-hero h1 { letter-spacing:-1px; }.bs-print-hero figure img { min-height:0; height:auto; aspect-ratio:3/2; }.bs-print-assurance { grid-template-columns:1fr; padding:12px 0 28px; }.bs-print-method-grid { gap:10px; }.bs-print-method-grid article { padding:18px; }.bs-print-method-grid h3 { font-size:18px; }.bs-print-quality { margin:32px 0; }.bs-print-directory .bs-print-section-heading { align-items:flex-start; flex-direction:column; } }

/* Compact blank-apparel recommendations in the shared DTF confirmation. */
.bs-added-apparel .bs-added-promo { grid-template-columns:100px 1fr; gap:16px; }
.bs-added-apparel .bs-added-promo > img { height:120px; }
.bs-added-apparel .bs-added-promo h3 { font-size:16px; }
/* Fit the navigation to its available container before wrapping. */
@media(min-width:701px) {
 #bs-navigation { container-type:inline-size; }
 #bs-navigation .bs-menu { gap:clamp(2px,.25cqw,5px); }
 #bs-navigation .bs-menu > li { padding-inline:clamp(4px,.4cqw,8px); }
 #bs-navigation .bs-menu > li > a { font-size:clamp(12px,1.05cqw,14px); gap:clamp(4px,.5cqw,8px); }
 #bs-navigation .bs-menu > li > .bs-submenu-toggle { min-width:20px; padding-inline:2px; }
 #bs-navigation .bs-menu > li > a .bs-service-icon,
 #bs-navigation .bs-menu > li > a .bs-nav-artwork-icon svg,
 #bs-navigation .bs-menu > li > a > .bs-icon { width:clamp(18px,1.7cqw,24px); height:clamp(18px,1.7cqw,24px); flex-shrink:0; }
}
/* Service benefits stay on one line; give copy priority over decorative artwork. */
@media(min-width:701px) {
 .bs-header-hero-inner.bs-dtf-banner{grid-template-columns:minmax(180px,1fr) max-content minmax(140px,.8fr);gap:20px}
 .bs-dtf-banner .bs-hero-benefits{display:flex;gap:18px;grid-column:auto;grid-row:auto}
 .bs-dtf-banner .bs-hero-benefits li{grid-template-columns:26px max-content;gap:8px}
 .bs-dtf-banner .bs-hero-benefits .bs-icon{width:26px;height:26px}
 .bs-dtf-banner .bs-hero-benefits strong{white-space:nowrap;font-size:12px}
 .bs-dtf-banner .bs-hero-benefits small{display:block;white-space:nowrap;font-size:11px}
 .bs-dtf-banner .bs-dtf-banner-art{width:22%}
}
@media(min-width:701px) and (max-width:1199px) {
 .bs-header-hero-inner.bs-dtf-banner{grid-template-columns:minmax(170px,1fr) max-content;gap:20px}
 .bs-dtf-banner .bs-dtf-banner-art{display:none}
 .bs-dtf-banner .bs-hero-benefits{gap:14px;grid-column:2;grid-row:1}
 .bs-dtf-banner .bs-hero-benefits strong{font-size:11px}
 .bs-dtf-banner .bs-hero-benefits small{font-size:10px}
}
@media(min-width:701px) and (max-width:899px) {
 .bs-dtf-banner .bs-hero-benefits small{display:none}
 .bs-dtf-banner .bs-hero-benefits li{grid-template-columns:22px max-content;gap:5px}
 .bs-dtf-banner .bs-hero-benefits .bs-icon{width:22px;height:22px}
}

/* Account dialog uses WooCommerce login processing and existing modal controls. */
.bs-registration [data-account-panel][hidden] { display:none; }
.bs-registration form.login { margin:24px 0 0; padding:0; border:0; }

.bs-registration form.login .form-row-first, .bs-registration form.login .form-row-last { float:none; width:100%; }
.bs-registration form.login .woocommerce-form-login__submit { width:100%; margin:12px 0 0; padding:13px; border:0; border-radius:8px; color:#fff; background:var(--bs-green); font-weight:600; }
.bs-registration input:focus-visible, .bs-registration a:focus-visible, .bs-registration button:focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }

/* Branded account welcome: mint and cream echo the storefront palette. */
#bs-registration { background:radial-gradient(ellipse at 100% 0, #e5f4ef 0, transparent 52%), radial-gradient(ellipse at 0 0, #fff5df 0, transparent 42%), #fff; }
#bs-registration .bs-registration-emblem { width:76px; height:76px; margin-bottom:20px; background:#ffffffd9; border:1px solid #104c3f12; border-radius:20px; box-shadow:0 5px 18px #104c3f0a; }
#bs-registration .bs-registration-emblem img { display:block; width:64px; height:64px; object-fit:contain; }
