/* =========================================================
   WOO.CSS — HERD Truck Guard Configurator
   Bootstrap 5 based product configurator UI
   ========================================================= */

:root {
--woo-teal: #4a7c8c;
--woo-teal-dark: #004165;
--woo-olive: #A8B400;
--woo-olive-dark: #8ea415;
--woo-dark: #17181a;
--woo-text: #222325;
/*--woo-muted: #6c7278;*/
--woo-border: #d9d9d9;
--woo-bg: #f2f2f3;
--woo-panel-bg: #ffffff;
--woo-badge-bg: #eceef0;
--woo-badge-text: #3a3d42;
--woo-danger: #d3402f;
--woo-radius: 4px;
--woo-font-head: 'Montserrat', sans-serif;
}

/* ---------------------------------------------------------
   TOP FILTER BAR
--------------------------------------------------------- */
.woo-topbar {
background: #fff;
border-radius: 6px;
box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
padding: 18px 24px;
margin: 20px auto;
}

.woo-field label,
.woo-field .form-label {
display: block;
font-size: .78rem;
color: var(--woo-muted);
margin-bottom: 4px;
font-weight: 600;
}

.woo-field .input-group-text.woo-select-icon {
background: #fff;
border-color: var(--woo-border);
color: #004165;
}

.woo-field .form-select {
border-color: var(--woo-border);
font-weight: 600;
font-size: .95rem;
color: var(--woo-text);
box-shadow: none;
}

.woo-field .form-select:focus {
border-color: #004165;
box-shadow: 0 0 0 .2rem rgba(74, 124, 140, .15);
}

.woo-btn-find-fit {
background: #004165;
border: 1px solid #004165;
color: #fff;
font-family: var(--woo-font-head);
font-weight: 700;
letter-spacing: .03em;
font-size: .85rem;
padding: 12px 22px;
border-radius: 4px;
white-space: nowrap;
transition: background .15s ease, border-color .15s ease;
}

.woo-btn-find-fit:hover,
.woo-btn-find-fit:focus {
background: var(--woo-teal-dark);
border-color: var(--woo-teal-dark);
color: #fff;
}

/* ---------------------------------------------------------
   MAIN LAYOUT — LEFT GALLERY FIXED, RIGHT SIDEBAR SCROLLS
   The gallery column stays in place while the page scrolls;
   the sidebar has no scrollbar of its own, it just flows
   with the normal page scroll. (position: sticky is used
   instead of position: fixed — it produces the same "stays
   put while you scroll" effect without needing JS to keep
   the fixed element's width/left offset in sync with the
   grid column, and it releases naturally once the sidebar
   content ends instead of floating over the footer.)
--------------------------------------------------------- */
.woo-main-row {
margin-top: 0;
padding-bottom: 24px;
}

.woo-gallery-col {
position: sticky;
top: 277px;
align-self: flex-start;
margin-bottom: 24px;
}


@media (max-width: 991.98px) {
.woo-gallery-col {
position: static;
}
}

/* ---------------------------------------------------------
   GALLERY
--------------------------------------------------------- */
.woo-gallery-main {
position: relative;
overflow: hidden;
aspect-ratio: 1/1;
}

