.tpa-addons {
--tpa-lime: #B8FF4A;
--tpa-lime-dark: #8FE600;
--tpa-bg: #FAFAF5;
--tpa-ink: #0F1A0A;
--tpa-muted: #5C6B52;
--tpa-line: #E6E6DC;
--tpa-radius: 14px;
margin: 22px 0;
font-family: inherit;
color: var(--tpa-ink);
background: transparent;
touch-action: pan-y;
}

.tpa-addons * { box-sizing: border-box; }

.tpa-group {
margin-bottom: 8px;
background: transparent;
border: 0;
padding: 0;
}

.tpa-group:last-of-type { margin-bottom: 0; }



.tpa-group-header {
margin: 18px 0 10px;
background: linear-gradient(180deg, #14201A 0%, #0F1A0A 100%);
padding: 10px 14px 10px 18px;
border-radius: 10px;
box-shadow: 0 2px 6px rgba(15,26,10,0.12);
position: relative;
overflow: hidden;
}
.tpa-group-header::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: var(--tpa-lime);
}
.tpa-group:first-of-type .tpa-group-header { margin-top: 4px; }

.tpa-group-title {
font-size: 0.92rem;
font-weight: 800;
letter-spacing: 0.06em;
text-transform: uppercase;
margin: 0;
color: #fff;
display: block;
line-height: 1.3;
}
.tpa-group-subtitle {
color: rgba(250,250,245,0.78);
margin: 4px 0 0;
font-size: 0.82rem;
font-weight: 500;
line-height: 1.4;
padding: 0;
}

.tpa-free-banner {
margin: 18px 0 10px;
background: linear-gradient(180deg, #14201A 0%, #0F1A0A 100%);
padding: 10px 14px 10px 18px;
border-radius: 10px;
color: #fff;
box-shadow: 0 2px 6px rgba(15,26,10,0.12);
position: relative;
overflow: hidden;
}
.tpa-free-banner::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: var(--tpa-lime);
}
.tpa-free-title {
font-size: 0.95rem;
font-weight: 800;
margin: 0;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--tpa-lime);
}
.tpa-free-note {
color: rgba(250,250,245,0.85);
margin: 4px 0 0;
font-size: 0.82rem;
font-weight: 500;
}
.tpa-free-note::before {
content: "🎁 ";
}

.tpa-free-value {
margin: 6px 0 0;
font-size: 0.82rem;
font-weight: 600;
color: rgba(250,250,245,0.85);
}
.tpa-free-value strong,
.tpa-free-value .woocommerce-Price-amount {
color: var(--tpa-lime);
font-weight: 800;
}
.tpa-summary-strike {
color: rgba(255,255,255,0.55);
text-decoration: line-through;
font-size: 0.8rem;
font-weight: 600;
margin-right: 4px;
}
.tpa-summary-row.tpa-summary-regalo {
margin-top: 4px;
padding: 8px 10px;
border-radius: 8px;
background: rgba(184,255,74,0.12);
font-weight: 700;
}
.tpa-summary-regalo-amount {
color: var(--tpa-lime);
font-weight: 800;
text-align: right;
}
.tpa-summary-regalo-amount small {
display: block;
font-size: 0.68rem;
font-weight: 600;
color: rgba(250,250,245,0.7);
}

.tpa-addons .tpa-items {
display: flex !important;
flex-direction: column !important;
gap: 0 !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}

.tpa-addons .tpa-items > * { margin: 0 !important; }
.tpa-addons .tpa-item + .tpa-item { margin-top: -2px !important; }

.tpa-item-label {
display: block;
cursor: pointer;
margin: 0;
}

.tpa-item-check {
position: absolute;
opacity: 0;
pointer-events: none;
}

.tpa-addons .tpa-item,
.tpa-addons .tpa-item-label,
.tpa-addons .tpa-item-label > .tpa-item-card {
display: block;
background: transparent;
border: 0;
padding: 0;
margin: 0 !important;
}

.tpa-addons .tpa-item-label > .tpa-item-card {
display: flex;
background: #fff;
border: 2px solid var(--tpa-lime);
padding: 12px 14px;
}

.tpa-item-card {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 14px;
background: #fff;
border: 2px solid var(--tpa-lime);
border-radius: var(--tpa-radius);
transition: border-color .15s ease, box-shadow .15s ease, transform .1s ease;
position: relative;
}

.tpa-item-card:hover {
border-color: var(--tpa-lime-dark);
}







.tpa-item-check:checked + .tpa-item-card {
border-color: var(--tpa-lime-dark);
background: #f6fff1;
box-shadow: 0 0 0 1px var(--tpa-lime-dark) inset, 0 4px 16px rgba(143, 230, 0, 0.18);
}

.tpa-item-thumb {
flex-shrink: 0;
width: 50px;
height: 50px;
border-radius: 9px;
overflow: hidden;
background: var(--tpa-bg);
display: flex;
align-items: center;
justify-content: center;
}

.tpa-item-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}

.tpa-item-body {
flex: 1;
min-width: 0;
}

.tpa-item-title {
font-weight: 600;
font-size: 0.96rem;
line-height: 1.3;
}

.tpa-item-options {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin: 0;
max-height: 0;
overflow: hidden;
transition: max-height .25s ease, margin-top .25s ease, opacity .2s ease .05s;
opacity: 0;
}

.tpa-item.is-expanded .tpa-item-options {
max-height: 400px;
margin-top: 8px;
opacity: 1;
}

.tpa-addons .tpa-option {
font: inherit;
font-size: 0.78rem;
padding: 5px 12px;
border-radius: 999px;
border: 1px solid var(--tpa-line);
background: #fff;
cursor: pointer;
color: var(--tpa-ink);
transition: all .12s ease;
display: inline-flex;
align-items: center;
gap: 0;
width: auto;
height: auto;
grid-template-columns: none;
box-sizing: border-box;
}

.tpa-addons .tpa-option:hover {
border-color: var(--tpa-lime-dark);
}

.tpa-addons .tpa-option.is-active {
background: var(--tpa-ink);
color: var(--tpa-lime);
border-color: var(--tpa-ink);
}

.tpa-item-price-wrap {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6px;
flex-shrink: 0;
min-width: 90px;
}

.tpa-price {
font-weight: 700;
font-size: 0.98rem;
white-space: nowrap;
}

.tpa-price-strike {
color: var(--tpa-muted);
text-decoration: line-through;
font-size: 0.85rem;
}

.tpa-free-badge {
display: inline-flex;
align-items: center;
gap: 4px;
background: var(--tpa-lime);
color: var(--tpa-ink);
font-weight: 800;
font-size: 0.78rem;
padding: 6px 14px;
border-radius: 999px;
letter-spacing: 0.02em;
box-shadow: 0 0 14px rgba(184, 255, 74, 0.45);
}



.tpa-item--included .tpa-item-label { cursor: default; }


.tpa-addons .tpa-item--included .tpa-item-label > .tpa-item-card,
.tpa-addons .tpa-item--included .tpa-item-check:checked + .tpa-item-card,
.tpa-item--included .tpa-item-card {
border-color: var(--tpa-lime-dark);
background: #f6fff1;
box-shadow: 0 0 0 1px var(--tpa-lime-dark) inset, 0 4px 16px rgba(143, 230, 0, 0.18);
cursor: default;
}
.tpa-addons .tpa-item--included .tpa-item-label > .tpa-item-card:hover { border-color: var(--tpa-lime-dark); transform: none; }

.tpa-item--included .tpa-item-card::after { content: none !important; }
.tpa-included-badge {
display: inline-block;
background: var(--tpa-ink);
color: var(--tpa-lime);
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 999px;
white-space: nowrap;
}









.tpa-installation {
margin-top: 22px;
padding: 16px 18px;
background: var(--tpa-bg);
border-radius: var(--tpa-radius);
border: 1px solid var(--tpa-line);
}

.tpa-installation--conditional {
transition: opacity .2s ease, max-height .25s ease, margin-top .2s ease, padding .2s ease;
overflow: hidden;
}

.tpa-installation--conditional.is-hidden {
display: none;
}

.tpa-install-label {
margin: 0 0 4px;
font-size: 1.02rem;
font-weight: 700;
}

.tpa-install-desc {
color: var(--tpa-muted);
margin: 0 0 12px;
font-size: 0.88rem;
}

.tpa-install-toggle {
display: flex;
gap: 10px;
flex-wrap: wrap;
}

.tpa-radio {
flex: 1;
min-width: 200px;
display: flex;
align-items: center;
gap: 10px;
padding: 12px 16px;
background: #fff;
border: 2px solid var(--tpa-lime);
border-radius: 12px;
cursor: pointer;
transition: all .12s ease;
}

.tpa-radio input[type="radio"] {
-webkit-appearance: none;
appearance: none;
width: 18px;
height: 18px;
margin: 0;
border: 2px solid var(--tpa-line);
border-radius: 50%;
background: #fff;
flex-shrink: 0;
position: relative;
cursor: pointer;
transition: border-color .12s ease;
}

.tpa-radio input[type="radio"]:checked {
border-color: var(--tpa-lime-dark);
}

.tpa-radio input[type="radio"]:checked::after {
content: "";
position: absolute;
inset: 2px;
border-radius: 50%;
background: var(--tpa-lime);
}

.tpa-radio:has(input:checked) {
border-color: var(--tpa-lime-dark);
box-shadow: 0 0 0 1px var(--tpa-lime-dark) inset;
background: #fcfff8;
}

.tpa-radio-text {
font-weight: 600;
font-size: 0.92rem;
flex: 1;
}

.tpa-radio-price {
font-weight: 700;
font-size: 0.88rem;
}




.tpa-item-install {
display: none;
margin: 0 0 10px;
padding: 0 12px 0 14px;
}

.tpa-item-install.is-visible {
display: block;
animation: tpa-install-in .18s ease;
}

@keyframes tpa-install-in {
from { opacity: 0; transform: translateY(-3px); }
to   { opacity: 1; transform: translateY(0); }
}

.tpa-item-install-toggle {
display: flex;
align-items: center;
gap: 10px;
padding: 9px 12px;
background: #fff;
border: 2px solid var(--tpa-line);
border-radius: 12px;
cursor: pointer;
transition: border-color .12s ease, background .12s ease;
}

.tpa-item-install-toggle:has(.tpa-item-install-check:checked) {
border-color: var(--tpa-lime-dark);
background: #fcfff8;
}

.tpa-item-install-check {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}


.tpa-item-install-track {
flex-shrink: 0;
width: 40px;
height: 22px;
border-radius: 999px;
background: #d8d8ce;
position: relative;
transition: background .15s ease;
}

.tpa-item-install-thumb {
position: absolute;
top: 2px;
left: 2px;
width: 18px;
height: 18px;
border-radius: 50%;
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
transition: transform .15s ease;
}

.tpa-item-install-toggle:has(.tpa-item-install-check:checked) .tpa-item-install-track {
background: var(--tpa-lime-dark);
}

.tpa-item-install-toggle:has(.tpa-item-install-check:checked) .tpa-item-install-thumb {
transform: translateX(18px);
}

.tpa-item-install-text {
flex: 1;
font-weight: 600;
font-size: 0.9rem;
line-height: 1.2;
}


.tpa-item-install-on { display: none; }
.tpa-item-install-off { display: inline; color: var(--tpa-muted); }
.tpa-item-install-toggle:has(.tpa-item-install-check:checked) .tpa-item-install-on { display: inline; }
.tpa-item-install-toggle:has(.tpa-item-install-check:checked) .tpa-item-install-off { display: none; }

.tpa-item-install-price {
flex-shrink: 0;
font-weight: 700;
font-size: 0.88rem;
color: var(--tpa-ink);
}

.tpa-item-install-toggle:not(:has(.tpa-item-install-check:checked)) .tpa-item-install-price {
color: var(--tpa-muted);
opacity: .7;
}




.tpa-item-install.is-locked {
position: relative;
}

.tpa-item-install.is-locked .tpa-item-install-toggle {
pointer-events: none;
filter: grayscale(1);
opacity: .4;

min-height: 52px;
}

