: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,1fr) minmax(0,1fr);
    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:transparent
}
.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:transparent;
    mix-blend-mode:normal
}
.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:transparent;
    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:normal
}
.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
}
.single-product .bs-buy-blank {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:37px;
    padding:6px 12px;
    border:1px solid #cfd6dd;
    border-radius:6px;
    color:#175d4d;
    font-size:12px;
    font-weight:700;
    text-decoration:none
}
.single-product .bs-buy-blank:hover {
    background:#eff3f3
}
.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)
}
.bs-catalog-results .woocommerce-result-count { float:left; }
.bs-catalog-results .woocommerce-ordering { float:right; }
.woocommerce-product-gallery .flex-viewport { touch-action:pan-y pinch-zoom; }
.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,1fr) minmax(0,1fr);
        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:22px
    }
    .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
    }
}
/* Preserve supplier image colors without a tinted gallery surface. */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    background:transparent
}
.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:transparent;
    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: 20px 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: bold; color: #104c3f; 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 .bs-top-account .bs-icon { display:block; flex-shrink:0; }
    .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:850px) {
    .bs-added-actions { position:sticky; bottom:-24px; z-index:2; margin-bottom:-24px; padding:14px 0 max(24px,env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -12px 18px -18px #0c233a66; }
}
@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; }

/* 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:240px; max-height:76.8px; 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; }
/* Keep the heading and actions outside the only scrolling region. */
.bs-filter-dialog { width:min(480px,100%); max-width:100%; height:min(88dvh,820px); max-height:calc(100dvh - 16px); margin:auto auto 0; padding:0; overflow:hidden; border:0; border-radius:24px 24px 0 0; color:var(--bs-ink); background:#fff; box-shadow:0 -12px 48px #102b2526; }
.bs-filter-dialog[open] { display:flex; flex-direction:column; }
.bs-filter-dialog::backdrop { background:rgba(15,30,25,.48); }
.bs-filter-heading { flex:none; background:#fff; display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--bs-line); }
.bs-filter-heading h2 { margin:0; font-size:24px; line-height:1.2; letter-spacing:-.5px; }
.bs-filter-status { margin:6px 0 0; font-size:13px; color:var(--bs-muted); }
.bs-filter-close { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f0f5f3; color:var(--bs-green); font-size:28px; line-height:1; cursor:pointer; }
.bs-filter-body { display:flex; flex:1; min-height:0; }
.bs-filter-dialog .bs-category-filters { display:flex; flex-direction:column; width:100%; min-height:0; border:0; margin:0; padding:0; }
.bs-filter-fields { min-width:0; }
.bs-filter-dialog .bs-filter-fields { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 20px 20px; }
.bs-filter-dialog .bs-attribute-filter { padding:0; }
.bs-filter-dialog .bs-attribute-filter > summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; margin:0; list-style:none; font-size:15px; }
.bs-filter-dialog .bs-attribute-filter > summary::-webkit-details-marker { display:none; }
.bs-filter-dialog .bs-attribute-filter > summary::after { content:""; width:8px; height:8px; margin-right:4px; border-right:2px solid #627a73; border-bottom:2px solid #627a73; transform:rotate(45deg); }
.bs-filter-dialog .bs-attribute-filter[open] > summary::after { transform:rotate(225deg); }
.bs-filter-dialog .bs-attribute-filter fieldset { margin:0; }
.bs-filter-dialog .bs-category-options { max-height:none; overflow:visible; padding:0 0 12px; gap:4px; }
.bs-filter-dialog .bs-category-options label { min-height:44px; padding:8px 10px; border-radius:10px; gap:10px; font-size:15px; line-height:1.4; }
.bs-filter-dialog .bs-category-options label:has(input:checked) { background:#eaf5f0; color:var(--bs-green); font-weight:600; }
.bs-filter-dialog .bs-category-options input { flex:0 0 20px; width:20px; height:20px; margin:0; }
.bs-filter-dialog .bs-filter-count { font-size:12px; font-weight:400; padding:2px 6px; border-radius:6px; background:#f2f5f3; color:#52655f; }
.bs-filter-dialog .bs-category-actions { position:static; flex:none; display:flex; flex-wrap:nowrap; gap:16px; margin:0; padding:16px 20px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--bs-line); background:#fff; box-shadow:0 -4px 16px #102b2508; }
.bs-filter-dialog .bs-category-actions .button { flex:1; min-height:48px; border:0; border-radius:12px; padding:12px 16px; background:var(--bs-green); color:#fff; font-size:15px; font-weight:600; text-align:center; }
.bs-filter-dialog .bs-category-actions a { display:flex; align-items:center; min-height:44px; color:var(--bs-green); font-size:14px; white-space:nowrap; }
.bs-filter-dialog :is(button,a,input,summary):focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }
.bs-filter-dialog .bs-price-filter { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:16px; }
.bs-filter-dialog .bs-price-filter input { max-width:none; min-height:44px; font-size:16px; }
html:has(.bs-filter-dialog[open]) { overflow:hidden; }
@media(max-width:760px) {
    .woocommerce.archive .woocommerce-products-header__title { margin:0 0 18px; font-size:32px; }
    :is(.bs-js,.bs-filters-enhanced) .bs-catalog-sidebar { display:none; }
    :is(.bs-js,.bs-filters-enhanced) .bs-filter-toggle { display:inline-flex; align-items:center; gap:8px; float:left; height:44px; padding:10px 14px; margin:0 12px 16px 0; border:1px solid var(--bs-line); border-radius:10px; background:#fff; color:var(--bs-green); font:inherit; font-weight:600; cursor:pointer; }
    :is(.bs-js,.bs-filters-enhanced) .bs-catalog-results .woocommerce-result-count { clear:both; float:none; margin:0 0 12px; }
    :is(.bs-js,.bs-filters-enhanced) .bs-catalog-results .woocommerce-ordering { float:right; margin:0 0 16px; width:calc(100% - 112px); max-width:260px; }
    :is(.bs-js,.bs-filters-enhanced) .bs-catalog-results .woocommerce-ordering select { width:100%; height:44px; padding:8px 12px; border-radius:10px; color:var(--bs-ink); font:inherit; font-size:16px; }
    :is(.bs-js,.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. */
@media(min-width:851px){
 .bs-header-hero-inner.bs-dtf-banner{min-height:80px;padding-top:6px;padding-bottom:6px}
 .bs-dtf-banner .bs-dtf-banner-art{height:96px;max-width:378px}
}
.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. */
.bs-main ul.products li.product { position:relative; }
:is(.woocommerce,.bs-main) ul.products li.product .onsale { position:absolute; inset:10px 10px auto auto; z-index:1; display:inline-flex; align-items:center; justify-content:center; gap:5px; width:auto; min-width:0; height:auto; min-height:0; margin:0; padding:6px 14px; border-radius:999px; background:var(--bs-green,#104c3f); 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) { :is(.woocommerce,.bs-main) ul.products li.product .onsale { 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 :is(svg,img) { 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 :is(svg,img) { 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 { aspect-ratio:3/2; overflow:hidden; }.bs-print-hero figure img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; }.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 :is(svg,img),
 #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; }

/* Rounded catalog controls; overflow remains swipeable on small screens. */
.woocommerce nav.woocommerce-pagination {
    max-width:100%;
    margin:28px 0 12px;
    padding:4px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display:flex;
    width:max-content;
    flex-wrap:nowrap;
    gap:8px;
    margin:0 auto;
    padding:0;
    border:0;
    white-space:nowrap;
    list-style:none;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    float:none;
    flex:0 0 auto;
    border:0;
    overflow:visible;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:0 12px;
    box-sizing:border-box;
    border:1px solid var(--bs-line);
    border-radius:12px;
    background:#fff;
    color:var(--bs-green);
    font-size:14px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    transition:background-color .15s,border-color .15s,color .15s;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover {
    background:#edf6f2;
    border-color:var(--bs-green);
    color:var(--bs-green);
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus-visible {
    outline:2px solid var(--bs-green);
    outline-offset:2px;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
    background:var(--bs-green);
    border-color:var(--bs-green);
    color:#fff;
    box-shadow:0 3px 8px #104c3f18;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots {
    min-width:28px;
    padding:0 4px;
    border-color:transparent;
    background:transparent;
    color:var(--bs-muted);
}
@media(max-width:700px) {
    .woocommerce nav.woocommerce-pagination ul.page-numbers { gap:6px; }
}

.bs-nav-artwork-icon img { object-fit:contain; display:block; }

/* Paint the reserved first slide before WooCommerce initializes its slider. */
.woocommerce div.product div.images.woocommerce-product-gallery:has(> .woocommerce-product-gallery__wrapper) { opacity:1!important; }
.bs-js .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display:none!important; }

/* Brand and review summary share the row above the product title. */
.bs-product-brand-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}
.bs-product-brand-rating .bs-product-eyebrow,.bs-product-brand-rating .bir-rating,.woocommerce .bs-product-brand-rating .woocommerce-product-rating{margin:0}
.bs-product-brand-rating .woocommerce-product-rating{display:flex;align-items:center;gap:8px}

/* Keep a color change's loading/error feedback visible alongside the existing photo. */
.bs-gallery-load-status:not([hidden]) { position:absolute; left:0; right:0; bottom:0; z-index:5; padding:12px; background:#fff; color:#214e43; text-align:center; box-shadow:0 -2px 8px #0001; }
.bs-gallery-load-status button { margin-left:8px; }

/* Collapse search before header actions squeeze its input. Reuse the live search form. */
.bs-search-toggle{display:none;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;border:0;border-radius:50%;background:#f2f5f3;color:#173b35;cursor:pointer}
.bs-search-modal{width:min(640px,calc(100vw - 32px));max-height:85dvh;overflow:auto;margin:10vh auto auto;padding:64px 24px 24px;border:0;border-radius:16px;background:#fff;color:#173b35}
.bs-search-modal::backdrop{background:#102b3a88}
.bs-search-modal-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;font-size:28px;cursor:pointer}
.bs-search-modal .bs-search{display:flex;width:100%;min-width:0;max-width:none}
.bs-search-modal .bs-search input{min-width:0;width:100%}
.bs-search-modal .bs-search-results{position:relative;top:auto;flex:1 0 100%;max-height:55dvh;margin-top:12px;box-shadow:none}
.bs-search-modal .bs-search{flex-wrap:wrap}
.bs-search-modal .bs-search input[type=search]{flex:1 1 0%;width:0}
html:has(.bs-search-modal[open]){overflow:hidden}
@media(max-width:700px){.bs-search-toggle{display:inline-flex}.bs-header-main{gap:16px}.bs-header-main .bs-header-rewards{flex-shrink:0}}
@media(max-width:700px){.bs-header-main{grid-template-columns:36px minmax(0,1fr) 44px auto}.bs-header-main > .bs-search-toggle{grid-column:3;grid-row:1}.bs-header-main > .bs-header-actions{grid-column:4}.bs-header-main .bs-new-here{display:none}}

/* Give wholesale quantity entry a comfortable phone-sized touch target. */
@media(max-width:700px){
    .single-product .bs-bulk-sizes input[type="number"]{min-height:44px}
}

@media(min-width:1000px) {
 #bs-navigation.bs-dropdowns-ready .bs-menu > .bs-categories-mega.is-expanded > .sub-menu { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Overlay compact alternate views without shifting the phone's main photo. */
@media (max-width:700px) {
    .woocommerce div.product div.images.woocommerce-product-gallery {
        position:relative;
        display:block;
        height:var(--bs-gallery-height);
        min-height:var(--bs-gallery-height);
    }
    .woocommerce div.product div.images .flex-viewport,
    .bs-js .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
        width:100%;
    }
    .woocommerce div.product div.images .flex-control-thumbs {
        position:absolute;
        top:8px;
        left:0;
        z-index:6;
        flex-direction:column;
        width:48px;
        max-height:calc(var(--bs-gallery-height) - 68px);
        overflow-x:hidden;
        overflow-y:auto;
        margin:0;
        gap:10px;
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        width:46px;
        height:58px;
        background:#fff;
        border-color:#b6bfba;
        border-radius:8px;
    }
    .woocommerce div.product div.images .flex-control-thumbs li:has(.flex-active) {
        border-color:#008b66;
        box-shadow:inset 0 0 0 1px #008b66;
    }
    .woocommerce div.product div.images .flex-control-thumbs li img {
        height:52px;
        opacity:1;
    }
    .woocommerce-product-gallery .bs-image-prev { left:58px; }
    .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
        bottom:14px;
    }
}

/* Compact mobile header and product views; desktop remains unchanged. */
@media(max-width:700px){
 .bs-header-main{min-height:0;padding-top:10px;padding-bottom:10px;row-gap:0}
 .bs-header-main .custom-logo{max-height:54px;width:auto;object-fit:contain}
 .bs-search-toggle{background:transparent}
 .bs-search-toggle > svg{display:block;width:25px;height:25px}
 .single-product .bs-features{display:none}
 .single-product .bs-header-rewards.bs-product-rewards{flex:0 0 auto;height:auto;align-self:stretch;justify-content:center;width:100%;min-height:0;border:0;padding:8px 0;margin:4px 0;box-sizing:border-box}
 .woocommerce div.product div.images.woocommerce-product-gallery{height:auto;min-height:0;padding-bottom:0}
 .woocommerce div.product div.images .flex-control-thumbs{position:static;display:flex;flex-direction:row;justify-content:center;width:100%;max-height:none;overflow-x:auto;overflow-y:hidden;margin:12px 0 0;padding:0 0 25px;gap:14px}
 .woocommerce div.product div.images .flex-control-thumbs li{position:relative;flex:0 0 72px;width:72px;height:72px;overflow:visible;border-radius:12px}
 .woocommerce div.product div.images .flex-control-thumbs li img{height:66px;border-radius:10px}
 .woocommerce div.product div.images .flex-control-thumbs li::after{content:attr(data-mobile-label);position:absolute;top:76px;left:0;width:100%;text-align:center;font-size:12px;color:#45525a;line-height:18px}
 .woocommerce-product-gallery .bs-image-arrow{width:42px;height:42px;border-radius:50%;box-shadow:0 4px 14px #00000012}
 .woocommerce-product-gallery .bs-image-prev{left:8px}
 .woocommerce-product-gallery .bs-image-next{right:8px}
 .woocommerce div.product div.images .woocommerce-product-gallery__trigger{left:auto;right:8px;top:calc(var(--bs-gallery-height) - 52px);bottom:auto;border-radius:50%;width:40px;height:40px}
 .single-product .bs-colors-rail{display:none}
}
@media(max-width:700px){
 .bs-js .single-product .bs-color-previews,.bs-js .single-product .bs-color-previews[hidden]{display:none;height:0}
}

/* Keep the phone title, gallery and purchase details closely grouped. */
@media(max-width:700px){
 .single-product .bs-product-top{gap:8px}
 .single-product .bs-product-heading{min-width:0;max-width:100%;width:100%}
 .single-product.woocommerce div.product div.images.woocommerce-product-gallery{margin-bottom:0}
}
/* Match the first paint to the enhanced header, including slow script loads. */
html:not(.bs-js) .bs-search-toggle{display:none}
@media(max-width:700px){.bs-js .bs-header-main > .bs-search{display:none}}
@media(max-width:700px){
 .bs-js .single-product .bs-header-main > .bs-header-rewards{display:none}
 .single-product .bs-product-top > .summary{display:contents}
 .single-product .bs-product-heading{order:-2}
 .single-product .bs-product-media{order:-1}
 .bs-js .single-product .woocommerce-product-gallery:has(.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs)){padding-bottom:109px}
}
@media(max-width:700px){
 .bs-header-main > .bs-branding{height:54px;display:flex;align-items:center}
 .bs-header-main > .bs-branding .custom-logo-link{display:flex;align-items:center;width:100%;height:54px}
}
/* Reserve the mobile brand mark before its image arrives. */
@media(max-width:700px){
 .woocommerce .bs-product-brand-link img.bs-product-brand-logo{width:240px;height:36px;max-height:36px;max-width:100%;object-fit:contain;object-position:left center}
}

/* Overflowing angle strips must keep their first thumbnail reachable. */
@media(max-width:700px){
 .woocommerce div.product div.images .flex-control-thumbs{justify-content:flex-start}
 .woocommerce div.product div.images .flex-control-thumbs li:first-child{margin-left:auto}
 .woocommerce div.product div.images .flex-control-thumbs li:last-child{margin-right:auto}
}

/* A clear, consistent zoom control on desktop and mobile product galleries. */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
 width:48px;height:48px;padding:0;border:0;border-radius:50%;
 background:transparent;box-shadow:none;color:#52606d;text-indent:-9999px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before{
 content:"";position:absolute;inset:10px;width:26px;height:26px;margin:0;border:0;border-radius:0;
 background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2352606d' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m15 15 6 6M7 10h6M10 7v6'/%3E%3C/svg%3E");
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after{display:none}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img{display:none!important}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:focus-visible{outline:2px solid #104c3f;outline-offset:3px}

@media(max-width:700px){
 .woocommerce div.product div.images .flex-control-thumbs{min-width:0;max-width:100%;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
}

/* Keep the registration action visible while its native POST navigates. */
#bs-registration .bs-register-spinner { display:none; width:18px; height:18px; flex:none; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; }
#bs-registration .bs-registration-submit.is-submitting { cursor:wait; opacity:.8; }
#bs-registration .is-submitting .bs-register-spinner { display:inline-block; animation:bs-register-spin .75s linear infinite; }
#bs-registration .is-submitting > svg { display:none; }
@keyframes bs-register-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { #bs-registration .is-submitting .bs-register-spinner { animation:none; } }
.bs-header-green{background:var(--bs-header-background,#174c40);color:#fff}
.bs-header-green .bs-top-bar{background:linear-gradient(90deg,#8BAEA3 0%,#A7C0B7 50%,#8BAEA3 100%);border-bottom:1px solid #ffffff24c;color:#10221F}
.bs-header-green .bs-header-main{background:transparent}
.bs-header-green .bs-header-actions>.bs-cart,.bs-header-green .bs-header-actions>.bs-account{color:#fff}
.bs-header-green .bs-cart-count{background:#b9ddd0;color:#123e32}
.bs-header-green .bs-nav-bar{background:#fff;color:var(--bs-ink)}
.bs-header-footer-logo{display:block;max-width:100%}
.bs-header{--bs-header-logo-height:64px}
.bs-header .custom-logo{max-height:var(--bs-header-logo-height)}
.bs-header-footer-logo .bs-spaced-logo{width:calc(var(--bs-header-logo-height) * 1536 / 628 + 10px)}
.bs-header-footer-logo .bs-footer-logo-art{display:block;width:fit-content;max-width:100%}
.bs-header-footer-logo .bs-footer-logo-art img{display:block;width:auto;height:auto;max-width:100%;max-height:var(--bs-header-logo-height)}
@media(max-width:700px){.bs-header{--bs-header-logo-height:48px}}

.bs-colors-grid .bs-color-starting-price{display:block;margin-top:4px;color:#104c3f;font-size:11px;font-weight:600;line-height:1.4;white-space:normal}

.bs-gallery-color-label{display:none}
.bs-product-active-color{display:none}
@media(max-width:700px){
 .single-product .bs-product-active-color{display:flex;align-items:center;justify-content:flex-start;gap:5px;max-width:100%;margin:0;padding:6px 0;min-height:36px;border:0;background:transparent;color:var(--bs-green);font:inherit;font-size:13px;line-height:1.3;text-align:left;cursor:pointer}
 .single-product .bs-product-active-color strong{font-weight:700;overflow-wrap:anywhere}
 .single-product .bs-product-active-color::after{content:"";width:6px;height:6px;flex:0 0 6px;margin-left:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .single-product .bs-product-active-color[hidden]{display:none}
 .single-product .bs-product-active-color:focus-visible{outline:2px solid var(--bs-green);outline-offset:3px;border-radius:3px}
}
@media(max-width:700px),(min-width:901px){
 .woocommerce div.product div.images .bs-gallery-color-label{display:block;position:absolute;left:14px;bottom:14px;z-index:5;padding:0;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#104c3f;font-size:13px;font-weight:600;line-height:22px}
 .bs-gallery-color-label[hidden]{display:none!important}
}

.bs-colors-show-all[hidden]{display:none!important}
.bs-gallery-color-label{text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bs-colors-rail .bs-color-preview-list{box-sizing:border-box}
.bs-colors-rail .bs-color-preview{scroll-snap-align:center}

/* Keep the mobile product banner in one compact strip. */
@media(max-width:700px){
 .single-product .bs-header-hero{overflow:hidden}
 .single-product .bs-header-hero-inner.bs-dtf-banner{grid-template-columns:minmax(0,1fr) 88px;min-height:48px;height:48px;padding-top:0;padding-bottom:0;gap:8px}
 .single-product .bs-dtf-banner .bs-header-hero-copy{display:block;grid-column:1;grid-row:1}
 .single-product .bs-dtf-banner .bs-header-hero-copy h2{font-size:clamp(10px,2.7vw,18px);line-height:1.15;letter-spacing:-.25px;margin:0;max-width:none;white-space:nowrap}
 .single-product .bs-dtf-banner .bs-dtf-banner-art{width:25%;height:46px;right:8px;bottom:0;object-position:right bottom}
 .single-product .bs-dtf-banner .bs-hero-benefits{display:none}
}

.bs-product-mobile-price{display:none}
@media(max-width:700px){
 .single-product .bs-product-brand-rating:has(.bs-product-mobile-price){display:flex;align-items:center;justify-content:space-between;gap:12px}
 .single-product .bs-product-brand-rating:has(.bs-product-mobile-price) .bs-product-brand-links{flex:1;min-width:0}
 .single-product .bs-product-mobile-price{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;color:var(--bs-ink)}
 .single-product .bs-product-mobile-price small{font-size:11px;color:var(--bs-muted);line-height:1.4}
 .single-product .bs-product-mobile-price strong{font-size:22px;line-height:1.2}
}

/* Leave room beside the mobile brand for ratings or the starting price. */
@media(max-width:700px){
 .single-product .bs-product-brand-rating{height:36px;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:10px;margin-bottom:4px}
 .single-product .bs-product-brand-rating .bs-product-brand-links{flex:0 1 48%;max-width:48%;min-width:0}
 .single-product .bs-product-brand-link{max-width:100%;min-width:0}
 .single-product .bs-product-brand-rating .bir-rating,.single-product .bs-product-brand-rating .woocommerce-product-rating{min-width:0;flex-shrink:1}
 .single-product .bs-product-brand-rating:has(.bs-product-mobile-price) .bs-product-brand-links{flex:0 1 48%}
}

@media(max-width:700px){
 .woocommerce div.product div.images .bs-gallery-color-label{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 72px;width:72px;height:72px;margin:0 0 0 auto;padding:8px;border:1px solid #b6bfba;border-radius:12px;background:#f5faf7;font-size:12px;font-weight:600;line-height:18px;text-align:center;text-decoration:none;white-space:normal}
 .woocommerce div.product div.images .flex-control-thumbs:has(.bs-gallery-color-label) li:first-of-type{margin-left:0}
 .single-product .bs-gallery-color-label:focus-visible{outline:2px solid var(--bs-green);outline-offset:2px}
}

/* Mobile price summary beside the product name. */
@media(max-width:700px){
 .single-product .bs-product-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,34%);gap:6px 12px;align-items:start}
 .single-product .bs-product-brand-rating{grid-column:1;grid-row:1;height:44px;margin-bottom:0}
 .single-product .bs-product-brand-rating .bs-product-brand-links,.single-product .bs-product-brand-rating:has(.bs-product-mobile-price) .bs-product-brand-links{flex:1;max-width:100%}
 .single-product .bs-product-brand-rating .bs-product-brand-link{width:100%;height:44px}
 .single-product.woocommerce .bs-product-brand-link img.bs-product-brand-logo{width:100%;height:44px;max-width:100%;max-height:44px;object-fit:contain;object-position:left center}
 .single-product .bs-product-brand-rating .bs-product-mobile-price{display:none}
 .single-product .bs-product-header-price{grid-column:2;grid-row:1 / 3;min-width:0;padding:10px;border:1px solid #e0ece7;border-radius:12px;background:#f4f9f6;align-self:center}
 .single-product .bs-product-header-price .bs-price-inline{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
 .single-product .bs-product-header-price .bs-starting-price{font-size:28px;color:var(--bs-green)}
 .single-product .bs-product-header-price .bs-estimated-retail{font-size:12px}
 .single-product .bs-product-header-price .bs-reference-badge{font-size:10px;padding:3px 5px}
 .single-product .bs-product-heading-details{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
 .single-product .bs-product-heading-details .bs-product-active-color{min-width:0}
 .single-product .bs-product-heading-details .bir-rating,.single-product .bs-product-heading-details .woocommerce-product-rating{margin:0;flex-shrink:0}
 .single-product .bs-decoration-info,
 .single-product .bs-price-card:has(.bs-decoration-info){display:none}
 .single-product .bs-price-card:not(:has(.bs-decoration-info)){display:none}
}

.single-product .bs-leave-review{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:14px;text-decoration:underline;text-underline-offset:3px;color:var(--bs-green)}
.single-product .bs-leave-review svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:701px){
 .single-product.woocommerce .bs-product-brand-link img.bs-product-brand-logo{max-width:180px;max-height:57.6px}
}
@media(max-width:700px){
 .single-product .bs-product-header-price{align-self:start}
 .single-product .bs-product-active-color{gap:8px;padding:0;flex:0 0 auto}
 .single-product .bs-product-active-color::after{display:none}
 .single-product .bs-active-color-pill{display:flex;align-items:center;gap:7px;min-width:0;padding:5px 9px;border:1px solid #dce4e2;border-radius:24px;background:#fff;box-shadow:0 3px 10px #0000000b}
 .single-product .bs-active-color-pill strong{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .single-product .bs-active-color-pill::after{content:"";width:6px;height:6px;flex:0 0 6px;margin-left:3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .single-product .bs-active-color-swatch{display:block;flex:0 0 22px;width:22px;height:22px;border-radius:50%;overflow:hidden;border:1px solid #dce4e2}
 .single-product .bs-active-color-swatch .bs-swatch-fill,.single-product .bs-active-color-swatch img{display:block!important;width:100%!important;height:100%!important;object-fit:cover}
 .single-product .bs-leave-review{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:var(--bs-green)}
 .single-product .bs-product-heading-details{gap:8px}
}

@media(max-width:700px){
 .single-product .bs-leave-review svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
}

/* Reserve the mobile color/review row before gallery enhancement runs. */
@media(max-width:700px){.single-product .bs-product-heading-details{min-height:36px}}

/* Match the enhanced viewport before FlexSlider wraps the initial gallery. */
@media(max-width:700px){
 .bs-js .single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{height:var(--bs-gallery-height);overflow:hidden}
}

/* Product options sit beside the starting price on desktop. */
@media(min-width:701px){
 .bs-price-card:has(.bs-product-options){grid-template-columns:minmax(180px,.8fr) minmax(0,2fr)}
 .bs-decoration-info.bs-product-options{display:flex;align-items:center;gap:0;padding:10px 0;border:0;border-radius:0;background:transparent}
 .bs-product-options>div{display:flex;flex:1;align-items:center;gap:8px;min-width:0;padding:10px}
 .bs-product-options>div+div{border-left:1px solid var(--bs-line)}
 .bs-product-options .bs-icon{width:26px;height:26px;flex:0 0 26px;color:var(--bs-ink)}
 .bs-product-options strong{display:block;font-size:13px;line-height:1.3;color:var(--bs-green)}
 .bs-product-options small{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#64776e}
}
@media(min-width:701px) and (max-width:1150px){.bs-product-options>div{padding:8px;gap:8px}.bs-product-options .bs-icon{width:26px;height:26px;flex-basis:26px}.bs-product-options strong{font-size:13px}}

@media(max-width:700px){.bs-header-hero{display:none!important}}

/* Rotate the compact mobile benefit without moving location or chat. */
.bs-top-shipping .bs-announcement-shipping{display:inline-flex;align-items:center;gap:6px}
.bs-top-shipping .bs-announcement-returns,
.bs-top-shipping .bs-announcement-next-day{display:none}
@media(max-width:700px){
 .bs-top-benefits .bs-top-shipping{display:grid;overflow:hidden}
 .bs-top-shipping .bs-announcement-shipping,
 .bs-top-shipping .bs-announcement-returns,
 .bs-top-shipping .bs-announcement-next-day{grid-area:1 / 1;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;animation:bs-announcement-cycle 15s infinite;will-change:transform,opacity}
 .bs-top-shipping .bs-announcement-returns{animation-delay:-10s}
 .bs-top-shipping .bs-announcement-next-day{animation-delay:-5s}
}
@keyframes bs-announcement-cycle{
 0%,28%{opacity:1;transform:translateY(0)}
 32%,95%{opacity:0;transform:translateY(-100%)}
 96%{opacity:0;transform:translateY(100%)}
 100%{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .bs-top-shipping .bs-announcement-shipping{animation:none}
 .bs-top-shipping .bs-announcement-returns,
 .bs-top-shipping .bs-announcement-next-day{display:none;animation:none}
}
/* Mobile product title: keep this rule in sync with the critical stylesheet. */
@media(max-width:700px){
 .single-product.woocommerce div.product .bs-product-heading .product_title{grid-column:1;grid-row:2;align-self:start;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:2.3em;white-space:normal;overflow:hidden;text-overflow:ellipsis;font-size:18px;line-height:1.15}
}

/* Keep the comparison badge below the amount, inside its own price column. */
.single-product :is(.bs-price-card,.bs-product-header-price) .bs-price-inline {
 display:grid;grid-template-columns:minmax(0,max-content) minmax(0,max-content);
 align-items:center;gap:6px 8px;min-width:0;max-width:100%;
}
.single-product :is(.bs-price-card,.bs-product-header-price) .bs-reference-badge {
 grid-column:1 / -1;justify-self:start;max-width:100%;
}

/* Keep emoji/SVG lightning separated from the sale label. */
.bs-sale-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 1em; width:1em; height:1em; line-height:1; }
.bs-sale-icon :is(img,svg) { display:block; width:1em; height:1em; margin:0!important; }

/* The savings panel moves below mobile purchase controls; do not paint it in its desktop slot first. */
@media(max-width:700px){.bs-js .single-product .bs-wholesale-slot{display:none}}

/* Color navigation follows the same compact breakpoint as angle thumbnails. */
@media(min-width:701px) and (max-width:900px){
 .bs-js .single-product .bs-color-previews,.bs-js .single-product .bs-color-previews[hidden]{display:none;height:0}
 .woocommerce div.product div.images .bs-gallery-color-label{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 55px;width:55px;height:70px;margin:0;padding:5px;box-sizing:border-box;border:1px solid #b6bfba;border-radius:8px;background:#f5faf7;color:#104c3f;font-size:11px;font-weight:600;line-height:16px;text-align:center;text-decoration:none;white-space:normal}
 .woocommerce div.product div.images .flex-control-thumbs{touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 .single-product .bs-gallery-color-label:focus-visible{outline:2px solid var(--bs-green);outline-offset:2px}
}

/* Keep both summaries on wide screens; reserve cramped cards for size information. */
@media(min-width:701px) and (max-width:1150px){
 .bs-product-options>.bs-option-color{display:none}
 .bs-product-options>.bs-option-color+div{border-left:0}
}

/* Native fade keeps the first image in place while retaining thumbnails and zoom. */
.bs-js .single-product.woocommerce div.product div.images.bear-gallery-fade > .woocommerce-product-gallery__wrapper{position:relative;height:var(--bs-gallery-height);overflow:hidden}
.bs-js .single-product.woocommerce div.product div.images.woocommerce-product-gallery.bear-gallery-fade > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child){display:block!important}
.woocommerce-product-gallery.bear-gallery-fade .bs-image-arrow{z-index:4}

/* Distinct bulk and one-item sample offers. */
.single-product .bs-price-card.bs-split-sample-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:start}
.single-product .bs-split-sample-card .bs-price-caption{display:block;margin:0;font-size:12px;line-height:20px}
.single-product .bs-split-sample-card :is(.bs-starting-price,.bs-sample-value){display:block;margin:0;font-size:30px;line-height:39px}
.single-product .bs-split-sample-card .bs-sample-offer{min-width:0;padding-right:12px;border-right:1px solid var(--bs-line)}
.single-product .bs-split-sample-card .bs-sample-description{display:block;margin-top:6px;font-size:11px;line-height:1.4;color:var(--bs-muted,#64748b)}
.single-product .bs-split-sample-card .bs-product-options{display:flex;flex-direction:column;gap:12px;padding:0;align-items:flex-start}
.single-product .bs-split-sample-card .bs-product-options>div{display:flex;border:0;padding:0}
@media(max-width:700px){.single-product .bs-price-card.bs-split-sample-card{grid-template-columns:repeat(2,minmax(0,1fr))}.single-product .bs-split-sample-card .bs-sample-offer{border-right:0;padding-right:0}.single-product .bs-split-sample-card .bs-product-options{grid-column:1/-1;flex-direction:row;justify-content:space-between}}

/* Curated jacket collections stay visible as a clearly labeled brand section. */
.bs-filter-brand-collections{margin:20px 0 24px;padding:18px 20px;border:1px solid var(--bs-line);border-radius:12px;background:#f4f8f6}
.bs-filter-brand-collections h2{margin:0 0 12px;font-size:18px;line-height:1.3;color:var(--bs-green)}
.bs-filter-brand-links{display:flex;flex-wrap:wrap;gap:10px}
.bs-filter-brand-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid #cbdcd4;border-radius:999px;background:#fff;color:var(--bs-green);font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}
.bs-filter-brand-links a:hover{background:var(--bs-mint);border-color:var(--bs-green)}
.bs-filter-brand-links a:focus-visible{outline:2px solid var(--bs-green);outline-offset:3px}

/* The native price participates in the mobile heading grid before JS moves it. */
@media(max-width:700px){
 .bs-js .single-product .bs-product-heading > .bs-price-card{display:contents!important}
 .bs-js .single-product .bs-product-heading > .bs-price-card > *{display:none!important}
 .bs-js .single-product .bs-product-heading > .bs-price-card > .bs-product-header-price{display:block!important}
 .bs-js .single-product.bs-hide-blank-prices .bs-product-heading > .bs-price-card{display:none!important}
}

/* Reserve the color-navigation tile before the gallery enhancer inserts it. */
@media(max-width:700px){
 .bs-js .single-product div.product:has(.bs-color-preview-list .bs-color-preview) .flex-control-thumbs:not(:has(.bs-gallery-color-label))::before{content:"";flex:0 0 72px;width:72px;height:72px;margin-left:auto}
 .bs-js .single-product div.product:has(.bs-color-preview-list .bs-color-preview) .flex-control-thumbs:not(:has(.bs-gallery-color-label)) li:first-child{margin-left:0}
}

/* Deferred slides have no image source until selected; never paint their alt text. */
.single-product .woocommerce-product-gallery img[data-bear-gallery-src]{visibility:hidden}

/* Reviews move below the title on mobile. Reserve the logo's final width first. */
@media(max-width:700px){
 .bs-js .single-product .bs-product-heading > .bs-product-brand-rating > :is(.bir-rating,.woocommerce-product-rating){display:none}
}

/* Center the compact mobile heading price card. */
@media(max-width:700px){
 .single-product .bs-product-header-price{text-align:center}
 .single-product .bs-product-header-price .bs-price-inline{justify-content:center}
 .single-product .bs-product-header-price .bs-reference-badge{justify-self:center}
}

/* Compact desktop split pricing: reserve room for the one-line sample terms. */
@media(min-width:701px){
 .single-product .bs-price-card.bs-split-sample-card{grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)}
 .single-product .bs-split-sample-card .bs-sample-description{white-space:nowrap}
 .single-product .bs-split-sample-card .bs-product-options>div:not(.bs-option-color){display:none}
 .single-product .bs-split-sample-card .bs-product-options{align-self:center}
}
@media(min-width:701px) and (max-width:1150px){
 .single-product .bs-price-card.bs-split-sample-card{grid-template-columns:minmax(0,1fr) max-content}
 .single-product .bs-split-sample-card .bs-sample-offer{padding-right:0;border-right:0}
 .single-product .bs-split-sample-card .bs-product-options{display:none}
}

/* Give desktop color models a larger portrait preview; mobile keeps its compact gallery. */
@media(min-width:901px){
 .single-product .bs-color-preview-list{--bs-color-tile-height:120px}
 .single-product .bs-colors-rail .bs-color-preview{flex-basis:100px}
 .bs-js .single-product .bs-color-previews{height:198px}
}
@media(min-width:901px) and (max-width:1150px){
 .single-product .bs-color-preview-list{--bs-color-tile-height:104px}
 .single-product .bs-colors-rail .bs-color-preview{flex-basis:88px}
 .bs-js .single-product .bs-color-previews{height:182px}
}

/* Resize the desktop canvas with the photo, keeping every slide the same size. */
@media(min-width:901px){
 .woocommerce div.product div.images.woocommerce-product-gallery{--bs-gallery-height:476px}
 .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img{width:85%;height:var(--bs-gallery-height);margin-inline:auto;object-position:center top}
 .woocommerce div.product div.images .flex-control-thumbs{max-height:var(--bs-gallery-height)}
}
@media(min-width:1440px){
 .woocommerce div.product div.images.woocommerce-product-gallery{--bs-gallery-height:527px}
}
@media(min-width:901px) and (max-width:1150px){
 .woocommerce div.product div.images.woocommerce-product-gallery{--bs-gallery-height:433.5px}
}

/* Preserve comfortable labels and icons; secondary links stay in Categories. */
@media(min-width:851px){
 #bs-navigation .bs-menu{gap:16px;justify-content:space-between}
 #bs-navigation .bs-menu > li{padding-inline:0}
 #bs-navigation .bs-menu > li > a{display:inline-flex;align-items:center;font-size:14px;gap:8px}
 #bs-navigation .bs-menu > li > a .bs-nav-category-icon{margin-right:0}
 #bs-navigation .bs-menu > li > .bs-submenu-toggle{min-width:24px;padding-inline:4px}
 #bs-navigation .bs-menu > li > a .bs-service-icon,
 #bs-navigation .bs-menu > li > a .bs-nav-artwork-icon :is(svg,img),
 #bs-navigation .bs-menu > li > a > .bs-icon{width:22px;height:22px}
 @container(max-width:1330px){
  #bs-navigation:has(.bs-categories-mega .sub-menu a[href$="/sales/"]) .bs-menu > li:has(> a[href$="/sales/"]){display:none}
 }
 @container(max-width:1230px){
  #bs-navigation:has(.bs-categories-mega .sub-menu a[href$="/polos/"]) .bs-menu > li:has(> a[href$="/polos/"]){display:none}
 }
 @container(max-width:1100px){
  #bs-navigation:has(.bs-categories-mega .sub-menu a[href$="/jackets/"]) .bs-menu > li:has(> a[href$="/jackets/"]){display:none}
 }
 @container(max-width:950px){
  #bs-navigation:has(.bs-categories-mega .sub-menu a[href$="/headwear/"]) .bs-menu > li:has(> a[href$="/headwear/"]){display:none}
 }
 @container(max-width:880px){
  #bs-navigation:has(.bs-categories-mega .sub-menu a[href$="/fleece/"]) .bs-menu > li:has(> a[href$="/fleece/"]){display:none}
 }
 @container(max-width:760px){
  #bs-navigation:has(.bs-categories-mega .sub-menu a[href$="/t-shirts/"]) .bs-menu > li:has(> a[href$="/t-shirts/"]){display:none}
 }
}