.woo-gallery-main>img {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="612" height="595" viewBox="0 0 612 595"><image xlink:href="data:image/png;base64,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haw3ehsTIDApsO7q6z55zorzjnnBwc9/fPJn/xAYV8D9BEoQUMhKmKIMBDIXWHPppXecfe7KRYtf8tL7Mo/i+AQIEKgloJDVYvMQgS4FYuy142X///3J4te/+tU3xEgsJQECBHYLKGS7LXxHgEACAl//7ndPOe3E1/37vLlztidwHEcgQIBAJwJJFLJOktqEAIFsBDbd/I1/W77sPWc+38v+2czMQQkQmJ2AQjY7P08TINCSwLqNn/7CihXnHbPwoIMebWkLy8YTkJhAsgIKWbKjcTACBCZf9n//smWHHfFXi+6hQYAAgZIFFLKSpytbPIECE6++5JLHtv70/pct+btXXzdnzpwCE4pEgACBwUAh8ykgQCALgVu++d23n3byyR+eN3eul/2zmJhDEiAwjkBuhWycbO4lQKAwgS9df/1Hzlm27NTnHXjgU4VFE4cAgeACClnwD4D4BHITuGLjxuuXr1x5xKELDvWyf27Dy+q8DkugWwGFrFtvuxEg0IDA2rVr7z3/gvMP++sj/uaOBpazBAECBHoX+H8AAAD//wwsbfIAAAAGSURBVAMAM2lojrTegwYAAAAASUVORK5CYII=" x="0" y="0" width="612" height="595"/></svg>');
-webkit-mask-size: 100%;
mask-size: 100%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: top center;
mask-position: top center;
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
}

.woo-gallery-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 44px;
height: 44px;
border-radius: 50%;
background: #fff;
border: 0;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #E0E0E0;
color: var(--woo-dark);
z-index: 2;
}

.woo-gallery-arrow.woo-arrow-left {
left: 16px;
}

.woo-gallery-arrow.woo-arrow-right {
right: 16px;
}

.woo-gallery-arrow:hover {
background: #004165;
color: #fff;
border-color: #004165;
}

.woo-thumb-row {
display: grid;
gap: 12px;
margin-top: 16px;
flex-wrap: wrap;
grid-template-columns: repeat(6, 1fr);

}

.woo-thumb {
aspect-ratio: 1/1;
object-fit: cover;
border: 2px solid transparent;
border-radius: 2px;
cursor: pointer;
background: #fff;
}

.woo-thumb.active {
border-color: #004165;
}

/* ---------------------------------------------------------
   SIDEBAR EYEBROW / TITLE
--------------------------------------------------------- */
.woo-eyebrow {
color: #004165;
font-family: var(--woo-font-head);
font-weight: 700;
font-size: .78rem;
letter-spacing: .08em;
margin-bottom: 6px;
display: block;
}

.woo-title {
font-family: var(--woo-font-head);
font-weight: 800;
font-size: 1.85rem;
line-height: 1.15;
text-transform: uppercase;
color: var(--woo-dark);
margin-bottom: 20px;
}

.woo-back-link {
display: inline-flex;
align-items: center;
gap: 6px;
color: #004165;
font-family: var(--woo-font-head);
font-weight: 800;
line-height: 1;
margin-bottom: 10px;
text-decoration: none;
text-transform: uppercase;
}

.woo-back-link:hover {
color: var(--woo-teal-dark);
}

.woo-lede {
font-size: .95rem;
color: var(--woo-text);
margin-bottom: 20px;
}

.woo-lede+.woo-panel {
margin-top: 0;
}

/* ---------------------------------------------------------
   STEP-SUMMARY PANELS (collapsed "Configure your truck" etc.)
--------------------------------------------------------- */
.woo-panel {
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
box-shadow: 0 40px 40px 0 rgba(0, 0, 0, 0.10);
backdrop-filter: blur(35px);
padding: 20px;
}

.woo-panel-collapsed {
display: flex;
align-items: center;
justify-content: space-between;
}

.woo-panel-label {
font-family: var(--woo-font-head);
font-weight: 800;
text-transform: uppercase;
color: var(--woo-dark);
margin: 0;
}

.woo-panel-edit {
display: inline-flex;
align-items: center;
gap: 6px;
font-family: var(--woo-font-head);
font-weight: 800;
text-transform: uppercase;
color: var(--woo-dark);
text-decoration: none;
}

.woo-panel-edit i {
font-size: 14px;
color: #004165;
}

.woo-panel-edit:hover {
color: #004165;
}

.woo-panel-sub {
font-size: .85rem;
color: var(--woo-muted);
margin-bottom: 18px;
}