.tpa-install-lock {
position: absolute;
top: 0;
bottom: 0;
left: 14px;
right: 12px;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 6px 12px;
background: rgba(232, 232, 227, .93);
-webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px);
border: 2px dashed #bdbdb2;
border-radius: 12px;
color: #4a4a42;
font-size: 0.78rem;
font-weight: 700;
line-height: 1.25;
text-align: center;
cursor: not-allowed;
}

.tpa-install-lock-icon {
flex-shrink: 0;
font-size: 0.95rem;
}

.tpa-install-lock-body {
display: flex;
flex-direction: column;
gap: 1px;
min-width: 0;
}

.tpa-install-lock-count {
font-weight: 600;
font-size: 0.72rem;
opacity: .75;
}

@media (max-width: 480px) {
.tpa-install-lock {
font-size: 0.72rem;
padding: 5px 8px;
gap: 6px;
}


.tpa-item-install.is-locked .tpa-item-install-toggle {
min-height: 64px;
}
}




.tpa-item-note-display {
display: none;
margin: -2px 0 10px;
padding: 8px 12px 8px 32px;
position: relative;
background: #fff8e1;
border: 1px solid #f0e0a8;
border-left: 3px solid #e6c34a;
border-radius: 10px;
color: #6b5a1e;
font-size: 0.84rem;
line-height: 1.35;
}

.tpa-item-note-display.is-visible {
display: block;
animation: tpa-install-in .18s ease;
}

.tpa-item-note-display::before {
content: "ℹ️";
position: absolute;
left: 10px;
top: 8px;
font-size: 0.9rem;
}


.tpa-summary-line.is-install .tpa-summary-label {
padding-left: 8px;
font-size: 0.86rem;
opacity: .92;
}

.tpa-summary-line.is-install-off .tpa-summary-label {
opacity: .6;
}

.tpa-summary {
margin-top: 12px;
padding: 16px 20px;
background: var(--tpa-ink);
color: #fff;
border-radius: var(--tpa-radius);
}

.tpa-summary-row {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.92rem;
padding: 4px 0;
}

.tpa-summary-row.tpa-summary-total {
margin-top: 6px;
padding-top: 12px;
border-top: 1px solid rgba(255,255,255,.1);
font-size: 1.12rem;
font-weight: 700;
}

.tpa-summary-row .woocommerce-Price-amount {
color: var(--tpa-lime);
}

@media (max-width: 600px) {
.tpa-item-card { padding: 10px 12px; gap: 10px; }
.tpa-item-thumb { width: 44px; height: 44px; }
.tpa-item-title { font-size: 0.9rem; }
.tpa-radio { min-width: 100%; }
}





.tpa-group--carousel .tpa-group-title,
.tpa-group--carousel .tpa-group-subtitle {
padding: 0 4px;
}

.tpa-group--carousel .tpa-items {
flex-direction: row !important;
overflow-x: auto !important;
overflow-y: visible !important;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
gap: 8px !important;
padding: 4px 4px 12px !important;
margin: 0 -4px !important;
scrollbar-width: thin;
}

.tpa-group--carousel .tpa-items::-webkit-scrollbar {
height: 6px;
}
.tpa-group--carousel .tpa-items::-webkit-scrollbar-thumb {
background: var(--tpa-lime);
border-radius: 4px;
}

.tpa-group--carousel .tpa-item {
flex: 0 0 200px !important;
scroll-snap-align: start;
margin-top: 0 !important;
}

.tpa-group--carousel .tpa-item + .tpa-item {
margin-top: 0 !important;
margin-left: 0 !important;
}

.tpa-group--carousel .tpa-item-label > .tpa-item-card {
flex-direction: column !important;
align-items: stretch !important;
padding: 10px !important;
gap: 6px !important;
height: 100%;
}

.tpa-group--carousel .tpa-item-thumb {
width: 100% !important;
height: 140px !important;
border-radius: 8px !important;
background: var(--tpa-bg);
}

.tpa-group--carousel .tpa-item-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}

.tpa-group--carousel .tpa-item-body {
text-align: left;
}

.tpa-group--carousel .tpa-item-title {
font-size: 0.88rem !important;
font-weight: 700;
}

.tpa-group--carousel .tpa-item-price-wrap {
align-items: flex-start !important;
min-width: 0 !important;
flex-direction: row !important;
justify-content: space-between;
width: 100%;
gap: 8px;
}

.tpa-group--carousel .tpa-free-badge {
font-size: 0.7rem;
padding: 4px 10px;
}





.tpa-install-toggle {
gap: 8px !important;
}

.tpa-addons .tpa-radio {
flex: 1;
min-width: 0;
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px !important;
background: #fff;
border: 2px solid var(--tpa-line);
border-radius: 12px;
cursor: pointer;
transition: all .15s ease;
position: relative;
}

.tpa-addons .tpa-radio:hover {
border-color: var(--tpa-lime-dark);
}

.tpa-addons .tpa-radio--yes::before {
content: "🔧";
font-size: 18px;
flex-shrink: 0;
}

.tpa-addons .tpa-radio:not(.tpa-radio--yes)::before {
content: "✖";
font-size: 14px;
color: var(--tpa-muted);
flex-shrink: 0;
width: 18px;
text-align: center;
}

.tpa-addons .tpa-radio input[type="radio"] {
-webkit-appearance: none;
appearance: none;
width: 20px;
height: 20px;
margin: 0;
border: 2px solid var(--tpa-line);
border-radius: 50%;
background: #fff;
flex-shrink: 0;
position: relative;
cursor: pointer;
transition: border-color .12s ease;
}

.tpa-addons .tpa-radio input[type="radio"]:checked {
border-color: var(--tpa-lime-dark);
border-width: 6px;
}

.tpa-addons .tpa-radio:has(input:checked) {
border-color: var(--tpa-lime-dark);
background: #fcfff8;
box-shadow: 0 4px 12px rgba(143, 230, 0, 0.18);
}

.tpa-addons .tpa-radio-text {
font-weight: 600;
font-size: 0.95rem;
flex: 1;
line-height: 1.2;
}

.tpa-addons .tpa-radio-price {
font-weight: 700;
font-size: 0.9rem;
color: var(--tpa-ink);
white-space: nowrap;
}

.tpa-addons .tpa-radio:has(input:checked) .tpa-radio-price {
color: var(--tpa-lime-dark);
}





.tpa-item:has(.tpa-option):not(.is-expanded) .tpa-item-card::after {
content: "▾";
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
font-size: 14px;
color: var(--tpa-muted);
pointer-events: none;
}

.tpa-item.is-expanded .tpa-item-card::after {
content: "▴";
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
font-size: 14px;
color: var(--tpa-lime-dark);
pointer-events: none;
}





.tpa-group:not(.tpa-group--carousel) .tpa-item .tpa-item-price-wrap {
margin-right: 18px;
}





.tpa-addons .tpa-group--carousel .tpa-items {
flex-direction: row !important;
overflow-x: auto !important;
overflow-y: visible !important;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
gap: 10px !important;
padding: 4px 4px 14px !important;
margin: 0 -4px !important;
flex-wrap: nowrap !important;
}

.tpa-addons .tpa-group--carousel .tpa-item {
flex: 0 0 200px !important;
margin-top: 0 !important;
margin-left: 0 !important;
scroll-snap-align: start;
display: block !important;
}

.tpa-addons .tpa-group--carousel .tpa-item + .tpa-item {
margin-top: 0 !important;
margin-left: 0 !important;
}

.tpa-addons .tpa-group--carousel .tpa-item-label > .tpa-item-card {
display: flex !important;
flex-direction: column !important;
align-items: stretch !important;
padding: 10px !important;
gap: 6px !important;
height: 100% !important;
border-radius: 12px !important;
}

.tpa-addons .tpa-group--carousel .tpa-item-thumb {
width: 100% !important;
height: 130px !important;
border-radius: 8px !important;
}

.tpa-addons .tpa-group--carousel .tpa-item-title {
font-size: 0.85rem !important;
font-weight: 700;
margin-top: 4px;
}

.tpa-addons .tpa-group--carousel .tpa-item-price-wrap {
align-items: flex-start !important;
min-width: 0 !important;
flex-direction: row !important;
justify-content: space-between !important;
width: 100%;
gap: 6px;
}


.tpa-addons .tpa-option-extra {
font-size: 0.7rem;
font-weight: 700;
margin-left: 6px;
opacity: .85;
}

.tpa-addons .tpa-option-extra .woocommerce-Price-amount {
color: inherit;
}

.tpa-addons .tpa-option.is-active .tpa-option-extra {
color: var(--tpa-lime);
}


.tpa-addons .tpa-option {
padding: 7px 12px !important;
font-size: 0.82rem !important;
min-height: 32px;
}

@media (max-width: 600px) {
.tpa-addons .tpa-option {
padding: 9px 14px !important;
font-size: 0.85rem !important;
min-height: 38px;
}
}





.tpa-addons {
clear: both !important;
width: 100% !important;
float: none !important;
display: block !important;
}


form.cart .quantity {
float: none !important;
clear: both !important;
display: flex !important;
align-items: center;
justify-content: center;
gap: 6px;
margin: 14px auto !important;
}


form.cart .single_add_to_cart_button {
clear: both !important;
float: none !important;
}





.tpa-group--fields {
margin-bottom: 14px;
}

.tpa-fields-title {
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
margin: 0 0 8px;
color: var(--tpa-muted);
}

.tpa-fields-subtitle {
color: var(--tpa-muted);
margin: 0 0 10px;
font-size: 0.88rem;
}

.tpa-fields-card {
background: #fff;
border: 2px solid var(--tpa-lime);
border-radius: var(--tpa-radius, 14px);
padding: 18px 20px;
display: flex;
flex-direction: column;
gap: 18px;
}

.tpa-field-block {
display: flex;
flex-direction: column;
}

.tpa-field-block-label {
font-weight: 700;
font-size: 0.85rem;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--tpa-ink);
margin: 0 0 2px;
}

.tpa-field-required {
color: var(--tpa-lime-dark);
font-weight: 700;
}


.tpa-group.tpa-group--tallas {
margin: 14px 0 6px;
}
.tpa-tallas-label {
margin: 0 0 8px;
font-size: 15px;
color: #444;
font-weight: 500;
display: flex;
align-items: center;
gap: 8px;
}
.tpa-tallas-label .tpa-group-req { margin-left: 0; }
.tpa-tallas-sub {
margin: -4px 0 8px;
font-size: 12.5px;
color: #777;
}


