/* =========================================================================
   PartyBaby · piel «Amarilla» (v3.7)
   Paleta inspirada en Páginas Amarillas: amarillo #FFF101, negro #231F20,
   blanco, grises neutros y morado #801DD4 como acento. Estilo plano,
   limpio y sobrio: bordes finos, sombras suaves, sin giros de «pegatina».
   Se carga después de confeti.css y la sustituye visualmente; para volver
   a «Confeti» basta con quitar el wp_enqueue_style de este archivo.
   ====================================================================== */

:root {
	--pa-yellow:#FFF101;
	--pa-yellow-soft:#FFFBC2;
	--pa-black:#231F20;
	--pa-gray:#333333;
	--pa-gray-mid:#757575;
	--pa-gray-line:#E3E3E3;
	--pa-gray-bg:#F5F5F5;
	--pa-purple:#801DD4;
	--pa-purple-strong:#6A14B3;
	--pa-purple-soft:#F3E9FC;

	/* tokens de main.css / confeti.css reasignados */
	--blue:var(--pa-purple);
	--blue-strong:var(--pa-purple-strong);
	--blue-deep:var(--pa-purple);
	--sky:var(--pa-yellow);
	--yellow:var(--pa-yellow);
	--yellow-ink:var(--pa-black);
	--navy:var(--pa-black);
	--cocoa:var(--pa-black);
	--ink:var(--pa-gray);
	--ink-soft:#555555;
	--ink-mut:var(--pa-gray-mid);
	--coral:var(--pa-purple);
	--tomato:var(--pa-purple);
	--mint:var(--pa-black);
	--bubble:var(--pa-yellow);
	--paper:#FFFFFF;
	--cream:var(--pa-gray-bg);
	--cloud:var(--pa-gray-bg);
	--line:var(--pa-gray-line);
	--grad:linear-gradient(0deg,var(--pa-purple),var(--pa-purple));
	--grad-strong:linear-gradient(0deg,var(--pa-purple-strong),var(--pa-purple-strong));
	--radius:12px;
	--radius-sm:8px;
	--shadow-sm:0 1px 3px rgba(35,31,32,.10);
	--shadow:0 2px 10px rgba(35,31,32,.08);
	--shadow-lg:0 10px 30px rgba(35,31,32,.14);
	--shadow-cta:none;
	--font-head:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
	--cielo:var(--pa-yellow);
}