/* ---------------------------------------------------------
   COLOR SWATCH GRID
--------------------------------------------------------- */
.woo-color-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.woo-color-swatch {
display: block;
width: 100%;
margin: 0;
padding: 0;
border: 2px solid var(--woo-border);
border-radius: 10px;
cursor: pointer;
background: #fff;
position: relative;
text-align: center;
font: inherit;
appearance: none;
-webkit-appearance: none;
transition: border-color .15s ease;
}

.woo-color-swatch:hover {
border-color: #c6cbce;
}

.woo-color-swatch:has(input:checked) {
border-color: #004165;
}

.woo-color-chip {
display: block;
width: 100%;
aspect-ratio: 1/1;
border-radius: 7px 7px 0 0;
}

.woo-color-swatch span.woo-color-name {
display: block;
padding: 16px 4px;
font-weight: 600;
color: var(--woo-text);
}

.woo-check-badge {
position: absolute;
top: -8px;
right: -8px;
width: 16px;
height: 16px;
border-radius: 50%;
background: #004165;
color: #fff;
display: none !important;
align-items: center;
justify-content: center;
font-size: .5rem;
}

.woo-color-swatch:has(input:checked) .woo-check-badge {
display: flex !important;
}

/* named color fallbacks (used when no image supplied) */
.woo-color-white {
background: #f2f2f2;
}

.woo-color-red {
background: #8c2b2b;
}

.woo-color-forestgreen {
background: #4c5d50;
}

.woo-color-black {
background: #101010;
}

.woo-color-yellow {
background: #d9a92a;
}

.woo-color-orange {
background: #b85c2c;
}

.woo-color-blue {
background: #7fa1b8;
}

.woo-color-green {
background: #1f8a6e;
}

.woo-color-gray {
background: #4a4c4e;
}

/* ---------------------------------------------------------
   CATEGORY / GUARD LIST ROWS
--------------------------------------------------------- */
.woo-list-row {
display: flex;
align-items: center;
gap: 16px;
padding: 16px 0;
border-bottom: 1px solid var(--woo-border);
cursor: pointer;
text-decoration: none;
color: inherit;
}

.woo-list-row:last-child {
border-bottom: 0;
padding-bottom: 0;
}

.woo-list-icon {
width: 80px;
aspect-ratio: 1/1;
display: flex;
align-items: center;
justify-content: center;
background: #f5f5f6;
border-radius: 3px;
flex-shrink: 0;
}

.woo-list-icon img {
max-width: 100%;
max-height: 100%;
object-fit: cover;
}

.woo-list-name {
font-family: var(--woo-font-head);
font-weight: 700;
text-transform: uppercase;
flex-grow: 1;
}

.woo-badge-count {
background: var(--woo-badge-bg);
color: var(--woo-badge-text);
font-size: .78rem;
font-weight: 600;
padding: 5px 12px;
border-radius: 20px;
white-space: nowrap;
}

.woo-badge-count.woo-badge-zero {
background: var(--woo-danger);
color: #fff;
}

.woo-list-chevron {
font-size: 18px;
}

.woo-list-row:hover .woo-list-chevron {
color: #004165;
}

/* ---------------------------------------------------------
   PRODUCT PREVIEW (step 4)
--------------------------------------------------------- */
.woo-stars {
color: var(--woo-olive);
font-size: 1rem;
margin-right: 8px;
}


.woo-feature-list ul {
list-style: none;
padding: 0;
}

.woo-feature-list ul li {
position: relative;
padding-left: 16px;
margin-bottom: 3px;
}

.woo-feature-list ul li::before {
content: "";
position: absolute;
left: 0;
top: .55em;
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--woo-text);
}

.woo-tag-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

.woo-tag {
border-radius: 6px;
border-left: 4px solid #468C98;
background: #F5F5F5;
padding: 16px 20px;
font-weight: 700;
font-size: 0.875rem;
text-transform: uppercase;
line-height: 1.3;
}