.tpa-addons .tpa-group--tallas .tpa-items.tpa-tallas {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
gap: 10px !important;
margin: 0 !important;
padding: 0 !important;
border: 0;
background: none;
}
.tpa-addons .tpa-group--tallas .tpa-item.tpa-talla,
.tpa-addons .tpa-group--tallas .tpa-item.tpa-talla + .tpa-item.tpa-talla {
display: inline-flex !important;
flex-direction: column;
align-items: center;
gap: 3px;
margin: 0 !important;
padding: 0;
border: 0;
background: none;
box-shadow: none;
cursor: pointer;
width: auto;
position: relative;
}
.tpa-group--tallas .tpa-talla .tpa-item-check {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.tpa-talla__pill {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 52px;
height: 52px;
padding: 0 14px;
border-radius: 999px;
border: 2px solid #d5d9de;
background: #fff;
color: #222;
font-size: 15px;
font-weight: 700;
line-height: 1;
box-sizing: border-box;
transition: border-color .15s, background .15s, transform .1s;
}
.tpa-talla:hover .tpa-talla__pill { border-color: #8a8f96; }
.tpa-talla.is-selected .tpa-talla__pill,
.tpa-talla .tpa-item-check:checked + .tpa-talla__pill {
border-color: #7cc23b;
background: #f1ffdf;
color: #14210a;
box-shadow: 0 0 0 3px rgba(184,255,74,.35);
}
.tpa-talla .tpa-item-check:focus-visible + .tpa-talla__pill { outline: 2px solid #2563eb; outline-offset: 2px; }
.tpa-talla__price {
font-size: 11px;
font-weight: 700;
color: #555;
}
.tpa-group--tallas.tpa-group--error .tpa-items { outline-offset: 6px; }


.tpa-group-req {
display: inline-block;
vertical-align: middle;
margin-left: 8px;
padding: 2px 9px;
border-radius: 999px;
background: #B8FF4A;
color: #14210a;
font-size: 11px;
font-weight: 900;
letter-spacing: .04em;
text-transform: uppercase;
}
.tpa-group--error .tpa-items {
outline: 2px solid #dc2626;
outline-offset: 4px;
border-radius: 12px;
}
.tpa-group-error-msg {
margin: 0 0 10px;
padding: 8px 12px;
border-radius: 8px;
background: #fef2f2;
border: 1px solid #fca5a5;
color: #991b1b;
font-size: 14px;
font-weight: 700;
}

.tpa-field-price-hint {
text-transform: none;
letter-spacing: normal;
font-weight: 600;
color: var(--tpa-muted);
}

.tpa-field-block-sublabel {
font-size: 0.82rem;
color: var(--tpa-muted);
margin-bottom: 8px;
}

.tpa-field-input {
width: 100%;
padding: 12px 16px;
border: 1.5px solid var(--tpa-line);
border-radius: 999px;
background: #fff;
font: inherit;
font-size: 0.95rem;
color: var(--tpa-ink);
transition: border-color .15s ease, box-shadow .15s ease;
}

.tpa-field-input::placeholder {
color: #b8bbb1;
}

.tpa-field-input:focus {
outline: 0;
border-color: var(--tpa-lime-dark);
box-shadow: 0 0 0 3px rgba(184, 255, 74, 0.25);
}

.tpa-field-input:invalid:not(:placeholder-shown) {
border-color: #d65a4a;
}


.tpa-field-input.tpa-field-error {
border-color: #d65a4a !important;
box-shadow: 0 0 0 4px rgba(214, 90, 74, 0.18) !important;
background: #fff7f5 !important;
animation: tpa-shake .35s ease;
}

.tpa-field-input.tpa-field-error::placeholder {
color: #d65a4a;
}

@keyframes tpa-shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-4px); }
75% { transform: translateX(4px); }
}


.tpa-summary.tpa-summary--hidden {
display: none !important;
}





.tpa-summary-product {
font-weight: 600;
padding-bottom: 10px;
margin-bottom: 4px;
border-bottom: 1px solid rgba(255,255,255,.08);
}

.tpa-summary-product .tpa-summary-label {
font-size: 0.95rem;
}

.tpa-summary-product .tpa-summary-amount {
font-weight: 700;
font-size: 0.95rem;
}

.tpa-summary-lines {
display: flex;
flex-direction: column;
}

.tpa-summary-line {
font-size: 0.85rem;
color: rgba(255,255,255,.82);
padding: 3px 0;
gap: 12px;
}

.tpa-summary-line .tpa-summary-label {
flex: 1;
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
}

.tpa-summary-line .tpa-summary-label::before {
content: "+";
color: var(--tpa-lime);
font-weight: 700;
font-size: 0.95rem;
flex-shrink: 0;
}

.tpa-summary-line.is-free .tpa-summary-label::before {
content: "🎁";
}

.tpa-summary-line.is-install .tpa-summary-label::before {
content: "🔧";
}

.tpa-summary-line .tpa-summary-amount {
color: var(--tpa-lime);
font-weight: 700;
white-space: nowrap;
flex-shrink: 0;
}

.tpa-summary-free {
color: var(--tpa-lime);
font-weight: 800;
font-size: 0.78rem;
letter-spacing: 0.04em;
}

.tpa-summary-total {
margin-top: 8px !important;
padding-top: 10px !important;
border-top: 1px solid rgba(255,255,255,.12) !important;
}


.tpa-addons .tpa-option.has-image {
padding: 4px 12px 4px 4px;
gap: 8px;
}

.tpa-addons .tpa-option .tpa-option-thumb {
width: 24px;
height: 24px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
display: inline-block;
border: 1px solid rgba(0,0,0,.08);
}

.tpa-addons .tpa-option.has-image.is-active .tpa-option-thumb {
border-color: var(--tpa-lime);
}

.tpa-addons .tpa-option .tpa-option-label {
display: inline-block;
}





.tpa-item-axes {
display: flex;
flex-direction: column;
gap: 8px;
margin: 0;
max-height: 0;
overflow: hidden;
transition: max-height .25s ease, margin-top .25s ease, opacity .2s ease .05s;
opacity: 0;
}

.tpa-item.is-expanded .tpa-item-axes {
max-height: 800px;
margin-top: 8px;
opacity: 1;
}

.tpa-axis {
display: flex;
flex-direction: column;
gap: 4px;
}

.tpa-axis-name {
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--tpa-muted);
}

.tpa-axis-options {
display: flex;
flex-wrap: wrap;
gap: 6px;
}










.tpa-group--notice {
display: flex;
gap: 14px;
align-items: center;
padding: 15px 18px;
border-radius: 14px;
border: 1.5px solid;
margin: 0 0 16px;
box-shadow: 0 2px 10px var(--tpa-notice-sombra, rgba(47, 111, 216, 0.10));
transition: border-color .15s, box-shadow .15s, transform .1s;
}

.tpa-notice--info {
background: linear-gradient(180deg, #f2f7ff 0%, #e6effd 100%);
border-color: #bcd6fb;
color: #14345f;
--tpa-notice-texto: #3d6fb5;
--tpa-notice-acento: #2f6fd8;
--tpa-notice-sombra: rgba(47, 111, 216, 0.10);
--tpa-notice-borde-hover: #8ab7f7;
}

.tpa-notice--success {
background: linear-gradient(180deg, #f4fff0 0%, #e7fbdf 100%);
border-color: #b9e99a;
color: #1f4d12;
--tpa-notice-texto: #3f7a2a;
--tpa-notice-acento: #16a34a;
--tpa-notice-sombra: rgba(22, 163, 74, 0.10);
--tpa-notice-borde-hover: #8fd36a;
}

.tpa-notice--warning {
background: linear-gradient(180deg, #fffaeb 0%, #fdf1cc 100%);
border-color: #f3d98a;
color: #5c4200;
--tpa-notice-texto: #8a6508;
--tpa-notice-acento: #f59e0b;
--tpa-notice-sombra: rgba(245, 158, 11, 0.12);
--tpa-notice-borde-hover: #e9c25a;
}

.tpa-notice--danger {
background: linear-gradient(180deg, #fff3f3 0%, #fde3e3 100%);
border-color: #f3b4b4;
color: #6e1414;
--tpa-notice-texto: #a33a3a;
--tpa-notice-acento: #dc2626;
--tpa-notice-sombra: rgba(220, 38, 38, 0.10);
--tpa-notice-borde-hover: #e98f8f;
}


.tpa-group--notice.tpa-notice--plegable:hover {
border-color: var(--tpa-notice-borde-hover);
box-shadow: 0 6px 20px var(--tpa-notice-sombra);
transform: translateY(-1px);
}





.tpa-notice-icon {
flex-shrink: 0;
width: 26px;
height: 26px;
margin-top: 0;
background-position: center;
background-repeat: no-repeat;
background-size: 26px 26px;
}

.tpa-notice--info .tpa-notice-icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='%232f6fd8'/><rect x='10.6' y='10' width='2.8' height='8' rx='1.4' fill='white'/><rect x='10.6' y='6' width='2.8' height='2.8' rx='1.4' fill='white'/></svg>");
}

.tpa-notice--success .tpa-notice-icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='%2316a34a'/><path d='M7 12.4l3.1 3.1L17.2 8.2' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.tpa-notice--warning .tpa-notice-icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='%23f59e0b'/><rect x='10.6' y='6' width='2.8' height='8' rx='1.4' fill='white'/><rect x='10.6' y='16' width='2.8' height='2.8' rx='1.4' fill='white'/></svg>");
}

.tpa-notice--danger .tpa-notice-icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='%23dc2626'/><path d='M8.2 8.2l7.6 7.6M15.8 8.2l-7.6 7.6' stroke='white' stroke-width='2.2' stroke-linecap='round'/></svg>");
}

.tpa-notice-content {
flex: 1;
min-width: 0;
}

.tpa-notice-title {
font-weight: 800;
font-size: 15px;
letter-spacing: 0.01em;
text-transform: none;
margin-bottom: 4px;
line-height: 1.4;
}

.tpa-notice-text {
font-size: 13.5px;
line-height: 1.4;
font-weight: 500;
color: var(--tpa-notice-texto, inherit);
}

.tpa-notice-text a {
color: var(--tpa-notice-acento, inherit);
text-decoration: underline;
text-underline-offset: 2px;
font-weight: 700;
}

.tpa-notice-text a:hover {
text-decoration: none;
}







.tpa-notice-text {
line-height: 1.55;
}

.tpa-notice-text p {
margin: 0 0 12px;
}

.tpa-notice-text p:last-child {
margin-bottom: 0;
}

.tpa-notice-text ul,
.tpa-notice-text ol {
margin: 0 0 12px;
padding-left: 20px;
}

.tpa-notice-text li {
margin-bottom: 6px;
}

.tpa-notice-text li:last-child,
.tpa-notice-text ul:last-child,
.tpa-notice-text ol:last-child {
margin-bottom: 0;
}



.tpa-video-btn {
display: flex;
align-items: center;
gap: 14px;
margin: 0 0 14px;
padding: 12px 16px;
border-radius: 12px;
background: #ff0033;
color: #fff !important;
text-decoration: none !important;
box-shadow: 0 4px 14px rgba(255, 0, 51, 0.28);
transition: transform .12s ease, box-shadow .12s ease;
}

.tpa-video-btn:hover {
transform: translateY(-1px);
box-shadow: 0 8px 20px rgba(255, 0, 51, 0.36);
color: #fff !important;
text-decoration: none !important;
}

.tpa-video-play {
flex: 0 0 auto;
width: 34px;
height: 34px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.22);
position: relative;
}


.tpa-video-play::before {
content: "";
position: absolute;
top: 50%;
left: 54%;
transform: translate(-50%, -50%);
border-style: solid;
border-width: 7px 0 7px 11px;
border-color: transparent transparent transparent #fff;
}

.tpa-video-txt {
display: flex;
flex-direction: column;
gap: 1px;
min-width: 0;
flex: 1;
}

.tpa-video-main {
font-size: 1rem;
font-weight: 800;
line-height: 1.2;
letter-spacing: .01em;
}

.tpa-video-sub {
font-size: 0.74rem;
font-weight: 600;
opacity: .88;
line-height: 1.25;
}

.tpa-video-flecha {
flex: 0 0 auto;
width: 9px;
height: 9px;
border-right: 2.5px solid rgba(255, 255, 255, 0.9);
border-bottom: 2.5px solid rgba(255, 255, 255, 0.9);
transform: rotate(-45deg);
}



.tpa-notice-video-pill {
display: inline-flex;
align-items: center;
gap: 6px;
flex: 0 0 auto;
padding: 3px 10px 3px 4px;
border-radius: 999px;
background: #ff0033;
color: #fff;
font-size: 0.7rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .04em;
line-height: 1;
}

.tpa-notice-video-pill .tpa-video-play {
width: 18px;
height: 18px;
background: rgba(255, 255, 255, 0.25);
}

.tpa-notice-video-pill .tpa-video-play::before {
border-width: 4px 0 4px 6px;
}





.tpa-group--notice + .tpa-group--notice {
margin-top: 22px;
}



.tpa-group--notice.tpa-notice--plegable {
display: block;
padding: 0;
}

.tpa-notice--plegable > .tpa-notice-head {
display: flex;
gap: 14px;
align-items: center;
padding: 15px 18px;
cursor: pointer;
list-style: none;
-webkit-user-select: none;
user-select: none;
}