body { color:var(--pa-gray); background:#fff; }
h1,h2,h3,h4 { font-family:var(--font-head); font-weight:800; letter-spacing:-.02em; color:var(--pa-black); }
a { color:var(--pa-purple); }
a:hover { color:var(--pa-purple-strong); }
::selection { background:var(--pa-yellow); color:var(--pa-black); }

/* ---------- botones: planos, esquinas suaves ---------- */
.pty-btn {
	font-family:var(--font-head); font-weight:800; letter-spacing:0;
	border:1.5px solid transparent; border-radius:8px; box-shadow:none;
	transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.pty-btn:hover { transform:translateY(-1px); box-shadow:none; }
.pty-btn:active { transform:none; box-shadow:none; }
.pty-btn--coral,.pty-btn--blue,.pty-btn--yellow { background:var(--pa-yellow); color:var(--pa-black); border-color:var(--pa-yellow); box-shadow:none; }
.pty-btn--coral:hover,.pty-btn--blue:hover,.pty-btn--yellow:hover { background:var(--pa-black); color:var(--pa-yellow); border-color:var(--pa-black); }
.pty-btn--wa { background:#25D366; color:#fff; border-color:#25D366; box-shadow:none; }
.pty-btn--wa:hover { background:#1EB955; color:#fff; border-color:#1EB955; }
.pty-btn--ghost,.pty-btn--outline { background:#fff; color:var(--pa-black); border-color:var(--pa-black); }
.pty-btn--ghost:hover,.pty-btn--outline:hover { background:var(--pa-black); color:#fff; }
.pty-btn--navy { background:var(--pa-black); color:#fff; border-color:var(--pa-black); }
.pty-btn--navy:hover { background:var(--pa-purple); color:#fff; border-color:var(--pa-purple); }

/* ---------- cabecera ---------- */
.pty-header { background:#fff; border-bottom:4px solid var(--pa-yellow); box-shadow:0 1px 0 var(--pa-gray-line); }
.pty-topbar { background:var(--pa-black); color:#fff; }
.pty-topbar__in > * { color:#fff; }
.pty-topbar .pty-ic { color:var(--pa-yellow); }
.pty-topbar a:hover { color:var(--pa-yellow); }
.pty-nav a { font-weight:700; color:var(--pa-black); border:0; border-radius:6px; }
.pty-nav a:hover { background:var(--pa-yellow); color:var(--pa-black); }
.pty-header__phone {
	background:var(--pa-black); color:#fff; border:0; border-radius:8px; box-shadow:none; font-weight:800;
}
.pty-header__phone:hover { background:var(--pa-purple); color:#fff; transform:none; }
.pty-header__phone .pty-ic { color:var(--pa-yellow); }
.pty-navm summary { border:1.5px solid var(--pa-black); border-radius:8px; box-shadow:none; }
.pty-navm__panel { border:1px solid var(--pa-gray-line); border-radius:10px; box-shadow:var(--shadow-lg); }
.pty-navm__panel a { font-weight:700; color:var(--pa-black); }
.pty-navm__panel a:hover { background:var(--pa-yellow); }

/* ---------- héroe: bloque amarillo ---------- */
.pty-hero { background:var(--pa-yellow); }
.pty-eyebrow {
	background:var(--pa-black); color:#fff; border:0; box-shadow:none; transform:none;
	font-weight:700; border-radius:999px;
}
.pty-eyebrow .pty-ic { color:var(--pa-yellow); }
.pty-hero h1 { color:var(--pa-black); }
.pty-hero h1 em { color:var(--pa-purple); }
.pty-hero__lead { color:var(--pa-black); }
.pty-hero .pty-btn--coral,.pty-hero .pty-btn--blue,.pty-hero .pty-btn--yellow { background:var(--pa-black); color:#fff; border-color:var(--pa-black); }
.pty-hero .pty-btn--coral:hover,.pty-hero .pty-btn--blue:hover,.pty-hero .pty-btn--yellow:hover { background:var(--pa-purple); border-color:var(--pa-purple); color:#fff; }
.pty-hero .pty-btn--ghost,.pty-hero .pty-btn--outline { background:transparent; }
.pty-hero__media img { border:0; border-radius:14px; box-shadow:var(--shadow-lg); transform:none; }
.pty-sticker { border:0; box-shadow:var(--shadow); font-weight:800; }
.pty-sticker--a { background:var(--pa-purple); color:#fff; transform:rotate(-6deg); }
.pty-sticker--b { background:var(--pa-black); color:var(--pa-yellow); transform:rotate(5deg); }

/* ---------- secciones ---------- */
.pty-section--cream { background:var(--pa-gray-bg); border:0; }
.pty-section--sky { background:#fff; color:var(--pa-gray); }
.pty-hero + .pty-section--sky { background:#fff; }
.pty-section--sky h2,.pty-section--sky h3 { color:var(--pa-black); }
.pty-section--navy { background:var(--pa-black); color:#E8E8E8; border:0; }
.pty-section--navy h2,.pty-section--navy h3 { color:#fff; }
.pty-section--navy a:not(.pty-btn) { color:var(--pa-yellow); }
.pty-section--navy .pty-btn--coral,.pty-section--navy .pty-btn--blue { background:var(--pa-yellow); color:var(--pa-black); border-color:var(--pa-yellow); }
.pty-section--navy .pty-btn--coral:hover,.pty-section--navy .pty-btn--blue:hover { background:#fff; color:var(--pa-black); border-color:#fff; }
.pty-section__head .pty-kicker,
.pty-section--sky .pty-kicker,.pty-section--navy .pty-kicker,.pty-kicker {
	background:none; color:var(--pa-purple); transform:none; padding:0; border-radius:0;
	letter-spacing:.12em; text-transform:uppercase; font-weight:800; font-size:.76rem;
}
.pty-section--navy .pty-kicker { color:var(--pa-yellow); }
.pty-section__head h2::after {
	width:56px; height:4px; border-radius:2px; margin:.45em auto 0;
	background:var(--pa-yellow); opacity:1;
}

/* ---------- tarjetas ---------- */
.pty-card,.pty-mode,.pty-tarifa,.pty-evcard,.pty-faq details,.pty-zona-model,.pty-step {
	background:#fff; border:1px solid var(--pa-gray-line); box-shadow:var(--shadow);
}
.pty-card:hover,.pty-evcard:hover,.pty-zona-model:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--pa-yellow); }
.pty-card__media { border-bottom:1px solid var(--pa-gray-line); }
.pty-mode__ic { background:var(--pa-yellow); color:var(--pa-black); border:0; }
.pty-tarifa .pty-tarifa__from,.pty-price { color:var(--pa-purple); }
.pty-tag { background:var(--pa-black); color:var(--pa-yellow); border:0; }

.pty-catcard { border:0; box-shadow:var(--shadow); color:var(--pa-black); }
.pty-catcard:hover { box-shadow:var(--shadow-lg); }
.pty-catcard::after { background:linear-gradient(180deg,transparent 45%,rgba(35,31,32,.55)); }
.pty-catcard span,.pty-catcard:nth-child(even) span {
	background:var(--pa-yellow); border:0; border-radius:8px; font-weight:800; color:var(--pa-black);
}
.pty-catcard:nth-child(even) span { background:#fff; }

.pty-step h3 { color:var(--pa-black); }
.pty-step::before,.pty-step:nth-child(2)::before,.pty-step:nth-child(3)::before,.pty-step:nth-child(4)::before {
	background:var(--pa-yellow); color:var(--pa-black); border:0; border-radius:50%; font-weight:800;
}

.pty-faq details { border-radius:10px; }
.pty-faq summary { font-weight:700; color:var(--pa-black); }
.pty-faq details[open] { border-color:var(--pa-yellow); }
.pty-faq details[open] summary { color:var(--pa-purple); }

.pty-zonas a { background:#fff; border:1px solid var(--pa-gray-line); color:var(--pa-black); font-weight:700; }
.pty-zonas a:hover,.pty-zonas a.is-current { background:var(--pa-yellow); border-color:var(--pa-yellow); color:var(--pa-black); }
.pty-incluye span,.pty-zona-facts li,.pty-zona-barrios li { border-color:var(--pa-gray-line); }

/* ---------- cabeceras interiores ---------- */
.pty-zona-hero,.pty-reserva-hero { background:var(--pa-yellow); }
.pty-zona-hero h1,.pty-reserva-hero h1 { color:var(--pa-black); }
.pty-zona-hero p,.pty-reserva-hero p { color:var(--pa-black); }
.pty-reserva-aside { background:var(--pa-black); color:#E8E8E8; }

/* ---------- productos WooCommerce ---------- */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product {
	border:1px solid var(--pa-gray-line); border-radius:var(--radius); box-shadow:var(--shadow);
}
.woocommerce ul.products li.product:hover { border-color:var(--pa-yellow); box-shadow:var(--shadow-lg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight:800; color:var(--pa-black); }
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--pa-purple); }
.woocommerce span.onsale { background:var(--pa-purple); color:#fff; border:0; }

/* ---------- asistente de reserva ---------- */
.pty-wz__overlay { background:rgba(35,31,32,.6); }
.pty-wz__dialog { border:0; box-shadow:var(--shadow-lg); border-radius:16px; }
.pty-wz__progress li.is-current,.pty-wz__progress li.is-done { color:var(--pa-black); }
.pty-wz__progress li.is-current span,.pty-wz__progress li.is-done span { background:var(--pa-black); color:var(--pa-yellow); }
.pty-wz__extra:has(input:checked) { border-color:var(--pa-purple); box-shadow:0 0 0 3px var(--pa-purple-soft); }
.pty-field input,.pty-field select,.pty-field textarea { border:1px solid #CBCCCB; border-radius:8px; }
.pty-field input:focus,.pty-field select:focus,.pty-field textarea:focus {
	outline:none; border-color:var(--pa-purple); box-shadow:0 0 0 3px var(--pa-purple-soft);
}

/* ---------- pie: negro con titulares amarillos ---------- */
.pty-footer { background:var(--pa-black); color:#BDBDBD; border-top:6px solid var(--pa-yellow); padding-top:clamp(40px,5vw,56px); }
.pty-footer::before { display:none; }
.pty-footer h4 { color:var(--pa-yellow); font-weight:800; }
.pty-footer a,.pty-footer__zonas a { color:#E8E8E8; }
.pty-footer a:hover { color:var(--pa-yellow); }
.pty-footer__brand h4 { color:#fff; }
.pty-footer__brand b { color:var(--pa-yellow); }
.pty-footer__brand p { color:#BDBDBD; }
.pty-footer__opina { border-color:rgba(255,255,255,.15); }
.pty-footer__legal { border-top:1px solid rgba(255,255,255,.12); color:#9E9E9E; }

/* ---------- botones flotantes ---------- */
.pty-wafab { border:0; box-shadow:var(--shadow-lg); background:#25D366; color:#fff; }
.call-widget { background:var(--pa-purple) !important; border:0 !important; box-shadow:var(--shadow-lg) !important; }
.whatsapp-widget { border:0 !important; box-shadow:var(--shadow-lg) !important; color:#fff !important; }

@media (prefers-reduced-motion:reduce) {
	.pty-btn:hover,.pty-card:hover,.pty-evcard:hover { transform:none; }
}

/* =========================================================================
   v3.7.1 · «Noche de fiesta»: el héroe y las cabeceras interiores dejan el
   amarillo plano por un cielo nocturno negro-morado con fuegos artificiales
   animados (assets/img/fiesta-noche.svg, animación CSS interna que respeta
   prefers-reduced-motion) y un borde inferior con torres de castillo
   hinchable (almenas.svg) que enlaza con la sección blanca siguiente.
   ====================================================================== */
:root {
	--noche:
		url(../img/fiesta-globos.svg?v=1) center/cover no-repeat,
		radial-gradient(60% 70% at 50% 38%,rgba(128,29,212,.55) 0%,rgba(128,29,212,0) 70%),
		radial-gradient(40% 50% at 12% 100%,rgba(255,241,1,.10) 0%,rgba(255,241,1,0) 70%),
		linear-gradient(180deg,#1B1230 0%,#2A1446 55%,#231F20 100%);
}
.pty-hero,.pty-zona-hero,.pty-reserva-hero {
	position:relative; overflow:hidden; background:var(--noche); color:#E9E3F5;
}
.pty-hero { padding-bottom:clamp(54px,6vw,76px); }
.pty-zona-hero,.pty-reserva-hero { padding-bottom:clamp(50px,6vw,64px); }
.pty-hero::after,.pty-zona-hero::after,.pty-reserva-hero::after {
	content:""; position:absolute; left:0; right:0; bottom:-1px; height:34px; z-index:1; pointer-events:none;
	background:url(../img/almenas.svg?v=1) 0 100%/170px 34px repeat-x;
}
.pty-hero > *,.pty-zona-hero > *,.pty-reserva-hero > * { position:relative; z-index:2; }

.pty-hero h1,.pty-zona-hero h1,.pty-reserva-hero h1 { color:#fff; text-shadow:0 2px 24px rgba(27,18,48,.6); }
.pty-hero h1 em,.pty-zona-hero h1 em { color:var(--pa-yellow); }
.pty-hero__lead,.pty-zona-hero p,.pty-reserva-hero p,.pty-zona-hero .pty-hero__lead { color:#E9E3F5; }
.pty-zona-hero a:not(.pty-btn),.pty-reserva-hero a:not(.pty-btn),.pty-zona-hero .pty-breadcrumb { color:#D9CCF0; }
.pty-zona-hero a:not(.pty-btn):hover,.pty-reserva-hero a:not(.pty-btn):hover { color:var(--pa-yellow); }

.pty-hero .pty-eyebrow,.pty-zona-hero .pty-eyebrow { background:var(--pa-yellow); color:var(--pa-black); }
.pty-hero .pty-eyebrow .pty-ic,.pty-zona-hero .pty-eyebrow .pty-ic { color:var(--pa-black); }

.pty-hero .pty-btn--coral,.pty-hero .pty-btn--blue,.pty-hero .pty-btn--yellow,
.pty-zona-hero .pty-btn--coral,.pty-zona-hero .pty-btn--blue,.pty-zona-hero .pty-btn--yellow {
	background:var(--pa-yellow); color:var(--pa-black); border-color:var(--pa-yellow);
	box-shadow:0 0 0 0 rgba(255,241,1,.5),0 8px 28px rgba(255,241,1,.28);
}
.pty-hero .pty-btn--coral:hover,.pty-hero .pty-btn--blue:hover,.pty-hero .pty-btn--yellow:hover,
.pty-zona-hero .pty-btn--coral:hover,.pty-zona-hero .pty-btn--blue:hover,.pty-zona-hero .pty-btn--yellow:hover {
	background:#fff; color:var(--pa-black); border-color:#fff;
}
.pty-hero .pty-btn--ghost,.pty-hero .pty-btn--outline,
.pty-zona-hero .pty-btn--ghost,.pty-zona-hero .pty-btn--outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.75); }
.pty-hero .pty-btn--ghost:hover,.pty-hero .pty-btn--outline:hover,
.pty-zona-hero .pty-btn--ghost:hover,.pty-zona-hero .pty-btn--outline:hover { background:#fff; color:var(--pa-black); border-color:#fff; }

.pty-hero__media img { box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 6px rgba(255,255,255,.08); }
.pty-sticker--b { background:var(--pa-yellow); color:var(--pa-black); }
.pty-blob { display:none; }

@media (max-width:640px) {
	.pty-hero::after,.pty-zona-hero::after,.pty-reserva-hero::after { height:24px; background-size:120px 24px; }
}

/* v3.7.2: el fondo nocturno lleva globos y confeti (fiesta-globos.svg) en vez
   de fuegos artificiales. «Cuatro pasos» va ahora después del catálogo, entre
   dos secciones blancas/grises: fondo amarillo muy suave para separarla. */
.pty-section--sky { background:var(--pa-yellow-soft); }
.pty-section--sky .pty-step { border-color:#F1E9A6; }