.woo-btn-olive {
background: var(--woo-olive);
border: 1px solid var(--woo-olive);
color: #fff;
font-weight: 800;
font-size: .875rem;
text-transform: uppercase;
padding: 14px 20px;
width: 100%;
display: block;
text-align: center;
}

.woo-btn-olive:hover,
.woo-btn-olive:focus {
background: var(--woo-olive-dark);
border-color: var(--woo-olive-dark);
color: #fff;
}

.woo-btn-outline-olive {
background: transparent;
border: 1px solid var(--woo-olive);
color: var(--woo-dark);
font-family: var(--woo-font-head);
font-weight: 800;
letter-spacing: .03em;
font-size: .85rem;
text-transform: uppercase;
padding: 14px 20px;
border-radius: 2px;
width: 100%;
display: block;
text-align: center;
margin-top: 12px;
}

.woo-btn-outline-olive:hover {
background: #fbfced;
color: var(--woo-dark);
}

/* ---------------------------------------------------------
   CONFIGURATION ACCORDION (step 5A)
--------------------------------------------------------- */
.woo-config-group {
background: #fff;
border-radius: 4px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
overflow: hidden;
}

.woo-config-group.open {
box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.10);
}

.woo-config-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
padding: 18px 22px;
cursor: pointer;
gap: 12px;
}

.woo-config-title {
font-weight: 700;
font-size: 0.875rem;
color: var(--woo-dark);
margin: 0;
}

.woo-config-title .woo-required {
color: var(--woo-danger);
}

.woo-config-selected-list {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 5px;
}

.woo-selected-tag {
display: inline-flex;
align-items: center;
background: var(--woo-badge-bg);
color: #004165;
font-size: 12px;
font-weight: 700;
padding: 5px 12px;
border-radius: 20px;
white-space: nowrap;
}

.woo-selected-tag.woo-selected-empty {
background: transparent;
color: var(--woo-muted);
font-weight: 600;
padding: 5px 0;
display: none;
}

.woo-config-chevron {
color: var(--woo-muted);
transition: transform .2s ease;
flex-shrink: 0;
margin-left: 12px;
margin-top: 2px;
}

.woo-config-group.open .woo-config-chevron {
transform: rotate(180deg);
}

.woo-config-body {
display: none;
padding: 0 22px 22px;
}

.woo-config-group.open .woo-config-body {
display: block;
}

/* lighting / option image grid */
.woo-option-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}

.woo-option-card {
display: flex;
flex-direction: column;
width: 100%;
margin: 0;
border: 2px solid var(--woo-border);
border-radius: 10px;
padding: 0;
cursor: pointer;
position: relative;
background: #f5f5f5;
text-align: left;
font: inherit;
appearance: none;
-webkit-appearance: none;
transition: border-color .15s ease;
}

.woo-option-card:hover {
border-color: #c6cbce;
}

.woo-option-card:has(input:checked) {
border-color: #004165;
}

.woo-color-swatch:focus-visible,
.woo-option-card:focus-visible,
.woo-shipping-option:focus-visible,
.woo-financing-option:focus-visible {
outline: 2px solid #004165;
outline-offset: 2px;
}

.woo-option-label {
font-size: 10px;
font-weight: 700;
color: var(--woo-text);
display: block;
display: flex;
flex-direction: column;
padding: 10px;
flex-grow: 1;
}

.woo-option-thumb {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
background: #eee;
border-radius: 2px;
border-radius: 0 0 6px 6px;
}

.woo-option-check {
position: absolute;
top: -9px;
right: -9px;
width: 18px;
height: 18px;
border-radius: 50%;
background: #004165;
color: #fff;
display: none !important;
align-items: center;
justify-content: center;
font-size: .6rem;
}

.woo-option-card:has(input:checked) .woo-option-check {
display: flex !important;
}

/* lead time / product info blocks */
.woo-info-block {
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
padding: 24px;
margin-bottom: 0;
}

