





.tdp-vc-form {
--tdp-vc-size: 46px;
--tdp-vc-accent: #8bc34a;
--tdp-vc-gap: 12px;
--tdp-vc-ring: rgba( 0, 0, 0, 0.12 );
}


.tdp-vc-enhanced select,
.tdp-vc-enhanced .select2-container,
.tdp-vc-enhanced .st-swatch-preview,
.tdp-vc-enhanced ul.st-swatch-preview-single-product {
display: none !important;
}






.tdp-vc-form .reset_variations {
display: none !important;
}



.tdp-vc {
margin: 4px 0 2px;
}

.tdp-vc-list {
display: flex;
flex-wrap: wrap;
gap: var( --tdp-vc-gap );
margin: 0;
padding: 0;
list-style: none;
}

.tdp-vc-swatch {
position: relative;
width: var( --tdp-vc-size );
height: var( --tdp-vc-size );
padding: 0;
border-radius: 50%;
cursor: pointer;
outline: none;
transition: transform 0.18s cubic-bezier( 0.34, 1.56, 0.64, 1 );
-webkit-tap-highlight-color: transparent;
}

.tdp-vc-dot {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
border-radius: 50%;
background: #eee;
border: 2px solid #fff;
box-shadow:
0 0 0 1px var( --tdp-vc-ring ),
inset 0 2px 5px rgba( 0, 0, 0, 0.12 ),
0 3px 7px rgba( 0, 0, 0, 0.14 );
overflow: hidden;
transition: box-shadow 0.2s ease;
}

.tdp-vc-swatch.has-image .tdp-vc-dot,
.tdp-vc-swatch.is-text .tdp-vc-dot {
background: #fff;
}

.tdp-vc-dot img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 50%;
}

.tdp-vc-swatch.is-text .tdp-vc-dot {
font-size: calc( var( --tdp-vc-size ) * 0.34 );
font-weight: 700;
color: #333;
letter-spacing: 0.02em;
}



.tdp-vc-swatch.is-pill {
width: auto;
height: auto;
border-radius: 999px;
}

.tdp-vc-swatch.is-pill .tdp-vc-dot {
width: auto;
height: auto;
min-height: calc( var( --tdp-vc-size ) * 0.86 );
padding: 0 18px;
border-radius: 999px;
background: #fff;
font-size: 0.95em;
font-weight: 600;
line-height: 1.15;
color: #333;
white-space: nowrap;
text-transform: none;
letter-spacing: 0;
}

.tdp-vc-swatch.is-pill:hover,
.tdp-vc-swatch.is-pill:focus-visible {
transform: translateY( -2px ) scale( 1.06 );
}

.tdp-vc-swatch.is-pill.is-selected {
transform: scale( 1.04 );
}

.tdp-vc-swatch.is-pill.is-selected .tdp-vc-dot {
color: #222;
font-weight: 700;
background: color-mix( in srgb, var( --tdp-vc-accent ) 12%, #fff );
}


.tdp-vc.is-mode-text .tdp-vc-selected-label {
display: none;
}


.tdp-vc-swatch.is-pill.is-unavailable::before {
display: none;
}

.tdp-vc-swatch.is-pill.is-unavailable .tdp-vc-dot {
text-decoration: line-through;
}


.tdp-vc-swatch:hover,
.tdp-vc-swatch:focus-visible {
transform: translateY( -2px ) scale( 1.12 );
z-index: 2;
}

.tdp-vc-swatch:focus-visible .tdp-vc-dot {
box-shadow:
0 0 0 2px #fff,
0 0 0 4px var( --tdp-vc-accent ),
0 4px 10px rgba( 0, 0, 0, 0.2 );
}


.tdp-vc-swatch.is-selected .tdp-vc-dot {
box-shadow:
0 0 0 2px #fff,
0 0 0 4px var( --tdp-vc-accent ),
0 4px 12px rgba( 0, 0, 0, 0.2 );
}

.tdp-vc-swatch.is-selected {
transform: scale( 1.08 );
}

.tdp-vc-swatch.is-selected::after {
content: "";
position: absolute;
inset: -3px;
border-radius: 50%;
border: 2px solid var( --tdp-vc-accent );
opacity: 0;
pointer-events: none;
}

.is-animated .tdp-vc-swatch.is-selected::after {
animation: tdp-vc-pulse 1.6s ease-out infinite;
}



.tdp-vc-swatch.is-pill.is-selected::after {
border-radius: 999px;
}

.is-animated .tdp-vc-swatch.is-pill.is-selected::after {
animation: tdp-vc-pulse-pill 1.6s ease-out infinite;
}


.tdp-vc-check {
position: absolute;
top: 50%;
left: 50%;
width: calc( var( --tdp-vc-size ) * 0.4 );
height: calc( var( --tdp-vc-size ) * 0.4 );
transform: translate( -50%, -50% ) scale( 0 );
opacity: 0;
pointer-events: none;
transition: transform 0.22s cubic-bezier( 0.34, 1.56, 0.64, 1 ), opacity 0.18s ease;
}

.tdp-vc-check::before {
content: "";
position: absolute;
top: 46%;
left: 50%;
width: 32%;
height: 62%;
border: solid #fff;
border-width: 0 3px 3px 0;
transform: translate( -50%, -55% ) rotate( 45deg );
filter: drop-shadow( 0 1px 1px rgba( 0, 0, 0, 0.45 ) );
}


.tdp-vc-type-color.is-selected .tdp-vc-check,
.tdp-vc-type-duo.is-selected .tdp-vc-check {
opacity: 1;
transform: translate( -50%, -50% ) scale( 1 );
}


.tdp-vc-swatch.is-unavailable {
cursor: not-allowed;
opacity: 0.4;
filter: grayscale( 0.7 );
}

.tdp-vc-swatch.is-unavailable:hover {
transform: none;
}

.tdp-vc-swatch.is-unavailable::before {
content: "";
position: absolute;
top: 50%;
left: 6%;
width: 88%;
height: 2px;
background: #b0b0b0;
transform: rotate( -45deg );
transform-origin: center;
border-radius: 2px;
pointer-events: none;
}


.tdp-vc-selected-label {
display: block;
margin-top: 8px;
font-size: 0.9em;
font-weight: 600;
color: #444;
min-height: 1.2em;
}




.tdp-vc-list.has-badge {
padding-top: 24px;
}

.tdp-vc-badge {
position: absolute;
bottom: calc( 100% + 9px );
left: 50%;
transform: translateX( -50% );
white-space: nowrap;
background: var( --tdp-vc-accent );
color: #fff;
font-size: 10px;
font-weight: 800;
line-height: 1;
letter-spacing: 0.05em;
text-transform: uppercase;
padding: 5px 9px;
border-radius: 20px;
box-shadow: 0 4px 10px rgba( 0, 0, 0, 0.22 );
pointer-events: none;
z-index: 3;
}

.tdp-vc-badge::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
transform: translateX( -50% );
border: 5px solid transparent;
border-top-color: var( --tdp-vc-accent );
}

