/*
Theme Name: Rapidex24
Theme URI: https://rapidex24.com/
Author: Rapidex24
Description: Tema para tiendas de venta contrareembolso, compatible con WooCommerce. Incluye barra de avisos, escena animada de entrega a domicilio, sellos de confianza, botón fijo de compra en móvil y secciones de copy orientadas al pago al recibir.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rapidex24
Tags: e-commerce, custom-logo, custom-menu, featured-images, translation-ready, block-styles, wide-blocks
WC requires at least: 8.0
WC tested up to: 9.9
*/

/* ==========================================================================
   1. Variables
   ========================================================================== */

:root{
	--azul:#0a2a6b;
	--azul-vivo:#1656d6;
	--azul-claro:#e8efff;
	--rojo:#e01b2c;
	--rojo-oscuro:#b0121f;
	--ambar:#ffc51f;
	--verde:#0b8457;
	--tinta:#0b1b3a;
	--gris:#37476b;
	--gris-suave:#6b7a99;
	--humo:#f2f4f7;
	--linea:#e2e7f0;
	--blanco:#fff;

	--radio:.7rem;
	--radio-g:1.1rem;
	--sombra:0 4px 18px rgba(11,27,58,.08);
	--sombra-alta:0 16px 40px rgba(11,27,58,.16);
	--ancho:74rem;
	--tipo:"Poppins","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ==========================================================================
   2. Base
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}

body{
	margin:0;
	font-family:var(--tipo);
	font-size:clamp(15px,.35vw + 14.2px,17px);
	line-height:1.62;
	color:var(--gris);
	background:var(--blanco);
	-webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{color:var(--tinta);line-height:1.14;letter-spacing:-.022em;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(1.95rem,4.6vw,3.1rem)}
h2{font-size:clamp(1.5rem,3.2vw,2.15rem)}
h3{font-size:clamp(1.12rem,2vw,1.35rem)}
p{margin:0 0 1rem}
a{color:var(--azul-vivo);text-decoration:none}
a:hover{color:var(--azul)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--ambar);outline-offset:2px}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.seccion{padding:clamp(2.5rem,6vw,4.5rem) 0}
.seccion--humo{background:var(--humo)}
.seccion__titulo{text-align:center;max-width:40rem;margin:0 auto clamp(1.75rem,4vw,2.5rem)}
.seccion__titulo p{color:var(--gris-suave);margin:0}

.salto-enlace{position:absolute;left:-9999px}
.salto-enlace:focus{left:1rem;top:1rem;z-index:9999;padding:.6rem 1rem;background:var(--azul);color:#fff;border-radius:.4rem}

/* ==========================================================================
   3. Botones
   ========================================================================== */

.boton,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
	display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
	padding:.85rem 1.6rem;
	font-family:var(--tipo);
	font-size:1rem;font-weight:700;line-height:1.2;
	color:#fff;background:var(--rojo);
	border:0;border-radius:var(--radio);
	cursor:pointer;text-align:center;
	transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}

.boton:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
	background:var(--rojo-oscuro);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(224,27,44,.32);
}