.woo-info-block h4 {
text-transform: uppercase;
margin-bottom: 8px;
}

.woo-info-block p {
font-size: .875rem;
color: var(--woo-text);
font-weight: 400;
}


.woo-price-label {
font-size: 0.875rem;
color: var(--woo-muted);
font-weight: 600;
letter-spacing: .03em;
text-transform: uppercase;
}

.woo-price-value {
font-family: var(--woo-font-head);
font-weight: 700;
color: var(--woo-teal-dark);
margin-bottom: 24px;
line-height: 1;
}

.woo-qty-row {
display: flex;
gap: 14px;
align-items: stretch;
margin-bottom: 14px;
}

.woo-qty-input {
width: 90px;
border: 1px solid var(--woo-border);
border-radius: 2px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 12px;
}

.woo-qty-input input {
border: 0;
width: 40px;
text-align: center;
font-weight: 700;
background: transparent;
}

.woo-qty-input input:focus {
outline: none;
}

.woo-qty-stepper {
display: flex;
flex-direction: column;
}

.woo-qty-stepper button {
border: 0;
background: transparent;
line-height: 1;
padding: 2px 0;
color: var(--woo-muted);
font-size: .7rem;
}

.woo-qty-stepper button:hover {
color: #004165;
}

.woo-financing-note {
font-size: 0.875rem;
display: flex;
align-items: center;
gap: 8px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
padding: 16px;
font-weight: 400;
line-height: 1.2;
}

.woo-financing-note i {
height: 24px;
width: 24px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
background-color: #004165;
border-radius: 50%;
}

.woo-financing-note span {
flex-grow: 1;
}

/* ---------------------------------------------------------
   CHECKOUT PAGE
--------------------------------------------------------- */
.woo-page-title {
font-family: var(--woo-font-head);
font-weight: 800;
font-size: 1.9rem;
text-transform: uppercase;
letter-spacing: .02em;
color: var(--woo-dark);
margin: 24px 0 20px;
}

.woo-checkout-summary-col {
position: sticky;
top: 20px;
align-self: flex-start;
}

@media (max-width: 991.98px) {
.woo-checkout-summary-col {
position: static;
}
}

.woo-form-label {
font-size: .85rem;
font-weight: 700;
color: var(--woo-dark);
margin-bottom: 6px;
display: block;
}

.woo-form-label .woo-required {
color: var(--woo-danger);
}

.woo-form-control,
.woo-form-select {
padding: 16px !important;
font-size: 0.875rem !important;
width: 100%;
border-radius: 10px !important;
border: 1px solid rgba(0, 0, 0, 0.30) !important;
background-color: #FFF;
}

.woo-form-control::placeholder {
color: #000;
opacity: 0.5;
}

.woo-form-control:focus,
.woo-form-select:focus {
outline: none;
border-color: #004165;
box-shadow: 0 0 0 .2rem rgba(74, 124, 140, .15);
}

.woo-question-label {
font-size: .92rem;
font-weight: 700;
color: var(--woo-dark);
margin-bottom: 10px;
}

.woo-toggle-group {
display: flex;
gap: 12px;
margin-bottom: 24px;
}

.woo-toggle-btn {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 16px;
font-size: 0.875rem;
font-weight: 400;
color: var(--woo-text);
cursor: pointer;
position: relative;
border-radius: 10px;
border: 1px solid rgba(0, 0, 0, 0.30);
background: #FFF;
}

.woo-toggle-btn .woo-radio-dot {
width: 24px;
height: 24px;
border-radius: 50%;
border: 2px solid #004165;
flex-shrink: 0;
position: relative;
}

.woo-toggle-btn:has(input:checked) {
border-color: #004165;
}

.woo-toggle-btn:has(input:checked) .woo-radio-dot {
border-color: #004165;
}

.woo-toggle-btn:has(input:checked) .woo-radio-dot::after {
content: "";
position: absolute;
inset: 3px;
border-radius: 50%;
background: #004165;
}

