/* ==========================================================================
   Aromu · tienda.css · se carga solo en portada, tienda, ficha, carrito, checkout y cuenta.
   Sustituye al CSS propio de WooCommerce (desactivado desde functions.php).
   Orden: portada · etiquetas y tarjetas · archivo · ficha · avisos/formularios Woo ·
          carrito y checkout (bloques nativos) · mi cuenta.
   ========================================================================== */

/* ==================== PORTADA ==================== */
.ar-seccion { padding-block: var(--ar-seccion); }
.ar-seccion--arena { background: var(--ar-arena); }
.ar-seccion__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 4px 24px; margin-bottom: 24px; }
.ar-seccion__titulo { margin: 0 0 24px; }
.ar-seccion__cab .ar-seccion__titulo { margin: 0; }
.ar-seccion__intro { margin: -12px 0 24px; color: var(--ar-texto-suave); }

/* Hero */
.ar-hero { background: linear-gradient(160deg, var(--ar-bruma) 0%, var(--ar-lila-bruma) 100%); overflow: hidden; }
.ar-hero__in { display: grid; gap: 28px; padding-block: 32px 40px; }
.ar-hero__titulo { margin-bottom: 16px; }
.ar-hero__sub { font-size: 1.125rem; max-width: 52ch; color: var(--ar-texto); }
.ar-hero__botones { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 16px; }
.ar-hero__botones .ar-btn { flex: 1 1 100%; }
.ar-hero__micro { margin: 0; font-size: 0.9375rem; color: var(--ar-color-primario-oscuro); font-weight: 500; }
.ar-hero__media { order: -1; border-radius: var(--ar-radio); overflow: hidden; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #0f6b6e 0%, #5b4fb0 100%); }
.ar-hero__img { width: 100%; height: 100%; object-fit: cover; }
.ar-hero__deco { height: 100%; display: grid; place-items: center; color: rgba(255, 255, 255, 0.85); }
.ar-hero__hoja { width: 96px; height: 96px; stroke-width: 1; }
@media (min-width: 480px) { .ar-hero__botones .ar-btn { flex: 0 0 auto; } }
@media (min-width: 768px) {
	.ar-hero__in { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 40px; padding-block: 48px; }
	.ar-hero__media { order: 0; aspect-ratio: 4 / 5; max-height: 560px; }
}
@media (min-width: 1025px) { .ar-hero__in { padding-block: 72px; gap: 64px; } }

/* Categorías */
.ar-cat-lista { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 12px; margin: 0; padding: 0; }
.ar-cat__enlace { display: grid; gap: 10px; justify-items: center; text-align: center; text-decoration: none; color: var(--ar-texto); font-weight: 600; }
.ar-cat__img { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 5; border-radius: var(--ar-radio); overflow: hidden; background: var(--ar-arena); color: var(--ar-color-primario); transition: box-shadow 0.2s, transform 0.2s; }
.ar-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.ar-cat__ic { width: 40px; height: 40px; }
.ar-cat__enlace:hover .ar-cat__img { box-shadow: var(--ar-sombra); transform: translateY(-2px); }
.ar-cat__enlace:hover .ar-cat__nombre { color: var(--ar-color-primario); }
@media (min-width: 768px) { .ar-cat-lista { grid-template-columns: repeat(3, 1fr); gap: 24px 16px; } }
@media (min-width: 1025px) { .ar-cat-lista { grid-template-columns: repeat(6, 1fr); } }

/* Bienvenida + uso seguro */
.ar-bienvenida { background: var(--ar-lila-bruma); }
.ar-bienvenida__in { display: grid; gap: 24px; align-items: center; }
.ar-uso-seguro { display: flex; gap: 14px; padding: 20px; background: var(--ar-aviso-fondo); color: #5c3200; border-radius: var(--ar-radio); }
.ar-uso-seguro p { margin: 0; }
.ar-uso-seguro .ar-ic { margin-top: 2px; color: var(--ar-aviso); }
@media (min-width: 1025px) { .ar-bienvenida__in { grid-template-columns: 1.3fr 1fr; gap: 64px; } }

/* Reseñas */
.ar-resenas { background: var(--ar-lila-bruma); }
.ar-resenas__media { margin: 0; display: flex; align-items: center; gap: 10px; font-weight: 600; }
.ar-resenas__lista { list-style: none; display: grid; gap: 16px; margin: 0; padding: 0; }
.ar-resena { background: #fff; border-radius: var(--ar-radio); padding: 24px; box-shadow: var(--ar-sombra); }
.ar-resena blockquote { margin: 12px 0; }
.ar-resena blockquote p { margin: 0; }
.ar-resena__autor { margin: 0; font-size: 0.9375rem; color: var(--ar-texto-suave); font-weight: 600; }
.ar-estrellas { display: inline-flex; gap: 2px; vertical-align: middle; }
.ar-estrellas .ar-ic { width: 18px; height: 18px; }
.ar-estrellas .is-on { color: var(--ar-estrella); }
.ar-estrellas .is-off { color: #c9d3d2; }
@media (min-width: 768px) { .ar-resenas__lista { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1025px) { .ar-resenas__lista { grid-template-columns: repeat(3, 1fr); } }

/* Kit de iniciación */
.ar-kit { padding-block: 0 var(--ar-seccion); }
.ar-kit__caja { display: grid; gap: 16px; justify-items: start; padding: 32px 24px; border-radius: 20px; color: #fff; background: linear-gradient(135deg, #0b4f52 0%, #3d3a8c 100%); }
.ar-kit__ic { width: 40px; height: 40px; }
.ar-kit__texto h2 { color: #fff; margin-bottom: 8px; }
.ar-kit__texto p { margin: 0; max-width: 54ch; }
@media (min-width: 768px) { .ar-kit__caja { grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; padding: 40px; } }

/* Blog en portada */
.ar-blog-home { background: var(--ar-crema); }

/* Barra de confianza */
.ar-confianza { background: var(--ar-bruma); padding-block: 32px; }
.ar-confianza__lista { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px 12px; margin: 0; padding: 0; }
.ar-confianza__lista li { display: flex; gap: 12px; align-items: flex-start; }
.ar-confianza__lista .ar-ic { color: var(--ar-color-primario-oscuro); margin-top: 2px; }
.ar-confianza__lista span { display: grid; gap: 2px; color: var(--ar-color-primario-oscuro); }
.ar-confianza__lista small { font-size: 0.8125rem; color: var(--ar-texto); }
@media (min-width: 768px) { .ar-confianza__lista { grid-template-columns: repeat(4, 1fr); gap: 24px; } }

/* ==================== ETIQUETAS ==================== */
.ar-tag {
	position: absolute; top: 10px; left: 10px; z-index: 2; pointer-events: none;
	display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px;
	font-size: 0.75rem; font-weight: 600; line-height: 1.4; background: var(--ar-ok); color: #fff;
}
.ar-tag--nuevo { background: #2f7d4f; color: #fff; }
.ar-tag--oferta { background: #b3392f; color: #fff; }
.ar-tag--vendido, .ar-tag--mas-vendido, .ar-tag--masvendido { background: #5b4fb0; color: #fff; }
.ar-tag--limitada, .ar-tag--edicion-limitada { background: #fff1d6; color: #8a4b00; box-shadow: inset 0 0 0 1px #8a4b00; }
.ar-tag--agotado { background: #5e6b6b; color: #fff; }
.ar-summary-tag, .summary .ar-tag { position: static; margin-bottom: 12px; }

/* ==================== TARJETAS Y REJILLA ==================== */
ul.products, .ar-productos { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; }
@media (min-width: 480px) { ul.products, .ar-productos { gap: 16px; } }
@media (min-width: 768px) { ul.products, .ar-productos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1025px) { ul.products, .ar-productos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; } }
.ar-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ar-borde); border-radius: var(--ar-radio); overflow: hidden; transition: box-shadow 0.2s; }
.ar-card:hover, .ar-card:focus-within { box-shadow: var(--ar-sombra); }
.ar-card.is-agotado .ar-card__img img { opacity: 0.6; }
.ar-card__img { position: relative; aspect-ratio: 1; background: var(--ar-arena); }
.ar-card__foto { width: 100%; height: 100%; object-fit: cover; }
.ar-card__cuerpo { flex: 1; display: flex; flex-direction: column; gap: 2px; padding: 12px 12px 8px; }
.ar-card__cat { margin: 0; font-size: 0.75rem; color: var(--ar-texto-suave); }
.ar-card__titulo { margin: 0; font-family: var(--ar-fuente-texto); font-size: 1rem; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.ar-card__enlace { color: var(--ar-texto); text-decoration: none; }
.ar-card__enlace::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ar-card__enlace:hover { color: var(--ar-color-primario); }
.ar-card__enlace:focus-visible { outline: none; }
.ar-card__enlace:focus-visible::after { outline: 3px solid var(--ar-color-acento); outline-offset: -3px; border-radius: var(--ar-radio); }
.ar-card__valoracion { margin: 2px 0 0; display: flex; align-items: center; gap: 6px; font-size: 0.8125rem; color: var(--ar-texto-suave); }
.ar-card__precio { margin: 4px 0 0; font-weight: 700; font-size: 1.0625rem; }
.ar-card__accion { position: relative; z-index: 2; padding: 0 12px 12px; }
.ar-card__accion .button { width: 100%; padding: 0 12px; font-size: 0.9375rem; }
.ar-card__accion .added_to_cart { display: block; margin-top: 8px; text-align: center; font-size: 0.875rem; }
.ar-card__accion .button.loading { opacity: 0.7; }
.ar-card__accion .button.added { background: var(--ar-ok); border-color: var(--ar-ok); }

/* Precios (Woo) */
.price { color: var(--ar-texto); }
.price del { color: var(--ar-texto-suave); font-weight: 400; font-size: 0.875em; margin-right: 6px; }
.price ins { background: none; text-decoration: none; color: var(--ar-error); }
.screen-reader-text + .woocommerce-Price-amount { display: inline; }

/* Valoración nativa */
.star-rating { position: relative; display: inline-block; width: 5.6em; height: 1.1em; overflow: hidden; line-height: 1.1; font-size: 1rem; letter-spacing: 0.1em; vertical-align: middle; }
.star-rating::before { content: "\2605\2605\2605\2605\2605"; position: absolute; top: 0; left: 0; color: #c9d3d2; }
.star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 2em; height: 0; }
.star-rating span::before { content: "\2605\2605\2605\2605\2605"; position: absolute; top: 0; left: 0; color: var(--ar-estrella); }

/* ==================== ARCHIVO DE TIENDA ==================== */
.ar-cab-pagina--tienda { padding-bottom: 16px; }
.ar-tienda { display: grid; gap: 16px; }
.ar-tienda__barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.woocommerce-result-count { margin: 0; color: var(--ar-texto-suave); font-size: 0.9375rem; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { width: auto; min-width: 200px; border-radius: 999px; padding-inline: 18px; }
.term-description p:last-child { margin-bottom: 0; }

.ar-filtros__caja { background: #fff; border: 1px solid var(--ar-borde); border-radius: var(--ar-radio); }
.ar-filtros__btn { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; font-weight: 600; cursor: pointer; list-style: none; }
.ar-filtros__btn::-webkit-details-marker { display: none; }
.ar-filtros__cuerpo { padding: 0 16px 16px; }
@media (min-width: 1025px) {
	.ar-tienda--filtros { grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }
	.ar-filtros { position: sticky; top: calc(var(--ar-alto-header) + 16px); }
	.ar-filtros__btn { pointer-events: none; cursor: default; }
	.ar-tienda--filtros ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1025px) { .ar-tienda--filtros .woocommerce-ordering { display: none; } }
@media (min-width: 1201px) { .ar-tienda--filtros ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ==================== FICHA DE PRODUCTO ==================== */
.single-product div.product { display: grid; gap: 24px; padding-top: 16px; }
.single-product div.product > .woocommerce-product-gallery { min-width: 0; }
.single-product div.product .summary { min-width: 0; }
.single-product div.product > .ar-acordeones, .single-product div.product > .related, .single-product div.product > .upsells { grid-column: 1 / -1; }
.single-product .product_title { font-size: clamp(1.625rem, 1.3rem + 1.4vw, 2.375rem); margin-bottom: 8px; }
.single-product .summary .price { font-size: 1.5rem; font-weight: 700; margin: 8px 0 16px; }
.single-product .summary .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.woocommerce-product-details__short-description { color: var(--ar-texto); margin-bottom: 20px; }
.single-product .stock { font-weight: 600; color: var(--ar-ok); }
.single-product .stock.out-of-stock { color: var(--ar-error); }

/* Galería nativa */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { margin: 0; padding: 0; }
.woocommerce-product-gallery__image { background: var(--ar-arena); border-radius: var(--ar-radio); overflow: hidden; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.woocommerce-product-gallery .flex-viewport { border-radius: var(--ar-radio); overflow: hidden; }
.woocommerce-product-gallery__trigger { position: absolute; top: 12px; right: 12px; z-index: 5; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: #fff; box-shadow: var(--ar-sombra); text-decoration: none; font-size: 1.125rem; }
.flex-control-thumbs { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 8px 0 0; padding: 0; }
.flex-control-thumbs li { margin: 0; }
.flex-control-thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; cursor: pointer; opacity: 0.6; border: 2px solid transparent; transition: opacity 0.15s; }
.flex-control-thumbs img:hover, .flex-control-thumbs img.flex-active { opacity: 1; }
.flex-control-thumbs img.flex-active { border-color: var(--ar-color-primario); }

/* Compra */
form.cart { margin: 0 0 16px; }
form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.quantity { display: inline-flex; }
.quantity input.qty { width: 80px; min-height: 52px; text-align: center; border-radius: 999px; padding: 0 8px; }
form.cart .single_add_to_cart_button { flex: 1 1 200px; min-height: 52px; }
table.variations { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
table.variations th, table.variations td { display: block; padding: 0; text-align: left; }
table.variations th label { font-weight: 600; display: block; margin-bottom: 6px; }
table.variations td { margin-bottom: 12px; }
.reset_variations { display: inline-block; margin-top: 6px; font-size: 0.875rem; }
.single_variation_wrap .woocommerce-variation-price { margin-bottom: 12px; }
.product_meta { display: grid; gap: 4px; font-size: 0.875rem; color: var(--ar-texto-suave); margin-top: 16px; }
.product_meta a { color: var(--ar-texto-suave); }

/* Aviso de seguridad (lo genera el plugin; el tema solo lo coloca) */
.ar-avisos { margin: 20px 0; }
.ar-confianza-mini { list-style: none; display: grid; gap: 4px; margin: 16px 0 0; padding: 14px 16px; background: var(--ar-bruma); border-radius: var(--ar-radio); font-size: 0.9375rem; color: var(--ar-color-primario-oscuro); }
.ar-confianza-mini li { display: flex; align-items: center; gap: 10px; min-height: 28px; }
.ar-confianza-mini .ar-ic { width: 20px; height: 20px; }

/* Acordeones de ficha */
.ar-acordeones { border-top: 1px solid var(--ar-borde); margin-top: 8px; }
.ar-acordeon__cuerpo table.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.ar-acordeon__cuerpo table.woocommerce-product-attributes th, .ar-acordeon__cuerpo table.woocommerce-product-attributes td { padding: 8px 0; border-bottom: 1px solid var(--ar-borde); text-align: left; vertical-align: top; }
.ar-acordeon__cuerpo table.woocommerce-product-attributes th { width: 40%; font-weight: 600; padding-right: 12px; }
.ar-acordeon__cuerpo p { margin-bottom: 0.9em; }
.ar-acordeon__cuerpo p:last-child { margin-bottom: 0; }
.ar-acordeon__cuerpo td p { margin: 0; }

/* Opiniones */
#reviews h2.woocommerce-Reviews-title { font-size: 1.125rem; font-family: var(--ar-fuente-texto); }
#reviews ol.commentlist { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 16px; }
#reviews .comment_container { display: flex; gap: 12px; }
#reviews .comment_container img.avatar { width: 44px; height: 44px; border-radius: 999px; }
#reviews .comment-text { flex: 1; }
#reviews .comment-text p { margin: 4px 0; }
#reviews .meta { font-size: 0.875rem; color: var(--ar-texto-suave); }
#review_form_wrapper p { margin-bottom: 14px; }
#review_form_wrapper label { display: block; margin-bottom: 6px; }
p.stars span { display: inline-flex; gap: 6px; }
p.stars a { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--ar-borde-campo); border-radius: 999px; background: #fff; color: var(--ar-texto); font-size: 1rem; text-decoration: none; font-weight: 600; }
p.stars a.star-1::before { content: "1"; } p.stars a.star-2::before { content: "2"; } p.stars a.star-3::before { content: "3"; } p.stars a.star-4::before { content: "4"; } p.stars a.star-5::before { content: "5"; }
p.stars a.active, p.stars:hover a:hover { background: var(--ar-color-primario); border-color: var(--ar-color-primario); color: #fff; }
p.stars a { font-size: 0; } p.stars a::before { font-size: 1rem; }
.comment-form-cookies-consent { display: flex; gap: 8px; align-items: center; }

/* Relacionados / upsells */
section.related, section.upsells { margin-top: 24px; padding-top: 24px; }
section.related > h2, section.upsells > h2 { margin-bottom: 20px; }

/* Barra sticky móvil */
.ar-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 12px; padding: 10px var(--ar-pad) calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--ar-borde); box-shadow: 0 -4px 16px rgba(31, 45, 46, 0.1); }
.ar-sticky__datos { flex: 1; min-width: 0; display: grid; }
.ar-sticky__nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.875rem; font-weight: 600; }
.ar-sticky__precio { font-weight: 700; }
.ar-sticky__precio del { font-size: 0.8125rem; }
body.ar-con-sticky { padding-bottom: 76px; }
@media (min-width: 768px) { .ar-sticky { display: none !important; } body.ar-con-sticky { padding-bottom: 0; } }

@media (min-width: 768px) {
	.single-product div.product { grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; padding-top: 24px; }
	.single-product div.product .summary { position: sticky; top: calc(var(--ar-alto-header) + 16px); }
}
@media (min-width: 1025px) { .single-product div.product { gap: 64px; grid-template-columns: 1.15fr 1fr; } }

/* ==================== AVISOS Y FORMULARIOS DE WOO ==================== */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	list-style: none; margin: 0 0 20px; padding: 14px 18px; border-radius: var(--ar-radio);
	background: var(--ar-bruma); color: var(--ar-color-primario-oscuro); border-left: 5px solid var(--ar-color-primario);
}
.woocommerce-error { background: #fdecea; color: #7e211a; border-left-color: var(--ar-error); display: block; }
.woocommerce-error li { margin: 4px 0; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; }
.woocommerce-info { background: var(--ar-lila-bruma); color: #3b3380; border-left-color: var(--ar-color-acento); }
.woocommerce form .form-row { margin: 0 0 16px; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; }
.woocommerce form .form-row .required { color: var(--ar-error); text-decoration: none; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; }
@media (min-width: 768px) { .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); float: left; } .woocommerce form .form-row-last { float: right; } .woocommerce form .form-row-wide { clear: both; } }
.woocommerce-privacy-policy-text { font-size: 0.875rem; color: var(--ar-texto-suave); }
.ar-main--woo .ar-lectura__texto { font-size: 1rem; line-height: 1.6; }
.ar-main--woo .ar-cab-pagina { padding-bottom: 16px; }

/* Tablas de Woo (pedidos, resumen) */
table.shop_table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--ar-borde); border-radius: var(--ar-radio); overflow: hidden; }
table.shop_table th, table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--ar-borde); text-align: left; vertical-align: top; }
table.shop_table th { font-weight: 600; background: var(--ar-arena); }
@media (max-width: 767px) {
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--ar-borde); }
	table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 8px 14px; text-align: right; }
	table.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; text-align: left; }
	table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before, table.shop_table_responsive td[data-title=""]::before { display: none; }
}

/* ==================== CARRITO Y CHECKOUT (BLOQUES NATIVOS DE WOO: solo CSS) ==================== */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-size: 1rem; color: var(--ar-texto); }
.wp-block-woocommerce-cart h1, .wp-block-woocommerce-cart h2, .wp-block-woocommerce-cart h3,
.wp-block-woocommerce-checkout h1, .wp-block-woocommerce-checkout h2, .wp-block-woocommerce-checkout h3 { font-family: var(--ar-fuente-titulos); color: var(--ar-texto); }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--ar-fuente-titulos); font-weight: 600; }
.wc-block-components-button:not(.is-link) {
	min-height: 52px; border-radius: 999px; background: var(--ar-color-primario); color: #fff; font-weight: 600; font-family: var(--ar-fuente-texto);
}
.wc-block-components-button:not(.is-link):hover:not(:disabled) { background: var(--ar-color-primario-oscuro); color: #fff; }
.wc-block-components-button:not(.is-link):focus-visible { outline: 3px solid var(--ar-color-acento); outline-offset: 2px; }
.wc-block-components-button.outlined, .wc-block-components-button.wc-block-components-button--outlined { background: transparent; color: var(--ar-color-primario); box-shadow: inset 0 0 0 2px var(--ar-color-primario); }
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-combobox .components-combobox-control__suggestions-container, .wc-blocks-components-select .wc-blocks-components-select__select {
	border-radius: 8px; border-color: var(--ar-borde-campo); font-size: 16px; font-family: var(--ar-fuente-texto);
}
.wc-block-components-text-input input:focus, .wc-block-components-textarea:focus { border-color: var(--ar-color-acento); box-shadow: 0 0 0 1px var(--ar-color-acento); outline: none; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 8px; }
.wc-block-components-radio-control__input:checked, .wc-block-components-checkbox__input:checked { border-color: var(--ar-color-primario); }
.wc-block-components-radio-control__input:checked::before { background: var(--ar-color-primario); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--ar-color-primario); }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { box-sizing: border-box; }
.wc-block-cart__sidebar, .wc-block-checkout__sidebar { background: #fff; border: 1px solid var(--ar-borde); border-radius: var(--ar-radio); padding: 20px !important; }
.wc-block-cart-items { background: #fff; border-radius: var(--ar-radio); }
.wc-block-cart-items__row .wc-block-cart-item__image img { width: 72px; border-radius: 8px; }
.wc-block-components-product-name { color: var(--ar-texto); font-weight: 600; text-decoration: none; }
.wc-block-components-product-name:hover { color: var(--ar-color-primario); }
.wc-block-components-product-price ins { color: var(--ar-error); text-decoration: none; }
.wc-block-components-quantity-selector { border-radius: 999px; }
.wc-block-components-notice-banner { border-radius: var(--ar-radio); }
.wc-block-components-totals-item__value { font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--ar-fuente-titulos); font-size: 1.375rem; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { color: var(--ar-color-primario); font-weight: 600; }
.wc-block-components-order-summary { border-radius: 8px; }
.wc-block-components-express-payment { margin-bottom: 8px; }
.wc-block-components-checkout-place-order-button { width: 100%; }
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row { align-items: center; }
@media (max-width: 767px) {
	.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { margin-bottom: 8px; }
	.wc-block-cart__sidebar, .wc-block-checkout__sidebar { padding: 16px !important; }
}
@media (min-width: 1025px) {
	.wc-block-components-sidebar-layout .wc-block-components-sidebar { position: sticky; top: calc(var(--ar-alto-header) + 16px); align-self: flex-start; }
}
/* Barra de progreso de envío gratis (la pinta el plugin; solo variables y respeto de contraste) */
.ar-barra-envio, .aromu-barra-envio { margin: 0 0 20px; }

/* ==================== MI CUENTA ==================== */
.woocommerce-account .woocommerce { display: grid; gap: 24px; }
.woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--ar-borde-campo); border-radius: 999px; background: #fff; color: var(--ar-texto); text-decoration: none; font-weight: 500; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ar-color-primario); border-color: var(--ar-color-primario); color: #fff; }
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm fieldset { padding: 20px; background: #fff; border: 1px solid var(--ar-borde); border-radius: var(--ar-radio); }
.u-columns.col2-set { display: grid; gap: 24px; }
.woocommerce-account .woocommerce-Address { padding: 16px; background: #fff; border: 1px solid var(--ar-borde); border-radius: var(--ar-radio); }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.show-password-input { display: none; }
@media (min-width: 768px) { .u-columns.col2-set { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1025px) {
	.woocommerce-account.logged-in .woocommerce { grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; border-radius: 12px; }
}
