/* =============================================
     TEMÁTICA HALLOWEEN — cotizar/depilacion-laser
     Solo cambia el diseño: se carga DESPUÉS de cotizar-laser.css y lo sobreescribe.
     Para quitar la temática (después del 31 de octubre) basta con borrar, en
     cotizar-laser.hbs: el <link> a este archivo, el <script> halloween-timer.js
     y la clase "halloween" del <body>. El resto de la página no cambia.
     ============================================= */

body.halloween {
	--color-principal: #ff7a1a; /* naranja calabaza */
	--color-principal-oscuro: #e65f00;
	--color-fondo: #130a1f; /* morado casi negro */
	--color-texto: #f6e9d8; /* crema */
	--color-suave: #b9a8cf; /* lavanda apagado */
	--color-borde: #3b2358;
	--color-blanco: #1e1130; /* "blanco" de tarjetas y barras → morado oscuro */
	--hw-morado: #8b3fd9;
	--hw-verde: #9dff4f;

	background-color: var(--color-fondo) !important;
	background-image:
		radial-gradient(ellipse at 50% -10%, rgba(139, 63, 217, 0.28), transparent 55%),
		radial-gradient(ellipse at 50% 110%, rgba(255, 122, 26, 0.14), transparent 50%);
	background-attachment: fixed;
}

body.halloween h1,
body.halloween h2,
body.halloween h3 {
	font-family: 'Creepster', Georgia, 'Times New Roman', serif;
	letter-spacing: 1.5px;
	font-weight: 400;
}

/* =============================================
     BARRA SUPERIOR + TEMPORIZADOR
     ============================================= */
.hw-barra {
	background: linear-gradient(90deg, #2a0f45, #5a1d8f 50%, #2a0f45);
	border-bottom: 2px solid #ff7a1a;
	color: #f6e9d8;
	text-align: center;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.3px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 18px;
}

.hw-barra-texto strong {
	color: #ff9a45;
}

.hw-timer {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.hw-timer-label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: #d9c6f2;
}

.hw-timer-cajas {
	display: inline-flex;
	gap: 6px;
}

.hw-caja {
	min-width: 46px;
	padding: 3px 6px 2px;
	background: #130a1f;
	border: 1.5px solid #ff7a1a;
	border-radius: 6px;
	text-align: center;
	line-height: 1.1;
	box-shadow: 0 0 10px rgba(255, 122, 26, 0.45);
}

.hw-caja b {
	display: block;
	font-family: 'Creepster', Georgia, serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 1px;
	color: #ffb36b;
	text-shadow: 0 0 8px rgba(255, 122, 26, 0.8);
	font-variant-numeric: tabular-nums;
}

.hw-caja span {
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: #b9a8cf;
	font-weight: 600;
}

.hw-timer-fin {
	font-family: 'Creepster', Georgia, serif;
	font-size: 18px;
	letter-spacing: 1px;
	color: #ffb36b;
}

/* =============================================
     BANNER
     ============================================= */
body.halloween .banner {
	overflow: hidden;
	border-bottom: 3px solid #ff7a1a;
}

/* Capa sobre la foto: oscura con tinte morado → naranja */
body.halloween .banner::before {
	background:
		radial-gradient(ellipse at 50% 100%, rgba(255, 122, 26, 0.35), transparent 60%),
		linear-gradient(180deg, rgba(19, 10, 31, 0.78), rgba(58, 18, 96, 0.72));
}

/* Telarañas en las esquinas (SVG inline, sin imágenes extra) */
body.halloween .banner::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23f6e9d8' stroke-opacity='.55' stroke-width='1'%3E%3Cpath d='M0 0 L120 0 M0 0 L110 40 M0 0 L85 85 M0 0 L40 110 M0 0 L0 120'/%3E%3Cpath d='M30 0 Q24 24 0 30 M60 0 Q48 48 0 60 M90 0 Q72 72 0 90 M118 0 Q96 96 0 118'/%3E%3C/g%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23f6e9d8' stroke-opacity='.55' stroke-width='1'%3E%3Cpath d='M120 0 L0 0 M120 0 L10 40 M120 0 L35 85 M120 0 L80 110 M120 0 L120 120'/%3E%3Cpath d='M90 0 Q96 24 120 30 M60 0 Q72 48 120 60 M30 0 Q48 72 120 90 M2 0 Q24 96 120 118'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right top;
	background-size: 150px 150px, 150px 150px;
}

body.halloween .banner h1 {
	color: #ff9a45;
	font-size: 48px;
	text-shadow:
		0 0 12px rgba(255, 122, 26, 0.75),
		0 3px 0 #3a1260;
}

body.halloween .banner p {
	color: rgba(246, 233, 216, 0.92);
}

/* Murciélagos que cruzan el banner */
.hw-murcielago {
	position: absolute;
	z-index: 1;
	font-size: 26px;
	pointer-events: none;
	opacity: 0.85;
	animation: hw-volar 14s linear infinite;
}
.hw-murcielago:nth-of-type(1) { top: 14%; left: -8%; animation-duration: 15s; }
.hw-murcielago:nth-of-type(2) { top: 58%; left: -8%; animation-duration: 19s; animation-delay: 4s; font-size: 20px; }
.hw-murcielago:nth-of-type(3) { top: 30%; left: -8%; animation-duration: 23s; animation-delay: 9s; font-size: 16px; }