.woo-toggle-btn:focus-within {
outline: 2px solid #004165;
outline-offset: 2px;
}

/* Visually-hidden native radio/checkbox input — kept in the DOM and
   keyboard/screen-reader accessible, but the custom "dot"/card next
   to it carries the visible styling. Shared by the color swatches,
   option cards, Yes/No toggles, shipping options and financing
   options below. The checked/unchecked visual state is driven
   entirely by CSS :has(input:checked) — no JS needed to keep an
   "active" class in sync with the radio's checked property. */
.woo-radio-input {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

.woo-note-box {
padding: 24px;
font-size: 14px;
font-weight: 400;
color: var(--woo-muted);
display: flex;
gap: 10px;
margin-top: 24px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
}

.woo-note-box i {
color: #004165;
margin-top: 2px;
font-size: 24px;
}

.woo-note-box .form-check {
margin-top: 12px;
}

/* --- Cart summary panel --- */
.woo-cart-item {
display: flex;
gap: 14px;
padding: 24px 0;
border-top: 1px solid var(--woo-border);
/*border-bottom: 1px solid var(--woo-border);*/
}

.woo-cart-item:first-child {
padding-top: 0;
}

.woo-cart-remove {
border: 0;
font-size: 1rem;
padding: 0;
flex-shrink: 0;
align-self: flex-start;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
height: 56px;
width: 56px;
}

.woo-cart-remove:hover {
color: var(--woo-danger);
}

.woo-cart-body {
flex-grow: 1;
}

.woo-cart-name {
font-weight: 400;
font-size: 1.125rem;
color: var(--woo-dark);
margin-bottom: 2px;
}

.woo-cart-price {
font-weight: 700;
font-size: 22px;
color: var(--woo-dark);
margin: 0 0 12px;
line-height: 1.1;
}

.woo-cart-thumb {
width: 90px;
object-fit: cover;
aspect-ratio: 1/1;
flex-shrink: 0;
}

.woo-cart-thumb img{
object-fit: cover;
height: 100%;
width: 100%;
}

.woo-cart-spec {
margin-bottom: 16px;
}

.woo-cart-spec-label {
font-size: 0.875rem;
font-weight: 700;
color: var(--woo-dark);
display: block;
}

.woo-cart-spec-value {
font-size: 0.875rem;
color: var(--woo-muted);
display: block;
line-height: 1.5;
font-weight: 400;
}

.woo-btn-modify {
background: #468C98;
border: 1px solid #468C98;
color: #fff;
font-family: var(--woo-font-head);
font-weight: 700;
font-size: 0.875rem;
text-transform: uppercase;
padding: 0 24px;
height: 40px;
display: flex;
align-items: center;
border-radius: 6px;
line-height: 1;
margin-top: 6px;
}

.woo-btn-modify:hover {
background: var(--woo-teal-dark);
border-color: var(--woo-teal-dark);
color: #fff;
}

.woo-summary-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 24px 0;
border-bottom: 1px solid var(--woo-border);
border-top: 1px solid var(--woo-border);
}

.woo-summary-row .woo-summary-label,
.woo-summary-row .woo-summary-value,
.woo-summary-row.woo-summary-total .woo-summary-value {
font-size: 1.125rem;
line-height: 1;
font-weight: 700;
}

.woo-shipping-option {
display: flex;
align-items: center;
gap: 14px;
padding: 16px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
cursor: pointer;
position: relative;
}

.woo-shipping-option:focus-within {
outline: 2px solid #004165;
outline-offset: 2px;
}

.woo-shipping-option .woo-radio-dot {
width: 24px;
height: 24px;
border-radius: 50%;
border: 2px solid #004165;
position: relative;
flex-shrink: 0;
}

.woo-shipping-option:has(input:checked) .woo-radio-dot {
border-color: #004165;
}

.woo-shipping-option:has(input:checked) .woo-radio-dot::after {
content: "";
position: absolute;
inset: 3px;
border-radius: 50%;
background: #004165;
}