.boton--fantasma{background:transparent;color:var(--blanco);border:2px solid rgba(255,255,255,.5)}
.boton--fantasma:hover{background:rgba(255,255,255,.12);border-color:#fff;box-shadow:none}
.boton--azul{background:var(--azul-vivo)}
.boton--azul:hover{background:var(--azul);box-shadow:0 10px 24px rgba(22,86,214,.3)}
.boton--bloque{width:100%}

/* ==========================================================================
   4. Barra de avisos
   ========================================================================== */

.avisos{background:var(--azul);color:#fff;overflow:hidden}
.avisos__pista{display:flex;gap:3rem;width:max-content;padding:.6rem 1.5rem;font-size:.8rem;font-weight:600;letter-spacing:.02em;animation:desfile 30s linear infinite}
.avisos__pista span{white-space:nowrap;display:flex;align-items:center;gap:.4rem}
.avisos:hover .avisos__pista{animation-play-state:paused}
@keyframes desfile{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   5. Cabecera
   ========================================================================== */

.cabecera{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.cabecera.esta-fija{box-shadow:var(--sombra)}
.cabecera__fila{display:flex;align-items:center;gap:1rem;padding:.75rem 0;min-height:4rem}

.marca{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:800;color:var(--tinta);letter-spacing:-.03em}
.marca img{max-height:2.6rem;width:auto}
.custom-logo-link{display:flex;align-items:center;flex:none}
.custom-logo{max-height:2.6rem;width:auto}
.marca__24{display:inline-flex;padding:.05em .38em .12em;background:var(--rojo);color:#fff;border-radius:.35rem}

.menu{margin-left:auto}
.menu ul{display:flex;align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none}
.menu a{color:var(--tinta);font-weight:600;font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent}
.menu a:hover,.menu .current-menu-item>a{color:var(--azul-vivo);border-bottom-color:var(--rojo)}
.menu ul ul{display:none}

.cabecera__acciones{display:flex;align-items:center;gap:.6rem}

.carrito-zona{position:relative}

.carrito{
	position:relative;display:inline-flex;align-items:center;gap:.45rem;
	padding:.5rem .8rem;background:var(--humo);border-radius:var(--radio);
	color:var(--tinta);font-weight:700;font-size:.9rem;
}
.carrito:hover,.carrito-zona:focus-within .carrito{background:var(--azul-claro);color:var(--azul)}
.carrito svg{width:1.35rem;height:1.35rem;flex:none}

.carrito__cuenta{
	min-width:1.25rem;height:1.25rem;display:grid;place-items:center;padding:0 .32rem;
	background:var(--rojo);color:#fff;border-radius:1rem;font-size:.72rem;line-height:1;
}
.carrito__cuenta.esta-vacio{background:var(--gris-suave)}

/* Desplegable del carrito */
.mini-carrito{
	position:absolute;top:calc(100% + .55rem);right:0;z-index:1000;
	width:20.5rem;max-width:calc(100vw - 2rem);
	padding:1rem;
	background:#fff;border:1px solid var(--linea);border-radius:var(--radio-g);
	box-shadow:var(--sombra-alta);
	opacity:0;visibility:hidden;transform:translateY(-6px);
	transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.mini-carrito::before{
	content:"";position:absolute;top:-.45rem;right:1.4rem;
	width:.9rem;height:.9rem;background:#fff;
	border-left:1px solid var(--linea);border-top:1px solid var(--linea);
	transform:rotate(45deg);
}
/* Puente invisible para que el ratón pueda bajar sin perder el desplegable */
.mini-carrito::after{content:"";position:absolute;top:-.6rem;left:0;right:0;height:.6rem}

.carrito-zona:hover .mini-carrito,
.carrito-zona:focus-within .mini-carrito{opacity:1;visibility:visible;transform:translateY(0)}

.mini-carrito .woocommerce-mini-cart{margin:0;padding:0;list-style:none;max-height:16rem;overflow-y:auto}
.mini-carrito .woocommerce-mini-cart-item{
	position:relative;display:flex;align-items:center;gap:.7rem;
	padding:.6rem 0;border-bottom:1px solid var(--linea);
}
.mini-carrito .woocommerce-mini-cart-item:last-child{border-bottom:0}
.mini-carrito .woocommerce-mini-cart-item img{
	order:-1;width:3.4rem;height:3.4rem;flex:none;
	object-fit:cover;border-radius:.4rem;background:var(--humo);margin:0;
}
.mini-carrito .woocommerce-mini-cart-item a:not(.remove){
	display:block;font-size:.88rem;font-weight:700;color:var(--tinta);line-height:1.3;
}
.mini-carrito .woocommerce-mini-cart-item .quantity{
	display:block;margin-top:.15rem;font-size:.82rem;color:var(--gris-suave);font-weight:600;
}
.mini-carrito .woocommerce-mini-cart-item .quantity .amount{color:var(--tinta)}
.mini-carrito .woocommerce-mini-cart-item .remove{
	position:absolute;top:.55rem;right:0;
	width:1.4rem;height:1.4rem;display:grid !important;place-items:center;
	background:var(--humo);border-radius:50%;
	color:var(--gris-suave) !important;font-size:1rem;line-height:1;text-decoration:none;
}
.mini-carrito .woocommerce-mini-cart-item .remove:hover{background:var(--rojo);color:#fff !important}

.mini-carrito .woocommerce-mini-cart__total{
	display:flex;justify-content:space-between;gap:1rem;
	margin:.7rem 0 .8rem;padding-top:.7rem;border-top:2px solid var(--linea);
	font-size:.95rem;font-weight:800;color:var(--tinta);
}
.mini-carrito .woocommerce-mini-cart__total strong{font-weight:800}
.mini-carrito .woocommerce-mini-cart__total .amount{color:var(--verde)}

.mini-carrito .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0}
.mini-carrito .woocommerce-mini-cart__buttons a{width:100%;padding:.65rem .5rem;font-size:.85rem;text-align:center}
.mini-carrito .woocommerce-mini-cart__buttons a:not(.checkout){background:var(--humo);color:var(--tinta)}
.mini-carrito .woocommerce-mini-cart__buttons a:not(.checkout):hover{background:var(--azul-claro);color:var(--azul);box-shadow:none}

.mini-carrito__vacio,.mini-carrito .woocommerce-mini-cart__empty-message{margin:0;padding:.8rem 0;text-align:center;font-size:.88rem;color:var(--gris-suave)}

/* En pantallas táctiles el desplegable estorba: el botón lleva al carrito */
@media (hover:none),(max-width:48rem){
	.mini-carrito{display:none}
}

.hamburguesa{display:none;width:2.6rem;height:2.6rem;padding:0;background:var(--humo);border:0;border-radius:var(--radio);cursor:pointer}
.hamburguesa span{display:block;width:1.1rem;height:2px;margin:.22rem auto;background:var(--tinta);border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.hamburguesa[aria-expanded="true"] span:nth-child(1){transform:translateY(.26rem) rotate(45deg)}
.hamburguesa[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburguesa[aria-expanded="true"] span:nth-child(3){transform:translateY(-.26rem) rotate(-45deg)}

@media (max-width:60rem){
	.hamburguesa{display:block}
	.menu{position:absolute;left:0;right:0;top:100%;display:none;background:#fff;border-bottom:1px solid var(--linea);box-shadow:var(--sombra)}
	.menu.esta-abierto{display:block}
	.menu ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem clamp(1rem,3vw,2rem) 1rem}
	.menu li{border-bottom:1px solid var(--linea)}
	.menu a{display:block;padding:.85rem 0;border:0}
}

/* ==========================================================================
   6. Portada
   ========================================================================== */

.heroe{position:relative;color:#fff;overflow:hidden;background:
	radial-gradient(100% 70% at 10% 0%,#1b5ad8 0%,transparent 55%),
	radial-gradient(85% 75% at 98% 10%,#e01b2c 0%,transparent 48%),
	linear-gradient(160deg,#0b3080 0%,#071a45 100%)}

.heroe__rejilla{display:grid;gap:clamp(1.5rem,4vw,2.5rem);align-items:center;padding:clamp(2rem,5vw,3.5rem) 0}
@media (min-width:56rem){.heroe__rejilla{grid-template-columns:1.02fr .98fr}}

.heroe h1{color:#fff;margin-bottom:.7rem}
.heroe h1 em{font-style:normal;background:linear-gradient(95deg,var(--ambar),#ff8a3d);-webkit-background-clip:text;background-clip:text;color:transparent}
.heroe__entrada{color:rgba(255,255,255,.82);font-size:1.05rem;max-width:33rem}

.etiqueta{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.35rem .85rem .35rem .5rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:2rem;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.etiqueta__punto{width:.5rem;height:.5rem;border-radius:50%;background:var(--ambar);animation:latido 2.4s ease-out infinite}
@keyframes latido{
	0%{box-shadow:0 0 0 0 rgba(255,197,31,.55)}
	70%{box-shadow:0 0 0 .65rem rgba(255,197,31,0)}
	100%{box-shadow:0 0 0 0 rgba(255,197,31,0)}
}

.heroe__acciones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.heroe__notas{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:1.5rem 0 0;padding:0;list-style:none;font-size:.82rem;color:rgba(255,255,255,.78)}
.heroe__notas li{display:flex;align-items:center;gap:.4rem}
.heroe__notas svg{width:1rem;height:1rem;flex:none;color:var(--ambar)}

/* Escena animada */
.escena{border-radius:var(--radio-g);overflow:hidden;border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,#0d3fa8,#5b8fff)}
.escena svg{display:block;width:100%;height:auto}

.furgo{animation:furgo 14s ease-in-out infinite}
@keyframes furgo{0%{transform:translateX(-250px)}14%,66%{transform:translateX(0)}80%,100%{transform:translateX(430px)}}

.bote{animation:bote 14s linear infinite}
@keyframes bote{0%,6%,12%,14%,66%,72%,78%,100%{transform:translateY(0)}3%,9%,69%,75%{transform:translateY(-2px)}}

.rueda{animation:rueda 14s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes rueda{0%{transform:rotate(0)}14%,66%{transform:rotate(1080deg)}80%,100%{transform:rotate(2160deg)}}

.mensajero{animation:mensajero 14s ease-in-out infinite}
@keyframes mensajero{
	0%,16%{transform:translateX(0);opacity:0}
	18%{transform:translateX(0);opacity:1}
	34%,50%{transform:translateX(178px);opacity:1}
	62%{transform:translateX(0);opacity:1}
	64%,100%{transform:translateX(0);opacity:0}
}

.pierna{transform-box:fill-box;transform-origin:top center}
.pierna--a{animation:pasoA 14s linear infinite}
.pierna--b{animation:pasoB 14s linear infinite}
@keyframes pasoA{0%,18%,34%,50%,62%,100%{transform:rotate(0)}21%,27%,56%{transform:rotate(17deg)}24%,30%,53%,59%{transform:rotate(-17deg)}}
@keyframes pasoB{0%,18%,34%,50%,62%,100%{transform:rotate(0)}21%,27%,56%{transform:rotate(-17deg)}24%,30%,53%,59%{transform:rotate(17deg)}}

.brazo{transform-box:fill-box;transform-origin:top center;animation:brazo 14s ease-in-out infinite}
@keyframes brazo{0%,34%{transform:rotate(0)}40%,46%{transform:rotate(-38deg)}52%,100%{transform:rotate(0)}}

.paquete-mensajero{animation:paqueteVa 14s ease-in-out infinite}
@keyframes paqueteVa{
	0%,16%{opacity:0;transform:translate(0,0)}
	18%,36%{opacity:1;transform:translate(0,0)}
	42%{opacity:1;transform:translate(14px,-4px)}
	43%,100%{opacity:0;transform:translate(14px,-4px)}
}

.paquete-persona{animation:paqueteLlega 14s ease-in-out infinite}
@keyframes paqueteLlega{
	0%,42%{opacity:0;transform:translate(-12px,-3px)}
	46%,64%{opacity:1;transform:translate(0,0)}
	68%,100%{opacity:0;transform:translate(0,0)}
}

.puerta{transform-box:fill-box;transform-origin:left center;animation:puerta 14s ease-in-out infinite}
@keyframes puerta{0%,30%{transform:scaleX(1)}36%,62%{transform:scaleX(.14)}68%,100%{transform:scaleX(1)}}

.persona{animation:persona 14s ease-in-out infinite}
@keyframes persona{0%,32%{opacity:0;transform:translateY(5px)}38%,64%{opacity:1;transform:translateY(0)}68%,100%{opacity:0;transform:translateY(5px)}}

.brazo-persona{transform-box:fill-box;transform-origin:top center;animation:saludo 14s ease-in-out infinite}
@keyframes saludo{0%,44%{transform:rotate(0)}50%{transform:rotate(-26deg)}54%{transform:rotate(-8deg)}58%{transform:rotate(-26deg)}62%,100%{transform:rotate(0)}}

.visto{transform-box:fill-box;transform-origin:center;animation:visto 14s ease-out infinite}
@keyframes visto{
	0%,44%{opacity:0;transform:scale(.4) translateY(6px)}
	49%,60%{opacity:1;transform:scale(1) translateY(0)}
	66%,100%{opacity:0;transform:scale(1) translateY(-10px)}
}

.nube{animation:nube 26s linear infinite}
.nube--b{animation-duration:36s;animation-delay:-11s;opacity:.7}
@keyframes nube{0%{transform:translateX(0)}100%{transform:translateX(-140px)}}

.arbol{transform-box:fill-box;transform-origin:bottom center;animation:brisa 5s ease-in-out infinite}
@keyframes brisa{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}

/* ==========================================================================
   7. Bloques de confianza y pasos
   ========================================================================== */

.ventajas{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:clamp(1rem,2.5vw,1.5rem)}
.ventaja{padding:1.4rem;background:#fff;border:1px solid var(--linea);border-radius:var(--radio-g);box-shadow:var(--sombra)}
.ventaja__icono{width:2.8rem;height:2.8rem;display:grid;place-items:center;margin-bottom:.9rem;background:var(--azul-claro);border-radius:.65rem;color:var(--azul-vivo)}
.ventaja__icono svg{width:1.45rem;height:1.45rem}
.ventaja h3{margin-bottom:.3rem;font-size:1.05rem}
.ventaja p{margin:0;font-size:.9rem;color:var(--gris-suave)}

.pasos{counter-reset:paso;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:clamp(1rem,3vw,2rem)}
.paso{position:relative;padding:1.5rem 1.4rem 1.4rem;background:#fff;border-radius:var(--radio-g);border:1px solid var(--linea)}
.paso::before{
	counter-increment:paso;content:counter(paso);
	position:absolute;top:-1.1rem;left:1.4rem;
	width:2.2rem;height:2.2rem;display:grid;place-items:center;
	background:var(--azul);color:#fff;border-radius:50%;
	font-weight:800;font-size:1rem;
}
.paso h3{margin:.7rem 0 .35rem;font-size:1.05rem}
.paso p{margin:0;font-size:.9rem;color:var(--gris-suave)}

.sellos{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.5rem;margin:0;padding:0;list-style:none;font-size:.85rem;font-weight:600;color:var(--gris)}
.sellos li{display:flex;align-items:center;gap:.45rem}
.sellos svg{width:1.1rem;height:1.1rem;color:var(--verde);flex:none}

/* Preguntas frecuentes */
.faq{max-width:44rem;margin:0 auto;display:grid;gap:.6rem}
.faq details{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:0 1.1rem}
.faq summary{padding:1rem 0;font-weight:700;color:var(--tinta);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--rojo);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0 0 1rem;font-size:.92rem;color:var(--gris-suave)}

/* Testimonios */
.opiniones{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}
.opinion{padding:1.4rem;background:#fff;border:1px solid var(--linea);border-radius:var(--radio-g)}
.opinion__estrellas{color:var(--ambar);letter-spacing:.1em;margin-bottom:.5rem}
.opinion p{font-size:.93rem;color:var(--gris)}
.opinion cite{font-style:normal;font-weight:700;font-size:.85rem;color:var(--tinta)}

/* Franja final */
.remate{background:linear-gradient(120deg,var(--azul),var(--azul-vivo));color:#fff;text-align:center;border-radius:var(--radio-g);padding:clamp(2rem,5vw,3rem)}
.remate h2{color:#fff}
.remate p{color:rgba(255,255,255,.85);max-width:34rem;margin:0 auto 1.5rem}

/* ==========================================================================
   8. WooCommerce
   ========================================================================== */

.woocommerce .contenedor-tienda{padding:clamp(1.5rem,4vw,2.5rem) 0}
.woocommerce .woocommerce-breadcrumb{font-size:.82rem;color:var(--gris-suave);margin-bottom:1rem}
.woocommerce .page-title{margin-bottom:1.25rem}
.woocommerce .woocommerce-result-count{font-size:.85rem;color:var(--gris-suave)}

.woocommerce ul.products li.product{text-align:left;background:#fff;border:1px solid var(--linea);border-radius:var(--radio-g);overflow:hidden;box-shadow:var(--sombra);transition:transform .3s ease,box-shadow .3s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta)}
.woocommerce ul.products li.product a img{margin:0;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:.9rem 1rem 0;font-size:1rem;font-weight:700;color:var(--tinta);line-height:1.3}
.woocommerce ul.products li.product .price{display:block;padding:.35rem 1rem 0;color:var(--tinta);font-size:1.15rem;font-weight:800}
.woocommerce ul.products li.product .price del{color:var(--gris-suave);font-weight:500;font-size:.85em;margin-right:.35rem}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--rojo)}
.woocommerce ul.products li.product .button{margin:.9rem 1rem 1.1rem;width:calc(100% - 2rem)}
.woocommerce ul.products li.product .rpdx-etiqueta-cod{display:block;padding:.2rem 1rem 0;font-size:.78rem;font-weight:700;color:var(--verde)}

.woocommerce span.onsale{
	position:absolute;top:.8rem;left:.8rem;min-height:0;min-width:0;padding:.25rem .6rem;
	background:var(--rojo);color:#fff;border-radius:2rem;
	font-size:.76rem;font-weight:800;line-height:1.4;margin:0;
}

/* Ficha de producto */
.woocommerce div.product .product_title{margin-bottom:.5rem}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--tinta);font-size:1.9rem;font-weight:800}
.woocommerce div.product p.price del{color:var(--gris-suave);font-size:.55em;font-weight:500}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--rojo)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--gris)}
.woocommerce div.product form.cart{margin:1.25rem 0}
.woocommerce div.product form.cart div.quantity{margin-right:.6rem}
.woocommerce .quantity .qty{height:3.1rem;width:4.5rem;padding:.4rem;border:1px solid var(--linea);border-radius:var(--radio);font-size:1rem;text-align:center}
.woocommerce div.product form.cart .button{padding:1rem 2rem;font-size:1.05rem}

.rpdx-cod{display:flex;align-items:center;gap:.6rem;margin:.75rem 0 1rem;padding:.75rem .9rem;background:rgba(11,132,87,.08);border-left:3px solid var(--verde);border-radius:.4rem;font-size:.92rem;font-weight:600;color:#0a5f40}
.rpdx-cod svg{width:1.25rem;height:1.25rem;flex:none;color:var(--verde)}

.rpdx-garantias{margin:1.25rem 0 0;padding:1rem 0 0;border-top:1px solid var(--linea);list-style:none;display:grid;gap:.55rem;font-size:.88rem;color:var(--gris)}
.rpdx-garantias li{display:flex;gap:.55rem;align-items:flex-start}
.rpdx-garantias svg{width:1.05rem;height:1.05rem;color:var(--azul-vivo);flex:none;margin-top:.18rem}

.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:1.25rem}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--linea)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--humo);border:1px solid var(--linea);border-radius:var(--radio) var(--radio) 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:700;color:var(--tinta)}

/* Barra fija de compra en móvil */
.compra-fija{
	position:fixed;left:0;right:0;bottom:0;z-index:950;
	display:none;align-items:center;gap:.75rem;
	padding:.7rem clamp(.75rem,3vw,1.25rem);
	background:rgba(255,255,255,.97);
	border-top:1px solid var(--linea);
	box-shadow:0 -6px 22px rgba(11,27,58,.12);
	transform:translateY(110%);transition:transform .3s ease;
}
.compra-fija.esta-visible{transform:translateY(0)}
.compra-fija__precio{font-weight:800;color:var(--tinta);font-size:1.05rem;line-height:1.2}
.compra-fija__precio small{display:block;font-size:.7rem;font-weight:600;color:var(--verde)}
.compra-fija .boton{margin-left:auto;padding:.8rem 1.4rem}

@media (max-width:48rem){
	.compra-fija{display:flex}
	body.single-product{padding-bottom:4.5rem}
}

/* Carrito y pago */
.woocommerce table.shop_table{border-radius:var(--radio-g);border-color:var(--linea)}
.woocommerce table.shop_table th{color:var(--tinta)}
.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-checkout #order_review .shop_table th{background:var(--humo)}
.woocommerce form .form-row label{font-weight:600;color:var(--tinta);font-size:.88rem}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
	padding:.75rem .85rem;font-size:1rem;
	border:1px solid var(--linea);border-radius:var(--radio);
	min-height:3rem;
}
.woocommerce-checkout #payment{background:var(--humo);border-radius:var(--radio-g)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:var(--linea)}
.woocommerce-checkout #payment ul.payment_methods li{margin-bottom:.5rem;padding:.75rem;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);list-style:none}
.woocommerce-checkout #payment div.payment_box{background:var(--azul-claro);color:var(--azul)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--azul-claro)}
.woocommerce-checkout #payment #place_order{width:100%;padding:1.05rem;font-size:1.1rem}

.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--azul-vivo);border-radius:var(--radio)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--azul-vivo)}

/* ==========================================================================
   9. Entradas y páginas
   ========================================================================== */

.entrada{max-width:46rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 0}
.entrada__meta{font-size:.82rem;color:var(--gris-suave);margin-bottom:1.25rem}
.entrada img{border-radius:var(--radio-g);margin:1.5rem 0}
.entrada blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--rojo);color:var(--tinta);font-size:1.05rem}
.listado{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.5rem}
.tarjeta-entrada{background:#fff;border:1px solid var(--linea);border-radius:var(--radio-g);overflow:hidden;box-shadow:var(--sombra)}
.tarjeta-entrada__cuerpo{padding:1.1rem}
.tarjeta-entrada h2{font-size:1.15rem;margin-bottom:.4rem}
.paginacion{margin-top:2rem;display:flex;justify-content:center;gap:.4rem}
.paginacion .page-numbers{padding:.5rem .9rem;border:1px solid var(--linea);border-radius:var(--radio);color:var(--tinta);font-weight:600}
.paginacion .page-numbers.current{background:var(--azul);color:#fff;border-color:var(--azul)}

/* ==========================================================================
   10. Pie y flotantes
   ========================================================================== */

.pie{background:var(--tinta);color:rgba(255,255,255,.72);padding:clamp(2rem,5vw,3rem) 0 1.25rem;margin-top:clamp(2rem,5vw,3.5rem)}
.pie__rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.75rem}
.pie h3{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem}
.pie ul{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;font-size:.88rem}
.pie a{color:rgba(255,255,255,.72)}
.pie a:hover{color:#fff}
.pie__legal{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);font-size:.78rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}

.whatsapp{
	position:fixed;right:1rem;bottom:1rem;z-index:940;
	width:3.4rem;height:3.4rem;display:grid;place-items:center;
	background:#25d366;color:#fff;border-radius:50%;
	box-shadow:0 8px 22px rgba(37,211,102,.42);
	transition:transform .25s ease;
}
.whatsapp:hover{transform:scale(1.08);color:#fff}
.whatsapp svg{width:1.75rem;height:1.75rem}
@media (max-width:48rem){
	body.single-product .whatsapp{bottom:5.2rem}
}

/* ==========================================================================
   11. Accesibilidad
   ========================================================================== */

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
