/* APM Variaciones en Lista */
.apm-vl{--apm-vl-accent:#1d4ea0;--apm-vl-line:color-mix(in srgb,var(--apm-vl-accent) 38%,#d0d5dd);--apm-vl-soft:color-mix(in srgb,var(--apm-vl-accent) 7%,#fff);--apm-vl-ring:color-mix(in srgb,var(--apm-vl-accent) 14%,transparent);
	width:100%;margin:2px 0 12px;font-size:15px;line-height:1.3}
.apm-vl__title{font-size:.95em;color:#444;margin:0 0 10px;font-weight:400;text-transform:none;letter-spacing:0}
.apm-vl__list{display:flex;flex-direction:column;gap:10px}
.apm-vl__opt{
	position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:14px;
	margin:0;padding:12px 14px;cursor:pointer;font-weight:400;color:#333;box-sizing:border-box;
	transition:background-color .15s,border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent;
}
.apm-vl__input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}

/* Círculo */
.apm-vl__dot{width:20px;height:20px;border-radius:50%;border:1.5px solid #c3c8d0;background:#fff;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s}
.apm-vl__dot:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--apm-vl-accent);transform:scale(0);transition:transform .15s}
.apm-vl__opt:hover .apm-vl__dot{border-color:#8a929e}
.apm-vl__opt.is-checked .apm-vl__dot{border-color:var(--apm-vl-accent)}
.apm-vl__opt.is-checked .apm-vl__dot:after{transform:scale(1)}
.apm-vl__input:focus-visible+.apm-vl__dot{outline:2px solid var(--apm-vl-accent);outline-offset:2px}

/* Textos */
.apm-vl__info{min-width:0;display:flex;flex-direction:column;gap:3px}
.apm-vl__head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.apm-vl__name{font-weight:600;color:#222;font-size:1.05em}
.apm-vl__unit{color:#8a8f98;font-size:.82em;white-space:nowrap}
.apm-vl__unit:empty{display:none}
.apm-vl__best{display:inline-block;font-size:.66em;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:#e7f6ec;color:#11823b;border-radius:20px;padding:2px 8px;line-height:1.5;white-space:nowrap}
.apm-vl__best[hidden],.apm-vl__oos[hidden]{display:none!important}
.apm-vl__oos{font-style:normal;font-size:.66em;font-weight:700;text-transform:uppercase;color:#b32d2e;background:#fdecec;border-radius:20px;padding:2px 8px;line-height:1.5}
.apm-vl__price{text-align:right;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.apm-vl__price strong{font-weight:700;color:#111;font-size:1.12em}
.apm-vl__price del{color:#9aa0a8;font-size:.8em}
.apm-vl__price small{color:#8a8f98;font-size:.72em}
.apm-vl__opt.is-oos,.apm-vl__opt.is-off{cursor:not-allowed;opacity:.5}

/* 1 · Tarjetas */
.apm-vl--cards .apm-vl__opt{border:1.5px solid var(--apm-vl-line);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.apm-vl--cards .apm-vl__opt:not(.is-oos):not(.is-off):hover{border-color:color-mix(in srgb,var(--apm-vl-accent) 60%,#c3c8d0)}
.apm-vl--cards .apm-vl__opt.is-checked{border-color:var(--apm-vl-accent);background:var(--apm-vl-soft);box-shadow:0 0 0 3px var(--apm-vl-ring)}

/* 2 · Caja con separadores */
.apm-vl--box .apm-vl__list{gap:0;border:1.5px solid var(--apm-vl-line);border-radius:12px;overflow:hidden;background:#fff}
.apm-vl--box .apm-vl__opt{border-bottom:1px solid color-mix(in srgb,var(--apm-vl-line) 60%,#fff)}
.apm-vl--box .apm-vl__opt:last-child{border-bottom:0}
.apm-vl--box .apm-vl__opt:not(.is-oos):not(.is-off):hover{background:#fafbfc}
.apm-vl--box .apm-vl__opt.is-checked{background:var(--apm-vl-soft);box-shadow:inset 3px 0 0 var(--apm-vl-accent)}

/* 3 · Botones */
.apm-vl--buttons .apm-vl__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px 8px;padding-top:6px}
.apm-vl--buttons .apm-vl__opt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 8px 12px;border:1.5px solid var(--apm-vl-line);border-radius:12px;background:#fff}
.apm-vl--buttons .apm-vl__dot{display:none}
.apm-vl--buttons .apm-vl__info{align-items:center;display:contents}
.apm-vl--buttons .apm-vl__head{justify-content:center;order:1}
.apm-vl--buttons .apm-vl__price{order:2;align-items:center;text-align:center}
.apm-vl--buttons .apm-vl__unit{order:3}
.apm-vl--buttons .apm-vl__best{position:absolute;top:-10px;left:50%;transform:translateX(-50%)}
.apm-vl--buttons .apm-vl__oos{position:absolute;top:-10px;left:50%;transform:translateX(-50%)}
.apm-vl--buttons .apm-vl__opt:not(.is-oos):not(.is-off):hover{border-color:color-mix(in srgb,var(--apm-vl-accent) 60%,#c3c8d0)}
.apm-vl--buttons .apm-vl__opt.is-checked{border-color:var(--apm-vl-accent);background:var(--apm-vl-soft);box-shadow:0 0 0 3px var(--apm-vl-ring)}

/* Borde punteado */
.apm-vl--dashed.apm-vl--cards .apm-vl__opt,
.apm-vl--dashed.apm-vl--buttons .apm-vl__opt,
.apm-vl--dashed.apm-vl--box .apm-vl__list{border-style:dashed}
.apm-vl--dashed.apm-vl--box .apm-vl__opt{border-bottom-style:dashed}

/* Simple (como la V1.0) */
.apm-vl--simple .apm-vl__list{gap:2px}
.apm-vl--simple .apm-vl__opt{padding:9px 10px 9px 6px;border-radius:6px}
.apm-vl--simple .apm-vl__opt:hover{background:rgba(0,0,0,.035)}
.apm-vl--simple .apm-vl__opt.is-checked{background:var(--apm-vl-soft)}
.apm-vl--simple .apm-vl__info{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.apm-vl--simple .apm-vl__name{font-weight:400;color:#555;font-size:1em}
.apm-vl--simple .apm-vl__unit:before{content:"("}
.apm-vl--simple .apm-vl__unit:after{content:")"}
.apm-vl--simple .apm-vl__price{flex-direction:row;align-items:baseline;gap:6px}
.apm-vl--simple .apm-vl__price strong{font-size:1em}

/* Fila de la tabla de variaciones (Flatsome / WooCommerce): la lista ocupa todo el ancho */
table.variations.apm-vl-table{width:100%;table-layout:auto}
table.variations tr.apm-vl-row th.label{display:none}
table.variations tr.apm-vl-row td.value{width:100%;padding-left:0;padding-right:0}
table.variations tr.apm-vl-row td.value .reset_variations{display:inline-block;margin-top:2px}

/* Siempre visible, aunque el tema u otro CSS oculten la tabla de variaciones */
form.variations_form table.variations:has(.apm-vl),form.variations_form table.variations.apm-vl-table{display:table!important;visibility:visible!important;opacity:1!important;height:auto!important}
form.variations_form table.variations tr:has(.apm-vl),form.variations_form table.variations tr.apm-vl-row{display:table-row!important;visibility:visible!important;opacity:1!important}
form.variations_form table.variations td.value:has(.apm-vl),form.variations_form table.variations tr.apm-vl-row td.value{display:table-cell!important;visibility:visible!important;opacity:1!important}
form.variations_form .apm-vl{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important}

/* Celular */
@media (max-width:549px){
	.apm-vl{font-size:14px}
	.apm-vl__opt{padding:12px 12px;column-gap:12px}
	.apm-vl--buttons .apm-vl__list{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}
}
@media (max-width:380px){
	.apm-vl--simple .apm-vl__info{flex-direction:column;align-items:flex-start;gap:1px}
	.apm-vl__best{font-size:.6em}
}