.tpa-notice--plegable > .tpa-notice-head::-webkit-details-marker { display: none; }
.tpa-notice--plegable > .tpa-notice-head::marker { content: ""; }

.tpa-notice--plegable .tpa-notice-title {
flex: 1;
min-width: 0;
margin-bottom: 0;
}

.tpa-notice-flecha {
flex-shrink: 0;
width: 11px;
height: 11px;
margin-top: -5px;
border-right: 2.5px solid var(--tpa-notice-acento, currentColor);
border-bottom: 2.5px solid var(--tpa-notice-acento, currentColor);
transform: rotate(45deg);
opacity: 0.9;
transition: transform 0.18s ease, margin-top 0.18s ease;
}

.tpa-notice--plegable[open] .tpa-notice-flecha {
margin-top: 3px;
transform: rotate(-135deg);
}


.tpa-notice--plegable > .tpa-notice-content {
padding: 0 18px 15px 58px;
}

@media (max-width: 480px) {
.tpa-notice--plegable > .tpa-notice-content {
padding-left: 18px;
}
}


.tpa-addons .tpa-items,
.tpa-addons .tpa-items > *,
.tpa-addons .tpa-item,
.tpa-addons .tpa-item-label,
.tpa-addons .tpa-item-card {
margin: 0 !important;
}

.tpa-addons .tpa-items {
gap: 0 !important;
padding: 0 !important;
display: flex !important;
flex-direction: column !important;
}

.tpa-addons .tpa-item + .tpa-item {
margin-top: -2px !important;
}

.tpa-addons .tpa-item + .tpa-item .tpa-item-card,
.tpa-addons .tpa-item + .tpa-item .tpa-item-label > .tpa-item-card {
margin-top: -2px !important;
}






.tpa-addons .tpa-install-toggle {
flex-wrap: wrap !important;
}


@media (max-width: 600px) {
.tpa-addons .tpa-install-toggle {
flex-direction: column !important;
gap: 8px !important;
}
.tpa-addons .tpa-radio {
flex: 1 1 100% !important;
width: 100% !important;
min-width: 0 !important;
max-width: 100% !important;
padding: 12px 14px !important;
gap: 10px !important;
box-sizing: border-box;
}
.tpa-addons .tpa-radio-text {
font-size: 0.92rem;
flex: 1;
min-width: 0;
overflow-wrap: anywhere;
}
.tpa-addons .tpa-radio-price {
font-size: 0.92rem;
flex-shrink: 0;
margin-left: auto;
}
.tpa-addons .tpa-radio--yes::before {
font-size: 16px;
}
.tpa-addons .tpa-radio input[type="radio"] {
width: 18px;
height: 18px;
}
}


@media (max-width: 360px) {
.tpa-addons .tpa-radio {
flex-wrap: wrap;
padding: 10px 12px !important;
}
.tpa-addons .tpa-radio-price {
width: 100%;
text-align: right;
margin-left: 0;
padding-left: 32px;
font-size: 0.95rem;
}
}


.tpa-warranty-notice {
display: flex;
align-items: flex-start;
gap: 6px;
background: transparent;
border: 0;
border-left: 2px solid rgba(212,176,106,0.55);
border-radius: 0;
padding: 4px 0 4px 10px;
margin: 10px 0;
color: #8c7340;
font-family: inherit;
font-size: 10.5px;
line-height: 1.45;
opacity: 0.85;
box-shadow: none;
}
.tpa-warranty-notice:hover { opacity: 1; }
.tpa-warranty-notice__icon {
font-size: 10.5px;
line-height: 1.45;
flex-shrink: 0;
opacity: 0.55;
}
.tpa-warranty-notice__body { flex: 1; min-width: 0; }
.tpa-warranty-notice strong {
display: inline;
font-size: 10.5px;
font-weight: 600;
color: #8c7340;
margin: 0;
}
.tpa-warranty-notice p {
margin: 0;
display: inline;
font-size: 10.5px;
font-weight: 400;
color: #8c7340;
}

.tpa-warranty-notice p::before { content: " — "; opacity: 0.5; }