@keyframes hw-volar {
	0%   { transform: translateX(0) translateY(0) rotate(-4deg); }
	25%  { transform: translateX(28vw) translateY(-14px) rotate(4deg); }
	50%  { transform: translateX(56vw) translateY(10px) rotate(-4deg); }
	75%  { transform: translateX(84vw) translateY(-12px) rotate(4deg); }
	100% { transform: translateX(116vw) translateY(0) rotate(-4deg); }
}

/* Botones del banner */
body.halloween .btn-banner.outline {
	border-color: #ff9a45;
	color: #ffb36b;
}
body.halloween .btn-banner.outline:hover {
	background: rgba(255, 122, 26, 0.18);
	border-color: #ffb36b;
}
body.halloween .btn-banner.solid {
	background: linear-gradient(135deg, #ff7a1a, #ff9a45);
	border-color: #ff9a45;
	color: #1a0b2b;
	font-weight: 700;
}
body.halloween .btn-banner.solid:hover {
	background: linear-gradient(135deg, #ff9a45, #ffb36b);
}

/* =============================================
     GÉNERO, BUSCADOR Y PESTAÑAS
     ============================================= */
body.halloween .genero-wrapper,
body.halloween .search-wrapper {
	background: #1a0d2b;
	border-bottom-color: var(--color-borde);
}

body.halloween .btn-genero {
	border-color: #4a2b6e;
	color: var(--color-suave);
}
body.halloween .btn-genero.active {
	background: linear-gradient(135deg, #ff7a1a, #ff9a45);
	border-color: #ff9a45;
	color: #1a0b2b;
}

body.halloween .search-inner {
	background: #130a1f;
	border-color: #4a2b6e;
}
body.halloween .search-inner:focus-within {
	border-color: #ff7a1a;
	box-shadow: 0 0 10px rgba(255, 122, 26, 0.35);
}

body.halloween .tabs-wrapper {
	background: #1a0d2b;
	border-bottom-color: #4a2b6e;
}
body.halloween .tab-btn.active {
	color: #ff9a45;
	border-bottom-color: #ff7a1a;
	text-shadow: 0 0 10px rgba(255, 122, 26, 0.6);
}

/* Títulos de sección con calabaza */
body.halloween .tab-content h2 {
	color: #ff9a45;
	font-size: 32px;
}
body.halloween .tab-content h2::before {
	content: '🎃 ';
	font-size: 0.8em;
}
body.halloween #busqueda-titulo::before {
	content: '🔮 ';
}

/* =============================================
     TARJETAS
     ============================================= */
body.halloween .card {
	background: linear-gradient(180deg, #24143a, #1a0d2b);
	border: 1px solid #4a2b6e;
}
body.halloween .card:hover {
	box-shadow:
		0 0 0 1px #ff7a1a,
		0 8px 26px rgba(255, 122, 26, 0.28);
}
body.halloween .card.destacada {
	border-top-color: #ff7a1a;
}

body.halloween .card-img-wrapper,
body.halloween .card-img-placeholder {
	background: #130a1f;
}

body.halloween .badge-descuento {
	background: linear-gradient(135deg, #ff7a1a, #ff4d00);
	color: #fff;
	box-shadow: 0 0 10px rgba(255, 122, 26, 0.6);
}
body.halloween .badge-descuento::before {
	content: '🎃 ';
}

/* Nombre de la zona en la fuente normal de la página (legible), no en la de Halloween */
body.halloween .card-zona {
	font-family: 'HelveticaNeueCyr', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 18px;
	letter-spacing: 0;
	font-weight: 700;
	color: #f6e9d8;
}

body.halloween .precio-total {
	color: #ff9a45;
	text-shadow: 0 0 12px rgba(255, 122, 26, 0.45);
}

body.halloween .badge-gratis {
	background: #130a1f;
	border-color: #4a2b6e;
	color: var(--hw-verde);
}

body.halloween .card-regalo {
	background: linear-gradient(135deg, #6a1fb0, #8b3fd9);
	color: #fff;
}

body.halloween .btn-wpp {
	background: linear-gradient(135deg, #ff7a1a, #ff9a45);
	color: #1a0b2b;
	font-weight: 700;
}
body.halloween .btn-wpp:hover {
	background: linear-gradient(135deg, #ff9a45, #ffb36b);
	color: #1a0b2b !important;
}

body.halloween .pago-tag {
	border-color: #4a2b6e;
	color: var(--color-suave);
}

/* =============================================
     FOOTER
     ============================================= */
body.halloween .footer {
	background-color: #0d0616;
	border-top: 3px solid #ff7a1a;
}
body.halloween .footer-column,
body.halloween .footer-content a,
body.halloween .footer-title hr {
	color: #ff9a45;
}
body.halloween .footer-content a:hover {
	color: #ffb36b;
}
body.halloween .footer-icons-bar {
	background-color: #0d0616;
}
body.halloween .bar-footer-white-container {
	background-color: #08030f;
	color: var(--color-suave);
	border-top: 1px solid #3b2358;
}

/* =============================================
     RESPONSIVE
     ============================================= */
@media (max-width: 600px) {
	.hw-barra {
		font-size: 12px;
		padding: 8px 10px;
	}
	.hw-caja {
		min-width: 40px;
	}
	.hw-caja b {
		font-size: 17px;
	}
	body.halloween .banner h1 {
		font-size: 34px;
	}
	body.halloween .banner::after {
		background-size: 90px 90px, 90px 90px;
	}
}

/* Respeta a quien pide menos animación */
@media (prefers-reduced-motion: reduce) {
	.hw-murcielago {
		animation: none;
		display: none;
	}
}