.woo-shipping-option .woo-shipping-name {
flex-grow: 1;
font-size: 0.875rem;
font-weight: 400;
}

.woo-shipping-option .woo-shipping-price {
font-weight: 700;
font-size: 1.125rem;
}

.woo-coupon-row {
display: flex;
gap: 0;
margin: 8px 0 24px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
padding: 16px;
}

.woo-coupon-row input {
border: none;
border-right: 0;
border-radius: 0;
padding: 0 !important;
height: 40px;
flex-grow: 1;
font-size: .9rem;
}

.woo-coupon-row input:focus {
outline: none;
}

.woo-btn-apply {
background: #468C98;
border: 1px solid #468C98;
color: #fff;
font-family: var(--woo-font-head);
font-weight: 700;
font-size: 0.875rem;
text-transform: uppercase;
padding: 0 24px;
height: 40px;
border-radius: 6px;
}

.woo-btn-apply:hover {
background: var(--woo-teal-dark);
}

.woo-tax-links {
font-size: .82rem;
color: var(--woo-text);
}

.woo-tax-links a {
color: var(--woo-dark);
font-weight: 700;
text-decoration: underline;
}

/* --- Financing panel --- */
.woo-financing-option {
display: flex;
align-items: flex-start;
gap: 14px;
padding: 16px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
margin: 0 0 16px;
cursor: pointer;
position: relative;
}

.woo-financing-option .woo-radio-dot {
width: 24px;
height: 24px;
border-radius: 50%;
border: 2px solid #004165;
position: relative;
flex-shrink: 0;
margin-top: 2px;
}

.woo-financing-option:has(input:checked) {
border-color: #004165;
}

.woo-financing-option:has(input:checked) .woo-radio-dot {
border-color: #004165;
}

.woo-financing-option:has(input:checked) .woo-radio-dot::after {
content: "";
position: absolute;
inset: 3px;
border-radius: 50%;
background: #004165;
}

.woo-financing-body {
flex-grow: 1;
display: block;
}

.woo-financing-name {
font-weight: 700;
font-size: .95rem;
display: block;
margin: 0 0 2px;
}

.woo-financing-desc {
font-size: .82rem;
color: var(--woo-muted);
display: block;
}

.woo-financing-price {
font-weight: 800;
font-size: .95rem;
white-space: nowrap;
}


.woo-financing-fineprint {
padding: 24px;
font-size: 12px;
font-weight: 400;
color: var(--woo-muted);
display: flex;
gap: 10px;
margin-top: 24px;
border-radius: 10px;
border: 2px solid rgba(0, 0, 0, 0.05);
background: #FFF;
}

.woo-financing-fineprint i {
color: #004165;
margin-top: 2px;
font-size: 24px;
}

.woo-financing-fineprint p {
margin-bottom: 6px;
}

.woo-financing-fineprint p:last-child {
margin-bottom: 0;
}

/* --- Payment panel --- */
.woo-payment-cards {
display: flex;
gap: 8px;
align-items: center;
}

.woo-payment-cards img {
height: 48px;
width: auto;
}

.woo-btn-place-order {
width: 100%;
border: 0;
border-radius: 2px;
padding: 16px 20px;
font-family: var(--woo-font-head);
font-weight: 800;
letter-spacing: .05em;
text-transform: uppercase;
font-size: .9rem;
}

.woo-btn-place-order:disabled {
background: #c9cbcd;
color: #8b8e91;
cursor: not-allowed;
}

.woo-btn-place-order:not(:disabled) {
background: var(--woo-olive);
color: #1a1a1a;
}

.woo-btn-place-order:not(:disabled):hover {
background: var(--woo-olive-dark);
}


/* =========================================================
   CART OFFCANVAS
   New classes only — does not modify woo.css
========================================================= */

.herd-cart-offcanvas {
--bs-offcanvas-width: 600px;
border-left: 1px solid #e2e2e2 !important;
}