.is-animated .tdp-vc-badge {
animation: tdp-vc-float 2.2s ease-in-out infinite;
}





.tdp-vc-list {
transition: padding-bottom 0.2s ease, row-gap 0.2s ease;
}




.tdp-vc-list.has-stock-tags {
padding-bottom: 18px;
row-gap: calc( var( --tdp-vc-size ) * 0.55 );
}



.tdp-vc-stock {
position: absolute;
top: calc( 100% + 4px );
left: 50%;
transform: translateX( -50% );
white-space: nowrap;
padding: 2px 4px;
border-radius: 10px;
background: #e6f4d7;
color: #2f6a10;
border: 1px solid rgba( 47, 106, 16, 0.25 );
font-size: calc( var( --tdp-vc-size ) * 0.15 );
font-weight: 800;
line-height: 1.1;
letter-spacing: 0.02em;
text-transform: uppercase;
pointer-events: none;
opacity: 0;
visibility: hidden;
transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

.tdp-vc-list.has-stock-tags .tdp-vc-stock {
opacity: 1;
visibility: visible;
transition: opacity 0.25s ease 0.1s, visibility 0s;
}




.is-animated .tdp-vc-swatch {
animation: tdp-vc-pop 0.45s cubic-bezier( 0.34, 1.56, 0.64, 1 ) both;
animation-delay: calc( var( --i, 0 ) * 60ms );
}


.tdp-vc-swatch.just-picked {
animation: tdp-vc-tap 0.4s ease;
}

@keyframes tdp-vc-pop {
0% {
opacity: 0;
transform: scale( 0.2 );
}
100% {
opacity: 1;
transform: scale( 1 );
}
}

@keyframes tdp-vc-tap {
0% {
transform: scale( 1.08 );
}
40% {
transform: scale( 0.86 );
}
100% {
transform: scale( 1.08 );
}
}

@keyframes tdp-vc-pulse {
0% {
opacity: 0.9;
transform: scale( 1 );
}
70% {
opacity: 0;
transform: scale( 1.35 );
}
100% {
opacity: 0;
transform: scale( 1.35 );
}
}



@keyframes tdp-vc-pulse-pill {
0% {
opacity: 0.9;
top: -3px;
right: -3px;
bottom: -3px;
left: -3px;
}
70%,
100% {
opacity: 0;
top: -9px;
right: -9px;
bottom: -9px;
left: -9px;
}
}

@keyframes tdp-vc-float {
0%,
100% {
transform: translateX( -50% ) translateY( 0 );
}
50% {
transform: translateX( -50% ) translateY( -3px );
}
}






.tdp-vc-actions {
--tdp-vc-buy: #ff9500;
--tdp-vc-buy-ink: #1b2416;
box-sizing: border-box;
display: flex;
flex: 0 0 100%;
flex-direction: column;
align-items: center;
gap: 10px;
width: 100%;
max-width: 100%;
margin: 16px 0 10px;
clear: both;
}

.tdp-vc-actions button.tdp-vc-buy,
.tdp-vc-actions button.tdp-vc-more {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
box-sizing: border-box;
width: 90%;
max-width: 100%;
min-height: 48px;
white-space: normal;
margin: 0;
padding: 12px 20px;
border-radius: 999px;
font-size: 1rem;
font-weight: 800;
line-height: 1.2;
letter-spacing: 0.04em;
text-transform: uppercase;
text-align: center;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
transition: transform 0.16s ease, box-shadow 0.2s ease, filter 0.2s ease, opacity 0.2s ease;
}


.tdp-vc-actions button.tdp-vc-buy {
border: 0;
background: var( --tdp-vc-buy );
color: var( --tdp-vc-buy-ink );
box-shadow: 0 6px 16px rgba( 0, 0, 0, 0.16 );
}

.tdp-vc-actions button.tdp-vc-buy:hover,
.tdp-vc-actions button.tdp-vc-buy:focus-visible {
background: var( --tdp-vc-buy );
color: var( --tdp-vc-buy-ink );
filter: brightness( 1.06 );
transform: translateY( -1px );
box-shadow: 0 8px 20px rgba( 0, 0, 0, 0.2 );
}

.tdp-vc-actions button.tdp-vc-buy:active {
transform: translateY( 0 ) scale( 0.99 );
}



.tdp-vc-actions button.tdp-vc-buy.is-needs-selection,
.tdp-vc-actions button.tdp-vc-buy.is-unavailable {
opacity: 0.55;
box-shadow: none;
}


.tdp-vc-actions button.tdp-vc-more {
min-height: 44px;
border: 2px solid var( --tdp-vc-buy );
background: #fff;
color: #1b2416;
font-weight: 700;
text-transform: none;
letter-spacing: 0;
}

.tdp-vc-actions button.tdp-vc-more:hover,
.tdp-vc-actions button.tdp-vc-more:focus-visible {
background: color-mix( in srgb, var( --tdp-vc-buy ) 10%, #fff );
color: #1b2416;
transform: translateY( -1px );
}

.tdp-vc-more-arrow {
display: inline-block;
width: 9px;
height: 9px;
border: solid var( --tdp-vc-buy );
border-width: 0 2.5px 2.5px 0;
transform: translateY( -3px ) rotate( 45deg );
}

.is-animated .tdp-vc-more:hover .tdp-vc-more-arrow {
animation: tdp-vc-bounce 0.8s ease-in-out infinite;
}




@media ( min-width: 768px ) {
.tdp-vc-actions {
flex-direction: row;
flex-wrap: wrap;
align-items: stretch;
gap: 12px;
}

.tdp-vc-actions button.tdp-vc-buy,
.tdp-vc-actions button.tdp-vc-more {
flex: 1 1 220px;
width: auto;
min-height: 54px;
}

.tdp-vc-actions button.tdp-vc-buy {
font-size: 1.08rem;
}



.tdp-vc-actions button.tdp-vc-more {
gap: 6px;
padding-right: 12px;
padding-left: 12px;
font-size: 0.92rem;
}

.tdp-vc-actions-msg {
flex-basis: 100%;
}
}


.tdp-vc-actions-msg {
width: 100%;
}


.tdp-vc-actions-msg {
display: none;
font-size: 0.9em;
font-weight: 600;
color: #c2410c;
text-align: center;
}

.tdp-vc-actions.has-msg .tdp-vc-actions-msg {
display: block;
}


.tdp-vc-list.is-shaking {
animation: tdp-vc-shake 0.5s ease;
}


.tpa-addons.tdp-vc-highlight {
animation: tdp-vc-glow 1.6s ease-out;
scroll-margin-top: 90px;
}

@keyframes tdp-vc-shake {
0%,
100% {
transform: translateX( 0 );
}
20%,
60% {
transform: translateX( -6px );
}
40%,
80% {
transform: translateX( 6px );
}
}

@keyframes tdp-vc-bounce {
0%,
100% {
transform: translateY( -3px ) rotate( 45deg );
}
50% {
transform: translateY( 0 ) rotate( 45deg );
}
}

@keyframes tdp-vc-glow {
0% {
box-shadow: 0 0 0 0 rgba( 255, 149, 0, 0.55 );
}
100% {
box-shadow: 0 0 0 14px rgba( 255, 149, 0, 0 );
}
}


@media ( prefers-reduced-motion: reduce ) {
.tdp-vc-swatch,
.tdp-vc-check,
.tdp-vc-dot {
transition: none;
}
.is-animated .tdp-vc-swatch,
.is-animated .tdp-vc-badge,
.is-animated .tdp-vc-swatch.is-selected::after,
.is-animated .tdp-vc-swatch.is-pill.is-selected::after,
.tdp-vc-swatch.just-picked,
.tdp-vc-list.is-shaking,
.is-animated .tdp-vc-more:hover .tdp-vc-more-arrow,
.tpa-addons.tdp-vc-highlight {
animation: none;
}
}


@media ( max-width: 480px ) {
.tdp-vc-form {
--tdp-vc-gap: 10px;
}
}
