.grt-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.variations_form .variations { width: 100%; border: 0; }
.variations_form .variations th, .variations_form .variations td { display: block; padding: 0; text-align: left; }
.variations_form .variations th { font-weight: 500; font-size: var(--wp--preset--font-size--s); margin-top: 0.75rem; }
.grt-opciones { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block: 0.4rem 0.25rem; }
.grt-opcion { min-width: 3rem; min-height: 2.75rem; padding: 0 0.85rem; border: 1px solid var(--wp--preset--color--linea); background: var(--wp--preset--color--blanco); color: var(--wp--preset--color--negro); font: inherit; cursor: pointer; }
.grt-opcion[aria-pressed="true"] { border-color: var(--wp--preset--color--negro); background: var(--wp--preset--color--negro); color: var(--wp--preset--color--blanco); }
.grt-opcion.is-agotada { color: var(--wp--preset--color--gris); text-decoration: line-through; background: var(--wp--preset--color--beige-claro); }
.reset_variations { font-size: var(--wp--preset--font-size--xs); }

/* Talla o color sin elegir al pulsar "Añadir al carrito" (variaciones.js). */
.grt-opciones.grt-falta .grt-opcion { border-color: var(--wp--preset--color--oferta); }
.grt-aviso-opcion { color: var(--wp--preset--color--oferta); font-size: .875rem; margin: .25rem 0 0; }

/* Aviso de la Store API al añadir desde la ficha (p. ej. sin stock suficiente). */
.grt-aviso-carrito { color: var(--wp--preset--color--oferta); font-size: .875rem; margin: .5rem 0 0; }

/* Hueco del botón de compra mientras va fijo abajo (variaciones.js). */
.grt-ancla-compra { display: inline-block; vertical-align: top; }