.herd-cart-header {
padding: 48px 48px 25px;
align-items: center;
}

.herd-cart-title {
margin: 0;
font-family: var(--woo-font-head);
font-size: 38px;
line-height: 1;
font-weight: 800;
text-transform: uppercase;
color: #000;
}

.herd-cart-close {
width: 48px;
height: 48px;
padding: 0;
margin: 0;
border: 3px solid #000;
border-radius: 50%;
background: transparent;
color: #000;
display: flex;
align-items: center;
justify-content: center;
font-size: 23px;
transition: all .2s ease;
}

.herd-cart-close:hover {
background: #000;
color: #fff;
}

/* Floating Body */
.herd-cart-body {
padding: 20px 48px 44px;
display: flex;
flex-direction: column;
}

.herd-cart-products {
flex: 0 0 auto;
}

/* Product */

.herd-cart-product {
display: grid;
grid-template-columns: 56px minmax(0, 1fr) 90px;
gap: 24px;
align-items: start;
padding: 24px 0;
border-bottom: 2px solid #d9d9d9;
}

.herd-cart-product:first-child {
padding-top: 0;
}

.herd-cart-product:last-child {
border-bottom: 0;
}

.herd-cart-remove {
color: #00628b;
font-size: 19px;
}

.herd-cart-product-info {
min-width: 0;
}

/* Product Image */
.herd-cart-thumb {
align-self: start;
}

/* Quantity */
.herd-cart-qty {
width: 112px;
height: 49px;
display: grid;
grid-template-columns: 35px 42px 35px;
align-items: center;
border: 2px solid #E2E2E2;
background: #fff;
}

.herd-cart-qty-btn {
width: 100%;
height: 100%;
padding: 0;
border: 0;
background: transparent;
color: #000;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
}

.herd-cart-qty-btn:hover {
background: none;
}

.herd-cart-qty-input {
width: 100%;
height: 100%;
padding: 0;
border: 0;
outline: 0;
background: transparent;
text-align: center;
font-size: 22px;
font-weight: 700;
color: #000;
appearance: textfield;
-moz-appearance: textfield;
padding: 0 !important;
border: none !important;
border-radius: 0 !important;
}

.herd-cart-qty-input::-webkit-outer-spin-button,
.herd-cart-qty-input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
}


/* Bottom Section */

.herd-cart-footer {
margin-top: auto;
padding-top: 30px;
border-top: 1px solid #d9d9d9;
}

.herd-cart-subtotal {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
margin-bottom: 28px;
color: #000;
font-size: 18px;
font-weight: 700;
}

.herd-cart-subtotal strong {
font-weight: 700;
}


/* Checkout */

.herd-cart-checkout {
min-height: 68px;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
text-decoration: none;
}

.herd-cart-checkout i {
font-size: 17px;
}


/* Responsive */

@media (max-width: 767.98px) {

.herd-cart-offcanvas {
--bs-offcanvas-width: 100%;
}

.herd-cart-header {
padding: 30px 24px 20px;
}

.herd-cart-body {
padding: 20px 24px 30px;
}

.herd-cart-title {
font-size: 30px;
}

.herd-cart-product {
grid-template-columns: 50px minmax(0, 1fr) 75px;
gap: 15px;
}

.herd-cart-thumb {
width: 75px;
}
}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */
@media (max-width: 767.98px) {
.woo-field {
border-right: 0;
border-bottom: 1px solid var(--woo-border);
padding-bottom: 10px;
margin-bottom: 10px;
}

.woo-color-grid {
grid-template-columns: repeat(3, 1fr);
}

.woo-option-grid {
grid-template-columns: repeat(2, 1fr);
}

.woo-tag-grid {
grid-template-columns: 1fr;
}

.woo-compare-row {
flex-direction: column;
}

.woo-compare-pane,
.woo-compare-pane.woo-pane-right {
clip-path: none;
}

.woo-compare-center-arrows {
display: none;
}
}