.tpa-extra-days-notice {
display: flex;
align-items: flex-start;
gap: 14px;
background: linear-gradient(180deg, #f3fff0 0%, #e6ffd6 100%);
border: 2px solid #8FE600;
border-left: 6px solid #1e4a0a;
border-radius: 12px;
padding: 16px 18px;
margin: 18px 0;
color: #1e4a0a;
font-family: inherit;
font-size: 14px;
line-height: 1.55;
box-shadow: 0 4px 14px rgba(143,230,0,0.18), 0 0 0 1px rgba(184,255,74,0.30) inset;
}
.tpa-extra-days-notice__icon {
font-size: 28px;
line-height: 1.1;
flex-shrink: 0;
margin-top: 1px;
}
.tpa-extra-days-notice__body { flex: 1; min-width: 0; }
.tpa-extra-days-notice strong {
display: block;
font-size: 15.5px;
font-weight: 800;
margin-bottom: 6px;
color: #1e4a0a;
letter-spacing: -0.005em;
}
.tpa-extra-days-notice p {
margin: 0 0 4px;
font-size: 13.5px;
font-weight: 500;
color: #2d5016;
line-height: 1.6;
}
.tpa-extra-days-notice p:last-child { margin-bottom: 0; }


.tpa-extra-days-notice--generic {   }





.tpa-preorder-badge {
position: absolute;
z-index: 10;
background: linear-gradient(180deg, #14201A 0%, #0F1A0A 100%);
color: #fff;
padding: 9px 14px;
border-radius: 10px;
border-left: 4px solid #B8FF4A;
box-shadow: 0 4px 14px rgba(15,26,10,0.20), 0 0 0 1px rgba(184,255,74,0.10);
max-width: 240px;
font-family: inherit;
animation: tpaPreorderFloat 3.5s ease-in-out infinite;
pointer-events: none;
}
.tpa-preorder-badge--compact {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 11px 6px 9px;
border-radius: 999px;
border-left: none;
border: 1px solid rgba(184,255,74,0.28);
max-width: none;
line-height: 1;
}
.tpa-preorder-badge--top-left     { top: 12px; left: 12px; }
.tpa-preorder-badge--top-right    { top: 12px; right: 12px; }
.tpa-preorder-badge--bottom-left  { bottom: 12px; left: 12px; }
.tpa-preorder-badge--bottom-right { bottom: 12px; right: 12px; }
.tpa-preorder-badge__icon {
font-size: 13px;
line-height: 1;
filter: saturate(1.2);
}
.tpa-preorder-badge__title {
display: inline-block;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.08em;
color: #B8FF4A;
text-transform: uppercase;
line-height: 1;
}
.tpa-preorder-badge--compact .tpa-preorder-badge__title { display: inline; }


.tpa-preorder-badge__text {
display: block;
font-size: 11.5px;
color: #fff;
margin-top: 3px;
line-height: 1.35;
font-weight: 500;
}
@keyframes tpaPreorderFloat {
0%, 100% { transform: translateY(0); }
50%      { transform: translateY(-3px); }
}
@media (max-width: 600px) {
.tpa-preorder-badge--compact { padding: 5px 10px 5px 8px; gap: 5px; }
.tpa-preorder-badge__icon    { font-size: 12px; }
.tpa-preorder-badge__title   { font-size: 10px; letter-spacing: 0.06em; }
}


.tpa-preorder-summary {
display: flex;
align-items: flex-start;
gap: 10px;
background: linear-gradient(180deg, #14201A 0%, #0F1A0A 100%);
color: #fff;
padding: 10px 14px;
border-radius: 10px;
border-left: 4px solid #B8FF4A;
box-shadow: 0 2px 10px rgba(15,26,10,0.12);
margin: 8px 0 12px;
font-family: inherit;
}
.tpa-preorder-summary__icon {
font-size: 18px;
line-height: 1.1;
flex-shrink: 0;
padding-top: 1px;
}
.tpa-preorder-summary__body { flex: 1; min-width: 0; }
.tpa-preorder-summary__title {
display: block;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.08em;
color: #B8FF4A;
text-transform: uppercase;
line-height: 1;
margin-bottom: 4px;
}
.tpa-preorder-summary__text {
display: block;
font-size: 13px;
color: #fff;
line-height: 1.4;
font-weight: 500;
}
@media (max-width: 600px) {
.tpa-preorder-summary { padding: 8px 12px; gap: 8px; margin: 6px 0 10px; }
.tpa-preorder-summary__icon { font-size: 16px; }
.tpa-preorder-summary__title { font-size: 10px; }
.tpa-preorder-summary__text { font-size: 12px; }
}


.tpa-canarias-notice {
display: flex;
align-items: flex-start;
gap: 10px;
background: linear-gradient(180deg, #fff8e7 0%, #fff5d6 100%);
border: 1px solid #f5b800;
border-left: 4px solid #d4a017;
border-radius: 10px;
padding: 11px 14px;
margin: 12px 0;
color: #6b4e00;
font-family: inherit;
font-size: 12.5px;
line-height: 1.5;
}
.tpa-canarias-notice__icon { font-size: 18px; line-height: 1.2; flex-shrink: 0; margin-top: 1px; }
.tpa-canarias-notice__body { flex: 1; min-width: 0; }
.tpa-canarias-notice strong { display: block; font-size: 13px; font-weight: 800; color: #5a3f00; margin-bottom: 3px; letter-spacing: -0.005em; }
.tpa-canarias-notice p { margin: 0; font-size: 12px; font-weight: 500; color: #7a5800; }


.tpa-summary-tier-confirm {
display: flex;
align-items: center;
gap: 8px;
margin: -2px 0 8px;
padding: 6px 12px;
background: rgba(184,255,74,0.10);
border-left: 3px solid var(--tpa-lime);
border-radius: 0 8px 8px 0;
font-size: 0.82rem;
font-weight: 500;
color: var(--tpa-lime);
letter-spacing: 0.005em;
animation: tpaTierConfirmIn .25s cubic-bezier(0.4, 0, 0.2, 1);
}
.tpa-summary-tier-confirm span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
background: var(--tpa-lime);
color: var(--tpa-ink);
border-radius: 50%;
font-size: 11px;
font-weight: 800;
flex-shrink: 0;
}
.tpa-summary-tier-confirm strong {
color: #fff;
font-weight: 700;
}
@keyframes tpaTierConfirmIn {
from { opacity: 0; transform: translateY(-4px); }
to   { opacity: 1; transform: translateY(0); }
}


.tpa-summary-product .tpa-summary-amount {
transition: color .2s ease;
}
.tpa-summary-product.is-flash .tpa-summary-amount {
color: var(--tpa-lime);
}


.tpa-preorder-notice {
display: flex;
align-items: flex-start;
gap: 10px;
background: linear-gradient(180deg, #e8f0ff 0%, #dbe7ff 100%);
border: 1px solid #5C7CFA;
border-left: 4px solid #3b4e9e;
border-radius: 10px;
padding: 11px 14px;
margin: 12px 0;
color: #2c3e8a;
font-family: inherit;
font-size: 12.5px;
line-height: 1.5;
}
.tpa-preorder-notice__icon { font-size: 18px; line-height: 1.2; flex-shrink: 0; margin-top: 1px; }
.tpa-preorder-notice__body { flex: 1; min-width: 0; }
.tpa-preorder-notice strong { display: block; font-size: 13px; font-weight: 800; color: #1e2a6b; margin-bottom: 3px; letter-spacing: -0.005em; }
.tpa-preorder-notice p { margin: 0; font-size: 12px; font-weight: 500; color: #3b4e9e; }


.tpa-promo-countdown {
margin: 12px 0 14px;
background: linear-gradient(135deg, #B8FF4A 0%, #8FE600 100%);
color: #0F1A0A;
border-radius: 12px;
padding: 12px 16px;
box-shadow: 0 4px 16px rgba(143, 230, 0, 0.28);
font-family: inherit;
overflow: hidden;
}
.tpa-promo-countdown-inner {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap;
}
.tpa-promo-countdown-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 34px; height: 34px;
background: #0F1A0A;
color: #B8FF4A;
border-radius: 50%;
flex-shrink: 0;
}
.tpa-promo-countdown-title {
font-size: 13px;
font-weight: 800;
letter-spacing: 0.03em;
text-transform: uppercase;
flex: 1;
min-width: 140px;
line-height: 1.15;
}
.tpa-promo-countdown-units {
display: inline-flex;
align-items: center;
gap: 4px;
font-variant-numeric: tabular-nums;
}
.tpa-promo-unit {
display: inline-flex;
flex-direction: column;
align-items: center;
min-width: 42px;
padding: 4px 6px;
background: #0F1A0A;
color: #B8FF4A;
border-radius: 8px;
line-height: 1;
}
.tpa-promo-unit b {
font-size: 20px;
font-weight: 800;
letter-spacing: -0.01em;
}
.tpa-promo-unit i {
font-style: normal;
font-size: 9.5px;
font-weight: 700;
opacity: 0.85;
text-transform: uppercase;
margin-top: 2px;
letter-spacing: 0.04em;
}
.tpa-promo-sep {
font-size: 22px;
font-weight: 800;
color: #0F1A0A;
opacity: 0.55;
margin: 0 -1px;
transform: translateY(-4px);
}
.tpa-promo-countdown--expired {
opacity: 0.65;
background: linear-gradient(135deg, #D4D4D4 0%, #B0B0B0 100%);
box-shadow: none;
}





@media (max-width: 640px) {
.tpa-promo-countdown { padding: 8px 10px; margin: 10px 0 12px; border-radius: 10px; }
.tpa-promo-countdown-inner { gap: 8px; flex-wrap: nowrap; }
.tpa-promo-countdown-icon { width: 26px; height: 26px; }
.tpa-promo-countdown-icon svg { width: 16px; height: 16px; }
.tpa-promo-countdown-title {
font-size: 10.5px;
letter-spacing: 0.02em;
line-height: 1.1;
flex: 0 1 auto;
min-width: 0;
}
.tpa-promo-countdown-units { gap: 3px; margin-left: auto; }
.tpa-promo-unit {
flex-direction: row;
align-items: baseline;
gap: 2px;
min-width: 0;
padding: 3px 6px;
border-radius: 5px;
}
.tpa-promo-unit b { font-size: 14px; }
.tpa-promo-unit i { font-size: 8.5px; margin-top: 0; }
.tpa-promo-sep { font-size: 12px; transform: none; opacity: 0.4; }
}


@media (max-width: 380px) {
.tpa-promo-countdown-inner { flex-wrap: wrap; }
.tpa-promo-countdown-title { flex-basis: calc(100% - 34px); font-size: 10px; }
.tpa-promo-countdown-units { margin-left: 0; width: 100%; justify-content: space-between; }
.tpa-promo-unit { flex: 1; justify-content: center; }
}


.tpa-group--cross-sell {
margin: 18px 0;
padding: 0;
background: transparent;
box-shadow: none;
border: none;
}



.tpa-group--cross-sell .tpa-group-header {
margin: 12px 0 8px !important;
padding: 6px 12px 6px 14px !important;
border-radius: 8px !important;
}
.tpa-group--cross-sell .tpa-group-header::before {
width: 3px !important;
}
.tpa-group--cross-sell .tpa-group-title {
font-size: 0.78rem !important;
letter-spacing: 0.04em !important;
line-height: 1.2 !important;
}
.tpa-group--cross-sell .tpa-group-subtitle {
font-size: 0.72rem !important;
margin: 2px 0 0 !important;
line-height: 1.3 !important;
}
.tpa-cross-sell-title {
font-size: 15px;
font-weight: 800;
color: #0F1A0A;
margin: 0 0 4px;
letter-spacing: -0.005em;
}
.tpa-cross-sell-subtitle {
font-size: 12.5px;
color: #5C6B52;
margin: 0 0 12px;
line-height: 1.4;
}
.tpa-cross-sell-scroll {
display: flex;
gap: 12px;
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x mandatory;
padding: 4px 2px 12px;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: #B8FF4A #FAFAF5;
}
.tpa-cross-sell-scroll::-webkit-scrollbar { height: 6px; }
.tpa-cross-sell-scroll::-webkit-scrollbar-thumb { background: #B8FF4A; border-radius: 3px; }
.tpa-cross-sell-scroll::-webkit-scrollbar-track { background: #FAFAF5; }


.tpa-cs-skel {
flex: 0 0 160px;
width: 160px;
background: #FFFFFF;
border: 1.5px solid #E6E6DC;
border-radius: 12px;
padding: 8px 8px 14px;
}

.tpa-cs-skel-photo {
height: 120px;
border-radius: 8px;
}

.tpa-cs-skel-line {
height: 12px;
margin-top: 10px;
border-radius: 6px;
}

.tpa-cs-skel-line--short { width: 60%; }

.tpa-cs-skel-photo,
.tpa-cs-skel-line {
background: linear-gradient(90deg, #EFEFE8 25%, #F9F9F4 37%, #EFEFE8 63%);
background-size: 400% 100%;
animation: tpa-cs-shimmer 1.3s ease infinite;
}

@keyframes tpa-cs-shimmer {
0%   { background-position: 100% 0; }
100% { background-position: -100% 0; }
}
.tpa-cs-card {


flex: 0 0 160px !important;
width: 160px !important;
max-width: 160px !important;
scroll-snap-align: start;
background: #FFFFFF;
border: 1.5px solid #E6E6DC;
border-radius: 12px;
padding: 8px 8px 10px;
position: relative;
display: flex !important;
flex-direction: column !important;
transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.tpa-cs-card:hover {
border-color: #8FE600;
transform: translateY(-2px);
box-shadow: 0 4px 14px rgba(143,230,0,0.16);
}
.tpa-cs-card.is-checked {
border-color: #8FE600;
background: #F6FFEE;
box-shadow: 0 0 0 3px rgba(184,255,74,0.30);
}
.tpa-cs-check-wrap {
position: absolute;
top: 8px;
right: 8px;
z-index: 3;
cursor: pointer;
}
.tpa-cs-check {
position: absolute;
opacity: 0;
pointer-events: none;
}
.tpa-cs-check-visual {
display: block;
width: 26px;
height: 26px;
border-radius: 50%;
background: #FFFFFF;
border: 2px solid #C6C6BC;
transition: all 0.15s ease;
position: relative;
}
.tpa-cs-check:checked + .tpa-cs-check-visual {
background: #8FE600;
border-color: #8FE600;
}
.tpa-cs-check:checked + .tpa-cs-check-visual::after {
content: '';
position: absolute;
top: 5px; left: 8px;
width: 6px; height: 12px;
border: solid #0F1A0A;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
.tpa-cs-photo {
display: block;
aspect-ratio: 4 / 5;
background: #FAFAF5;
border-radius: 10px;
overflow: hidden;
margin-bottom: 8px;
cursor: pointer;
}
.tpa-cs-photo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tpa-cs-name {
font-size: 11.5px !important;
font-weight: 700 !important;
color: #0F1A0A !important;
margin: 0 0 4px !important;
line-height: 1.2 !important;
min-height: 28px;
display: -webkit-box !important;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-transform: none !important;
letter-spacing: 0 !important;
}
.tpa-cs-price {
font-size: 13px !important;
font-weight: 800 !important;
color: #0F1A0A !important;
text-align: center !important;
margin-top: auto !important;
padding-top: 4px !important;
}
.tpa-cs-variations {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin: 4px 0 8px;
}
.tpa-cs-var-pill {
flex: 1 1 auto;
min-width: 0;
padding: 4px 7px !important;
font-size: 10.5px !important;
font-weight: 600 !important;
background: #FFFFFF !important;
border: 1.5px solid #C6C6BC !important;
border-radius: 999px !important;
cursor: pointer;
color: #3B4E9E !important;
transition: all 0.12s ease;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;


text-transform: none !important;
letter-spacing: 0 !important;
line-height: 1.15 !important;
height: auto !important;
min-height: 0 !important;
box-shadow: none !important;
}
.tpa-cs-var-pill:hover { border-color: #8FE600 !important; }


.tpa-cs-var-pill.is-active {
background: #0F1A0A !important;
color: #B8FF4A !important;
border-color: #0F1A0A !important;
}
.tpa-cs-price {
font-size: 14px;
font-weight: 800;
color: #0F1A0A;
text-align: center;
margin-top: auto;
padding-top: 4px;
}
.tpa-cs-price del { color: #999; font-weight: 500; margin-right: 4px; font-size: 12px; }

@media (max-width: 640px) {
.tpa-cs-card {
flex: 0 0 130px !important;
width: 130px !important;
max-width: 130px !important;
padding: 6px 6px 8px !important;
border-radius: 10px;
}
.tpa-cs-photo { margin-bottom: 5px; border-radius: 8px; }
.tpa-cs-name { font-size: 10.5px !important; min-height: 25px; margin-bottom: 3px !important; }
.tpa-cs-var-pill { font-size: 9.5px !important; padding: 3px 6px !important; }
.tpa-cs-variations { gap: 3px; margin: 2px 0 5px; }
.tpa-cs-price { font-size: 12px !important; }
.tpa-cs-check-visual { width: 20px; height: 20px; }
.tpa-cs-check:checked + .tpa-cs-check-visual::after { top: 4px; left: 6px; width: 4px; height: 9px; border-width: 0 2px 2px 0; }
.tpa-cs-check-wrap { top: 6px; right: 6px; }
}







.tpa-cpopup[hidden] { display: none !important; }



.tpa-cpopup, .tpa-cpopup * { box-sizing: border-box; }

.tpa-cpopup {
position: fixed;
inset: 0;
z-index: 999999;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
font-family: inherit;
}

.tpa-cpopup__overlay {
position: absolute;
inset: 0;
background: rgba(15, 26, 10, 0.62);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}

.tpa-cpopup__box {
position: relative;
width: 100%;
max-width: 460px;
max-height: calc(100vh - 40px);
overflow-y: auto;
background: #fff;
border-radius: 16px;
border-top: 5px solid #B8FF4A;
box-shadow: 0 24px 60px rgba(15, 26, 10, 0.35);
padding: 22px 22px 20px;
animation: tpa-cpopup-in 0.18s ease-out;
}

@keyframes tpa-cpopup-in {
from { opacity: 0; transform: translateY(10px) scale(0.98); }
to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
.tpa-cpopup__box { animation: none; }
}

.tpa-cpopup__close {
position: absolute;
top: 8px;
right: 10px;
background: none;
border: 0;
padding: 4px 8px;
font-size: 24px;
line-height: 1;
color: #9AA495;
cursor: pointer;
border-radius: 8px;
}
.tpa-cpopup__close:hover { color: #0F1A0A; background: #F2F4EF; }

.tpa-cpopup__head {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 10px;
padding-right: 26px;
}

.tpa-cpopup__icon { font-size: 22px; line-height: 1; flex-shrink: 0; }

.tpa-cpopup__title {
margin: 0;
font-size: 18px;
font-weight: 800;
line-height: 1.25;
color: #0F1A0A;
letter-spacing: -0.01em;
}

.tpa-cpopup__text {
font-size: 14.5px;
line-height: 1.55;
color: #3A4634;
font-weight: 500;
margin-bottom: 18px;
}

.tpa-cpopup__accept {
display: block;
width: 100%;
padding: 14px 18px;
background: #B8FF4A;
color: #0F1A0A;
border: 0;
border-radius: 10px;
font-size: 15px;
font-weight: 800;
letter-spacing: 0.01em;
cursor: pointer;
box-shadow: 0 2px 10px rgba(143, 230, 0, 0.35);
transition: background 0.15s ease, transform 0.05s ease;
}
.tpa-cpopup__accept:hover { background: #A9F531; }
.tpa-cpopup__accept:active { transform: translateY(1px); }
.tpa-cpopup__accept:focus-visible { outline: 3px solid #0F1A0A; outline-offset: 2px; }


html.tpa-cpopup-lock, html.tpa-cpopup-lock body { overflow: hidden; }

@media (max-width: 600px) {
.tpa-cpopup { padding: 14px; align-items: flex-end; }
.tpa-cpopup__box { max-width: none; padding: 20px 18px 18px; border-radius: 18px; }
.tpa-cpopup__title { font-size: 16.5px; }
.tpa-cpopup__text { font-size: 14px; }
}





.tpa-item-thumb[data-tpa-grande] {
cursor: zoom-in;
}

.tpa-foto-lupa {
display: none;
position: fixed;
inset: 0;
z-index: 999999;
background: rgba(10, 12, 9, 0.88);
align-items: center;
justify-content: center;
padding: 24px;
cursor: zoom-out;
}

.tpa-foto-lupa.is-abierta {
display: flex;
}

.tpa-foto-lupa img {
max-width: min(92vw, 900px);
max-height: 86vh;
border-radius: 14px;
background: #fff;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
animation: tpa-lupa-entra .16s ease;
}

@keyframes tpa-lupa-entra {
from { transform: scale(0.94); opacity: 0; }
to { transform: scale(1); opacity: 1; }
}

.tpa-foto-lupa__cerrar {
position: absolute;
top: 16px;
right: 18px;
width: 42px;
height: 42px;
border: 0;
border-radius: 50%;
background: rgba(255, 255, 255, 0.14);
color: #fff;
font-size: 26px;
line-height: 42px;
cursor: pointer;
}

.tpa-foto-lupa__cerrar:hover {
background: rgba(255, 255, 255, 0.28);
}

body.tpa-foto-lupa-abierta {
overflow: hidden;
}



.tpa-cs-install {
margin-top: 12px;
padding: 10px 12px;
border: 1.5px solid #B8FF4A;
border-radius: 10px;
background: #f6ffe8;
}
.tpa-cs-install[hidden] { display: none !important; }
.tpa-cs-install-row {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
margin: 0;
font-size: 15px;
font-weight: 700;
color: #0f172a;
}
.tpa-cs-install-row input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; cursor: pointer; }
.tpa-cs-install-text { flex: 1 1 auto; }
.tpa-cs-install-price { flex: 0 0 auto; font-weight: 800; white-space: nowrap; }
.tpa-cs-install-note {
margin: 6px 0 0 28px;
font-size: 12px;
line-height: 1.4;
color: #4b5563;
}






.tpa-group-header .tpa-group-title,
.tpa-group-header h3.tpa-group-title {
color: #fff !important;
}
.tpa-group-header .tpa-group-subtitle,
.tpa-group-header p.tpa-group-subtitle {
color: rgba(250, 250, 245, 0.78) !important;
}
.tpa-free-banner .tpa-free-title,
.tpa-free-banner h3.tpa-free-title {
color: var(--tpa-lime, #B8FF4A) !important;
}
.tpa-free-banner .tpa-free-note,
.tpa-free-banner p.tpa-free-note {
color: rgba(250, 250, 245, 0.85) !important;
}

.tpa-free-banner .tpa-free-subtitle,
.tpa-free-banner p.tpa-free-subtitle {
color: rgba(250, 250, 245, 0.85) !important;
margin: 3px 0 0;
font-size: 0.82rem;
font-weight: 600;
}
.tpa-free-banner .tpa-group-req {
margin-left: 6px;
vertical-align: middle;
}




.tpa-preorder-summary[hidden] { display: none !important; }





.tpa-cpopup__secondary {
display: block;
width: 100%;
margin-top: 8px;
padding: 12px 18px;
background: transparent;
color: #3A4634;
border: 2px solid #E3E8DE;
border-radius: 10px;
font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: border-color 0.15s ease, color 0.15s ease;
}
.tpa-cpopup__secondary:hover { border-color: #0F1A0A; color: #0F1A0A; }
.tpa-cpopup__secondary:focus-visible { outline: 3px solid #0F1A0A; outline-offset: 2px; }
.tpa-cpopup--color .tpa-cpopup__text strong { color: #0F1A0A; }









.tpa-cs-gratis {
display: inline-block;
background: #B8FF4A;
color: #0F1A0A;
font-size: 14px;
font-weight: 900;
letter-spacing: .06em;
padding: 4px 12px;
border-radius: 999px;
vertical-align: middle;
box-shadow: 0 2px 8px rgba(184, 255, 74, .55);
text-transform: uppercase;
}
.tpa-cs-price .tpa-cs-gratis + del {
margin-left: 6px;
color: #9AA495;
font-weight: 500;
font-size: 12px;
}
.tpa-cs-price .tpa-cs-extra { margin-left: 5px; font-size: 12px; color: #3A4634; }
.tpa-cs-card.is-gift { border-color: #B8FF4A; }





.tpa-csx__warn {
position: absolute;
inset: 0;
z-index: 5;
display: flex;
align-items: center;
justify-content: center;
padding: 18px;
background: rgba(15, 26, 10, .72);
backdrop-filter: blur(3px);
border-radius: inherit;
}
.tpa-csx__warn[hidden] { display: none; }

.tpa-csx__warn-box {
width: 100%;
max-width: 420px;
background: #fff;
border-radius: 18px;
padding: 22px 20px 18px;
text-align: center;
box-shadow: 0 18px 50px rgba(0, 0, 0, .3);
}
.tpa-csx__warn-ico { font-size: 34px; line-height: 1; }
.tpa-csx__warn-title {
margin: 8px 0 6px;
font-size: 17px;
font-weight: 900;
color: #0F1A0A;
line-height: 1.25;
}
.tpa-csx__warn-text {
margin: 0 0 16px;
font-size: 13.5px;
line-height: 1.5;
color: #3A4634;
}
.tpa-csx__warn-si {
display: block;
width: 100%;
padding: 14px 16px;
background: #B8FF4A;
border: 2px solid #9BE030;
border-radius: 12px;
font-size: 15px;
font-weight: 900;
color: #0F1A0A;
cursor: pointer;
line-height: 1.2;
}
.tpa-csx__warn-si:hover { background: #a7f132; }


.tpa-csx__warn-no {
display: block;
width: 100%;
margin-top: 10px;
padding: 4px;
background: none;
border: 0;
font-size: 11px;
font-weight: 600;
color: #b32d2e;
text-decoration: underline;
cursor: pointer;
line-height: 1.3;
}
.tpa-csx__warn-no:hover { color: #8a2121; }

.tpa-cs-elegido {
margin: 4px 0 0;
font-size: 10.5px;
line-height: 1.35;
color: #3A4634;
font-weight: 600;
}
.tpa-cs-elegido[hidden] { display: none !important; }


.tpa-csx[hidden] { display: none !important; }
.tpa-csx, .tpa-csx * { box-sizing: border-box; }

.tpa-csx {
position: fixed;
inset: 0;
z-index: 999999;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
font-family: inherit;
}

.tpa-csx__overlay {
position: absolute;
inset: 0;
background: rgba(15, 26, 10, 0.62);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}

.tpa-csx__box {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
max-width: 720px;
max-height: calc(100vh - 40px);
background: #F7F8F4;
border-radius: 18px;
border-top: 5px solid #B8FF4A;
box-shadow: 0 24px 60px rgba(15, 26, 10, 0.35);
overflow: hidden;
}

.tpa-csx__close {
position: absolute;
top: 8px;
right: 10px;
z-index: 2;
background: none;
border: 0;
padding: 4px 8px;
font-size: 26px;
line-height: 1;
color: #9AA495;
cursor: pointer;
border-radius: 8px;
}
.tpa-csx__close:hover { color: #0F1A0A; background: #EDEFE8; }

.tpa-csx__head {
display: flex;
align-items: center;
gap: 12px;
padding: 16px 44px 14px 18px;
background: #fff;
border-bottom: 1px solid #E6E6DC;
}
.tpa-csx__thumb {
width: 48px;
height: 48px;
object-fit: contain;
border-radius: 10px;
background: #F2F4EF;
flex-shrink: 0;
}
.tpa-csx__headtext { flex: 1; min-width: 0; }
.tpa-csx__title {
margin: 0;
font-size: 18px;
font-weight: 800;
line-height: 1.2;
color: #0F1A0A;
letter-spacing: -0.01em;
}
.tpa-csx__product {
margin: 2px 0 0;
font-size: 12.5px;
font-weight: 600;
color: #5C6B52;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.tpa-csx__nav {
display: flex;
align-items: center;
gap: 6px;
margin: 0;
padding: 0;
list-style: none;
flex-shrink: 0;
}
.tpa-csx__dot {
width: 26px;
height: 26px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: #EDEFE8;
color: #5C6B52;
font-size: 12px;
font-weight: 800;
}
.tpa-csx__dot.is-done { background: #B8FF4A; color: #0F1A0A; }

.tpa-csx__body {
flex: 1;
overflow-y: auto;
padding: 14px 18px;
display: flex;
flex-direction: column;
gap: 12px;
}

.tpa-csx__step {
background: #fff;
border: 1px solid #E6E6DC;
border-radius: 14px;
padding: 14px;
}
.tpa-csx__step-head { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.tpa-csx__num {
width: 28px;
height: 28px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: #EDEFE8;
color: #5C6B52;
font-size: 13px;
font-weight: 800;
}
.tpa-csx__step.is-done .tpa-csx__num { background: #B8FF4A; color: #0F1A0A; }
.tpa-csx__step-title { margin: 0; font-size: 16px; font-weight: 800; color: #0F1A0A; line-height: 1.25; }
.tpa-csx__step-sub { margin: 2px 0 0; font-size: 13px; color: #5C6B52; font-weight: 500; }

.tpa-csx__opts { display: flex; flex-direction: column; gap: 8px; }

.tpa-csx__opt {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
text-align: left;
padding: 12px 14px;
background: #fff;
border: 2px solid #E6E6DC;
border-radius: 12px;
cursor: pointer;
font: inherit;
color: #0F1A0A;
transition: border-color .12s ease, background .12s ease;
}
.tpa-csx__opt:hover { border-color: #8FE600; }
.tpa-csx__opt.is-active { border-color: #0F1A0A; background: #F6FFF1; }
.tpa-csx__opt.is-active::before {
content: "✓";
order: -1;
width: 22px;
height: 22px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: #B8FF4A;
color: #0F1A0A;
font-size: 12px;
font-weight: 800;
}
.tpa-csx__opt-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tpa-csx__opt-label { font-size: 14.5px; font-weight: 800; line-height: 1.25; }
.tpa-csx__opt-desc { font-size: 12.5px; color: #5C6B52; font-weight: 500; line-height: 1.35; }
.tpa-csx__opt-price { flex-shrink: 0; font-size: 14px; font-weight: 800; color: #0F1A0A; }
.tpa-csx__opt-price.is-included { font-size: 11.5px; letter-spacing: .04em; color: #5C6B52; }


.tpa-csx__opt-cero { display: inline-block; margin-left: 5px; font-weight: 800; color: #0F1A0A; letter-spacing: 0; }
.tpa-csx__opts--grid .tpa-csx__opt-cero,
.tpa-csx__opts--carousel .tpa-csx__opt-cero { display: block; margin-left: 0; margin-top: 2px; }





.tpa-csx__opts--grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 10px;
}

.tpa-csx__opts--carousel {
flex-direction: row;
overflow-x: auto;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
padding-bottom: 6px;
}
.tpa-csx__opts--carousel .tpa-csx__opt {
flex: 0 0 auto;
width: 168px;
scroll-snap-align: start;
}



.tpa-csx__opts--grid .tpa-csx__opt,
.tpa-csx__opts--carousel .tpa-csx__opt {
position: relative;
flex-direction: column;
align-items: stretch;
padding: 8px;
gap: 6px;
}
.tpa-csx__opts--grid .tpa-csx__opt.is-active::before,
.tpa-csx__opts--carousel .tpa-csx__opt.is-active::before { position: absolute; top: 8px; right: 8px; }
.tpa-csx__opts--grid .tpa-csx__opt-label,
.tpa-csx__opts--carousel .tpa-csx__opt-label { font-size: 13px; }
.tpa-csx__opts--grid .tpa-csx__opt-desc,
.tpa-csx__opts--carousel .tpa-csx__opt-desc { font-size: 11.5px; }

.tpa-csx__opt-photo { display: block; border-radius: 8px; overflow: hidden; background: #F2F4EF; }
.tpa-csx__opt-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }



.tpa-csx__opts--list .tpa-csx__opt-photo { flex-shrink: 0; width: 56px; }
.tpa-csx__opts--list .tpa-csx__opt-photo img { aspect-ratio: 1 / 1; }

.tpa-csx__foot {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 18px;
background: #fff;
border-top: 1px solid #E6E6DC;
flex-wrap: wrap;
}
.tpa-csx__resumen { flex: 1; min-width: 160px; }
.tpa-csx__aviso { margin: 0; font-size: 12px; font-weight: 700; color: #b32d2e; }
.tpa-csx__aviso:empty { display: none; }
.tpa-csx__elegido { margin: 0; font-size: 12.5px; font-weight: 600; color: #5C6B52; }
.tpa-csx__total-label { display: block; font-size: 11px; font-weight: 700; color: #5C6B52; letter-spacing: .04em; }
.tpa-csx__total { font-size: 24px; font-weight: 800; color: #0F1A0A; line-height: 1.1; }

.tpa-csx__cta {
padding: 14px 24px;
background: #B8FF4A;
color: #0F1A0A;
border: 0;
border-radius: 10px;
font-size: 15px;
font-weight: 800;
cursor: pointer;
box-shadow: 0 2px 10px rgba(143, 230, 0, 0.35);
transition: background .15s ease, transform .05s ease;
}
.tpa-csx__cta:hover:not(:disabled) { background: #A9F531; }
.tpa-csx__cta:active:not(:disabled) { transform: translateY(1px); }
.tpa-csx__cta:disabled { background: #E6E6DC; color: #9AA495; box-shadow: none; cursor: not-allowed; }
.tpa-csx__cta:focus-visible { outline: 3px solid #0F1A0A; outline-offset: 2px; }

@media (max-width: 600px) {
.tpa-csx { padding: 0; align-items: flex-end; }
.tpa-csx__box { max-width: none; max-height: 94vh; border-radius: 18px 18px 0 0; }
.tpa-csx__head { padding: 14px 40px 12px 14px; gap: 10px; }
.tpa-csx__title { font-size: 16px; }
.tpa-csx__nav { display: none; }
.tpa-csx__body { padding: 12px 14px; }
.tpa-csx__step { padding: 12px; }
.tpa-csx__foot { padding: 12px 14px; gap: 10px; }
.tpa-csx__cta { flex: 1; width: 100%; }
.tpa-csx__opts--grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.tpa-csx__opts--carousel .tpa-csx__opt { width: 140px; }
}




.tpa-cs-photo { position: relative; }
.tpa-cs-zoom {
position: absolute;
right: 6px;
bottom: 6px;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
border: 0;
border-radius: 8px;
background: rgba(15, 26, 10, 0.62);
color: #fff;
font-size: 14px;
line-height: 1;
cursor: zoom-in;
backdrop-filter: blur(2px);
transition: background .15s ease, transform .15s ease;
}
.tpa-cs-zoom:hover,
.tpa-cs-zoom:focus-visible {
background: #0F1A0A;
color: #B8FF4A;
transform: scale(1.08);
}




.tpa-csx__thumb { cursor: zoom-in; }
.tpa-csx__zoom {
display: inline-flex;
align-items: center;
gap: 5px;
margin-top: 4px;
padding: 3px 9px;
border: 1px solid #D8E6C8;
border-radius: 999px;
background: #F6FFF1;
color: #3F5C0E;
font-size: 11.5px;
font-weight: 700;
line-height: 1.5;
cursor: zoom-in;
}
.tpa-csx__zoom:hover,
.tpa-csx__zoom:focus-visible {
background: #0F1A0A;
border-color: #0F1A0A;
color: #B8FF4A;
}




.tpa-foto-lupa { z-index: 1000001; }



.tpa-addons .tpa-regalo-azar-info { margin-top: 2px; font-size: 12px; line-height: 1.35; color: var(--tpa-muted, #6b7364); }
.tpa-addons .tpa-regalo-azar-valor { font-weight: 700; color: var(--tpa-ink, #0F1A0A); margin-right: 6px; }
.tpa-addons .tpa-regalo-azar-cambiar { text-decoration: underline; text-underline-offset: 2px; }
.tpa-addons .tpa-item.is-expanded .tpa-regalo-azar-cambiar { display: none; }



.tpa-item-bestseller-badge {
display: inline-block;
margin-bottom: 3px;
padding: 2px 8px;
background: var(--tpa-ink);
color: var(--tpa-lime);
border-radius: 999px;
font-size: 0.66rem;
font-weight: 800;
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.5;
white-space: nowrap;
}









.tpa-csx__opt.is-agotada {
position: relative;
opacity: .62;
background: #FAFAF7;
border-style: dashed;
}
.tpa-csx__opt.is-agotada:hover { border-color: #b32d2e; opacity: .85; }
.tpa-csx__opt.is-agotada .tpa-csx__opt-label { text-decoration: line-through; }
.tpa-csx__opt.is-agotada .tpa-csx__opt-photo img { filter: grayscale(1); }

.tpa-csx__opt-sinstock {
order: 99;
flex-shrink: 0;
margin-left: auto;
padding: 2px 8px;
border-radius: 999px;
background: #b32d2e;
color: #fff;
font-size: 10px;
font-weight: 800;
letter-spacing: .06em;
line-height: 1.6;
white-space: nowrap;
}



.tpa-csx__opts--grid .tpa-csx__opt-sinstock,
.tpa-csx__opts--carousel .tpa-csx__opt-sinstock {
position: absolute;
top: 6px;
right: 6px;
margin-left: 0;
}



.tpa-csx__warn[data-modo="agotado"] .tpa-csx__warn-box { border-color: #b32d2e; }
.tpa-csx__warn[data-modo="agotado"] .tpa-csx__warn-title { color: #b32d2e; }
.tpa-csx__warn[data-modo="agotado"] .tpa-csx__warn-no {
color: #5a6152;
text-decoration: underline;
}






.tpa-group--unidades { margin: 6px 0 16px; }
.tpa-unidades-label { font-size: 1rem; color: #333; margin: 0 0 8px; }
.tpa-unidades-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 14px 12px; padding-top: 8px; }










.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad {
position: relative !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 2px;
box-sizing: border-box !important; width: auto !important; margin: 0 !important; padding: 14px 16px 12px !important;
height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important;
border: 2px solid #cfd6c8 !important; border-radius: 16px !important; box-shadow: none !important;
background: #fff !important; color: #0F1A0A !important; text-align: left !important;
font-family: inherit !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important;
white-space: normal !important; text-overflow: clip !important;
cursor: pointer;
transition: border-color .15s, background .15s, color .15s, transform .15s, box-shadow .15s;
}
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad:hover { border-color: #0F1A0A !important; transform: translateY(-1px); }



.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad.tpa-unidad:focus-visible { outline: 3px solid #0F1A0A !important; outline-offset: 3px !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad.is-mejor { border-color: var(--tpa-lime, #B8FF4A) !important; box-shadow: 0 0 0 2px rgba(184,255,74,.45) !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad.is-active { background: #0F1A0A !important; border-color: var(--tpa-lime, #B8FF4A) !important; color: #fff !important; box-shadow: 0 0 0 3px rgba(184,255,74,.35) !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-label,
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-extra,
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-ud {
display: block !important; width: auto; max-width: 100%; height: auto !important; margin: 0 !important; padding: 0 !important;
overflow: visible !important; white-space: normal !important; text-overflow: clip !important;
font-family: inherit !important; background: none !important; border: 0 !important; box-shadow: none !important; color: inherit !important;
}
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-label { font-weight: 800 !important; font-size: 1rem !important; line-height: 1.2 !important; letter-spacing: .02em !important; text-transform: uppercase !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-extra { font-weight: 900 !important; font-size: 1.35rem !important; line-height: 1.15 !important; letter-spacing: 0 !important; text-transform: none !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad.is-active .tpa-unidad-extra { color: var(--tpa-lime, #B8FF4A) !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-ud { font-weight: 500 !important; font-size: .82rem !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; opacity: .75; min-height: 1.1em !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-chip {
position: absolute !important; top: -11px; right: 12px; left: auto; bottom: auto;
height: auto !important; min-height: 0 !important; margin: 0 !important;
padding: 3px 10px !important; border-radius: 999px !important; border: 1.5px solid #0F1A0A !important; box-shadow: none !important;
background: var(--tpa-lime, #B8FF4A) !important; color: #0F1A0A !important;
font-family: inherit !important; font-size: .7rem !important; font-weight: 800 !important; letter-spacing: .03em !important; text-transform: uppercase !important; line-height: 1.3 !important;
white-space: nowrap !important; overflow: visible !important; text-overflow: clip !important;
}
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-chip[hidden] { display: none !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad.is-mejor .tpa-unidad-chip { background: #0F1A0A !important; color: var(--tpa-lime, #B8FF4A) !important; border-color: var(--tpa-lime, #B8FF4A) !important; }
@media (max-width: 480px) {
.tpa-unidades-options { gap: 14px 10px; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad { padding: 13px 12px 11px !important; }
.tpa-addons .tpa-group--unidades .tpa-unidades-options .tpa-unidad .tpa-unidad-extra { font-size: 1.2rem !important; }
}
form.cart.tpa-con-unidades .quantity { display: none !important; }












html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header .tpa-group-title,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header .tpa-group-title:hover,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header:hover .tpa-group-title {
color: #fff !important;
-webkit-text-fill-color: #fff !important;
}
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header .tpa-group-subtitle,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header .tpa-group-subtitle:hover,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header:hover .tpa-group-subtitle {
color: rgba(250, 250, 245, 0.82) !important;
-webkit-text-fill-color: rgba(250, 250, 245, 0.82) !important;
}
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-title,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-title:hover {
color: var(--tpa-lime, #B8FF4A) !important;
-webkit-text-fill-color: var(--tpa-lime, #B8FF4A) !important;
}
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-subtitle,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-note,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-subtitle:hover,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-note:hover {
color: rgba(250, 250, 245, 0.85) !important;
-webkit-text-fill-color: rgba(250, 250, 245, 0.85) !important;
}
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header .tpa-group-title,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-group-header .tpa-group-subtitle,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-title,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-subtitle,
html body .tpa-addons:not(#tpa-x) .tpa-group .tpa-free-banner .tpa-free-note {
opacity: 1 !important;
visibility: visible !important;
filter: none !important;
mix-blend-mode: normal !important;
background: none !important;
-webkit-background-clip: border-box !important;
background-clip: border-box !important;
text-shadow: none !important;
}





.tpa-cpopup.tpa-ult .tpa-cpopup__box { max-width: 480px; }
.tpa-cpopup.tpa-ult .tpa-ult__title { margin: 0 28px 6px 0; font-size: 20px; line-height: 1.2; color: #0F1A0A; }
.tpa-cpopup.tpa-ult .tpa-ult__text { margin: 0 0 12px; font-size: 14px; color: #4b5640; }
.tpa-cpopup.tpa-ult .tpa-ult__ops { display: grid; gap: 10px; margin: 12px 0 14px; }
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op {
display: flex !important;
align-items: center;
gap: 12px;
width: 100%;
height: auto !important;
min-height: 64px !important;
max-height: none !important;
margin: 0 !important;
padding: 10px 12px !important;
overflow: visible !important;
text-align: left;
text-transform: none !important;
letter-spacing: 0 !important;
text-overflow: clip !important;
white-space: normal !important;
background: #fff !important;
color: #0F1A0A !important;
border: 2px solid #D9E3CC !important;
border-radius: 12px !important;
box-shadow: none !important;
cursor: pointer;
line-height: 1.2 !important;
font-weight: 400 !important;
}
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op:hover,
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op:focus-visible { border-color: #3fb500 !important; background: #F4FCE6 !important; }
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op img {
display: block !important;
width: 64px !important;
height: 64px !important;
min-width: 64px;
max-width: none !important;
object-fit: contain;
border-radius: 8px;
flex: 0 0 64px;
background: #F2F4EF;
}
.tpa-cpopup.tpa-ult .tpa-ult__op-der { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }


@media (max-width: 520px) {
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op { gap: 10px; padding: 10px !important; }
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op img { width: 56px !important; height: 56px !important; min-width: 56px; flex-basis: 56px; }
.tpa-cpopup.tpa-ult .tpa-ult__op-der { flex-direction: column; align-items: flex-end; gap: 6px; }
}
.tpa-cpopup.tpa-ult .tpa-ult__op-txt { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; text-transform: none !important; letter-spacing: 0 !important; }
.tpa-cpopup.tpa-ult .tpa-ult__op-nom { font-size: 15px; font-weight: 700; line-height: 1.2; text-transform: none !important; letter-spacing: 0 !important; }
.tpa-cpopup.tpa-ult .tpa-ult__op-nota { font-size: 12.5px; line-height: 1.25; color: #5C6B52; text-transform: none !important; letter-spacing: 0 !important; }
.tpa-cpopup.tpa-ult .tpa-ult__op-precio { font-size: 16px; font-weight: 800; flex: 0 0 auto; white-space: nowrap; letter-spacing: 0 !important; }
.tpa-cpopup.tpa-ult .tpa-ult__op-add {
flex: 0 0 auto;
padding: 7px 12px;
border-radius: 999px;
background: #B8FF4A;
color: #0F1A0A;
font-size: 12px;
font-weight: 800;
line-height: 1;
letter-spacing: .02em !important;
text-transform: uppercase !important;
}
.tpa-cpopup.tpa-ult .tpa-ult__ops button.tpa-ult__op:hover .tpa-ult__op-add { background: #A9F531; }
.tpa-cpopup.tpa-ult button.tpa-ult__no {
display: block !important;
width: 100%;
height: auto !important;
min-height: 48px !important;
max-height: none !important;
margin: 12px 0 0 !important;
padding: 12px 16px !important;
overflow: visible !important;
background: #fff !important;
color: #0F1A0A !important;
border: 2px solid #0F1A0A !important;
border-radius: 12px !important;
box-shadow: none !important;
font-size: 15px !important;
font-weight: 700 !important;
line-height: 1.2 !important;
text-decoration: none !important;
text-transform: none !important;
letter-spacing: 0 !important;
text-overflow: clip !important;
white-space: normal !important;
cursor: pointer;
}
.tpa-cpopup.tpa-ult button.tpa-ult__no:hover { background: #F2F4EF !important; }


.tpa-ult-diag {
position: fixed; left: 16px; bottom: 16px; z-index: 999998; max-width: 360px;
padding: 12px 14px; border-radius: 12px; background: #1a1f16; color: #fff; font-size: 13px; line-height: 1.35;
box-shadow: 0 12px 30px rgba(0, 0, 0, .35); border-left: 4px solid #ffb020;
}
.tpa-ult-diag ul { margin: 6px 0 6px 16px; padding: 0; }
.tpa-ult-diag li { margin: 0 0 4px; }
.tpa-ult-diag small { opacity: .7; }




.tpa-semi { position: relative; }

.etheme-sticky-cart .tpa-semi, .sticky-add-to-cart .tpa-semi { display: none !important; }
.tpa-semi .tpa-notice-content { display: flex; flex-direction: column; gap: 6px; }
.tpa-semi .tpa-notice-title { margin-bottom: 0; }
.tpa-semi__nuevo {
display: flex;
align-items: center;
gap: 10px;
margin-top: 2px;
padding: 8px 10px;
background: #fff;
border: 1px solid #d6e4fb;
border-radius: 10px;
color: #14345f;
text-decoration: none;
line-height: 1.3;
transition: border-color .15s, box-shadow .15s;
}
.tpa-semi__nuevo:hover { border-color: #8ab7f7; box-shadow: 0 4px 14px rgba(47, 111, 216, .12); color: #14345f; }
.tpa-semi__nuevo:focus-visible { outline: 3px solid #2f6fd8; outline-offset: 2px; }
.tpa-semi__nuevo img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.tpa-semi__nombre { flex: 1; min-width: 0; font-weight: 700; font-size: 13.5px; overflow-wrap: anywhere; }
.tpa-semi__precio { font-weight: 800; font-size: 13.5px; white-space: nowrap; }
.tpa-semi__precio del { opacity: .55; font-weight: 600; margin-right: 4px; }
.tpa-semi__precio ins { text-decoration: none; }
.tpa-semi__ver { color: #2f6fd8; font-weight: 800; font-size: 13px; white-space: nowrap; }
@media (max-width: 420px) {
.tpa-semi__nuevo { flex-wrap: wrap; }
.tpa-semi__ver { width: 100%; text-align: right; }
}

.tpa-semi--hueco { margin: 0 0 10px; font-size: 12px; line-height: 22px; color: #6b7280; cursor: pointer; }
@media (hover: hover) {
.tpa-semi--hueco { opacity: 0; transition: opacity .15s ease; }
.tpa-semi--hueco:hover, .tpa-semi--hueco:focus-visible, .tpa-semi--hueco:focus-within { opacity: 1; }
}
@media (hover: none) {
.tpa-semi--hueco { opacity: .45; }
}

.tpa-cpopup--semi .tpa-cpopup__head { margin-bottom: 16px; }
.tpa-cpopup--semi .tpa-cpopup__icon { font-size: 26px; }
a.tpa-cpopup__secondary { text-align: center; text-decoration: none; }







.tpa-free-banner .tpa-free-fijo,
.tpa-free-banner p.tpa-free-fijo {
margin: 8px 0 2px;
padding: 7px 10px;
border-radius: 8px;
background: var(--tpa-lime, #B8FF4A);
color: #0F1A0A !important;

font-size: max(13px, 0.9rem);
font-weight: 600;
line-height: 1.35;
}
.tpa-free-banner .tpa-free-fijo strong {
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.02em;
color: #0F1A0A;
}
.tpa-item-regalo-fijo {
display: inline-block;
margin: 4px 0 2px;
padding: 3px 8px;
border-radius: 6px;
background: var(--tpa-lime, #B8FF4A);
color: #0F1A0A;
font-size: max(12px, 0.8rem);
font-weight: 800;
line-height: 1.3;
}
.tpa-regalo-fijo-aviso {
margin: 6px 0 2px;
padding: 6px 9px;
border-radius: 8px;
background: #0F1A0A;
color: #fff;
font-size: max(12.5px, 0.82rem);
font-weight: 700;
line-height: 1.35;
animation: tpa-cpopup-in 0.18s ease-out;
}
@media (prefers-reduced-motion: reduce) {
.tpa-regalo-fijo-aviso { animation: none; }
}

.tpa-cs-card .tpa-cs-regalo-fijo {
margin: 4px 0 0;
padding: 2px 6px;
border-radius: 5px;
background: var(--tpa-lime, #B8FF4A);
color: #0F1A0A;
font-size: max(11px, 0.72rem);
font-weight: 800;
line-height: 1.25;
}








.tpa-version {
clear: both;
margin: 10px 0 12px;
}
.tpa-version__cab {
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #6b7466;
margin: 0 0 6px;
}
.tpa-version__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.tpa-version__card {
position: relative;
display: flex;
align-items: center;
gap: 9px;
width: 100%;
min-height: 64px;
margin: 0;
padding: 8px 26px 8px 9px;
background: #fff;
border: 1.5px solid #e2e5e0;
border-radius: 12px;
box-shadow: 0 1px 3px rgba(27, 36, 22, 0.06);
text-align: left;
cursor: pointer;
font: inherit;
color: #1b2416;
transition: border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .1s ease;
-webkit-appearance: none;
appearance: none;
}
.tpa-version__card:hover {
border-color: var(--tpa-lime-dark, #7bb000);
transform: translateY(-1px);
}
.tpa-version__card:focus-visible {
outline: 3px solid var(--tpa-lime, #b8ff4a);
outline-offset: 2px;
}
.tpa-version__card.is-on {
border-color: var(--tpa-lime-dark, #7bb000);
background: #f6fff1;
box-shadow: 0 0 0 1px var(--tpa-lime-dark, #7bb000) inset, 0 4px 14px rgba(143, 230, 0, 0.16);
}
.tpa-version__img {
flex: 0 0 48px;
width: 48px;
height: 48px;
border-radius: 9px;
overflow: hidden;
background: var(--tpa-bg, #f3f4f1);
}
.tpa-version__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tpa-version__body {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 1px;
}
.tpa-version__nombre {
font-weight: 800;
font-size: 0.9rem;
line-height: 1.15;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.tpa-version__texto {
font-size: 0.74rem;
line-height: 1.2;
color: #5b6657;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tpa-version__precio {
font-weight: 800;
font-size: 1.05rem;
line-height: 1.15;
margin-top: 2px;
}
.tpa-version__precio .woocommerce-Price-amount { font-weight: inherit; }
.tpa-version__extra {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 4px 8px;
margin-top: 2px;
}
.tpa-version__mas {
font-size: 0.74rem;
color: #5b6657;
white-space: nowrap;
}
.tpa-version__tick {
position: absolute;
top: 7px;
right: 7px;
width: 18px;
height: 18px;
border-radius: 50%;
background: var(--tpa-lime-dark, #7bb000);
color: #fff;
font-size: 11px;
font-weight: 800;
line-height: 18px;
text-align: center;
opacity: 0;
transform: scale(.6);
transition: opacity .15s ease, transform .15s ease;
}
.tpa-version__card.is-on .tpa-version__tick {
opacity: 1;
transform: scale(1);
}
@media (max-width: 480px) {
.tpa-version__grid { gap: 7px; }
.tpa-version__card { padding: 7px 22px 7px 7px; gap: 7px; min-height: 58px; }
.tpa-version__img { flex-basis: 42px; width: 42px; height: 42px; }
.tpa-version__nombre { font-size: 0.84rem; }
.tpa-version__precio { font-size: 0.98rem; }
.tpa-version__texto { display: none; }

.tpa-version__mas { display: none; }
.tpa-version__tick { top: 5px; right: 5px; width: 16px; height: 16px; line-height: 16px; font-size: 10px; }
}



.tpa-version__slot { position: relative; display: flex; min-width: 0; }
.tpa-version__slot .tpa-version__card { flex: 1 1 auto; }
.tpa-version__quitar {
position: absolute; top: -8px; left: -8px; z-index: 2;
width: 22px; height: 22px; padding: 0; margin: 0;
border: 0; border-radius: 50%; background: #1a1f16; color: #fff;
font: 700 12px/22px system-ui, sans-serif; text-align: center; cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 0, 0, .3); opacity: .85;
}
.tpa-version__quitar:hover, .tpa-version__quitar:focus-visible { background: #b32d2e; opacity: 1; outline: none; }
.tpa-diag-pila {
position: fixed; left: 16px; bottom: 16px; z-index: 999998;
display: flex; flex-direction: column; gap: 8px; max-width: 360px;
}
.tpa-diag-pila .tpa-ult-diag { position: relative; left: auto; bottom: auto; max-width: none; padding-right: 36px; }
.tpa-ult-diag__x {
position: absolute; top: 4px; right: 6px; padding: 2px 6px; margin: 0;
background: transparent; border: 0; color: #fff; opacity: .7;
font: 400 20px/1 system-ui, sans-serif; cursor: pointer;
}
.tpa-ult-diag__x:hover { opacity: 1; }
.tpa-version-diag__item { margin: 0 0 6px; }
.tpa-version-diag__reponer {
display: inline-block; margin-left: 4px; padding: 2px 9px;
background: #ffb020; color: #1a1f16; border: 0; border-radius: 6px;
font: 700 12px/1.6 inherit; cursor: pointer;
}
.tpa-version-diag__reponer:hover { background: #ffc44d; }
.tpa-version-diag__reponer:disabled { cursor: default; }
