:root{
  --purple:#4b2176;--purple-dark:#28113f;--purple-2:#6a2d97;
  --pink:#f20b78;--pink-soft:#ffe7f3;--blue:#159fe6;--blue-soft:#e7f6ff;
  --yellow:#ffcc25;--green:#55bd36;--ink:#17223b;--muted:#687286;
  --line:#e8eaf0;--soft:#f7f8fc;--white:#fff;--shadow:0 24px 60px rgba(38,26,73,.14);
  --radius-xl:32px;--radius-lg:24px;--radius-md:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1220px,calc(100% - 36px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px 14px;border-radius:10px}.topbar{background:var(--pink);color:#fff;font-size:.78rem}.topbar__inner{display:flex;align-items:center;gap:22px;min-height:32px}.topbar__inner a{color:#fff}.stage-pill{margin-left:auto;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.28);font-weight:900;letter-spacing:.04em}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 10px 32px rgba(26,20,50,.06)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand img{width:162px}.main-nav{display:flex;align-items:center;gap:24px;font-size:.89rem;font-weight:850}.main-nav>a:not(.btn){padding:29px 0 25px;border-bottom:3px solid transparent}.main-nav>a.is-active{color:var(--pink);border-color:var(--pink)}.nav-toggle{display:none;border:0;background:transparent;width:44px;height:44px}.nav-toggle span{display:block;width:25px;height:2px;background:var(--purple);margin:5px auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:0;border-radius:15px;font-weight:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn--lg{min-height:55px;padding-inline:27px}.btn--pink{background:var(--pink);color:#fff;box-shadow:0 13px 28px rgba(242,11,120,.24)}.btn--blue{background:var(--blue);color:#fff}.btn--yellow{background:var(--yellow);color:#342846;box-shadow:0 12px 24px rgba(255,204,37,.22)}.btn--green{background:var(--green);color:#fff}.btn--light{background:#fff;color:var(--purple);box-shadow:0 12px 28px rgba(31,24,59,.13)}.btn--muted{background:#eef1f6;color:#5d6678}.btn--full{width:100%}.btn:disabled{opacity:.52;cursor:not-allowed;transform:none}.eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:.74rem;font-weight:950;letter-spacing:.065em;text-transform:uppercase}.eyebrow--hero{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.16)}.eyebrow--blue{background:var(--blue-soft);color:#087fb9}.eyebrow--pink{background:var(--pink-soft);color:#bd075e}.eyebrow--yellow{background:#fff1b4;color:#775b00}.eyebrow--glass{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.18)}

/* HERO */
.hero{position:relative;overflow:hidden;background:var(--purple-dark);min-height:710px}.hero__photo{position:absolute;inset:0;background:url('../img/real/1675606828650.jpg') center/cover no-repeat;transform:scale(1.025)}.hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,16,62,.94) 0%,rgba(61,28,88,.83) 38%,rgba(44,22,69,.42) 64%,rgba(12,7,20,.12) 100%)}.hero:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-75px;height:150px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:1}.hero__grid{position:relative;z-index:3;min-height:620px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;padding:70px 0 120px}.hero__copy{max-width:700px;color:#fff}.hero h1{margin:17px 0 18px;font-size:clamp(3.2rem,6vw,6.1rem);line-height:.93;letter-spacing:-.06em;font-weight:950;text-shadow:0 10px 30px rgba(20,10,30,.15)}.hero h1 .word{display:inline-block}.word--blue{color:#36b8f5}.word--yellow{color:var(--yellow)}.hero__copy p{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.9);max-width:600px}.hero__actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:29px}.hero__visual{position:relative;align-self:end;height:560px}.hero__mascot-halo{position:absolute;width:430px;height:430px;border-radius:50%;right:10px;top:65px;background:radial-gradient(circle at 50% 50%,rgba(255,204,37,.34),rgba(255,255,255,.08) 52%,transparent 70%);filter:blur(2px)}.hero__mascot{position:absolute;right:-25px;bottom:-55px;width:min(510px,100%);filter:drop-shadow(0 30px 35px rgba(0,0,0,.28));animation:floaty 4.4s ease-in-out infinite}.hero__bubble{position:absolute;right:22px;top:70px;background:#fff;color:var(--purple);padding:13px 19px;border-radius:20px 20px 6px 20px;font-weight:950;box-shadow:var(--shadow);transform:rotate(4deg)}.hero__confetti{position:absolute;z-index:2;width:17px;height:46px;border-radius:6px;transform:rotate(24deg)}.hero__confetti--one{background:var(--yellow);top:100px;left:52%}.hero__confetti--two{background:var(--pink);top:220px;right:4%}.trust-strip{position:absolute;z-index:6;left:50%;bottom:42px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:22px;padding:17px 20px;box-shadow:0 20px 60px rgba(38,26,73,.19)}.trust-strip article{display:flex;align-items:center;gap:13px;padding:0 22px;border-right:1px solid var(--line)}.trust-strip article:last-child{border-right:0}.trust-strip strong,.trust-strip small{display:block}.trust-strip strong{font-size:.93rem}.trust-strip small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted);font-size:.78rem;margin-top:2px}.trust-icon{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-weight:950;color:#fff;flex:0 0 auto}.trust-icon--pin{background:var(--pink)}.trust-icon--clock{background:var(--blue)}.trust-icon--shield{background:var(--green)}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-11px) rotate(1deg)}}

/* GENERIC SECTIONS */
.section{padding:92px 0}.section h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1;letter-spacing:-.05em;margin:13px 0 18px;font-weight:950}.section h2 span{color:var(--purple)}.section p{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted);font-size:1rem;line-height:1.7}.text-link{display:inline-flex;margin-top:6px;color:var(--pink);font-weight:950}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin-bottom:6px}.section-heading p{margin:0}.section-heading--center{justify-content:center;text-align:center}.section-heading--light h2,.section-heading--light p{color:#fff}.section-heading--light h2 span{color:var(--yellow)}

/* PLAYGROUND */
.playground-section{background:#fff}.playground-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:center}.playground-copy{position:relative;padding:30px 0 35px}.playground-copy h2 span{display:block;color:var(--pink)}.playground-copy p{max-width:520px}.playground-guide{position:absolute;right:-10px;bottom:-34px;width:190px;filter:drop-shadow(0 16px 22px rgba(42,28,76,.16));transform:rotate(2deg)}.playground-mosaic{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:220px 220px;gap:15px}.photo-card{margin:0;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#eee}.photo-card img{width:100%;height:100%;object-fit:cover}.photo-card--large{grid-row:1/3}.photo-badge{position:absolute;left:28px;bottom:28px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-radius:16px;padding:12px 16px;box-shadow:0 10px 25px rgba(0,0,0,.12)}.photo-badge strong,.photo-badge span{display:block}.photo-badge strong{color:var(--pink)}.photo-badge span{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted);font-size:.8rem}

/* PACKAGES */
.packages-section{background:linear-gradient(180deg,#fbfbfd 0%,#f2f5fa 100%);overflow:hidden}.section-heading--packages h2 span{color:var(--pink)}.location-switch{display:inline-flex;background:#fff;padding:6px;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 30px rgba(30,31,60,.08)}.location-switch button{border:0;background:transparent;padding:10px 20px;border-radius:999px;font-weight:950;color:var(--muted);cursor:pointer}.location-switch button.is-active{background:var(--purple);color:#fff}.packages--visual{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.package-card--visual{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:500px;background:#fff;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 15px 42px rgba(33,35,65,.08)}.package-card--featured{border:2px solid rgba(242,11,120,.65);transform:translateY(-10px);box-shadow:0 24px 55px rgba(242,11,120,.14)}.package-card__copy{padding:30px 0 28px 28px;position:relative;z-index:2}.package-card__copy h3{font-size:1.7rem;margin:7px 0 8px}.package-card__copy p{font-size:.9rem;margin:0 0 12px}.package-kicker{font-size:.69rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}.package-card--featured .package-kicker{color:var(--pink)}.package-card--private .package-kicker{color:var(--green)}.package-card ul{list-style:none;padding:0;margin:14px 0}.package-card li{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.84rem;color:#4d566b;padding:5px 0 5px 21px;position:relative}.package-card li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:950}.package-card__media{position:relative;overflow:hidden}.package-photo{width:100%;height:100%;object-fit:cover}.package-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.18) 34%,rgba(255,255,255,0) 63%)}.package-mascot{position:absolute;right:-18px;bottom:-35px;width:185px;z-index:2;filter:drop-shadow(0 15px 18px rgba(34,24,59,.18))}.package-mascot--small{width:160px}.price{margin:18px 0 15px;color:var(--muted);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.price strong{display:block;color:var(--ink);font-family:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",system-ui,sans-serif;font-size:2.5rem;line-height:1}.popular{position:absolute;right:18px;top:16px;z-index:5;background:var(--pink);color:#fff;padding:6px 11px;border-radius:999px;font-size:.69rem;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.package-note{text-align:center;font-size:.82rem!important;margin:25px 0 0}

/* STEPS */
.steps-section{background:#fff;position:relative;overflow:hidden}.steps-section:before,.steps-section:after{content:"";position:absolute;border-radius:50%;filter:blur(1px)}.steps-section:before{width:240px;height:240px;left:-120px;top:80px;background:rgba(21,159,230,.08)}.steps-section:after{width:260px;height:260px;right:-130px;bottom:40px;background:rgba(242,11,120,.07)}.steps--mascot{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:10px}.steps--mascot:before{content:"";position:absolute;left:10%;right:10%;top:114px;border-top:3px dotted rgba(75,33,118,.22);z-index:0}.steps--mascot article{position:relative;z-index:1;text-align:center;padding:10px 8px}.steps--mascot img{height:150px;width:100%;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(42,28,76,.12))}.step-number{position:absolute;left:18px;top:18px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-weight:950;box-shadow:0 9px 18px rgba(242,11,120,.24)}.steps--mascot article:nth-child(2) .step-number{background:var(--blue)}.steps--mascot article:nth-child(3) .step-number{background:var(--green)}.steps--mascot article:nth-child(4) .step-number{background:var(--purple)}.steps--mascot article:nth-child(5) .step-number{background:var(--yellow);color:#3e3150}.steps--mascot strong,.steps--mascot small{display:block}.steps--mascot strong{font-size:1rem;margin-top:4px}.steps--mascot small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted);font-size:.78rem;margin-top:5px}.steps-cta{text-align:center;margin-top:28px}

/* GALLERY */
.gallery-section{background:#fbfbfd}.gallery-section h2 span{color:var(--blue)}.gallery-mascot{height:120px;object-fit:contain;margin-left:auto}.gallery-grid--v2{display:grid;grid-template-columns:1.3fr .8fr .8fr;grid-auto-rows:220px;gap:14px}.gallery-item{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#eee;box-shadow:0 10px 28px rgba(31,30,58,.08)}.gallery-item--hero{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-item figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:7px 11px;border-radius:999px;font-weight:900;font-size:.75rem;color:var(--purple)}

/* LOCATIONS */
.locations-section{background:linear-gradient(135deg,#4c2078 0%,#762a9a 100%);position:relative;overflow:hidden}.locations-section:before{content:"";position:absolute;inset:auto -10% -160px -10%;height:260px;background:rgba(255,255,255,.055);border-radius:50% 50% 0 0}.locations-grid--photo{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin:0 auto}.location-card--photo{position:relative;min-height:390px;border-radius:28px;overflow:hidden;box-shadow:0 24px 50px rgba(22,12,38,.24)}.location-card__photo,.location-card__overlay{position:absolute;inset:0;width:100%;height:100%}.location-card__photo{object-fit:cover}.location-card__overlay{background:linear-gradient(180deg,rgba(27,16,43,.05),rgba(36,17,61,.9) 78%)}.location-card__content{position:absolute;z-index:3;left:28px;right:28px;bottom:28px;color:#fff}.location-card__content>span{display:inline-flex;background:var(--pink);padding:5px 10px;border-radius:999px;font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.location-card__content h3{font-size:1.8rem;margin:10px 0 4px}.location-card__content p{color:rgba(255,255,255,.83);font-size:.85rem;margin:0 0 15px}.location-card__mascot{position:absolute;z-index:4;right:-12px;top:8px;width:185px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.18))}

/* FAQ */
.faq-section{background:#fff}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center}.faq-mascot-wrap{position:relative;min-height:500px;display:flex;align-items:flex-end;justify-content:center}.faq-mascot{max-height:500px;object-fit:contain;filter:drop-shadow(0 24px 25px rgba(40,28,68,.15))}.faq-bubble{position:absolute;right:0;top:58px;background:var(--pink);color:#fff;padding:11px 15px;border-radius:18px 18px 5px 18px;font-weight:950;transform:rotate(3deg);box-shadow:0 14px 28px rgba(242,11,120,.2)}.faq-section h2 span{color:var(--pink)}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-weight:900;font-size:1rem;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:'+';display:inline-grid;place-items:center;width:23px;height:23px;margin-right:10px;border-radius:50%;background:#f2edf7;color:var(--purple);font-weight:950}.faq details[open] summary:before{content:'−'}.faq details p{padding-left:34px;font-size:.9rem;margin-bottom:5px}.faq-cta{margin-top:24px}

/* FOOTER */
.site-footer{position:relative;background:var(--purple-dark);color:#fff;padding:72px 0 24px;overflow:hidden}.footer-wave{position:absolute;left:-5%;right:-5%;top:-35px;height:72px;background:#fff;border-radius:0 0 50% 50%/0 0 100% 100%}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:42px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid h3{margin:0 0 8px}.footer-grid a,.footer-grid span,.footer-grid p{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:rgba(255,255,255,.72);font-size:.88rem}.footer-logo{width:175px;margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:42px;color:rgba(255,255,255,.5);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.78rem}

/* RESERVATION */
.reservation-page{background:#f7f8fb}.reservation-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--purple),#8c2aa0);color:#fff}.reservation-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(255,204,37,.14);right:6%;top:14%}.reservation-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 340px;align-items:center;min-height:410px;padding-top:36px}.reservation-hero h1{font-size:clamp(2.8rem,5vw,4.8rem);line-height:.96;letter-spacing:-.05em;margin:14px 0}.reservation-hero p{color:rgba(255,255,255,.88)}.reservation-hero__grid>img{max-height:350px;justify-self:end;filter:drop-shadow(0 22px 28px rgba(0,0,0,.18))}.stage-warning{display:inline-flex;margin-top:18px;padding:10px 13px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:.82rem;font-weight:800}.reservation-shell{max-width:1040px}.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}.wizard-progress button{border:0;background:#fff;border-radius:15px;padding:13px 8px;color:var(--muted);font-weight:850;box-shadow:0 8px 22px rgba(30,33,61,.06)}.wizard-progress button span{display:grid;place-items:center;width:30px;height:30px;margin:0 auto 5px;border-radius:50%;background:#edf0f5;color:#7a8498;font-weight:950}.wizard-progress button.is-active{color:var(--purple);box-shadow:0 12px 28px rgba(75,33,118,.12)}.wizard-progress button.is-active span{background:var(--pink);color:#fff}.wizard-card{background:#fff;border-radius:28px;padding:32px;box-shadow:var(--shadow)}.wizard-step{display:none}.wizard-step.is-active{display:block}.wizard-title{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:22px;margin-bottom:22px}.wizard-title img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(42,28,76,.12))}.wizard-title h2{font-size:2rem;margin:0 0 3px}.wizard-title p{margin:0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice-grid--packages{grid-template-columns:repeat(3,1fr)}.choice-card{display:block}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card span{display:block;padding:22px;border:2px solid var(--line);border-radius:18px;cursor:pointer;transition:.2s;background:#fff}.choice-card strong,.choice-card small{display:block}.choice-card small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted);margin-top:5px}.choice-card input:checked+span{border-color:var(--pink);box-shadow:0 10px 26px rgba(242,11,120,.12);background:#fffafd}.calendar-placeholder{border:1px solid var(--line);border-radius:20px;padding:22px}.calendar-placeholder>strong{display:block;text-align:center;font-size:1.1rem;margin-bottom:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-grid>span{text-align:center;font-size:.75rem;font-weight:950;color:var(--muted)}.calendar-grid button{aspect-ratio:1;border:0;border-radius:12px;background:#eef7fc;color:#186987;font-weight:850}.calendar-grid button:disabled{background:#f5f6f8;color:#c3c8d1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-weight:850;font-size:.86rem}.form-grid input{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:14px;min-height:48px;padding:0 13px}.summary-card{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.summary-card>div{background:#f7f8fb;border-radius:16px;padding:18px}.summary-card span,.summary-card strong{display:block}.summary-card span{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.76rem;color:var(--muted);margin-bottom:5px}.wizard-actions{display:flex;justify-content:space-between;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}

@media(max-width:1100px){.hero__grid{grid-template-columns:1fr .8fr}.hero__visual{height:500px}.hero__mascot{width:430px}.package-card--visual{grid-template-columns:1fr;min-height:0}.package-card__copy{padding:28px}.package-card__media{height:260px}.package-card__media:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.1) 28%,rgba(255,255,255,0) 60%)}.package-mascot{width:150px}.playground-guide{display:none}}
@media(max-width:900px){.topbar__inner a:nth-of-type(1){display:none}.nav-toggle{display:block}.main-nav{position:absolute;left:18px;right:18px;top:104px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;display:none;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav>a:not(.btn){padding:12px;border:0}.nav-cta{margin-top:8px}.hero{min-height:auto}.hero__grid{grid-template-columns:1fr;min-height:auto;padding:64px 0 210px}.hero__copy{max-width:720px}.hero__visual{position:absolute;right:0;bottom:75px;width:330px;height:320px;opacity:.92}.hero__mascot{width:310px;bottom:-35px}.hero__bubble,.hero__mascot-halo{display:none}.trust-strip{bottom:30px;grid-template-columns:1fr}.trust-strip article{border-right:0;border-bottom:1px solid var(--line);padding:10px 6px}.trust-strip article:last-child{border-bottom:0}.playground-grid{grid-template-columns:1fr;gap:35px}.packages--visual{grid-template-columns:1fr}.package-card--featured{transform:none}.package-card--visual{grid-template-columns:1.15fr .85fr}.steps--mascot{grid-template-columns:repeat(3,1fr)}.steps--mascot:before{display:none}.gallery-grid--v2{grid-template-columns:1fr 1fr}.gallery-item--hero{grid-column:1/-1;grid-row:auto}.locations-grid--photo{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr}.faq-mascot-wrap{min-height:350px}.faq-mascot{max-height:360px}.footer-grid{grid-template-columns:1fr 1fr}.reservation-hero__grid{grid-template-columns:1fr 220px}.reservation-hero__grid>img{max-height:230px}.choice-grid--packages{grid-template-columns:1fr}.wizard-title{grid-template-columns:85px 1fr}.wizard-title img{width:85px;height:85px}}
@media(max-width:650px){.shell{width:min(100% - 22px,1220px)}.topbar__inner{gap:9px;font-size:.7rem}.topbar__inner a{display:none}.stage-pill{margin-left:auto}.nav-wrap{height:70px}.brand img{width:132px}.main-nav{top:94px}.hero__photo{background-position:58% center}.hero__wash{background:linear-gradient(180deg,rgba(40,19,67,.78),rgba(40,19,67,.93) 60%,rgba(40,19,67,.98))}.hero__grid{padding:54px 0 315px}.hero h1{font-size:clamp(2.7rem,13vw,4rem)}.hero__copy p{font-size:.98rem}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{width:100%}.hero__visual{width:310px;height:290px;left:50%;right:auto;transform:translateX(-50%);bottom:120px}.hero__mascot{width:285px;right:10px}.trust-strip{bottom:18px}.section{padding:70px 0}.section-heading{align-items:flex-start;flex-direction:column}.playground-mosaic{grid-template-columns:1fr;grid-template-rows:270px 200px}.photo-card--large{grid-row:auto}.photo-card--bottom{display:none}.photo-badge{left:15px;bottom:15px}.packages--visual{gap:16px}.package-card--visual{grid-template-columns:1fr}.package-card__media{height:230px}.package-card__copy{padding:25px}.steps--mascot{grid-template-columns:1fr 1fr}.steps--mascot img{height:125px}.gallery-mascot{display:none}.gallery-grid--v2{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-item--hero{grid-column:auto}.location-card--photo{min-height:360px}.location-card__mascot{width:150px}.faq-mascot-wrap{min-height:300px}.faq-mascot{max-height:310px}.faq-bubble{right:10px;top:25px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:7px}.reservation-hero__grid{grid-template-columns:1fr;padding:44px 0}.reservation-hero__grid>img{display:none}.wizard-progress{overflow-x:auto;grid-template-columns:repeat(5,90px);justify-content:flex-start}.wizard-card{padding:20px}.wizard-title{grid-template-columns:68px 1fr;gap:12px}.wizard-title img{width:68px;height:68px}.wizard-title h2{font-size:1.55rem}.choice-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.summary-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__mascot{animation:none}.btn,.gallery-item img{transition:none}}

/* ==========================================================================\n   KIDZ CITY V3 - VISUAL FIDELITY PASS\n   ========================================================================== */

/* HEADER V3 */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(35,20,65,.07);transition:box-shadow .2s ease,transform .2s ease}
.site-header.is-scrolled{box-shadow:0 12px 34px rgba(35,20,65,.13)}
.nav-wrap{height:94px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}
.brand{display:inline-flex;align-items:center;position:relative;z-index:2}
.brand img{width:190px;max-height:78px;object-fit:contain}
.main-nav{display:flex;justify-content:center;align-items:center;gap:30px;font-size:.9rem;font-weight:900}
.main-nav>a:not(.btn){position:relative;padding:35px 0 31px;border:0;color:#253049;transition:color .2s ease}
.main-nav>a:not(.btn):after{content:"";position:absolute;left:50%;right:50%;bottom:20px;height:3px;border-radius:999px;background:var(--pink);transition:left .2s ease,right .2s ease}
.main-nav>a:hover,.main-nav>a.is-active{color:var(--pink)}
.main-nav>a:hover:after,.main-nav>a.is-active:after{left:0;right:0}
.nav-actions{display:flex;align-items:center;gap:12px}
.location-pill{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid #ebeaf1;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(36,22,66,.07);font-size:.82rem;color:var(--purple)}
.location-pill span{font-size:1rem}.location-pill strong{white-space:nowrap}
.nav-cta{min-height:50px;padding:0 25px;border-radius:14px;text-transform:uppercase;letter-spacing:.02em}
.stage-corner{position:absolute;right:16px;top:4px;padding:2px 8px;border-radius:999px;background:var(--purple);color:#fff;font-size:.57rem;font-weight:950;letter-spacing:.08em;opacity:.72}

/* HERO V3 */
.hero--v3{position:relative;min-height:700px;background:#241341;overflow:hidden}
.hero--v3 .hero__photo{position:absolute;inset:0;background:url('../img/real/1675606828650.jpg') center 46%/cover no-repeat;transform:scale(1.02);filter:saturate(1.16) contrast(1.03)}
.hero--v3 .hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,17,64,.44) 0%,rgba(36,17,64,.28) 28%,rgba(36,17,64,.25) 52%,rgba(28,12,52,.52) 100%)}
.hero--v3:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(28,9,48,.20));z-index:1;pointer-events:none}
.hero--v3:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-86px;height:158px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:3}
.hero--v3 .hero__grid{position:relative;z-index:4;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:28px;min-height:610px;padding:62px 0 125px}
.hero__mascot-wrap{position:relative;align-self:end;height:530px;display:flex;align-items:flex-end;justify-content:center}
.hero--v3 .hero__mascot{position:relative;right:auto;bottom:-18px;width:min(455px,100%);filter:drop-shadow(0 30px 36px rgba(22,10,40,.30));animation:floaty 4.7s ease-in-out infinite;z-index:2}
.hero__mini-bubble{position:absolute;right:18px;top:78px;z-index:3;background:#fff;color:var(--purple);padding:11px 16px;border-radius:18px 18px 5px 18px;font-weight:950;font-size:.82rem;box-shadow:0 16px 32px rgba(28,12,52,.22);transform:rotate(3deg)}
.hero--v3 .hero__copy{max-width:750px;text-align:center;color:#fff;justify-self:center;padding-right:10px}
.hero--v3 .eyebrow--hero{background:rgba(44,19,72,.58);border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 28px rgba(22,10,40,.15)}
.hero--v3 h1{display:flex;flex-direction:column;align-items:center;gap:0;margin:17px 0 17px;font-size:clamp(3.25rem,5.35vw,5.7rem);line-height:.86;letter-spacing:-.065em;font-weight:950;text-shadow:0 5px 22px rgba(28,8,47,.38)}
.hero--v3 h1>span{display:block}
.hero-word--party{font-size:1.18em;background:linear-gradient(90deg,#21acef 0 23%,#f20b78 23% 49%,#ffca21 49% 72%,#52bd37 72% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.72);filter:drop-shadow(0 6px 0 rgba(56,21,83,.28))}
.hero-word--yellow{color:var(--yellow);font-size:1.02em;filter:drop-shadow(0 5px 0 rgba(56,21,83,.28))}
.hero--v3 .hero__copy p{max-width:610px;margin:0 auto;color:#fff;font-size:1.08rem;line-height:1.55;text-shadow:0 3px 16px rgba(20,7,35,.42)}
.hero--v3 .hero__actions{justify-content:center;margin-top:26px}
.btn--glass{color:var(--purple);background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(32,15,56,.17);border:1px solid rgba(255,255,255,.65)}
.hero__shape{position:absolute;z-index:2;border-radius:999px;opacity:.95;pointer-events:none}
.hero__shape--yellow{width:118px;height:270px;background:var(--yellow);right:-24px;top:-76px;transform:rotate(28deg)}
.hero__shape--pink{width:95px;height:95px;background:var(--pink);right:7%;bottom:92px;border-radius:50%}
.hero__spark{position:absolute;z-index:2;width:11px;height:40px;border-radius:999px;background:var(--yellow);pointer-events:none}
.hero__spark--one{left:9%;top:130px;transform:rotate(-35deg)}
.hero__spark--two{right:12%;top:135px;background:#23b2ef;transform:rotate(29deg)}
.trust-strip--v3{bottom:38px;max-width:1080px;padding:18px 24px;border-radius:22px;box-shadow:0 18px 46px rgba(31,17,56,.20)}
.trust-strip--v3 article{padding:0 27px}.trust-strip--v3 strong{font-size:.98rem}.trust-strip--v3 small{font-size:.8rem}

/* PLAYGROUND V3 */
.playground-section{padding-top:110px;padding-bottom:104px}
.playground-grid{grid-template-columns:.78fr 1.22fr;gap:74px}
.playground-copy h2{font-size:clamp(2.65rem,4.2vw,4.4rem)}
.playground-copy p{font-size:1.02rem}
.playground-guide{position:relative;right:auto;bottom:auto;width:155px;margin:22px 0 0 auto;align-self:flex-end;filter:drop-shadow(0 16px 22px rgba(42,28,76,.16));transform:rotate(2deg)}
.playground-mosaic--v3{grid-template-rows:245px 245px;gap:18px}
.playground-mosaic--v3 .photo-card{border:5px solid #fff;box-shadow:0 24px 55px rgba(36,23,68,.16)}
.playground-mosaic--v3 .photo-card--large{transform:rotate(-1deg)}
.playground-mosaic--v3 .photo-card--top{transform:rotate(1.2deg)}
.playground-mosaic--v3 .photo-card--bottom{transform:rotate(-.7deg)}

/* PACKAGES V3 */
.packages-section{position:relative;background:linear-gradient(180deg,#fbfbff 0%,#f5f6fb 100%);padding-top:105px}
.section-heading--packages{align-items:center}.section-heading--packages h2{font-size:clamp(2.7rem,4.4vw,4.7rem)}
.section-heading--packages h2 span{color:var(--pink)}
.section-confetti{position:absolute;width:70px;height:70px;border-radius:50%;border:10px dotted var(--yellow);opacity:.55}
.section-confetti--left{left:2%;top:70px}
.packages--v3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.package-card--v3{position:relative;background:#fff;border-radius:26px;overflow:hidden;border:1px solid #e6e9f1;box-shadow:0 18px 44px rgba(34,31,61,.09);transition:transform .2s ease,box-shadow .2s ease}
.package-card--v3:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(34,31,61,.14)}
.package-card--v3.package-card--featured{transform:translateY(-10px);border:2px solid rgba(242,11,120,.54);box-shadow:0 24px 58px rgba(242,11,120,.15)}
.package-card--v3.package-card--featured:hover{transform:translateY(-14px)}
.package-card__topline{height:7px;background:var(--blue)}
.package-card--featured .package-card__topline{background:var(--pink)}
.package-card--private .package-card__topline{background:var(--green)}
.package-card__body{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px}
.package-card--v3 .package-card__copy{padding:28px 12px 28px 28px}
.package-card--v3 .package-card__copy h3{font-size:1.65rem;line-height:1.05}
.package-card--v3 .package-card__copy p{font-size:.88rem;line-height:1.5}
.package-card--v3 .package-card__media{position:relative;overflow:hidden;min-height:100%}
.package-card--v3 .package-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.65) 13%,rgba(255,255,255,0) 45%)}
.package-card--v3 .package-photo{width:100%;height:100%;object-fit:cover;object-position:center}
.package-card--v3 .package-mascot{position:absolute;right:-24px;bottom:-20px;z-index:3;width:175px;filter:drop-shadow(0 16px 18px rgba(35,22,65,.25))}
.package-card--v3 .package-mascot--small{width:155px}
.package-card--v3 .price{margin-top:auto;padding-top:7px}.package-card--v3 .price strong{font-size:2.2rem}
.popular{top:17px;right:17px;z-index:6}
.package-note{text-align:center;margin:22px auto 0;font-size:.76rem!important}

/* STEPS V3 */
.steps-section{position:relative;overflow:hidden;background:#fff;padding-top:100px;padding-bottom:105px}
.steps-blob{position:absolute;border-radius:50%;opacity:.65;pointer-events:none}.steps-blob--one{width:240px;height:240px;left:-120px;top:75px;background:#e6f6ff}.steps-blob--two{width:270px;height:270px;right:-145px;bottom:10px;background:#fff0f7}
.steps--v3{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:25px}
.steps--v3:before{content:"";position:absolute;left:8%;right:8%;top:106px;border-top:3px dashed #d7d7e5;z-index:0}
.steps--v3 article{position:relative;z-index:1;text-align:center;background:transparent;padding:0 8px}
.steps--v3 img{height:145px;max-width:150px;margin:0 auto 8px;object-fit:contain;filter:drop-shadow(0 12px 15px rgba(38,24,69,.12))}
.steps--v3 strong{display:block;font-size:1rem}.steps--v3 small{display:block;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted);font-size:.76rem;margin-top:3px}
.step-number{position:absolute;left:calc(50% - 74px);top:75px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:950;box-shadow:0 7px 17px rgba(35,22,65,.16)}
.step-number--pink{background:var(--pink)}.step-number--blue{background:var(--blue)}.step-number--green{background:var(--green)}.step-number--purple{background:var(--purple)}.step-number--yellow{background:var(--yellow);color:var(--purple)}
.steps-cta{position:relative;z-index:2;text-align:center;margin-top:38px}

/* GALLERY V3 */
.gallery-section{background:linear-gradient(180deg,#fff 0%,#fbfbfd 100%);padding-top:100px;padding-bottom:110px}
.gallery-heading{align-items:flex-end}.gallery-mascot{width:125px;max-height:140px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(35,22,65,.12));transform:rotate(7deg)}
.gallery-grid--v3{display:grid;grid-template-columns:1.3fr .9fr .9fr;grid-auto-rows:225px;gap:15px}
.gallery-grid--v3 .gallery-item{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#ddd;box-shadow:0 14px 32px rgba(38,28,65,.10)}
.gallery-grid--v3 .gallery-item--hero{grid-row:span 2}
.gallery-grid--v3 .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-grid--v3 .gallery-item:hover img{transform:scale(1.045)}
.gallery-grid--v3 figcaption{position:absolute;left:14px;bottom:13px;background:rgba(255,255,255,.94);padding:6px 10px;border-radius:999px;color:var(--purple);font-size:.7rem;font-weight:950;box-shadow:0 7px 16px rgba(25,14,48,.12)}

/* LOCATIONS V3 */
.locations-section{position:relative;background:linear-gradient(135deg,#582186 0%,#7c2da1 100%);padding-top:105px;padding-bottom:110px;overflow:hidden}
.locations-section:before,.locations-section:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}
.locations-section:before{width:380px;height:380px;left:-170px;top:10px}.locations-section:after{width:300px;height:300px;right:-100px;bottom:-90px}
.locations-grid--photo{position:relative;z-index:2;max-width:930px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.location-card--photo{position:relative;min-height:400px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 56px rgba(30,10,50,.25)}
.location-card__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.08)}
.location-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,15,57,.08) 20%,rgba(35,15,57,.82) 100%)}
.location-card__mascot{position:absolute;right:-12px;top:18px;width:175px;z-index:2;filter:drop-shadow(0 13px 17px rgba(25,12,45,.25))}
.location-card__content{position:absolute;left:30px;right:30px;bottom:28px;z-index:3;color:#fff}.location-card__content>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--pink);font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.location-card__content h3{font-size:1.75rem;margin:9px 0 2px}.location-card__content p{color:rgba(255,255,255,.82);margin:0 0 15px;font-size:.85rem}

/* FAQ V3 */
.faq-section{padding-top:110px;padding-bottom:120px;background:#fff}
.faq-grid{grid-template-columns:.82fr 1.18fr;gap:85px;align-items:center;max-width:1040px}
.faq-mascot-wrap{min-height:450px}.faq-mascot{max-height:445px}.faq-bubble{right:10px;top:46px}.faq-copy h2{font-size:clamp(2.6rem,4.3vw,4.5rem)}
.faq details{padding:18px 0}.faq summary{font-size:1rem}.faq details p{font-size:.9rem}

/* FOOTER V3 */
.site-footer{position:relative;background:#28113f;color:#fff;padding:95px 0 25px;overflow:hidden}
.footer-clouds{position:absolute;left:-4%;right:-4%;top:-58px;height:105px;background:#fff;border-radius:0 0 50% 50%/0 0 100% 100%}
.footer-peek{position:absolute;right:4.5%;top:-8px;width:160px;filter:drop-shadow(0 12px 15px rgba(25,12,45,.22));transform:rotate(-3deg);opacity:.98}
.footer-main{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:48px;align-items:start;position:relative;z-index:2}
.footer-brand{max-width:330px}.footer-logo{width:190px;margin-bottom:14px}.footer-brand p{color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.7;margin:0 0 17px}.footer-reserve{display:inline-flex;color:var(--yellow);font-weight:950;font-size:.88rem}
.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h3{font-size:1rem;margin:0 0 6px;color:#fff}.footer-column a,.footer-column span,.footer-column small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:rgba(255,255,255,.70);font-size:.83rem}.footer-column a:hover{color:var(--yellow)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.10);padding-top:22px;margin-top:45px;color:rgba(255,255,255,.48);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.74rem;position:relative;z-index:2}

/* V3 responsive */
@media(max-width:1180px){
  .nav-wrap{gap:22px}.main-nav{gap:20px}.location-pill{display:none}.brand img{width:170px}
  .hero--v3 .hero__grid{grid-template-columns:.82fr 1.18fr}.hero--v3 .hero__mascot{width:390px}.hero__mascot-wrap{height:500px}
  .package-card__body{grid-template-columns:1fr}.package-card--v3 .package-card__media{height:245px;min-height:245px}.package-card--v3 .package-card__media:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.12) 28%,transparent 65%)}
  .package-card--v3 .package-card__copy{padding:28px}.package-card--v3 .package-mascot{width:145px}
}

@media(max-width:960px){
  .nav-wrap{height:82px;grid-template-columns:auto 1fr auto}.brand img{width:155px}.nav-actions{margin-left:auto}.nav-cta{min-height:46px;padding:0 18px}.stage-corner{display:none}
  .nav-toggle{display:block;grid-column:3;grid-row:1}.nav-actions{grid-column:2;grid-row:1;justify-self:end;margin-right:56px}.main-nav{position:absolute;left:18px;right:18px;top:90px;background:#fff;border-radius:20px;box-shadow:0 22px 55px rgba(29,17,52,.18);padding:18px;display:none;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav>a:not(.btn){padding:12px;border:0}.main-nav>a:not(.btn):after{display:none}
  .hero--v3{min-height:760px}.hero--v3 .hero__grid{grid-template-columns:1fr;min-height:660px;padding:65px 0 200px}.hero__mascot-wrap{position:absolute;left:-15px;bottom:95px;width:300px;height:300px}.hero--v3 .hero__mascot{width:280px}.hero__mini-bubble{display:none}.hero--v3 .hero__copy{max-width:650px;margin-left:auto;text-align:left;padding-left:220px}.hero--v3 h1{align-items:flex-start;text-align:left;font-size:clamp(3rem,8vw,4.6rem)}.hero--v3 .hero__copy p{margin-left:0}.hero--v3 .hero__actions{justify-content:flex-start}
  .trust-strip--v3{grid-template-columns:1fr;bottom:25px;padding:12px 18px}.trust-strip--v3 article{border-right:0;border-bottom:1px solid var(--line);padding:9px 5px}.trust-strip--v3 article:last-child{border-bottom:0}
  .playground-grid{grid-template-columns:1fr}.playground-guide{display:none}
  .packages--v3{grid-template-columns:1fr;max-width:760px;margin-inline:auto}.package-card--v3.package-card--featured{transform:none}.package-card--v3.package-card--featured:hover{transform:translateY(-5px)}.package-card__body{grid-template-columns:1.1fr .9fr}.package-card--v3 .package-card__media{height:auto;min-height:420px}.package-card--v3 .package-card__media:after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.5) 13%,transparent 48%)}
  .steps--v3{grid-template-columns:repeat(3,1fr)}.steps--v3:before{display:none}.step-number{left:calc(50% - 72px)}
  .gallery-grid--v3{grid-template-columns:1fr 1fr}.gallery-grid--v3 .gallery-item--hero{grid-column:1/-1;grid-row:auto}
  .faq-grid{grid-template-columns:1fr;gap:25px}.faq-mascot-wrap{min-height:330px}.faq-mascot{max-height:340px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-peek{width:125px;right:2%}
}

@media(max-width:680px){
  .shell{width:min(100% - 24px,1220px)}.nav-wrap{height:76px;gap:10px}.brand img{width:135px}.nav-actions{margin-right:50px}.nav-cta{font-size:.74rem;padding:0 13px;min-height:42px}.nav-cta span{display:none}.nav-toggle{width:42px}.main-nav{top:82px}
  .hero--v3{min-height:840px}.hero--v3 .hero__photo{background-position:61% center}.hero--v3 .hero__wash{background:linear-gradient(180deg,rgba(35,15,58,.46),rgba(35,15,58,.80) 52%,rgba(35,15,58,.94) 100%)}.hero--v3 .hero__grid{display:block;min-height:725px;padding:54px 0 300px}.hero--v3 .hero__copy{padding:0;text-align:center}.hero--v3 h1{align-items:center;text-align:center;font-size:clamp(2.85rem,13.5vw,4.15rem)}.hero--v3 .hero__copy p{font-size:.96rem;margin-inline:auto}.hero--v3 .hero__actions{justify-content:center;flex-direction:column;align-items:stretch}.hero--v3 .hero__actions .btn{width:100%}.hero__mascot-wrap{left:50%;bottom:115px;transform:translateX(-50%);width:260px;height:255px}.hero--v3 .hero__mascot{width:235px}.hero__shape--yellow{width:75px;height:190px}.hero__shape--pink{width:60px;height:60px}.trust-strip--v3{bottom:16px;border-radius:18px}.trust-strip--v3 strong{font-size:.82rem}.trust-strip--v3 small{font-size:.7rem}.trust-icon{width:32px;height:32px}
  .section{padding:72px 0}.section h2{font-size:clamp(2.2rem,10vw,3.25rem)}.playground-section{padding-top:85px}.playground-mosaic--v3{grid-template-columns:1fr;grid-template-rows:280px 210px}.playground-mosaic--v3 .photo-card--large{grid-row:auto}.playground-mosaic--v3 .photo-card--bottom{display:none}
  .section-heading{align-items:flex-start;flex-direction:column}.section-heading--center{align-items:center}.location-switch{align-self:flex-end}
  .package-card__body{grid-template-columns:1fr}.package-card--v3 .package-card__media{height:240px;min-height:240px}.package-card--v3 .package-card__media:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.10) 30%,transparent 65%)}.package-card--v3 .package-mascot{width:135px}.package-card--v3 .package-card__copy{padding:24px}
  .steps--v3{grid-template-columns:1fr 1fr;gap:28px 8px}.steps--v3 img{height:118px}.step-number{top:58px;left:calc(50% - 61px);width:31px;height:31px}
  .gallery-mascot{display:none}.gallery-grid--v3{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-grid--v3 .gallery-item--hero{grid-column:auto}.locations-grid--photo{grid-template-columns:1fr}.location-card--photo{min-height:380px}.location-card__mascot{width:145px}.location-card__content{left:24px;right:24px}
  .faq-mascot-wrap{min-height:280px}.faq-mascot{max-height:290px}.faq-bubble{right:0;top:20px}.footer-peek{display:none}.footer-main{grid-template-columns:1fr;gap:28px}.footer-logo{width:165px}.footer-bottom{flex-direction:column;gap:7px}.footer-clouds{height:85px;top:-45px}
}


/* V4 utility UI */
.page-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:rgba(255,255,255,.97);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
html.js-loading .page-loader{opacity:1;visibility:visible;pointer-events:auto}
.page-loader__inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--purple);font-weight:950;letter-spacing:.01em}
.page-loader__inner img{width:105px;max-height:105px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(50,26,85,.16))}
.page-loader__spinner{width:34px;height:34px;border:4px solid rgba(75,33,118,.15);border-top-color:var(--pink);border-radius:50%;animation:kidz-spin .8s linear infinite}
@keyframes kidz-spin{to{transform:rotate(360deg)}}

.back-to-top{position:fixed;right:22px;bottom:22px;z-index:1200;width:50px;height:50px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--purple-dark);font-size:1.55rem;font-weight:950;box-shadow:0 14px 30px rgba(39,20,67,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,box-shadow .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{box-shadow:0 18px 34px rgba(39,20,67,.30);transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px var(--purple),0 18px 34px rgba(39,20,67,.30)}

.playground-copy{display:flex;flex-direction:column;align-items:flex-start}
.playground-copy .playground-guide{position:relative;right:auto;bottom:auto;margin:22px 0 0 auto;width:220px;z-index:1;filter:drop-shadow(0 18px 28px rgba(44,23,67,.12))}

@media(max-width:960px){.playground-copy .playground-guide{display:block;width:185px;margin:18px 0 0 auto}}
@media(max-width:680px){.page-loader__inner img{width:110px}.back-to-top{right:14px;bottom:14px;width:46px;height:46px}.playground-copy .playground-guide{width:150px;margin-top:16px}}
@media(prefers-reduced-motion:reduce){.page-loader__spinner{animation-duration:1.6s}.back-to-top{transition:none}}

/* V6 loader: critical visibility is defined inline in header.php. */
.page-loader__inner img.page-loader__logo{
  width:min(245px,62vw);
  max-height:none;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(75,33,118,.16));
}
@media(max-width:680px){
  .page-loader__inner img.page-loader__logo{width:min(210px,68vw)}
}


/* V7 — CubyWeb footer credit */
.footer-credit{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap;color:rgba(255,255,255,.64);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.82rem;line-height:1}
.footer-credit__prefix{display:inline-flex;align-items:center;line-height:1}
.footer-credit__brand{display:inline-flex;align-items:center;gap:7px;color:#ff5e14;font-weight:800;font-size:1rem;line-height:1;text-decoration:none}
.footer-credit__brand:hover{color:#ff7b3d}
.footer-credit__mark{display:block;height:1em;width:auto;max-width:none;flex:0 0 auto}
.footer-credit__brand span{display:block;line-height:1}
@media(max-width:650px){.footer-credit{justify-content:flex-start;gap:8px;font-size:.76rem}.footer-credit__brand{font-size:.92rem;gap:6px}}


/* V9 — motion, reveal & subtle parallax */
html{scroll-behavior:smooth}
body{overflow-x:hidden}

.kc-reveal{
  opacity:0;
  transform:translate3d(0,34px,0) scale(.985);
  transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--kc-reveal-delay,0ms);
}
.kc-reveal--left{transform:translate3d(-34px,0,0) scale(.985)}
.kc-reveal--right{transform:translate3d(34px,0,0) scale(.985)}
.kc-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0) scale(1)}

.kc-parallax{will-change:translate;translate:0 var(--kc-parallax-y,0px)}
.hero--v3 .hero__photo.kc-parallax{transform:scale(1.08)}
.hero__shape,.hero__spark{will-change:translate}

.package-card--v3,
.gallery-item,
.location-card--photo,
.playground-mosaic--v3 .photo-card{
  transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease;
}
.package-card--v3:hover{transform:translateY(-8px);box-shadow:0 26px 58px rgba(33,35,65,.14)}
.package-card--featured:hover{transform:translateY(-16px);box-shadow:0 30px 66px rgba(242,11,120,.20)}
.playground-mosaic--v3 .photo-card:hover{box-shadow:0 30px 64px rgba(36,23,68,.20)}
.gallery-item:hover{transform:translateY(-5px)}
.location-card--photo:hover{transform:translateY(-7px);box-shadow:0 30px 62px rgba(22,12,38,.32)}

.steps--v3 article img,
.package-mascot,
.location-card__mascot,
.gallery-mascot,
.faq-mascot{
  transition:transform .32s cubic-bezier(.2,.7,.2,1),filter .32s ease;
}
.steps--v3 article:hover img{transform:translateY(-8px) rotate(-2deg);filter:drop-shadow(0 18px 24px rgba(42,28,76,.18))}
.package-card--v3:hover .package-mascot{transform:translateY(-7px) rotate(2deg)}
.location-card--photo:hover .location-card__mascot{transform:translateY(-6px) rotate(-2deg)}

.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.hero__actions .btn:hover,.steps-cta .btn:hover,.faq-cta:hover{box-shadow:0 15px 30px rgba(35,20,62,.18)}

.hero__shape--yellow{animation:kc-drift-yellow 7s ease-in-out infinite alternate}
.hero__shape--pink{animation:kc-drift-pink 6.2s ease-in-out infinite alternate}
.hero__spark--one{animation:kc-spark-one 4.8s ease-in-out infinite alternate}
.hero__spark--two{animation:kc-spark-two 5.4s ease-in-out infinite alternate}
@keyframes kc-drift-yellow{from{margin-top:-6px}to{margin-top:18px}}
@keyframes kc-drift-pink{from{margin-bottom:-4px}to{margin-bottom:15px}}
@keyframes kc-spark-one{from{margin-top:-5px}to{margin-top:14px}}
@keyframes kc-spark-two{from{margin-top:8px}to{margin-top:-9px}}

@media(max-width:780px){
  .kc-parallax{translate:none!important}
  .package-card--v3:hover,.package-card--featured:hover,.gallery-item:hover,.location-card--photo:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .kc-reveal,.kc-reveal--left,.kc-reveal--right{opacity:1!important;transform:none!important;transition:none!important}
  .kc-parallax{translate:none!important}
  .hero__shape--yellow,.hero__shape--pink,.hero__spark--one,.hero__spark--two{animation:none!important}
  .package-card--v3,.gallery-item,.location-card--photo,.playground-mosaic--v3 .photo-card,.steps--v3 article img,.package-mascot,.location-card__mascot,.gallery-mascot,.faq-mascot,.btn{transition:none!important}
}


/* V10 — Juegos page */
.eyebrow--purple{background:rgba(107,62,179,.12);color:var(--purple)}

.inner-hero{position:relative;overflow:hidden;padding:0 0 36px}
.inner-hero__media{height:210px;background:center/cover no-repeat}
.inner-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,20,54,.10) 0%,rgba(32,20,54,.04) 40%,rgba(255,255,255,0) 100%);pointer-events:none}
.inner-hero__content{position:relative;display:flex;justify-content:center;margin-top:-56px;z-index:2}
.inner-hero__badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:min(250px,92vw);padding:24px 28px;background:linear-gradient(180deg,#9fd131 0%,#95c62f 100%);border-radius:0 0 20px 20px;box-shadow:0 22px 42px rgba(53,84,17,.18);text-align:center}
.inner-hero__badge h1{margin:0;color:#fff;font-size:clamp(2.45rem,5vw,4rem);line-height:.92;text-transform:uppercase;letter-spacing:.02em}
.inner-hero--games .inner-hero__media{background-image:url('../img/real/1675606785847.jpg');background-position:center 26%}
.breadcrumb{display:flex;align-items:center;gap:10px;color:#fff;font-size:.92rem;font-weight:800}
.breadcrumb a{color:#fff}.breadcrumb span:last-child{color:#ffec77}

.games-page{padding-top:50px}
.games-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(250px,.62fr);gap:28px;align-items:start}
.games-copy{padding-top:8px}
.games-copy h2{margin:14px 0 20px;font-size:clamp(2.65rem,5vw,4.1rem);line-height:.94;text-transform:uppercase;letter-spacing:-.03em}
.games-copy h2 span{color:var(--purple)}
.games-copy p{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.02rem;line-height:1.78;color:var(--muted);margin:0 0 20px;max-width:46ch}

.games-main,.games-side{display:grid;gap:22px}
.games-card,.games-side-card{background:#f5f5f8;border:1px solid #ececf2;border-radius:28px;box-shadow:0 18px 32px rgba(31,24,59,.06);overflow:hidden}
.games-card--photo .games-card__media{position:relative;min-height:314px}
.games-card--photo .games-card__media img:first-child{width:100%;height:100%;object-fit:cover}
.games-card__logo{position:absolute;left:24px;bottom:20px;width:min(185px,42%);filter:drop-shadow(0 10px 18px rgba(34,22,58,.22))}
.games-card--facebook .games-card__body{min-height:196px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px 40px;gap:18px}
.games-card--facebook p{margin:0;max-width:22ch;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.05rem;line-height:1.7;color:#5d6678}

.games-side-card{padding:20px 20px 24px;text-align:center}
.games-side-card__art{display:grid;place-items:center;border-radius:22px;min-height:190px;overflow:hidden;margin-bottom:16px}
.games-side-card__art--location{background:linear-gradient(180deg,#ffffff 0%,#f4ecff 100%);padding:16px}
.games-side-card__art--location img{width:min(180px,100%)}
.games-side-card__art--photo img{width:100%;height:100%;object-fit:cover}
.games-side-card__copy h3{margin:0 0 8px;font-size:2rem;line-height:1;text-transform:uppercase}
.games-side-card__copy p{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#677286;font-size:.95rem;line-height:1.55}
.games-side-card--caguas h3{color:#4b4e58}.games-side-card--ponce h3{color:#4b4e58}

.sock-note-section{padding-top:16px}
.sock-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:18px 0 8px}
.sock-note__copy h2{margin:0 0 12px;font-size:clamp(2.45rem,5vw,3.7rem);line-height:.96;text-transform:uppercase;letter-spacing:-.025em}
.sock-note__copy p{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#616c7f;font-size:1.12rem;line-height:1.7}
.sock-note__mascot img{width:170px;filter:drop-shadow(0 18px 28px rgba(44,23,67,.12))}

@media(max-width:1100px){
  .games-grid{grid-template-columns:1fr 1fr;gap:24px}
  .games-side{grid-column:1/-1;grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .inner-hero__media{height:190px}.inner-hero__content{margin-top:-44px}.inner-hero__badge{padding:20px 24px}
  .games-grid{grid-template-columns:1fr}.games-side{grid-template-columns:1fr 1fr}.games-copy p{max-width:none}
  .games-card--facebook .games-card__body{min-height:unset}
  .sock-note{grid-template-columns:1fr;align-items:start}.sock-note__mascot{justify-self:end}
}
@media(max-width:680px){
  .inner-hero{padding-bottom:22px}.inner-hero__media{height:160px}.inner-hero__content{margin-top:-32px}.inner-hero__badge{min-width:0;width:min(220px,88vw);padding:16px 18px;border-radius:0 0 16px 16px}.breadcrumb{font-size:.82rem;gap:8px}
  .games-page{padding-top:30px}.games-copy h2{font-size:clamp(2rem,12vw,2.85rem)}.games-copy p{font-size:.99rem;line-height:1.7}
  .games-card--photo .games-card__media{min-height:240px}.games-card__logo{left:18px;bottom:16px;width:140px}
  .games-card--facebook .games-card__body{padding:24px}.games-side{grid-template-columns:1fr}.games-side-card__art{min-height:175px}.games-side-card__copy h3{font-size:1.65rem}
  .sock-note{padding-top:4px}.sock-note__copy h2{font-size:clamp(2rem,10vw,2.9rem)}.sock-note__copy p{font-size:1rem}.sock-note__mascot img{width:132px}
}

/* ==========================================================================
   KIDZ CITY V11 — HOME FINAL DIRECTION
   ========================================================================== */
.kc-topbar{position:relative;z-index:1200;background:linear-gradient(90deg,#ef0c7b,#ff0c72);color:#fff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.76rem;font-weight:800}
.kc-topbar__inner{min-height:34px;display:flex;align-items:center;gap:24px}
.kc-topbar a{color:#fff}.kc-topbar__social{margin-left:auto;display:flex;gap:10px}.kc-topbar__social a{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.14);font-weight:950}

.site-header.site-header--v11{position:sticky;top:0;z-index:1100;background:transparent;box-shadow:none;margin-bottom:-96px;pointer-events:none}
.site-header.site-header--v11 .nav-wrap--v11{pointer-events:auto;width:min(1040px,calc(100% - 36px));height:74px;margin-top:12px;padding:0 18px 0 22px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.8);border-radius:999px;box-shadow:0 18px 45px rgba(40,22,71,.18);backdrop-filter:blur(18px)}
.site-header.site-header--v11.is-scrolled .nav-wrap--v11{box-shadow:0 16px 38px rgba(40,22,71,.22)}
.site-header--v11 .brand--v11 img{width:165px;max-height:62px;object-fit:contain}
.site-header--v11 .main-nav--v11{display:flex;justify-content:center;align-items:center;gap:29px;font-size:.87rem;font-weight:900}
.site-header--v11 .main-nav--v11>a{padding:24px 0 21px!important;border:0!important;color:#18284a!important;position:relative}
.site-header--v11 .main-nav--v11>a:after{content:"";position:absolute;left:50%;right:50%;bottom:15px;height:3px;border-radius:999px;background:var(--pink);transition:left .2s ease,right .2s ease}
.site-header--v11 .main-nav--v11>a:hover:after,.site-header--v11 .main-nav--v11>a.is-active:after{left:0;right:0}
.site-header--v11 .main-nav--v11>a:hover,.site-header--v11 .main-nav--v11>a.is-active{color:var(--pink)!important}
.site-header--v11 .nav-cta--v11{min-height:48px;border-radius:999px;padding:0 23px;text-transform:none;font-size:.88rem;white-space:nowrap}
.site-header--v11 .stage-corner{top:2px;right:8px;font-size:.52rem}

.home-v11{background:#fff}
.home-hero{position:relative;overflow:hidden;min-height:780px;padding:150px 0 88px;background:#1e1552}
.home-hero__photo{position:absolute;inset:-36px 0 -20px;background:url('../img/home/hero-playground.webp') center 47%/cover no-repeat;transform:scale(1.08);filter:saturate(1.12) contrast(1.02);z-index:0}
.home-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,20,83,.20) 0%,rgba(35,17,70,.14) 36%,rgba(29,16,63,.38) 100%);z-index:1}
.home-hero:after{content:"";position:absolute;left:-7%;right:-7%;bottom:-105px;height:205px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:2}
.home-hero__bubble{position:absolute;border-radius:50%;z-index:2;filter:blur(.2px)}
.home-hero__bubble--one{width:74px;height:74px;background:rgba(255,212,34,.94);right:4%;top:105px}.home-hero__bubble--two{width:48px;height:48px;background:rgba(242,11,120,.92);right:13%;bottom:175px}
.home-hero__content{position:relative;z-index:4;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;min-height:485px;gap:25px}
.home-hero__mascot.hero__mascot-wrap{height:auto;min-height:480px;display:flex;align-items:flex-end;justify-content:flex-start;position:relative}
.home-hero__mascot img{width:min(455px,100%);max-height:520px;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(28,12,51,.28));animation:floaty 4.6s ease-in-out infinite}
.home-hero__copy{max-width:690px;color:#fff;text-align:center;justify-self:center;text-shadow:0 4px 24px rgba(24,12,44,.22)}
.home-hero__eyebrow{display:inline-flex;background:rgba(76,34,120,.86);border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:999px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.home-hero__copy h1{margin:14px 0 16px;font-size:clamp(4rem,7.5vw,7.4rem);line-height:.78;letter-spacing:-.055em;font-weight:950}
.home-hero__copy h1 span,.home-hero__copy h1 strong{display:block}.home-hero__copy h1 span{font-size:.56em;color:#fff}.home-hero__copy h1 strong{margin-top:7px;background:linear-gradient(90deg,#8e41d5 0 18%,#1cabef 18% 37%,#ffbd18 37% 56%,#ec0b72 56% 75%,#56bd35 75% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:4px #fff;filter:drop-shadow(0 8px 0 rgba(77,34,118,.75))}
.home-hero__copy p{margin:22px auto 0;max-width:610px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.04rem;line-height:1.65;color:rgba(255,255,255,.96);font-weight:650}
.home-hero__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px}.home-hero__actions .btn{border-radius:999px;min-width:190px}

.home-feature-cards{position:relative;z-index:7;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-64px}
.home-feature-card{overflow:hidden;background:#fff;border-radius:24px;box-shadow:0 22px 45px rgba(41,24,74,.16);border:3px solid #fff;transition:transform .25s ease,box-shadow .25s ease}
.home-feature-card:hover{transform:translateY(-7px);box-shadow:0 28px 55px rgba(41,24,74,.22)}
.home-feature-card__photo{height:155px;overflow:hidden}.home-feature-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .35s ease}.home-feature-card:hover .home-feature-card__photo img{transform:scale(1.045)}
.home-feature-card__body{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:18px 18px 20px}.home-feature-card__icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.2rem;font-weight:950}.home-feature-card--purple .home-feature-card__icon{background:#7a2bc3}.home-feature-card--pink .home-feature-card__icon{background:var(--pink)}.home-feature-card--blue .home-feature-card__icon{background:var(--blue)}
.home-feature-card h2{margin:0 0 4px;color:var(--purple);font-size:1.28rem;line-height:1}.home-feature-card p{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#657084;font-size:.76rem;line-height:1.45}.home-feature-card__arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:950;background:var(--purple)}.home-feature-card--pink .home-feature-card__arrow{background:var(--pink)}.home-feature-card--blue .home-feature-card__arrow{background:var(--blue)}

.home-section-title{text-align:left}.home-section-title--center{text-align:center}.home-section-title h2{margin:0;font-size:clamp(2.7rem,5vw,4.8rem);line-height:.9;letter-spacing:-.045em;color:var(--purple);font-weight:950}.home-section-title h2 span{color:var(--pink)}.home-section-title p{margin:9px 0 0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#866227;font-size:.88rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.home-section-title--light h2,.home-section-title--light p{color:#fff}

.home-services{position:relative;overflow:hidden;padding:142px 0 92px;background:linear-gradient(180deg,#fff 0 17%,#fff6d9 17% 24%,#ffd43d 24% 100%)}
.home-services:before{content:"";position:absolute;left:-5%;right:-5%;top:105px;height:105px;background:#fff;border-radius:0 0 50% 50%/0 0 100% 100%;z-index:0}.home-services__inner{position:relative;z-index:2;min-height:385px}.home-services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:min(760px,72%);margin:42px 0 0}.home-service-item{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--purple);font-weight:950;font-size:1rem}.home-service-item__icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.8rem;box-shadow:0 14px 28px rgba(51,31,82,.12);transition:transform .25s ease}.home-service-item:hover .home-service-item__icon{transform:translateY(-6px) rotate(-3deg)}.home-service-item__icon--pink{background:var(--pink)}.home-service-item__icon--yellow{background:#f4c400;color:var(--purple)}.home-service-item__icon--blue{background:#139fea}.home-service-item__icon--green{background:#51bc35}
.home-services__mascot{position:absolute;right:2%;bottom:-12px;width:min(330px,31vw);filter:drop-shadow(0 22px 32px rgba(75,33,118,.18))}

.home-gallery{position:relative;padding:45px 0 110px;background:linear-gradient(180deg,#ffd43d 0%,#ffc62b 100%);overflow:hidden}.home-gallery:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-80px;height:155px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}.home-gallery__track{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.home-gallery__track figure{margin:0;height:210px;border:5px solid #fff;border-radius:18px;overflow:hidden;box-shadow:0 16px 28px rgba(108,70,11,.16);transition:transform .25s ease}.home-gallery__track figure:hover{transform:translateY(-6px) rotate(-1deg)}.home-gallery__track img{width:100%;height:100%;object-fit:cover}.home-gallery__track figure:nth-child(2) img{object-position:center 27%}.home-gallery__track figure:nth-child(5) img{object-position:center 22%}

.home-locations{position:relative;padding:95px 0 115px;background:#fff;overflow:hidden}.home-locations:before,.home-locations:after{content:"";position:absolute;border-radius:50%;background:#e4f4ff;opacity:.82}.home-locations:before{width:120px;height:58px;left:4%;top:95px}.home-locations:after{width:165px;height:74px;right:5%;top:145px}.home-locations__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:22px;width:min(820px,100%);margin:38px auto 0}.home-location-card{display:grid;grid-template-columns:150px 1fr;overflow:hidden;background:#fff;border:1px solid #ebedf3;border-radius:22px;box-shadow:0 16px 34px rgba(45,28,79,.10)}.home-location-card__photo{min-height:160px}.home-location-card__photo img{width:100%;height:100%;object-fit:cover}.home-location-card__content{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:22px}.home-location-card__content>span{font-size:1.6rem}.home-location-card__content div{display:flex;flex-direction:column;gap:5px}.home-location-card__content strong{font-size:1.3rem;color:var(--purple);text-transform:uppercase}.home-location-card__content small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#687286;line-height:1.4}.home-location-card__content .btn{grid-column:2;justify-self:start;min-height:38px;padding:0 18px;border-radius:999px;font-size:.78rem}

.site-footer.site-footer--v11{position:relative;background:linear-gradient(180deg,#6d2b94 0%,#4b2176 100%);padding-top:80px}.footer-clouds--v11{position:absolute;left:-3%;right:-3%;top:-48px;height:82px;background:#6d2b94;border-radius:50% 50% 0 0/100% 100% 0 0}.footer-main--v11{grid-template-columns:1.25fr .75fr 1fr 1fr;gap:48px}.footer-brand--v11 p{max-width:310px}.footer-socials{display:flex;gap:9px;margin-top:16px}.footer-socials a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-weight:950}.footer-bottom--v11{margin-top:36px}

@media(max-width:1040px){
  .kc-topbar__inner{gap:14px}.kc-topbar__inner>a:nth-of-type(2){display:none}
  .site-header.site-header--v11 .nav-wrap--v11{width:min(940px,calc(100% - 28px));gap:18px}.site-header--v11 .brand--v11 img{width:145px}.site-header--v11 .main-nav--v11{gap:20px}
  .home-hero__content{grid-template-columns:.78fr 1.22fr}.home-hero__mascot img{width:390px}.home-feature-card__body{grid-template-columns:auto 1fr}.home-feature-card__arrow{display:none}
  .home-services__grid{width:68%}.home-services__mascot{width:300px}
  .home-gallery__track{grid-template-columns:repeat(3,1fr)}.home-gallery__track figure:nth-child(4),.home-gallery__track figure:nth-child(5){display:none}
  .footer-main--v11{grid-template-columns:1fr 1fr}
}

@media(max-width:820px){
  .kc-topbar__inner>a{display:none}.kc-topbar__social{margin-left:auto}
  .site-header.site-header--v11{margin-bottom:-88px}.site-header.site-header--v11 .nav-wrap--v11{height:68px;border-radius:20px;padding:0 12px 0 16px;grid-template-columns:auto 1fr auto}.site-header--v11 .brand--v11 img{width:130px}.site-header--v11 .nav-cta--v11{margin-right:50px;min-height:42px;padding:0 15px;font-size:.76rem}.site-header--v11 .nav-toggle{display:block;position:absolute;right:18px;top:13px}.site-header--v11 .main-nav--v11{position:absolute;left:14px;right:14px;top:79px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:20px;padding:15px;box-shadow:0 18px 45px rgba(40,22,71,.2)}.site-header--v11 .main-nav--v11.is-open{display:flex}.site-header--v11 .main-nav--v11>a{padding:12px!important}.site-header--v11 .main-nav--v11>a:after{display:none}
  .home-hero{min-height:860px;padding-top:128px}.home-hero__content{grid-template-columns:1fr;min-height:640px;align-items:start}.home-hero__copy{order:1}.home-hero__mascot{order:2;position:absolute!important;left:0;bottom:20px;min-height:0!important;width:310px}.home-hero__mascot img{width:295px}.home-hero__copy h1{font-size:clamp(3.8rem,12vw,6.2rem)}
  .home-feature-cards{grid-template-columns:1fr;max-width:680px;margin:-42px auto 0}.home-feature-card{display:grid;grid-template-columns:180px 1fr}.home-feature-card__photo{height:100%}.home-feature-card__body{grid-template-columns:auto 1fr auto}.home-feature-card__arrow{display:grid}
  .home-services{padding-top:115px}.home-services__grid{width:100%;grid-template-columns:repeat(2,1fr);padding-right:245px}.home-services__mascot{width:235px;right:0}
  .home-gallery__track{grid-template-columns:repeat(2,1fr)}.home-gallery__track figure:nth-child(4){display:block}.home-gallery__track figure{height:230px}
  .home-locations__grid{grid-template-columns:1fr;max-width:620px}
}

@media(max-width:580px){
  .kc-topbar{font-size:.7rem}.kc-topbar__inner{min-height:30px}.site-header.site-header--v11{margin-bottom:-80px}.site-header.site-header--v11 .nav-wrap--v11{height:62px;width:calc(100% - 20px);margin-top:9px}.site-header--v11 .brand--v11 img{width:115px}.site-header--v11 .nav-cta--v11{font-size:0;width:42px;height:42px;padding:0;margin-right:43px}.site-header--v11 .nav-cta--v11:first-letter{font-size:1rem}.site-header--v11 .nav-toggle{right:11px;top:10px}
  .home-hero{min-height:790px;padding:112px 0 60px}.home-hero__photo{background-position:56% center}.home-hero__overlay{background:linear-gradient(180deg,rgba(40,18,75,.18),rgba(30,14,60,.58))}.home-hero__content{min-height:570px}.home-hero__copy h1{font-size:clamp(3.2rem,17vw,5rem)}.home-hero__copy h1 strong{-webkit-text-stroke:2px #fff}.home-hero__copy p{font-size:.92rem}.home-hero__actions{flex-direction:column;align-items:stretch}.home-hero__actions .btn{width:100%}.home-hero__mascot{width:230px!important;left:-20px!important;bottom:12px!important}.home-hero__mascot img{width:225px}
  .home-feature-cards{margin-top:-26px}.home-feature-card{grid-template-columns:122px 1fr;border-radius:18px}.home-feature-card__body{padding:14px;grid-template-columns:auto 1fr}.home-feature-card__icon{width:38px;height:38px}.home-feature-card__arrow{display:none}.home-feature-card h2{font-size:1rem}.home-feature-card p{font-size:.7rem}.home-feature-card__photo{min-height:132px}
  .home-services{padding:95px 0 72px}.home-services:before{top:78px}.home-section-title h2{font-size:2.55rem}.home-services__grid{padding-right:0;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}.home-services__mascot{position:relative;display:block;width:180px;right:auto;bottom:auto;margin:28px auto -18px}.home-service-item__icon{width:64px;height:64px}
  .home-gallery{padding:35px 0 85px}.home-gallery__track{grid-template-columns:1fr 1fr;gap:9px}.home-gallery__track figure{height:175px}.home-gallery__track figure:nth-child(4){display:none}
  .home-locations{padding:82px 0 90px}.home-location-card{grid-template-columns:110px 1fr}.home-location-card__content{padding:16px;gap:6px}.home-location-card__content strong{font-size:1.05rem}.home-location-card__content small{font-size:.72rem}.home-location-card__content .btn{grid-column:1/-1;justify-self:stretch}
  .footer-main--v11{grid-template-columns:1fr;gap:25px}.footer-bottom--v11{align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){.home-hero__mascot img{animation:none}.home-feature-card,.home-service-item__icon,.home-gallery__track figure{transition:none}}

/* ==========================================================================
   KIDZ CITY V12 — JUEGOS + GLOBAL FOOTER
   ========================================================================== */
.games-hero-v12{position:relative;overflow:hidden;min-height:365px;background:#23154b}
.games-hero-v12__photo{position:absolute;inset:-28px 0 -34px;background:url('../img/games/hero-games.webp') center 52%/cover no-repeat;transform:scale(1.06);filter:saturate(1.12) contrast(1.03);z-index:0}
.games-hero-v12__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,18,66,.12),rgba(31,18,66,.28));z-index:1}
.games-hero-v12__inner{position:relative;z-index:3;min-height:365px;display:flex;align-items:flex-end;justify-content:center;padding:0 0 25px}
.games-hero-v12__badge{min-width:min(340px,86vw);padding:26px 38px 24px;border-radius:28px;background:linear-gradient(180deg,#a7df31,#94cb24);box-shadow:0 22px 45px rgba(73,106,20,.26);text-align:center;border:4px solid rgba(255,255,255,.62)}
.games-hero-v12__badge h1{margin:0 0 10px;font-size:clamp(3.2rem,6vw,5.4rem);line-height:.82;text-transform:uppercase;color:#fff;letter-spacing:-.035em;text-shadow:0 5px 0 rgba(90,144,19,.30)}
.games-breadcrumb{display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-size:.9rem;font-weight:900}.games-breadcrumb a{color:#fff}.games-breadcrumb strong{color:#fff5a8}
.games-hero-v12__wave{position:absolute;left:-6%;right:-6%;bottom:-66px;height:122px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:2}

.games-v12{position:relative;background:#fff;padding-top:88px;padding-bottom:100px;overflow:hidden}
.games-v12:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:#fff1a9;left:-45px;top:260px;opacity:.48}.games-v12:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:#e8f7ff;right:-62px;bottom:90px;opacity:.9}
.games-v12__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.95fr) minmax(250px,.64fr);gap:26px;align-items:start}
.games-v12__copy{padding:18px 12px 0 0}.games-v12__copy h2{margin:18px 0 24px;font-size:clamp(3rem,5vw,4.65rem);line-height:.91;letter-spacing:-.045em;text-transform:uppercase;color:#15254a}.games-v12__copy h2 span{color:var(--pink)}
.games-v12__copy p{margin:0 0 19px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#667187;font-size:1.03rem;line-height:1.72;max-width:47ch}
.games-v12__center,.games-v12__locations{display:grid;gap:20px}
.games-v12__feature-photo{margin:0;min-height:410px;border:5px solid #fff;border-radius:28px;overflow:hidden;box-shadow:0 22px 42px rgba(34,26,63,.13)}.games-v12__feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.games-v12__facebook{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:center;padding:26px 28px;border-radius:26px;background:linear-gradient(135deg,#eef9ff,#dff3ff);border:2px solid #fff;box-shadow:0 18px 35px rgba(27,121,180,.12)}
.games-v12__facebook-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#198deb;color:#fff;font-family:Arial,sans-serif;font-size:2.8rem;font-weight:900;box-shadow:0 12px 24px rgba(25,141,235,.20)}
.games-v12__facebook p{margin:0 0 14px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#4f5d73;line-height:1.55}.games-v12__facebook .btn{border-radius:999px;min-height:42px;padding:0 20px}
.games-location-v12{overflow:hidden;background:#fff;border:1px solid #ececf3;border-radius:26px;box-shadow:0 18px 36px rgba(38,27,67,.09);transition:transform .25s ease,box-shadow .25s ease}.games-location-v12:hover{transform:translateY(-5px);box-shadow:0 24px 42px rgba(38,27,67,.15)}
.games-location-v12__photo{height:205px;overflow:hidden}.games-location-v12__photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.games-location-v12__body{padding:22px 20px 24px;text-align:center}.games-location-v12__body h3{margin:0 0 8px;color:var(--purple);font-size:2rem;line-height:1;text-transform:uppercase}.games-location-v12__body p{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#748095;font-size:.92rem;line-height:1.5}

.games-socks-v12{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff7e7 0%,#fff3d8 100%);padding:95px 0 72px}.games-socks-v12__wave--top{position:absolute;left:-5%;right:-5%;top:-65px;height:120px;background:#fff;border-radius:0 0 50% 50%/0 0 100% 100%}
.games-socks-v12__inner{position:relative;z-index:2;display:grid;grid-template-columns:130px minmax(0,1fr) 210px;align-items:end;gap:28px}.games-socks-v12__icon{font-size:5.8rem;transform:rotate(-8deg);filter:drop-shadow(0 13px 16px rgba(102,45,140,.12));text-align:center}.games-socks-v12__copy{text-align:center;padding-bottom:24px}.games-socks-v12__copy h2{margin:0 0 12px;color:var(--purple);font-size:clamp(3rem,5vw,4.55rem);line-height:.92;letter-spacing:-.04em;text-transform:uppercase}.games-socks-v12__copy h2:after{content:"";display:block;width:180px;height:8px;margin:13px auto 0;border-radius:999px;background:var(--yellow);transform:rotate(-2deg)}.games-socks-v12__copy p{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#6b7384;font-size:1rem}.games-socks-v12__mascot{width:205px;justify-self:end;filter:drop-shadow(0 20px 30px rgba(74,34,112,.15))}

.site-footer.site-footer--v12{position:relative;overflow:hidden;background:linear-gradient(180deg,#6f2b98 0%,#4d1d76 100%);padding:96px 0 0;color:#fff}
.footer-wave-v12{position:absolute;left:-5%;right:-5%;top:-56px;height:102px;background:#6f2b98;border-radius:50% 50% 0 0/100% 100% 0 0;box-shadow:0 -14px 0 rgba(111,43,152,.12)}
.site-footer--v12:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 38%,rgba(255,255,255,.07) 0 12px,transparent 13px),radial-gradient(circle at 91% 22%,rgba(255,255,255,.06) 0 18px,transparent 19px),radial-gradient(circle at 72% 72%,rgba(255,255,255,.05) 0 11px,transparent 12px);pointer-events:none}
.footer-deco{position:absolute;z-index:1;opacity:.16}.footer-deco--one{width:95px;height:95px;border-radius:50%;background:#fff;left:-30px;bottom:10px}.footer-deco--two{width:54px;height:54px;border-radius:50%;background:#ffca16;right:5%;top:32px}.footer-deco--three{right:14%;bottom:88px;font-size:3.2rem;color:#fff}
.footer-main--v12{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .75fr 1fr 1fr;gap:48px;align-items:start}.footer-brand--v12 .footer-logo{width:190px}.footer-brand--v12 p{max-width:315px;margin:16px 0 0;color:rgba(255,255,255,.78);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.7}.footer-socials--v12{margin-top:18px}.footer-socials--v12 a{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13);transition:transform .2s ease,background .2s ease}.footer-socials--v12 a:hover{transform:translateY(-3px);background:rgba(255,255,255,.22)}
.footer-column--v12 h3{margin:0 0 17px;color:#fff;font-size:1.08rem}.footer-column--v12 a,.footer-column--v12 span,.footer-column--v12 small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:rgba(255,255,255,.75);font-size:.86rem;line-height:1.55}.footer-column--v12 a:hover{color:#ffdf50}
.footer-bottom--v12{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:46px;padding:22px 0 25px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.75rem}
.site-footer--v12 .footer-credit__prefix{color:rgba(255,255,255,.60)}

@media(max-width:1080px){
  .games-v12__grid{grid-template-columns:1fr 1fr}.games-v12__locations{grid-column:1/-1;grid-template-columns:1fr 1fr}.games-location-v12{display:grid;grid-template-columns:190px 1fr}.games-location-v12__photo{height:100%;min-height:190px}.games-location-v12__body{display:flex;flex-direction:column;justify-content:center}
  .footer-main--v12{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .games-hero-v12{min-height:300px}.games-hero-v12__inner{min-height:300px}.games-hero-v12__badge{min-width:min(300px,82vw);padding:22px 26px}.games-hero-v12__photo{background-position:center 48%}
  .games-v12{padding-top:62px}.games-v12__grid{grid-template-columns:1fr}.games-v12__copy{padding-right:0}.games-v12__copy p{max-width:none}.games-v12__locations{grid-column:auto;grid-template-columns:1fr 1fr}.games-location-v12{display:block}.games-location-v12__photo{height:185px}
  .games-socks-v12__inner{grid-template-columns:100px 1fr}.games-socks-v12__mascot{grid-column:2;justify-self:end;width:165px;margin-top:-35px}.games-socks-v12__copy{text-align:left}.games-socks-v12__copy h2:after{margin-left:0}
}
@media(max-width:560px){
  .games-hero-v12{min-height:260px}.games-hero-v12__inner{min-height:260px}.games-hero-v12__badge{min-width:220px;padding:18px 20px;border-radius:22px}.games-hero-v12__badge h1{font-size:3rem}.games-hero-v12__wave{bottom:-48px;height:92px}
  .games-v12{padding-top:46px;padding-bottom:78px}.games-v12__copy h2{font-size:clamp(2.55rem,13vw,3.55rem)}.games-v12__copy p{font-size:.96rem}.games-v12__feature-photo{min-height:330px}.games-v12__facebook{grid-template-columns:55px 1fr;padding:20px}.games-v12__facebook-icon{width:52px;height:52px;font-size:2.1rem}.games-v12__locations{grid-template-columns:1fr}.games-location-v12__photo{height:230px}
  .games-socks-v12{padding:80px 0 52px}.games-socks-v12__inner{grid-template-columns:1fr;text-align:center}.games-socks-v12__icon{font-size:4.8rem}.games-socks-v12__copy{text-align:center;padding:0}.games-socks-v12__copy h2{font-size:clamp(2.45rem,12vw,3.3rem)}.games-socks-v12__copy h2:after{margin-inline:auto}.games-socks-v12__mascot{grid-column:auto;justify-self:center;width:150px;margin:4px auto -18px}
  .site-footer.site-footer--v12{padding-top:76px}.footer-main--v12{grid-template-columns:1fr;gap:28px}.footer-brand--v12 .footer-logo{width:165px}.footer-bottom--v12{flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){.games-location-v12{transition:none}}

/* V13 — Home location cards use dedicated Puerto Rico map illustrations */
.home-location-card__photo{background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%);display:grid;place-items:center;padding:8px}
.home-location-card__photo img{width:100%;height:100%;object-fit:contain;border-radius:14px}
.home-location-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(45,28,79,.14)}
.home-location-card{transition:transform .22s ease,box-shadow .22s ease}
@media (prefers-reduced-motion:reduce){.home-location-card{transition:none}.home-location-card:hover{transform:none}}

/* ==========================================================================
   KIDZ CITY V15 — JUEGOS + HOME IMAGE TUNING
   ========================================================================== */
.games-hero-v12{min-height:430px;background:#201447}
.games-hero-v12__photo{
  inset:-12px 0 -24px;
  background-image:url('../img/games/hero-games.webp');
  background-position:28% 18%;
  transform:scale(1.025);
  filter:saturate(1.08) contrast(1.02);
}
.games-hero-v12__shade{background:linear-gradient(180deg,rgba(34,17,67,.08),rgba(34,17,67,.22))}
.games-hero-v12__inner{min-height:430px;padding-bottom:28px}
.games-v12__feature-photo img{object-position:center center}
.games-location-v12__photo{height:248px;background:#fff;padding:10px}
.games-location-v12__photo img{object-fit:contain;object-position:center center;border-radius:18px}
.games-socks-v12__inner{grid-template-columns:130px minmax(0,1fr);justify-content:center;max-width:900px}
.games-socks-v12__copy{padding-bottom:0}
@media(max-width:860px){
  .games-hero-v12,.games-hero-v12__inner{min-height:360px}
  .games-hero-v12__photo{background-position:30% 16%}
  .games-location-v12__photo{height:220px}
  .games-socks-v12__inner{grid-template-columns:100px 1fr}
}
@media(max-width:580px){
  .games-hero-v12,.games-hero-v12__inner{min-height:310px}
  .games-hero-v12__photo{background-position:32% 14%;transform:scale(1.015)}
  .games-location-v12__photo{height:230px}
  .games-socks-v12__inner{grid-template-columns:1fr}
}

/* ========================================================================== 
   KIDZ CITY V16 — GALERÍA + FACEBOOK-READY
   ========================================================================== */
.home-gallery__more{position:relative;z-index:3;display:flex;justify-content:center;margin-top:28px}

.gallery-page-v16{background:#fff}
.gallery-hero-v16{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff8c8 0%,#fff 44%,#f7ecff 100%);padding:150px 0 125px}
.gallery-hero-v16__grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);gap:72px;align-items:center}
.gallery-hero-v16__copy{max-width:560px}
.gallery-hero-v16__copy h1{margin:16px 0 18px;color:#18234a;font-size:clamp(4rem,7vw,7rem);line-height:.88;letter-spacing:-.055em;text-transform:uppercase}
.gallery-hero-v16__copy h1 span{display:block;color:var(--pink)}
.gallery-hero-v16__copy p{margin:0;max-width:520px;color:#687286;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.08rem;line-height:1.75}
.gallery-hero-v16__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.gallery-hero-v16__mosaic{position:relative;min-height:535px}
.gallery-hero-v16__tile{position:absolute;margin:0;overflow:hidden;border:7px solid #fff;border-radius:30px;box-shadow:0 28px 52px rgba(53,29,87,.18);background:#fff}
.gallery-hero-v16__tile img{width:100%;height:100%;object-fit:cover}
.gallery-hero-v16__tile--1{width:44%;height:78%;left:0;top:9%;transform:rotate(-4deg)}
.gallery-hero-v16__tile--2{width:42%;height:64%;right:4%;top:0;transform:rotate(4deg)}
.gallery-hero-v16__tile--3{width:39%;height:55%;right:16%;bottom:0;transform:rotate(-2deg)}
.gallery-hero-v16__bubble{position:absolute;border-radius:50%;opacity:.55;filter:blur(.2px)}
.gallery-hero-v16__bubble--one{width:210px;height:210px;background:#ffe06a;left:-70px;top:80px}
.gallery-hero-v16__bubble--two{width:180px;height:180px;background:#dff5ff;right:-50px;bottom:60px}
.gallery-hero-v16__wave{position:absolute;left:-5%;right:-5%;bottom:-70px;height:130px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}

.gallery-social-v16{position:relative;z-index:4;margin-top:-20px;padding:0 0 78px}
.gallery-social-v16__card{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 32px;border:1px solid #d9efff;border-radius:28px;background:linear-gradient(135deg,#eef9ff 0%,#fff 100%);box-shadow:0 20px 42px rgba(27,121,180,.10)}
.gallery-social-v16__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#168ee8;color:#fff;font-family:Arial,sans-serif;font-size:3rem;font-weight:900;box-shadow:0 14px 28px rgba(22,142,232,.18)}
.gallery-social-v16__copy span{display:block;margin-bottom:4px;color:#168ee8;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.gallery-social-v16__copy h2{margin:0 0 7px;color:#2a1a48;font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1.05}
.gallery-social-v16__copy p{margin:0;color:#687286;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.95rem;line-height:1.6}

.gallery-content-v16{position:relative;overflow:hidden;padding:30px 0 120px;background:#fff}
.gallery-content-v16:before,.gallery-content-v16:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.gallery-content-v16:before{width:170px;height:170px;left:-75px;top:240px;background:#fff3b4;opacity:.65}
.gallery-content-v16:after{width:190px;height:190px;right:-80px;bottom:180px;background:#e9f7ff}
.gallery-heading-v16{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:35px}
.gallery-heading-v16 h2{margin:14px 0 0;color:#251446;font-size:clamp(2.8rem,5vw,4.7rem);line-height:.94;letter-spacing:-.04em}
.gallery-heading-v16 h2 span{color:var(--pink)}
.gallery-filters-v16{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.gallery-filters-v16 button{border:1px solid #e2e4ec;background:#fff;color:#5d6678;padding:10px 15px;border-radius:999px;font-weight:900;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.gallery-filters-v16 button:hover{transform:translateY(-2px)}
.gallery-filters-v16 button.is-active{background:var(--purple);border-color:var(--purple);color:#fff}
.gallery-grid-v16{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:14px}
.gallery-card-v16{min-width:0;overflow:hidden;border-radius:24px;background:#f3f4f8;box-shadow:0 16px 34px rgba(37,20,70,.10);transition:transform .22s ease,box-shadow .22s ease,opacity .2s ease}
.gallery-card-v16[hidden]{display:none!important}
.gallery-card-v16:hover{transform:translateY(-5px);box-shadow:0 22px 42px rgba(37,20,70,.16)}
.gallery-card-v16--1{grid-column:span 5;grid-row:span 4}.gallery-card-v16--2{grid-column:span 4;grid-row:span 3}.gallery-card-v16--3{grid-column:span 3;grid-row:span 3}.gallery-card-v16--4{grid-column:span 3;grid-row:span 4}.gallery-card-v16--5{grid-column:span 4;grid-row:span 4}.gallery-card-v16--6{grid-column:span 5;grid-row:span 3}.gallery-card-v16--7{grid-column:span 4;grid-row:span 3}
.gallery-card-v16__button{position:relative;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;overflow:hidden}
.gallery-card-v16__button img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-card-v16__button:hover img{transform:scale(1.045)}
.gallery-card-v16__overlay{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:end;padding:48px 20px 18px;color:#fff;background:linear-gradient(180deg,transparent 0%,rgba(25,14,51,.82) 100%)}
.gallery-card-v16__overlay small{grid-column:1/-1;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#ffe16c}
.gallery-card-v16__overlay strong{font-size:1rem;line-height:1.2}
.gallery-card-v16__overlay>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.18);font-size:1.25rem}

.gallery-cta-v16{position:relative;overflow:hidden;background:linear-gradient(135deg,#4b2176,#6f2ca0);padding:58px 0;color:#fff}
.gallery-cta-v16:before{content:"";position:absolute;inset:auto -5% -85px;height:145px;background:#3b1762;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.5}
.gallery-cta-v16__inner{position:relative;z-index:2;display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:32px}
.gallery-cta-v16__inner img{width:138px;filter:drop-shadow(0 16px 25px rgba(0,0,0,.18))}
.gallery-cta-v16__inner span{display:block;margin-bottom:4px;color:#ffd94b;font-size:.8rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.gallery-cta-v16__inner h2{margin:0;max-width:700px;font-size:clamp(2rem,4vw,3.6rem);line-height:.98;letter-spacing:-.035em}

.gallery-lightbox-v16{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:28px}
.gallery-lightbox-v16[hidden]{display:none}
.gallery-lightbox-v16__backdrop{position:absolute;inset:0;border:0;background:rgba(20,10,36,.86);backdrop-filter:blur(12px);cursor:zoom-out}
.gallery-lightbox-v16__dialog{position:relative;z-index:2;width:min(1080px,94vw);max-height:92vh;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 40px 90px rgba(0,0,0,.34)}
.gallery-lightbox-v16__media{margin:0;min-height:610px;background:#171025}
.gallery-lightbox-v16__media img{width:100%;height:100%;max-height:78vh;object-fit:contain}
.gallery-lightbox-v16__content{display:flex;flex-direction:column;justify-content:center;padding:38px}
.gallery-lightbox-v16__content h2{margin:0 0 12px;color:#2f1755;font-size:2.1rem;line-height:1.02}
.gallery-lightbox-v16__content p{margin:0 0 24px;color:#687286;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}
.gallery-lightbox-v16__close{position:absolute;z-index:5;right:14px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#3c235d;font-size:1.8rem;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.12);cursor:pointer}
.gallery-lightbox-v16__nav{position:absolute;z-index:4;top:50%;width:44px;height:60px;border:0;border-radius:14px;background:rgba(255,255,255,.93);color:#4b2176;font-size:2.2rem;line-height:1;cursor:pointer;box-shadow:0 9px 20px rgba(0,0,0,.15);transform:translateY(-50%)}
.gallery-lightbox-v16__nav--prev{left:14px}.gallery-lightbox-v16__nav--next{left:calc(70% - 58px)}
body.gallery-lightbox-open{overflow:hidden}

@media(max-width:1000px){
  .gallery-hero-v16{padding-top:128px}.gallery-hero-v16__grid{grid-template-columns:1fr;gap:38px}.gallery-hero-v16__copy{max-width:720px}.gallery-hero-v16__mosaic{min-height:500px;max-width:760px;width:100%;margin-inline:auto}
  .gallery-social-v16__card{grid-template-columns:72px 1fr}.gallery-social-v16__card>.btn{grid-column:2;justify-self:start}
  .gallery-heading-v16{align-items:flex-start;flex-direction:column}.gallery-filters-v16{justify-content:flex-start}
  .gallery-card-v16--1,.gallery-card-v16--2,.gallery-card-v16--3,.gallery-card-v16--4,.gallery-card-v16--5,.gallery-card-v16--6,.gallery-card-v16--7{grid-column:span 6;grid-row:span 4}
  .gallery-cta-v16__inner{grid-template-columns:120px 1fr}.gallery-cta-v16__inner>.btn{grid-column:2;justify-self:start}.gallery-cta-v16__inner img{width:115px}
  .gallery-lightbox-v16__dialog{grid-template-columns:1fr;overflow:auto}.gallery-lightbox-v16__media{min-height:0;height:min(58vh,620px)}.gallery-lightbox-v16__content{padding:26px}.gallery-lightbox-v16__nav--next{left:auto;right:14px}
}
@media(max-width:620px){
  .gallery-hero-v16{padding:112px 0 100px}.gallery-hero-v16__copy h1{font-size:clamp(3.1rem,17vw,4.8rem)}.gallery-hero-v16__mosaic{min-height:380px}.gallery-hero-v16__tile{border-width:5px;border-radius:20px}.gallery-hero-v16__tile--1{width:52%;height:72%;left:0;top:11%}.gallery-hero-v16__tile--2{width:48%;height:58%;right:0;top:0}.gallery-hero-v16__tile--3{width:46%;height:50%;right:8%;bottom:0}
  .gallery-social-v16{padding-bottom:58px}.gallery-social-v16__card{grid-template-columns:1fr;padding:24px}.gallery-social-v16__icon{width:58px;height:58px;font-size:2.3rem}.gallery-social-v16__card>.btn{grid-column:auto;width:100%}
  .gallery-content-v16{padding-bottom:85px}.gallery-heading-v16 h2{font-size:2.8rem}.gallery-filters-v16{width:100%;display:grid;grid-template-columns:1fr 1fr}.gallery-filters-v16 button{width:100%}
  .gallery-grid-v16{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-card-v16--1,.gallery-card-v16--2,.gallery-card-v16--3,.gallery-card-v16--4,.gallery-card-v16--5,.gallery-card-v16--6,.gallery-card-v16--7{grid-column:auto;grid-row:auto;height:365px}.gallery-card-v16:nth-child(even){height:315px}
  .gallery-cta-v16__inner{grid-template-columns:1fr;text-align:center}.gallery-cta-v16__inner img{margin:auto}.gallery-cta-v16__inner>.btn{grid-column:auto;justify-self:stretch}.gallery-cta-v16__inner h2{font-size:2.5rem}
  .gallery-lightbox-v16{padding:12px}.gallery-lightbox-v16__dialog{width:100%;max-height:95vh;border-radius:20px}.gallery-lightbox-v16__media{height:54vh}.gallery-lightbox-v16__content{padding:22px}.gallery-lightbox-v16__content h2{font-size:1.65rem}.gallery-lightbox-v16__nav{top:44%;width:40px;height:54px}
}
@media(prefers-reduced-motion:reduce){.gallery-card-v16,.gallery-card-v16__button img,.gallery-filters-v16 button{transition:none}.gallery-card-v16:hover,.gallery-filters-v16 button:hover{transform:none}}

/* V17 — Galería hero alineado a Juegos */
.games-hero-v12--gallery{background:#201447}
.games-hero-v12--gallery .games-hero-v12__photo{background-image:url('../img/gallery/hero-gallery.webp');background-position:center 40%;transform:scale(1.035);filter:saturate(1.06) contrast(1.02)}
.games-hero-v12--gallery .games-hero-v12__shade{background:linear-gradient(180deg,rgba(34,17,67,.10),rgba(34,17,67,.20))}
@media (max-width: 1024px){
  .games-hero-v12--gallery .games-hero-v12__photo{background-position:center 42%}
}
@media (max-width: 768px){
  .games-hero-v12--gallery .games-hero-v12__photo{background-position:38% 46%;transform:scale(1.02)}
}

/* ==========================================================================
   KIDZ CITY V18 — CONTACTOS
   ========================================================================== */
.games-hero-v12--contact{background:#201447}
.games-hero-v12--contact .games-hero-v12__photo{
  background-image:url('../img/contact/hero-contact.webp');
  background-position:center 48%;
  transform:scale(1.035);
  filter:saturate(1.06) contrast(1.02)
}
.games-hero-v12--contact .games-hero-v12__shade{background:linear-gradient(180deg,rgba(30,18,60,.06),rgba(30,18,60,.20))}
.contact-main-v18{position:relative;padding:90px 0 100px;background:#fff;overflow:hidden}
.contact-main-v18:before{content:"";position:absolute;width:145px;height:145px;border-radius:50%;background:#fff0a6;left:-64px;top:235px;opacity:.6}
.contact-main-v18:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:#e7f7ff;right:-90px;bottom:50px;opacity:.85}
.contact-main-v18__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:70px;align-items:start}
.contact-main-v18__intro h2{margin:18px 0 20px;font-size:clamp(3.2rem,5.2vw,5.5rem);line-height:.91;letter-spacing:-.05em;color:#18234a}
.contact-main-v18__intro h2 span{display:block;color:var(--pink)}
.contact-main-v18__intro>p{margin:0;max-width:590px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#687286;font-size:1.05rem;line-height:1.75}
.contact-quick-v18{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.contact-quick-v18__item{display:flex;align-items:center;gap:14px;min-height:92px;padding:18px;border-radius:22px;background:#fff;border:1px solid #edf0f5;box-shadow:0 14px 32px rgba(38,27,67,.07);transition:transform .22s ease,box-shadow .22s ease}
.contact-quick-v18__item:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(38,27,67,.12)}
.contact-quick-v18__icon{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.25rem;font-weight:950}
.contact-quick-v18__item small,.contact-quick-v18__item strong{display:block}.contact-quick-v18__item small{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#7b8495;font-size:.76rem;margin-bottom:4px}.contact-quick-v18__item strong{color:#273453;font-size:.92rem;overflow-wrap:anywhere}
.contact-quick-v18__item--pink .contact-quick-v18__icon{background:var(--pink)}
.contact-quick-v18__item--blue .contact-quick-v18__icon{background:var(--blue)}
.contact-quick-v18__item--purple .contact-quick-v18__icon{background:var(--purple)}
.contact-quick-v18__item--yellow .contact-quick-v18__icon{background:#f8bd0a;color:#493400}
.contact-quick-v18__icon--facebook{font-family:Arial,sans-serif;font-size:1.7rem}
.contact-form-card-v18{padding:34px;border-radius:30px;background:#fff;border:1px solid #edf0f5;box-shadow:0 24px 60px rgba(38,26,73,.12)}
.contact-form-card-v18__heading{display:flex;align-items:center;gap:17px;margin-bottom:28px}.contact-form-card-v18__heading h2{margin:0 0 5px;color:#1d2a4c;font-size:1.65rem}.contact-form-card-v18__heading p{margin:0;color:#7a8495;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.9rem}.contact-form-card-v18__icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#e7f6ff;color:#159fe6;font-size:1.55rem}
.contact-form-v18{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form-v18 label{display:grid;gap:8px}.contact-form-v18 label>span{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#33405d;font-size:.8rem;font-weight:800}.contact-form-v18 input,.contact-form-v18 select,.contact-form-v18 textarea{width:100%;border:1px solid #dfe4ec;background:#fbfcfe;color:#23304d;border-radius:15px;padding:0 16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.contact-form-v18 input,.contact-form-v18 select{height:52px}.contact-form-v18 textarea{min-height:142px;padding-top:15px;resize:vertical}.contact-form-v18 input:focus,.contact-form-v18 select:focus,.contact-form-v18 textarea:focus{border-color:#59b9ee;box-shadow:0 0 0 4px rgba(21,159,230,.10);background:#fff}.contact-form-v18__message,.contact-form-v18__submit{grid-column:1/-1}.contact-form-v18__submit{width:100%;border-radius:999px;margin-top:2px}
.contact-locations-v18{position:relative;padding:95px 0 115px;background:linear-gradient(180deg,#fff8e8 0%,#fff 100%)}
.contact-locations-v18__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1040px;margin:42px auto 0}
.contact-location-v18{display:grid;grid-template-columns:210px 1fr;overflow:hidden;border-radius:28px;background:#fff;border:1px solid #eceef4;box-shadow:0 20px 44px rgba(45,29,78,.10)}
.contact-location-v18__image{min-height:270px;background:#f8fbff;display:grid;place-items:center;padding:14px}.contact-location-v18__image img{width:100%;height:100%;object-fit:contain;border-radius:18px}
.contact-location-v18__body{position:relative;padding:30px 26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.contact-location-v18__pin{font-size:1.8rem;margin-bottom:8px}.contact-location-v18 h3{margin:0 0 8px;color:var(--purple);font-size:2rem;text-transform:uppercase}.contact-location-v18 p{margin:0 0 18px;color:#6d778a;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}.contact-location-v18 a{display:inline-flex;margin-top:7px;color:#34405c;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.88rem;font-weight:750}.contact-location-v18--caguas{border-top:5px solid var(--pink)}.contact-location-v18--ponce{border-top:5px solid var(--blue)}
.contact-cta-v18{position:relative;padding:72px 0 94px;background:linear-gradient(135deg,#6b2aa0 0%,#4b2176 60%,#33124f 100%);color:#fff}.contact-cta-v18__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-cta-v18__inner span{display:block;color:#ffd54a;text-transform:uppercase;font-size:.78rem;font-weight:950;letter-spacing:.1em}.contact-cta-v18__inner h2{margin:6px 0 0;font-size:clamp(2.3rem,4vw,4rem);line-height:.95;letter-spacing:-.04em}
@media(max-width:1050px){.contact-main-v18__grid{grid-template-columns:1fr;gap:42px}.contact-main-v18__intro{max-width:760px}.contact-form-card-v18{max-width:820px;width:100%;margin-inline:auto}.contact-locations-v18__grid{grid-template-columns:1fr;max-width:720px}}
@media(max-width:700px){.games-hero-v12--contact .games-hero-v12__photo{background-position:32% 50%;transform:scale(1.02)}.contact-main-v18{padding:65px 0 78px}.contact-main-v18__intro h2{font-size:clamp(2.8rem,13vw,4rem)}.contact-quick-v18{grid-template-columns:1fr}.contact-form-card-v18{padding:24px 18px;border-radius:23px}.contact-form-v18{grid-template-columns:1fr}.contact-form-v18__message,.contact-form-v18__submit{grid-column:auto}.contact-locations-v18{padding:75px 0 90px}.contact-location-v18{grid-template-columns:1fr}.contact-location-v18__image{min-height:250px}.contact-cta-v18__inner{flex-direction:column;text-align:center}.contact-cta-v18__inner .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-quick-v18__item{transition:none}.contact-quick-v18__item:hover{transform:none}}


/* ==========================================================================
   KIDZ CITY V19 — CONTACTOS: HERO + LOCALIDADES REALES
   ========================================================================== */
.games-hero-v12--contact{min-height:455px}
.games-hero-v12--contact .games-hero-v12__inner{min-height:455px}
.games-hero-v12--contact .games-hero-v12__photo{
  inset:-8px 0 -18px;
  background-position:center 18%;
  transform:scale(1.005);
}
.contact-locations-v18{padding:95px 0 120px}
.contact-locations-v19__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:44px}
.contact-location-v19{overflow:hidden;border-radius:30px;background:#fff;border:1px solid #e9edf3;box-shadow:0 22px 52px rgba(45,29,78,.11)}
.contact-location-v19--caguas{border-top:5px solid var(--pink)}
.contact-location-v19--ponce{border-top:5px solid var(--blue)}
.contact-location-v19__info{padding:30px 30px 28px}
.contact-location-v19__heading{display:flex;align-items:center;gap:14px;margin-bottom:15px}
.contact-location-v19__pin{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff1f7;font-size:1.45rem}
.contact-location-v19--ponce .contact-location-v19__pin{background:#eaf7ff}
.contact-location-v19__eyebrow{display:block;margin-bottom:2px;color:#8991a0;font:850 .7rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.09em;text-transform:uppercase}
.contact-location-v19 h3{margin:0;color:var(--purple);font-size:2.2rem;line-height:1;text-transform:uppercase}
.contact-location-v19 address{margin:0 0 20px;color:#596579;font:650 .98rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;font-style:normal}
.contact-location-v19__links{display:grid;gap:8px;padding:18px 0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
.contact-location-v19__links a{color:#34405c;font:750 .9rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;overflow-wrap:anywhere}
.contact-location-v19__hours{display:grid;gap:4px;margin-top:18px;color:#657084;font:650 .84rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.contact-location-v19__hours strong{margin-bottom:3px;color:#25314f;font-size:.9rem}
.contact-location-v19__hours small{margin-top:5px;color:#8b93a1;font-size:.75rem}
.contact-location-v19__route{margin-top:22px;border-radius:999px}
.contact-location-v19__map{height:340px;background:#eef4f8;border-top:1px solid #e8edf2}
.contact-location-v19__map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:1000px){
  .contact-locations-v19__grid{grid-template-columns:1fr;max-width:780px;margin-inline:auto;margin-top:40px}
  .contact-location-v19{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr}
  .contact-location-v19__map{height:auto;min-height:390px;border-top:0;border-left:1px solid #e8edf2}
}
@media(max-width:700px){
  .games-hero-v12--contact,.games-hero-v12--contact .games-hero-v12__inner{min-height:340px}
  .games-hero-v12--contact .games-hero-v12__photo{inset:-2px 0 -8px;background-position:34% 12%;transform:scale(1)}
  .contact-location-v19{display:block}
  .contact-location-v19__info{padding:25px 22px}
  .contact-location-v19__map{height:300px;min-height:0;border-left:0;border-top:1px solid #e8edf2}
  .contact-location-v19__route{width:100%}
}

/* ==========================================================================
   KIDZ CITY V20 — CUMPLEAÑOS / SELECCIÓN DE LOCALIDAD + OFERTAS
   ========================================================================== */
.games-hero-v12--birthday{background:#2b164b}
.games-hero-v12--birthday .games-hero-v12__photo{background-image:url('../img/birthday/hero-birthday.webp');background-position:center 43%;transform:scale(1.025);filter:saturate(1.08) contrast(1.02)}
.games-hero-v12--birthday .games-hero-v12__shade{background:linear-gradient(180deg,rgba(33,15,62,.08),rgba(33,15,62,.20))}

.birthday-page-v20{background:#fff}
.birthday-location-v20{position:relative;padding:92px 0 125px;background:linear-gradient(180deg,#fff 0%,#fff9e8 100%);overflow:hidden}
.birthday-location-v20:before,.birthday-location-v20:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.birthday-location-v20:before{width:190px;height:190px;left:-90px;top:160px;background:#ffe7f3}
.birthday-location-v20:after{width:220px;height:220px;right:-110px;bottom:65px;background:#e5f6ff}
.birthday-heading-v20{position:relative;z-index:2;max-width:820px;margin:0 auto 48px;text-align:center}
.birthday-heading-v20 h2{margin:15px 0 15px;color:#251446;font-size:clamp(3rem,5.5vw,5.4rem);line-height:.92;letter-spacing:-.045em}
.birthday-heading-v20 h2 span{color:var(--pink)}
.birthday-heading-v20 p{margin:0 auto;max-width:650px;color:#697386;font:500 1rem/1.7 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-location-v20__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:980px;margin-inline:auto}
.birthday-location-card-v20{overflow:hidden;border-radius:30px;background:#fff;border:1px solid #ebedf3;box-shadow:0 22px 48px rgba(43,25,74,.10);transition:transform .24s ease,box-shadow .24s ease}
.birthday-location-card-v20:hover{transform:translateY(-7px);box-shadow:0 28px 58px rgba(43,25,74,.16)}
.birthday-location-card-v20--pink{border-top:6px solid var(--pink)}.birthday-location-card-v20--blue{border-top:6px solid var(--blue)}
.birthday-location-card-v20__image{height:285px;padding:12px;background:linear-gradient(180deg,#fff,#f8fbff);display:grid;place-items:center}
.birthday-location-card-v20__image img{width:100%;height:100%;object-fit:contain;border-radius:20px}
.birthday-location-card-v20__content{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:25px 28px 28px}
.birthday-location-card-v20__pin{font-size:1.8rem}.birthday-location-card-v20__content small{display:block;color:#8991a0;font:850 .7rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em}.birthday-location-card-v20__content h3{margin:3px 0 3px;color:var(--purple);font-size:2rem;line-height:1}.birthday-location-card-v20__content p{margin:0;color:#70798a;font:500 .86rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.birthday-location-card-v20__arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f2eff8;color:var(--purple);font-size:1.35rem;font-weight:950}

.birthday-offers-v20{position:relative;padding:84px 0 110px;background:#fff}
.birthday-location-bar-v20{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-radius:24px;background:linear-gradient(135deg,#f7efff,#fff8d9);border:1px solid #eee5f6;box-shadow:0 15px 34px rgba(51,30,83,.08)}
.birthday-location-bar-v20 span,.birthday-location-bar-v20 strong,.birthday-location-bar-v20 small{display:block}.birthday-location-bar-v20 span{color:#8c7c99;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.birthday-location-bar-v20 strong{margin:3px 0;color:#38205e;font-size:1.35rem}.birthday-location-bar-v20 small{color:#6f7788;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-heading-v20--offers{margin-top:72px}
.birthday-packages-v20{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.birthday-package-v20{position:relative;display:flex;flex-direction:column;min-height:100%;padding:28px;border-radius:30px;background:#fff;border:1px solid #e8eaf0;box-shadow:0 20px 46px rgba(38,26,73,.09)}
.birthday-package-v20.is-featured{border:3px solid var(--pink);transform:translateY(-10px);box-shadow:0 28px 58px rgba(242,11,120,.15)}
.birthday-package-v20__badge{display:inline-flex;align-self:flex-start;padding:7px 11px;border-radius:999px;background:#f1e9f8;color:var(--purple);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em}.birthday-package-v20.is-featured .birthday-package-v20__badge{background:var(--pink);color:#fff}
.birthday-package-v20__top h3{margin:18px 0 9px;color:#241442;font-size:1.65rem;line-height:1.05}.birthday-package-v20__price{display:flex;align-items:flex-start;color:var(--pink);font-size:4rem;font-weight:950;line-height:.9;letter-spacing:-.05em}.birthday-package-v20__price span{font-size:1.5rem;margin:5px 3px 0 0}.birthday-package-v20__top p{margin:10px 0 0;color:#798192;font:500 .86rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-package-v20__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 18px}.birthday-package-v20__stats span{padding:13px;border-radius:15px;background:#f8f9fc;color:#687286;text-align:center;font:650 .78rem/1.35 system-ui,-apple-system,"Segoe UI",sans-serif}.birthday-package-v20__stats strong{display:block;color:#332050;font-size:1.15rem}
.birthday-package-v20__notice{margin-bottom:16px;padding:12px 14px;border-radius:14px;background:#fff5d2;color:#785d00;font:750 .79rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-package-v20__list{display:grid;gap:10px;margin:0 0 26px;padding:0;list-style:none;flex:1}.birthday-package-v20__list li{position:relative;padding-left:23px;color:#606b7d;font:500 .86rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.birthday-package-v20__list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:950}

.birthday-terms-v20{position:relative;padding:105px 0;background:linear-gradient(180deg,#fff8e3,#fff);overflow:hidden}
.birthday-terms-v20__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}
.birthday-terms-v20__intro{position:sticky;top:125px}.birthday-terms-v20__intro h2{margin:16px 0 18px;color:#2a1749;font-size:clamp(3rem,4.8vw,4.8rem);line-height:.92;letter-spacing:-.045em}.birthday-terms-v20__intro h2 span{display:block;color:var(--pink)}.birthday-terms-v20__intro>p{margin:0 0 24px;color:#697386;font:500 .98rem/1.7 system-ui,-apple-system,"Segoe UI",sans-serif}.birthday-terms-v20__location-note{margin:0 0 24px;padding:18px;border-radius:18px;background:#eaf7ff;border:1px solid #cfeeff}.birthday-terms-v20__location-note strong{color:#187eb4}.birthday-terms-v20__location-note p{margin:6px 0 0;color:#4f6573;font:600 .84rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-terms-v20__list{display:grid;gap:13px}.birthday-terms-v20__list article{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;padding:20px 22px;border-radius:20px;background:#fff;border:1px solid #eceef2;box-shadow:0 12px 28px rgba(44,29,76,.06)}.birthday-terms-v20__list article>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f2eafa;color:var(--purple);font-weight:950}.birthday-terms-v20__list p{margin:2px 0 0;color:#596579;font:550 .9rem/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-final-v20{padding:65px 0 85px;background:linear-gradient(135deg,#5b2488,#3f195f);color:#fff}.birthday-final-v20__inner{display:flex;align-items:center;justify-content:space-between;gap:34px}.birthday-final-v20__inner span{display:block;color:#ffd954;font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.birthday-final-v20__inner h2{margin:5px 0 6px;font-size:clamp(2.5rem,4vw,4rem);line-height:.95}.birthday-final-v20__inner p{margin:0;max-width:720px;color:rgba(255,255,255,.78);font:500 .95rem/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}

.birthday-floating-bear-v20{position:fixed;left:18px;bottom:18px;z-index:900;width:155px;pointer-events:none;filter:drop-shadow(0 16px 24px rgba(54,31,80,.22));animation:birthday-bear-float 3.6s ease-in-out infinite}.birthday-floating-bear-v20 img{width:100%;height:auto}
@keyframes birthday-bear-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}

@media(max-width:1050px){.birthday-packages-v20{grid-template-columns:1fr;max-width:760px;margin-inline:auto}.birthday-package-v20.is-featured{transform:none}.birthday-terms-v20__grid{grid-template-columns:1fr;gap:42px}.birthday-terms-v20__intro{position:relative;top:auto}.birthday-location-v20__grid{max-width:760px}}
@media(max-width:760px){.games-hero-v12--birthday .games-hero-v12__photo{background-position:center 44%;transform:scale(1.015)}.birthday-location-v20{padding:70px 0 92px}.birthday-location-v20__grid{grid-template-columns:1fr}.birthday-location-card-v20__image{height:235px}.birthday-location-bar-v20{align-items:flex-start;flex-direction:column}.birthday-location-bar-v20 .btn{width:100%}.birthday-offers-v20{padding:66px 0 85px}.birthday-package-v20{padding:23px 20px}.birthday-terms-v20{padding:80px 0}.birthday-final-v20__inner{flex-direction:column;align-items:flex-start}.birthday-final-v20__inner .btn{width:100%}.birthday-floating-bear-v20{width:105px;left:8px;bottom:8px;opacity:.94}}
@media(prefers-reduced-motion:reduce){.birthday-location-card-v20,.birthday-floating-bear-v20{transition:none;animation:none}.birthday-location-card-v20:hover{transform:none}}

/* ==========================================================================
   KIDZ CITY V21 — CALENDARIO DE RESERVACIONES
   ========================================================================== */
.games-hero-v12--calendar .games-hero-v12__photo{background-image:url('../img/birthday/hero-birthday.webp');background-position:center 48%;filter:saturate(1.05) contrast(1.02)}
.games-hero-v12--calendar .games-hero-v12__shade{background:linear-gradient(180deg,rgba(31,18,66,.12),rgba(31,18,66,.24))}
.calendar-flow-v21{position:relative;padding:92px 0 110px;background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%);overflow:hidden}
.calendar-flow-v21:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:#fff0a9;left:-95px;top:260px;opacity:.56}.calendar-flow-v21:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:#e3f6ff;right:-85px;bottom:150px;opacity:.8}
.calendar-heading-v21{position:relative;z-index:2;text-align:center;max-width:780px;margin:0 auto 42px}.calendar-heading-v21 h2{margin:15px 0 14px;color:#29194a;font-size:clamp(3rem,5.3vw,5.2rem);line-height:.92;letter-spacing:-.045em}.calendar-heading-v21 h2 span{color:var(--pink)}.calendar-heading-v21 p{margin:0 auto;color:#697386;font:500 1rem/1.7 system-ui,-apple-system,"Segoe UI",sans-serif;max-width:650px}
.calendar-selection-v21{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1040px;margin:0 auto 30px}.calendar-selection-card-v21{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:16px 18px;border:1px solid #e9e5ef;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(45,28,79,.06)}.calendar-selection-card-v21__number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:950}.calendar-selection-card-v21 small,.calendar-selection-card-v21 strong{display:block}.calendar-selection-card-v21 small{color:#9590a0;font:850 .67rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em}.calendar-selection-card-v21 strong{margin-top:3px;color:#2e1a50;font-size:.95rem}.calendar-selection-card-v21 a{color:var(--pink);font-size:.78rem;font-weight:900}.calendar-selection-card-v21--pending .calendar-selection-card-v21__number{background:#ece8f2;color:#7a7087}
.calendar-choice-panel-v21{position:relative;z-index:2;max-width:1040px;margin:0 auto;padding:34px;border-radius:30px;background:#fff;border:1px solid #ece9f1;box-shadow:0 22px 52px rgba(43,25,74,.10)}.calendar-choice-panel-v21__copy{text-align:center;margin-bottom:28px}.calendar-choice-panel-v21__copy h3{margin:12px 0 8px;color:#2a1749;font-size:2.4rem}.calendar-choice-panel-v21__copy p{margin:0;color:#6d7586;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.calendar-choice-panel-v21__options{display:grid;grid-template-columns:1fr 1fr;gap:18px}.calendar-location-option-v21{display:grid;grid-template-columns:110px 1fr 42px;gap:16px;align-items:center;padding:12px;border:2px solid #edf0f4;border-radius:22px;background:#fff;transition:.22s}.calendar-location-option-v21:hover{transform:translateY(-4px);border-color:#d8cbe9;box-shadow:0 16px 32px rgba(43,25,74,.10)}.calendar-location-option-v21 img{width:110px;height:110px;object-fit:contain;border-radius:16px;background:#f9fbff}.calendar-location-option-v21 small,.calendar-location-option-v21 strong{display:block}.calendar-location-option-v21 small{color:#8e94a1;font-size:.7rem;text-transform:uppercase;font-weight:900}.calendar-location-option-v21 strong{color:var(--purple);font-size:1.55rem}.calendar-location-option-v21>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f2edf7;color:var(--purple);font-weight:950}
.calendar-package-options-v21{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.calendar-package-option-v21{position:relative;display:flex;flex-direction:column;padding:24px;border:2px solid #ececf2;border-radius:22px;background:#fff;transition:.22s}.calendar-package-option-v21:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(43,25,74,.10)}.calendar-package-option-v21.is-featured{border-color:var(--pink);background:#fffafd}.calendar-package-option-v21 small{color:#8a7a96;text-transform:uppercase;font-size:.65rem;font-weight:950;letter-spacing:.06em}.calendar-package-option-v21 strong{margin:8px 0;color:#2c194c;font-size:1.35rem}.calendar-package-option-v21>span{color:var(--pink);font-size:2.3rem;font-weight:950}.calendar-package-option-v21 em{margin-top:18px;color:var(--blue);font-style:normal;font-size:.8rem;font-weight:950}
.calendar-stage-note-v21{position:relative;z-index:2;display:flex;gap:12px;align-items:center;max-width:1180px;margin:0 auto 20px;padding:13px 16px;border-radius:16px;background:#fff4cc;border:1px solid #ffe08a;color:#6f5600;font:650 .82rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.calendar-stage-note-v21 strong{padding:5px 8px;border-radius:8px;background:#ffd74d;color:#573f00;font-size:.7rem;letter-spacing:.08em}
.reservation-calendar-v21{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:26px;max-width:1180px;margin-inline:auto}.reservation-calendar-v21__calendar,.reservation-calendar-v21__aside{background:#fff;border:1px solid #e8e9ef;border-radius:30px;box-shadow:0 22px 52px rgba(43,25,74,.10)}.reservation-calendar-v21__calendar{padding:28px}.reservation-calendar-v21__toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;margin-bottom:22px}.reservation-calendar-v21__toolbar button{width:46px;height:46px;border:0;border-radius:50%;background:#f4eef9;color:var(--purple);font-size:1.2rem;font-weight:950;cursor:pointer}.reservation-calendar-v21__toolbar button:disabled{opacity:.35;cursor:not-allowed}.reservation-calendar-v21__toolbar div{text-align:center}.reservation-calendar-v21__toolbar small,.reservation-calendar-v21__toolbar strong{display:block}.reservation-calendar-v21__toolbar small{color:#9399a5;font:800 .67rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em}.reservation-calendar-v21__toolbar strong{margin-top:4px;color:#2b194a;font-size:1.55rem;text-transform:capitalize}.reservation-calendar-v21__weekdays,.reservation-calendar-v21__days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.reservation-calendar-v21__weekdays{margin-bottom:8px}.reservation-calendar-v21__weekdays span{text-align:center;color:#8b93a2;font-size:.72rem;font-weight:950}.reservation-calendar-v21__days button,.reservation-calendar-v21__days>span{aspect-ratio:1;min-width:0;border-radius:15px}.reservation-calendar-v21__days>span{display:block}.reservation-calendar-v21__days button{position:relative;border:2px solid transparent;background:#f5f6f8;color:#a4abb5;font-weight:900;cursor:not-allowed;transition:.18s}.reservation-calendar-v21__days button.is-open{background:#eaf8ef;color:#21884a;cursor:pointer}.reservation-calendar-v21__days button.is-open:hover{transform:translateY(-2px);border-color:#89d4a6}.reservation-calendar-v21__days button.is-selected{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 10px 22px rgba(75,33,118,.22)}.reservation-calendar-v21__days button.is-today:after{content:"";position:absolute;left:50%;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--pink);transform:translateX(-50%)}.reservation-calendar-v21__days button.is-selected:after{background:#fff}.reservation-calendar-v21__days button:disabled.is-past{opacity:.42}.reservation-calendar-v21__legend{display:flex;flex-wrap:wrap;gap:14px 18px;margin-top:22px;padding-top:18px;border-top:1px solid #eef0f4;color:#737d8c;font:650 .72rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-calendar-v21__legend span{display:inline-flex;align-items:center;gap:7px}.reservation-calendar-v21__legend i{width:12px;height:12px;border-radius:4px;background:#eaf8ef;border:1px solid #9bd8b2}.reservation-calendar-v21__legend i.is-closed{background:#f2f3f5;border-color:#e1e4e8}.reservation-calendar-v21__legend i.is-selected{background:var(--purple);border-color:var(--purple)}.reservation-calendar-v21__legend i.is-live{background:linear-gradient(135deg,#b8edca 0 33%,#ffd58e 33% 66%,#f2a9b4 66%);border:0}
.reservation-calendar-v21__aside{padding:26px;align-self:start;position:sticky;top:115px}.reservation-calendar-v21__summary{display:grid;gap:13px}.reservation-calendar-v21__summary-row{padding:15px;border-radius:16px;background:#f8f7fb}.reservation-calendar-v21__summary-row small,.reservation-calendar-v21__summary-row strong,.reservation-calendar-v21__summary-row span{display:block}.reservation-calendar-v21__summary-row small{color:#949aa6;font:800 .66rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.07em}.reservation-calendar-v21__summary-row strong{margin:4px 0 2px;color:#2d194d}.reservation-calendar-v21__summary-row span{color:#707989;font:600 .76rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-calendar-v21__package-note{padding:12px 14px;border-radius:14px;background:#fff4d2;color:#735900;font:700 .77rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-calendar-v21__empty{display:grid;justify-items:center;text-align:center;padding:28px 12px 18px}.reservation-calendar-v21__empty img{width:145px;height:145px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(56,35,86,.12))}.reservation-calendar-v21__empty strong{color:var(--purple);font-size:1.2rem}.reservation-calendar-v21__empty p{margin:7px 0 0;color:#768091;font:500 .82rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-calendar-v21__selected{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center;margin:20px 0;padding:17px;border-radius:20px;background:linear-gradient(135deg,#f2eafb,#fff8d9)}.reservation-calendar-v21__date-icon{width:78px;height:78px;border-radius:20px;display:grid;place-items:center;background:#fff;box-shadow:0 8px 20px rgba(44,28,74,.08)}.reservation-calendar-v21__date-icon span{font-size:2rem;font-weight:950;line-height:.8;color:var(--pink)}.reservation-calendar-v21__date-icon small{text-transform:uppercase;font-weight:950;color:var(--purple)}.reservation-calendar-v21__selected>div:last-child>small{color:#90859a;font-size:.66rem;text-transform:uppercase;font-weight:900}.reservation-calendar-v21__selected h3{margin:4px 0;color:#29194a;font-size:1.05rem}.reservation-calendar-v21__selected p{margin:0;color:#677183;font:600 .78rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-calendar-v21__continue[aria-disabled="true"]{opacity:.45;pointer-events:none}
.calendar-help-v21{padding:58px 0;background:linear-gradient(135deg,#5a2487,#3f195f);color:#fff}.calendar-help-v21__inner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px}.calendar-help-v21__inner span{color:#ffd954;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.calendar-help-v21__inner h2{margin:4px 0 0;font-size:2rem}.calendar-floating-bear-v21{width:130px}
.calendar-prefill-v21{display:grid;gap:8px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#f4ebfb,#fff9df);border:1px solid #e8def0;text-align:center}.calendar-prefill-v21 span{color:#8a7f94;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.calendar-prefill-v21 strong{color:var(--purple);font-size:2rem}.calendar-prefill-v21 a{color:var(--pink);font-size:.85rem;font-weight:900}.calendar-placeholder p{text-align:center;color:#778090;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.calendar-placeholder .btn{display:flex;width:max-content;margin:16px auto 0}
@media(max-width:950px){.reservation-calendar-v21{grid-template-columns:1fr}.reservation-calendar-v21__aside{position:relative;top:auto}.calendar-selection-v21{grid-template-columns:1fr}.calendar-package-options-v21{grid-template-columns:1fr}.calendar-help-v21__inner{grid-template-columns:1fr 1fr}.calendar-help-v21__inner>div{grid-column:1/-1}}
@media(max-width:680px){.calendar-flow-v21{padding:68px 0 84px}.calendar-heading-v21 h2{font-size:clamp(2.6rem,14vw,3.6rem)}.calendar-choice-panel-v21{padding:22px 16px}.calendar-choice-panel-v21__options{grid-template-columns:1fr}.calendar-location-option-v21{grid-template-columns:88px 1fr 38px}.calendar-location-option-v21 img{width:88px;height:88px}.reservation-calendar-v21__calendar{padding:17px 12px}.reservation-calendar-v21__weekdays,.reservation-calendar-v21__days{gap:4px}.reservation-calendar-v21__days button{border-radius:10px;font-size:.78rem}.reservation-calendar-v21__legend{gap:10px;font-size:.65rem}.calendar-help-v21__inner{grid-template-columns:1fr}.calendar-help-v21__inner .btn{width:100%}.calendar-floating-bear-v21{width:88px}}
@media(prefers-reduced-motion:reduce){.calendar-location-option-v21,.calendar-package-option-v21,.reservation-calendar-v21__days button{transition:none}.calendar-location-option-v21:hover,.calendar-package-option-v21:hover,.reservation-calendar-v21__days button.is-open:hover{transform:none}}

/* ==========================================================================
   KIDZ CITY V22 — CALENDARIO REAL (READ-ONLY)
   ========================================================================== */
.calendar-live-note-v22{position:relative;z-index:2;display:flex;align-items:center;gap:10px;max-width:1180px;margin:0 auto 20px;padding:13px 16px;border-radius:16px;background:#ecfbf1;border:1px solid #bfe8cc;color:#24633c;font:650 .82rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.calendar-live-note-v22__dot{width:10px;height:10px;border-radius:50%;background:#38b768;box-shadow:0 0 0 5px rgba(56,183,104,.12);flex:0 0 auto}
.calendar-stage-note-v21--error{background:#fff0f1;border-color:#f2c1c7;color:#8b3541}
.reservation-calendar-v21__days button.is-partial{background:#fff3cf;color:#8a6500;border-color:#f1d477;cursor:pointer}
.reservation-calendar-v21__days button.is-partial:hover{transform:translateY(-2px);border-color:#d8b743}
.reservation-calendar-v21__days button.is-full{background:#ffe9ed;color:#b54f5c;border-color:#f2c2c9;cursor:not-allowed}
.reservation-calendar-v21__days button.is-special:before{content:"";position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#19a9e5}
.reservation-calendar-v21__days button.is-selected:before{background:#fff}
.reservation-calendar-v21__legend i.is-partial{background:#fff3cf;border-color:#e5c55b}
.reservation-calendar-v21__legend i.is-full{background:#ffe9ed;border-color:#edb6be}
.reservation-calendar-v22__slots{margin:18px 0 20px;padding:16px;border-radius:18px;background:#f8f7fb;border:1px solid #ece8f2}
.reservation-calendar-v22__slots>small{display:block;margin-bottom:10px;color:#8f8798;font:900 .68rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.07em}
.reservation-calendar-v22__slots>div{display:grid;gap:9px}
.reservation-calendar-v22__slots button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;padding:13px 14px;border:2px solid transparent;border-radius:14px;background:#fff;color:#36224f;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(46,29,74,.05);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.reservation-calendar-v22__slots button:hover{transform:translateY(-1px);border-color:#c8addc}
.reservation-calendar-v22__slots button strong{font-size:.88rem}
.reservation-calendar-v22__slots button span{color:#7b7484;font:650 .72rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}
.reservation-calendar-v22__slots button.is-selected{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 10px 22px rgba(75,33,118,.18)}
.reservation-calendar-v22__slots button.is-selected span{color:rgba(255,255,255,.78)}
@media(max-width:680px){.calendar-live-note-v22{align-items:flex-start}.reservation-calendar-v22__slots button{grid-template-columns:1fr}.reservation-calendar-v21__legend{display:grid;grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.reservation-calendar-v21__days button.is-partial,.reservation-calendar-v22__slots button{transition:none}.reservation-calendar-v21__days button.is-partial:hover,.reservation-calendar-v22__slots button:hover{transform:none}}
.reservation-live-selection-v22{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 22px;padding:14px 16px;border-radius:16px;background:#ecfbf1;border:1px solid #c6ead1;color:#27643e}
.reservation-live-selection-v22 strong,.reservation-live-selection-v22 span{display:block}.reservation-live-selection-v22 span{font:650 .78rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.calendar-prefill-v21 small{display:block;margin:5px 0;color:#7b7484;font:650 .76rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
@media(max-width:680px){.reservation-live-selection-v22{display:block}.reservation-live-selection-v22 span{margin-top:4px}}

/* ==========================================================================
   KIDZ CITY V23 — DB-driven locations + Cumpleaños navbar dropdown
   ========================================================================== */
.site-header--v11 .nav-dropdown-v23{position:relative;display:flex;align-items:center}
.site-header--v11 .nav-dropdown-v23__toggle{position:relative;display:inline-flex;align-items:center;gap:5px;padding:24px 0 21px;border:0;background:transparent;color:#18284a;font:inherit;font-weight:900;cursor:pointer}
.site-header--v11 .nav-dropdown-v23__toggle:after{content:"";position:absolute;left:50%;right:50%;bottom:15px;height:3px;border-radius:999px;background:var(--pink);transition:left .2s ease,right .2s ease}
.site-header--v11 .nav-dropdown-v23__toggle:hover,.site-header--v11 .nav-dropdown-v23.is-open .nav-dropdown-v23__toggle,.site-header--v11 .nav-dropdown-v23.is-active .nav-dropdown-v23__toggle{color:var(--pink)}
.site-header--v11 .nav-dropdown-v23__toggle:hover:after,.site-header--v11 .nav-dropdown-v23.is-open .nav-dropdown-v23__toggle:after,.site-header--v11 .nav-dropdown-v23.is-active .nav-dropdown-v23__toggle:after{left:0;right:0}
.site-header--v11 .nav-dropdown-v23__toggle>span{display:inline-block;font-size:.85rem;transition:transform .2s ease}
.site-header--v11 .nav-dropdown-v23.is-open .nav-dropdown-v23__toggle>span{transform:rotate(180deg)}
.site-header--v11 .nav-dropdown-v23__menu{position:absolute;z-index:1200;top:calc(100% - 6px);left:50%;width:310px;padding:12px;border:1px solid rgba(75,33,118,.10);border-radius:20px;background:rgba(255,255,255,.99);box-shadow:0 22px 48px rgba(40,22,71,.20);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.site-header--v11 .nav-dropdown-v23.is-open .nav-dropdown-v23__menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.site-header--v11 .nav-dropdown-v23__label{display:block;padding:5px 10px 9px;color:#8a8198;font:800 .67rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.site-header--v11 .nav-dropdown-v23__menu>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 10px;border-radius:14px;color:#263553;transition:background .18s ease,transform .18s ease}
.site-header--v11 .nav-dropdown-v23__menu>a:hover{background:#fff3f9;transform:translateX(2px)}
.site-header--v11 .nav-dropdown-v23__pin{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff0f7;font-size:1rem}
.site-header--v11 .nav-dropdown-v23__menu strong{display:block;color:#4b2176;font-size:.9rem;line-height:1.15}
.site-header--v11 .nav-dropdown-v23__menu small{display:block;margin-top:3px;color:#7a8394;font:600 .68rem/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;white-space:normal}
.site-header--v11 .nav-dropdown-v23__menu b{color:var(--pink);font-size:1rem}
.site-header--v11 .nav-dropdown-v23__empty{display:block;padding:12px;color:#7a8394;font-size:.78rem;text-align:center}
.birthday-location-card-v20__image--db{display:grid;place-items:center;background:linear-gradient(135deg,#fff4bd,#f5eaff)}
.birthday-location-card-v20__image--db img{width:min(190px,70%);height:auto;object-fit:contain;filter:drop-shadow(0 15px 20px rgba(75,33,118,.12))}
@media(max-width:860px){
  .site-header--v11 .nav-dropdown-v23{display:block}
  .site-header--v11 .nav-dropdown-v23__toggle{width:100%;justify-content:space-between;padding:12px!important;text-align:left}
  .site-header--v11 .nav-dropdown-v23__toggle:after{display:none}
  .site-header--v11 .nav-dropdown-v23__menu{position:static;width:100%;margin:2px 0 8px;padding:7px;border-radius:14px;box-shadow:none;background:#f8f4fb;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none}
  .site-header--v11 .nav-dropdown-v23.is-open .nav-dropdown-v23__menu{display:block;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .site-header--v11 .nav-dropdown-v23__menu,.site-header--v11 .nav-dropdown-v23__toggle>span,.site-header--v11 .nav-dropdown-v23__menu>a{transition:none}
}

/* ========================================================================== 
   KIDZ CITY V24 — Cumpleaños DB + floating reservation CTA
   ========================================================================== */
.birthday-location-v24{padding:82px 0 110px;background:#fff}
.birthday-location-v24__empty{display:grid;grid-template-columns:220px minmax(0,1fr);gap:42px;align-items:center;max-width:850px;padding:34px 40px;border:1px solid #eee8f4;border-radius:30px;background:linear-gradient(135deg,#fffaf0,#f7efff);box-shadow:0 22px 48px rgba(48,29,77,.08)}
.birthday-location-v24__empty>img{width:210px;filter:drop-shadow(0 18px 24px rgba(75,33,118,.14))}
.birthday-location-v24__empty h2{margin:13px 0 10px;color:#2c174d;font-size:clamp(2.7rem,5vw,4.4rem);line-height:.92;letter-spacing:-.045em}.birthday-location-v24__empty h2 span{color:var(--pink)}
.birthday-location-v24__empty p{margin:0 0 20px;color:#697386;font:500 1rem/1.7 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-data-alert-v24{margin:30px auto 0;max-width:760px;padding:22px 24px;border-radius:20px;background:#fff4f7;border:1px solid #ffd6e6;color:#643047;text-align:center}.birthday-data-alert-v24 strong,.birthday-data-alert-v24 span{display:block}.birthday-data-alert-v24 strong{font-size:1.05rem}.birthday-data-alert-v24 span{margin-top:4px;font:500 .9rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.birthday-terms-v24__empty{grid-template-columns:52px 1fr!important}
.birthday-reserve-fab-v24{position:fixed;left:20px;bottom:20px;z-index:920;display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:9px;width:min(265px,calc(100vw - 40px));min-height:86px;padding:5px 12px 5px 5px;border:3px solid #ffca28;border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 20px 45px rgba(48,27,75,.22);backdrop-filter:blur(10px);transition:transform .22s ease,box-shadow .22s ease;border-color:#ffca28}
.birthday-reserve-fab-v24:before{content:"";position:absolute;inset:-7px;border:2px solid rgba(242,11,120,.18);border-radius:33px;animation:birthday-fab-pulse 2.2s ease-out infinite;pointer-events:none}
.birthday-reserve-fab-v24__mascot{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#fff4bd,#f8eaff);overflow:hidden}.birthday-reserve-fab-v24__mascot img{width:72px;height:72px;object-fit:contain;transform:translateY(4px)}
.birthday-reserve-fab-v24__copy{min-width:0}.birthday-reserve-fab-v24__copy small,.birthday-reserve-fab-v24__copy strong{display:block}.birthday-reserve-fab-v24__copy small{color:#786987;font:850 .68rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em}.birthday-reserve-fab-v24__copy strong{margin-top:2px;color:var(--pink);font-size:1.35rem;line-height:1}
.birthday-reserve-fab-v24__arrow{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-weight:950}
.birthday-reserve-fab-v24:hover{transform:translateY(-5px);box-shadow:0 26px 52px rgba(48,27,75,.28)}
.birthday-reserve-fab-v24:focus-visible{outline:4px solid rgba(21,159,230,.28);outline-offset:4px}
@keyframes birthday-fab-pulse{0%{transform:scale(.98);opacity:.8}70%,100%{transform:scale(1.06);opacity:0}}
@media(max-width:760px){
  .birthday-location-v24__empty{grid-template-columns:1fr;text-align:center;padding:28px 22px}.birthday-location-v24__empty>img{width:160px;margin-inline:auto}.birthday-location-v24__empty .btn{width:100%}
  .birthday-reserve-fab-v24{left:10px;bottom:10px;grid-template-columns:62px 1fr 30px;width:min(222px,calc(100vw - 78px));min-height:72px;border-radius:23px;padding:4px 9px 4px 4px}.birthday-reserve-fab-v24:before{border-radius:28px}.birthday-reserve-fab-v24__mascot{width:60px;height:60px;border-radius:18px}.birthday-reserve-fab-v24__mascot img{width:58px;height:58px}.birthday-reserve-fab-v24__copy strong{font-size:1.08rem}.birthday-reserve-fab-v24__copy small{font-size:.6rem}
}
@media(prefers-reduced-motion:reduce){.birthday-reserve-fab-v24,.birthday-reserve-fab-v24:before{animation:none;transition:none}.birthday-reserve-fab-v24:hover{transform:none}}

/* ==========================================================================
   KIDZ CITY V26 — RESERVATION DETAILS / REVIEW
   ========================================================================== */
.reservation-v26{background:#f7f8fc}
.reservation-v26__heading{position:relative;overflow:hidden;padding:66px 0 62px;background:linear-gradient(135deg,#4b2176 0%,#762a96 58%,#992a9f 100%);color:#fff}
.reservation-v26__heading:before,.reservation-v26__heading:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.reservation-v26__heading:before{width:260px;height:260px;right:7%;top:-120px;background:rgba(255,204,37,.15)}
.reservation-v26__heading:after{width:190px;height:190px;left:-70px;bottom:-100px;background:rgba(25,159,230,.16)}
.reservation-v26__heading .shell{position:relative;z-index:2}
.reservation-v26__heading h1{max-width:850px;margin:13px 0 10px;font-size:clamp(2.9rem,5.5vw,5.2rem);line-height:.94;letter-spacing:-.055em}
.reservation-v26__heading p{max-width:720px;margin:0;color:rgba(255,255,255,.84);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.03rem}
.reservation-v26__body{padding:48px 0 110px}
.reservation-steps-v26{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}
.reservation-steps-v26>a,.reservation-steps-v26>div{display:flex;align-items:center;gap:9px;min-height:58px;padding:9px 13px;border-radius:16px;background:#fff;color:#7c8391;box-shadow:0 8px 22px rgba(30,33,61,.055);font-size:.82rem}
.reservation-steps-v26 span{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eef1f5;color:#7d8697;font-weight:950}
.reservation-steps-v26 strong{font-weight:900}
.reservation-steps-v26 .is-complete{color:#36714b}.reservation-steps-v26 .is-complete span{background:#e5f7eb;color:#298449}
.reservation-steps-v26 .is-active{color:var(--purple);box-shadow:0 12px 28px rgba(75,33,118,.12)}.reservation-steps-v26 .is-active span{background:var(--pink);color:#fff}
.reservation-selection-v26{display:grid;grid-template-columns:.8fr .9fr 1.4fr .9fr;gap:1px;margin-bottom:22px;overflow:hidden;border:1px solid #e5e7ee;border-radius:20px;background:#e5e7ee;box-shadow:0 10px 26px rgba(35,26,60,.05)}
.reservation-selection-v26>div{background:#fff;padding:15px 17px}.reservation-selection-v26 small,.reservation-selection-v26 strong{display:block}.reservation-selection-v26 small{margin-bottom:3px;color:#9097a4;font:800 .67rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.075em}.reservation-selection-v26 strong{color:#2e1d46;font-size:.9rem;line-height:1.35}
.reservation-layout-v26{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.reservation-form-card-v26,.reservation-review-v26,.reservation-summary-v26{background:#fff;border:1px solid #e8e9ef;box-shadow:0 22px 55px rgba(42,31,68,.08)}
.reservation-form-card-v26,.reservation-review-v26{border-radius:28px;padding:30px}
.reservation-card-heading-v26{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;margin-bottom:26px}.reservation-card-heading-v26__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#f6eaff,#e8f7ff);color:var(--purple);font-size:1.35rem;font-weight:950}.reservation-card-heading-v26 span:not(.reservation-card-heading-v26__icon){display:block;margin-bottom:3px;color:var(--pink);font:900 .7rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.085em}.reservation-card-heading-v26 h2{margin:0;color:#24173b;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.05}.reservation-card-heading-v26 p{margin:6px 0 0;color:#7d8390;font:500 .88rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.reservation-fieldset-v26{margin:0 0 28px;padding:0;border:0}.reservation-fieldset-v26:last-of-type{margin-bottom:8px}.reservation-fieldset-v26 legend{width:100%;margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid #ececf2;color:#5a2e80;font-size:1rem;font-weight:950}
.reservation-form-grid-v26{display:grid;grid-template-columns:1fr 1fr;gap:15px}.reservation-form-grid-v26 label{display:block}.reservation-form-grid-v26 label>span{display:block;margin:0 0 6px;color:#374153;font-size:.79rem;font-weight:900}.reservation-form-grid-v26 input,.reservation-form-grid-v26 select{width:100%;min-height:50px;padding:0 14px;border:1.5px solid #e0e3ea;border-radius:14px;background:#fff;color:#1f2937;font:600 .9rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.reservation-form-grid-v26 input:focus,.reservation-form-grid-v26 select:focus{border-color:#b485d0;box-shadow:0 0 0 4px rgba(113,54,149,.09)}.reservation-form-grid-v26 input::placeholder{color:#a2a8b2}.reservation-form-grid-v26 label>small{display:block;margin-top:5px;color:#8b919d;font:500 .7rem/1.35 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-field-v26--wide{grid-column:1/-1}
.reservation-form-actions-v26{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid #ededf2}
.reservation-summary-v26{position:sticky;top:112px;border-radius:25px;overflow:hidden}.reservation-summary-v26__top{padding:23px;background:linear-gradient(135deg,#4b2176,#7b2f9c);color:#fff}.reservation-summary-v26__top span{display:block;margin-bottom:4px;color:#ffd34d;font:900 .68rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em}.reservation-summary-v26__top h2{margin:0;font-size:1.9rem;line-height:1}
.reservation-summary-v26__details{margin:0;padding:8px 22px}.reservation-summary-v26__details>div{padding:13px 0;border-bottom:1px solid #eeeef3}.reservation-summary-v26__details dt{margin-bottom:3px;color:#9298a3;font:800 .65rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.065em}.reservation-summary-v26__details dd{margin:0;color:#342347;font-size:.85rem;font-weight:850;line-height:1.45}
.reservation-summary-v26__price{padding:18px 22px;background:#fff9e7}.reservation-summary-v26__price>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.reservation-summary-v26__price>div+div{margin-top:9px;padding-top:9px;border-top:1px dashed #eadca6}.reservation-summary-v26__price span{color:#7e7251;font-size:.77rem;font-weight:800}.reservation-summary-v26__price strong{color:#342347;font-size:1.1rem}.reservation-summary-v26__price .is-deposit strong{color:var(--pink);font-size:1.45rem}
.reservation-summary-v26__links{display:grid;gap:8px;padding:17px 22px 22px}.reservation-summary-v26__links a{display:flex;align-items:center;justify-content:center;min-height:39px;border-radius:12px;background:#f4f2f7;color:#65308a;font-size:.76rem;font-weight:900}.reservation-summary-v26__links a:hover{background:#ece7f2}
.reservation-review-v26{grid-column:1/-1}.reservation-review-v26__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reservation-review-v26__grid article{padding:20px;border:1px solid #e8e9ef;border-radius:18px;background:#fafafd}.reservation-review-v26__grid h3{margin:0 0 12px;color:var(--purple);font-size:1rem}.reservation-review-v26__grid p{margin:5px 0;color:#69717e;font:550 .82rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.reservation-review-v26__grid p strong{color:#242c3a;font-size:.92rem}.reservation-review-v26__deposit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#fff6d4,#fffaf0)}.reservation-review-v26__deposit span{color:#77693b;font-size:.85rem;font-weight:850}.reservation-review-v26__deposit strong{color:var(--pink);font-size:2rem}
.reservation-v26__missing{padding:85px 0 120px}.reservation-v26__missing-card{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:22px;align-items:center;padding:30px;border:1px solid #e8e9ef;border-radius:28px;background:#fff;box-shadow:0 22px 55px rgba(42,31,68,.08)}.reservation-v26__missing-icon{width:80px;height:80px;display:grid;place-items:center;border-radius:24px;background:#fff3c7;font-size:2rem}.reservation-v26__missing-card span{color:var(--pink);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.075em}.reservation-v26__missing-card h2{margin:5px 0 7px;color:#24173b;font-size:1.7rem}.reservation-v26__missing-card p{margin:0;color:#7d8390;font:500 .88rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
@media(max-width:980px){.reservation-layout-v26{grid-template-columns:1fr}.reservation-summary-v26{position:relative;top:auto;order:-1}.reservation-summary-v26__details{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.reservation-steps-v26{overflow-x:auto;grid-template-columns:repeat(5,150px);padding-bottom:4px}.reservation-v26__missing-card{grid-template-columns:70px 1fr}.reservation-v26__missing-card .btn{grid-column:1/-1}.reservation-review-v26__grid{grid-template-columns:1fr}}
@media(max-width:680px){.reservation-v26__heading{padding:48px 0 45px}.reservation-v26__heading h1{font-size:clamp(2.7rem,13vw,4rem)}.reservation-v26__body{padding:30px 0 82px}.reservation-selection-v26{grid-template-columns:1fr 1fr}.reservation-selection-v26>div{padding:12px}.reservation-form-card-v26,.reservation-review-v26{padding:20px 16px;border-radius:22px}.reservation-card-heading-v26{grid-template-columns:44px 1fr;gap:10px}.reservation-card-heading-v26__icon{width:44px;height:44px;border-radius:14px}.reservation-form-grid-v26{grid-template-columns:1fr}.reservation-field-v26--wide{grid-column:auto}.reservation-form-actions-v26{flex-direction:column-reverse;align-items:stretch}.reservation-form-actions-v26 .btn{width:100%}.reservation-summary-v26__details{grid-template-columns:1fr}.reservation-v26__missing-card{grid-template-columns:1fr;padding:22px 18px}.reservation-v26__missing-icon{width:64px;height:64px;border-radius:20px}.reservation-review-v26__deposit{align-items:flex-start;flex-direction:column}.reservation-review-v26__deposit strong{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.reservation-form-grid-v26 input,.reservation-form-grid-v26 select{transition:none}}


/* ==========================================================================
   KIDZ CITY V27 — HERO UNIFICADO DE CUMPLEAÑOS / RESERVACIÓN
   ========================================================================== */
.games-hero-v12--birthday .games-hero-v12__photo,
.games-hero-v12--calendar .games-hero-v12__photo,
.games-hero-v12--reservation .games-hero-v12__photo{
  background-image:url('../img/birthday/hero-reservation.webp');
  background-position:center 42%;
  transform:scale(1.02);
  filter:saturate(1.06) contrast(1.02);
}
.games-hero-v12--birthday .games-hero-v12__shade,
.games-hero-v12--calendar .games-hero-v12__shade,
.games-hero-v12--reservation .games-hero-v12__shade{
  background:linear-gradient(180deg,rgba(31,18,66,.06),rgba(31,18,66,.18));
}
.games-hero-v12--reservation{background:#2b164b}
.reservation-v26__missing{padding-top:62px}
.reservation-v26__body{padding-top:48px}
@media(max-width:760px){
  .games-hero-v12--birthday .games-hero-v12__photo,
  .games-hero-v12--calendar .games-hero-v12__photo,
  .games-hero-v12--reservation .games-hero-v12__photo{
    background-position:48% 42%;
    transform:scale(1.01);
  }
}

/* ==========================================================================
   KIDZ CITY V28 — HERO SAFE ZONE + SINGLE CURVE
   ========================================================================== */
.games-hero-v12--birthday .games-hero-v12__photo,
.games-hero-v12--calendar .games-hero-v12__photo,
.games-hero-v12--reservation .games-hero-v12__photo{
  inset:0;
  background-image:
    url('../img/birthday/hero-reservation.webp'),
    linear-gradient(90deg,#f30b79 0%,#ffcf24 35%,#19a8e5 68%,#7b2f9c 100%);
  background-size:cover,cover;
  background-position:center 105px,center;
  background-repeat:no-repeat,no-repeat;
  transform:none;
}
.games-hero-v12--birthday .games-hero-v12__wave,
.games-hero-v12--calendar .games-hero-v12__wave,
.games-hero-v12--reservation .games-hero-v12__wave{
  background:#fff;
  box-shadow:none;
}
@media(max-width:760px){
  .games-hero-v12--birthday .games-hero-v12__photo,
  .games-hero-v12--calendar .games-hero-v12__photo,
  .games-hero-v12--reservation .games-hero-v12__photo{
    background-position:center 82px,center;
    transform:none;
  }
}

/* ==========================================================================
   KIDZ CITY V29 — RESERVATION HERO COMPOSITION + BRAND HEADING COLORS
   ========================================================================== */
/* Reservation flow hero: keep the approved bear fully visible on the right.
   The title badge moves left so it never covers the mascot/calendar action. */
.games-hero-v12--birthday .games-hero-v12__photo,
.games-hero-v12--calendar .games-hero-v12__photo,
.games-hero-v12--reservation .games-hero-v12__photo{
  inset:0;
  background-image:url('../img/birthday/hero-reservation.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:none;
  filter:saturate(1.04) contrast(1.01);
}
.games-hero-v12--birthday .games-hero-v12__shade,
.games-hero-v12--calendar .games-hero-v12__shade,
.games-hero-v12--reservation .games-hero-v12__shade{
  background:linear-gradient(90deg,rgba(35,17,67,.05) 0%,rgba(35,17,67,.03) 52%,rgba(35,17,67,.02) 100%);
}
.games-hero-v12--birthday .games-hero-v12__inner,
.games-hero-v12--calendar .games-hero-v12__inner,
.games-hero-v12--reservation .games-hero-v12__inner{
  justify-content:flex-start;
  padding-left:clamp(22px,5vw,72px);
  padding-right:clamp(22px,5vw,72px);
}
.games-hero-v12--birthday .games-hero-v12__badge,
.games-hero-v12--calendar .games-hero-v12__badge,
.games-hero-v12--reservation .games-hero-v12__badge{
  max-width:min(720px,62vw);
}
.games-hero-v12--birthday .games-hero-v12__badge h1,
.games-hero-v12--calendar .games-hero-v12__badge h1,
.games-hero-v12--reservation .games-hero-v12__badge h1{
  font-size:clamp(3.1rem,5.2vw,5rem);
}

/* Main section titles follow the logo palette instead of near-black/navy. */
.games-v12__copy h2,
.birthday-heading-v20 h2,
.birthday-terms-v20__intro h2,
.birthday-location-v24__empty h2,
.gallery-heading-v16 h2,
.contact-main-v18__intro h2,
.calendar-heading-v21 h2,
.reservation-card-heading-v26 h2,
.reservation-v26__missing-card h2{
  color:var(--purple);
}

/* Keep the approved pink accent for highlighted words. */
.games-v12__copy h2 span,
.birthday-heading-v20 h2 span,
.birthday-terms-v20__intro h2 span,
.birthday-location-v24__empty h2 span,
.gallery-heading-v16 h2 span,
.contact-main-v18__intro h2 span,
.calendar-heading-v21 h2 span{
  color:var(--pink);
}

/* Secondary prominent headings use the blue/purple family from the logo. */
.gallery-social-v16__copy h2,
.contact-form-card-v18__heading h2,
.calendar-help-v21__inner h2{
  color:var(--purple);
}

@media(max-width:900px){
  .games-hero-v12--birthday .games-hero-v12__photo,
  .games-hero-v12--calendar .games-hero-v12__photo,
  .games-hero-v12--reservation .games-hero-v12__photo{
    background-position:58% center;
  }
  .games-hero-v12--birthday .games-hero-v12__badge,
  .games-hero-v12--calendar .games-hero-v12__badge,
  .games-hero-v12--reservation .games-hero-v12__badge{
    max-width:min(650px,68vw);
  }
}

@media(max-width:680px){
  .games-hero-v12--birthday .games-hero-v12__photo,
  .games-hero-v12--calendar .games-hero-v12__photo,
  .games-hero-v12--reservation .games-hero-v12__photo{
    background-position:68% center;
  }
  .games-hero-v12--birthday .games-hero-v12__inner,
  .games-hero-v12--calendar .games-hero-v12__inner,
  .games-hero-v12--reservation .games-hero-v12__inner{
    justify-content:center;
    padding-left:16px;
    padding-right:16px;
  }
  .games-hero-v12--birthday .games-hero-v12__badge,
  .games-hero-v12--calendar .games-hero-v12__badge,
  .games-hero-v12--reservation .games-hero-v12__badge{
    max-width:92vw;
  }
}

/* V30 — Select moderno + revisión de reservación sin recarga */
.kc-select{position:relative;width:100%}
.kc-select__native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;opacity:0!important}
.kc-select__trigger{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border:1.5px solid #e0e3ea;border-radius:14px;background:#fff;color:#6f7784;font:700 .9rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;cursor:pointer;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.kc-select__trigger:hover{border-color:#cbb7db;background:#fefcff}
.kc-select__trigger:focus,.kc-select.is-open .kc-select__trigger{border-color:#8b4bae;box-shadow:0 0 0 4px rgba(113,54,149,.10)}
.kc-select__trigger.has-value{color:#252c3a}
.kc-select__chevron{width:10px;height:10px;border-right:2px solid #7b4b98;border-bottom:2px solid #7b4b98;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.kc-select.is-open .kc-select__chevron{transform:rotate(225deg) translate(-2px,-2px)}
.kc-select__menu{position:absolute;z-index:80;top:calc(100% + 8px);left:0;right:0;padding:7px;border:1px solid #eee6f4;border-radius:16px;background:#fff;box-shadow:0 20px 44px rgba(54,31,77,.18)}
.kc-select__menu[hidden]{display:none}
.kc-select__menu button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#342347;font:750 .9rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;cursor:pointer}
.kc-select__menu button:hover,.kc-select__menu button:focus{background:#f8f1fc;outline:none}
.kc-select__menu button.is-selected{background:linear-gradient(135deg,#f5e8fc,#fff0f7);color:#5e287e}
.kc-select__check{opacity:0;color:var(--pink);font-weight:950}.kc-select__menu button.is-selected .kc-select__check{opacity:1}
.kc-select.is-invalid .kc-select__trigger{border-color:#e53976;box-shadow:0 0 0 4px rgba(229,57,118,.10)}

/* V47 — Select de localidad consistente con la UI Kidz City */
.kc-select--contact .kc-select__trigger{height:52px;min-height:52px;border:1px solid #dfe4ec;border-radius:15px;background:#fbfcfe;padding:0 16px;color:#747b89;font-size:.95rem;font-weight:700}
.kc-select--contact .kc-select__trigger:hover{border-color:#cbb7db;background:#fff}
.kc-select--contact .kc-select__trigger:focus,.kc-select--contact.is-open .kc-select__trigger{border-color:#59b9ee;background:#fff;box-shadow:0 0 0 4px rgba(21,159,230,.10)}
.kc-select--contact .kc-select__trigger.has-value{color:#23304d}
.kc-select--contact .kc-select__menu{top:calc(100% + 7px);padding:8px;border-color:#e7e1ee;border-radius:15px;box-shadow:0 18px 42px rgba(43,25,74,.16)}
.kc-select--contact .kc-select__menu button{min-height:46px;border-radius:11px;color:#342347;font-size:.92rem}
.kc-select--contact .kc-select__menu button:hover,.kc-select--contact .kc-select__menu button:focus{background:#f8f3fc}
.kc-select--contact .kc-select__menu button.is-selected{background:linear-gradient(135deg,#f6ebfc,#fff1f7);color:var(--purple)}
.kc-select__location{display:inline-flex;align-items:center;gap:10px}
.kc-select__location-dot{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px rgba(75,33,118,.06)}
.kc-select__location-dot--one{background:var(--pink)}
.kc-select__location-dot--two{background:var(--blue)}
.reservation-review-v26__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.reservation-review-v26__grid article{min-width:0}
.reservation-review-v26__grid p[hidden]{display:none}
@media(max-width:980px){.reservation-review-v26__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.kc-select__trigger,.kc-select__chevron{transition:none}}

/* ==========================================================================
   KIDZ CITY V32 — REVIEW DE RESERVACIÓN SIN SIDEBAR DUPLICADO
   ========================================================================== */
.reservation-v26__body.is-reviewing .reservation-layout-v26{
  grid-template-columns:minmax(0,1fr);
}
.reservation-v26__body.is-reviewing .reservation-summary-v26{
  display:none!important;
}
.reservation-v26__body.is-reviewing .reservation-review-v26{
  grid-column:1/-1;
  width:100%;
  max-width:none;
}
.reservation-review-v26__totals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-top:18px;
  overflow:hidden;
  border:1px solid #f0e5b7;
  border-radius:18px;
  background:#f0e5b7;
}
.reservation-review-v26__totals>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  background:#fff9e7;
}
.reservation-review-v26__totals span{
  color:#77693b;
  font-size:.85rem;
  font-weight:850;
}
.reservation-review-v26__totals strong{
  color:var(--purple);
  font-size:1.5rem;
}
.reservation-review-v26__totals .is-deposit strong{
  color:var(--pink);
  font-size:2rem;
}
@media(max-width:680px){
  .reservation-review-v26__totals{grid-template-columns:1fr}
  .reservation-review-v26__totals>div{padding:18px}
  .reservation-review-v26__totals .is-deposit strong{font-size:1.7rem}
}

/* ==========================================================================
   KIDZ CITY V33 — PAYMENT / STRIPE CHECKOUT FOUNDATION
   ========================================================================== */
.payment-v33__body,.payment-result-v33__body{padding:70px 0 110px;background:#f8f9fd}
.payment-v33__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 24px}
.payment-v33__steps span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border-radius:16px;background:#fff;color:#7a8190;font-weight:850;box-shadow:0 10px 26px rgba(43,30,68,.06)}
.payment-v33__steps .is-complete{color:#2e8a52;background:#eefaf3}.payment-v33__steps .is-active{color:#fff;background:linear-gradient(135deg,var(--purple),#8f45b7)}
.payment-v33__layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:26px;align-items:start}
.payment-card-v33,.payment-summary-v33,.payment-v33__notice,.payment-result-v33__card{border:1px solid #eceef4;border-radius:26px;background:#fff;box-shadow:0 24px 60px rgba(43,30,68,.08)}
.payment-card-v33{padding:30px}.payment-summary-v33{position:sticky;top:120px;padding:26px}
.payment-v33__amount{display:grid;gap:8px;margin:26px 0 20px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#fff9e5,#fff2f8);border:1px solid #f3e5b5}
.payment-v33__amount span{color:#6f6237;font-weight:900}.payment-v33__amount strong{color:var(--pink);font-size:clamp(2.4rem,5vw,3.8rem);line-height:1}.payment-v33__amount small{color:#6d7381;font-weight:750}
.payment-v33__security{display:flex;gap:12px;align-items:flex-start;margin:0 0 24px;padding:16px 18px;border-radius:16px;background:#eef8ff;color:#40546a}.payment-v33__security>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#21a8e5;color:#fff;font-weight:950}.payment-v33__security p{margin:2px 0 0;line-height:1.55}
.payment-v33__pay{width:100%;min-height:58px;font-size:1rem}.payment-v33__pay[aria-busy="true"],.payment-v33__pay:disabled{opacity:.65;cursor:wait}
.payment-summary-v33>span{display:block;color:var(--pink);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.payment-summary-v33 h2{margin:6px 0 18px;color:var(--purple);font-size:2rem}.payment-summary-v33 dl{margin:0}.payment-summary-v33 dl>div{padding:13px 0;border-top:1px solid #ececf2}.payment-summary-v33 dt{margin:0 0 4px;color:#9299a8;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.payment-summary-v33 dd{margin:0;color:#2f2640;font-weight:800;line-height:1.45}
.payment-v33__notice{margin:0 0 22px;padding:18px 22px;border-color:#dce9f3;background:#f4fbff}.payment-v33__notice strong{display:block;color:var(--purple);font-size:1.05rem}.payment-v33__notice p{margin:6px 0;color:#667386;line-height:1.55}.payment-v33__notice--error{border-color:#ffd2df;background:#fff4f7}.payment-v33__notice--error strong{color:#c62863}
.payment-result-v33__card{max-width:760px;margin:0 auto;padding:44px;text-align:center}.payment-result-v33__icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 16px;border-radius:50%;background:#e8f8ef;color:#23864f;font-size:2.4rem;font-weight:950}.payment-result-v33__card.is-warning .payment-result-v33__icon{background:#fff1d9;color:#b56b00}.payment-result-v33__card>span{color:var(--pink);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.payment-result-v33__card h2{margin:8px 0 12px;color:var(--purple);font-size:clamp(2rem,5vw,3.4rem)}.payment-result-v33__card p{color:#697284;line-height:1.65}.payment-result-v33__reference{display:inline-grid;gap:4px;margin:16px 0 24px;padding:16px 26px;border-radius:18px;background:#f5f0fa}.payment-result-v33__reference small{color:#8a7898;font-weight:800}.payment-result-v33__reference strong{color:var(--purple);font-size:1.8rem}.payment-result-v33__card .btn{margin:6px}
@media(max-width:900px){.payment-v33__layout{grid-template-columns:1fr}.payment-summary-v33{position:static}.payment-v33__steps{grid-template-columns:1fr 1fr}.payment-v33__steps span:last-child{grid-column:1/-1}}
@media(max-width:580px){.payment-v33__body,.payment-result-v33__body{padding:44px 0 80px}.payment-v33__steps{grid-template-columns:1fr}.payment-card-v33,.payment-summary-v33,.payment-result-v33__card{padding:20px;border-radius:20px}.payment-v33__amount strong{font-size:2.5rem}}

/* ==========================================================================\n   KIDZ CITY V34 — STRIPE MODAL PAYMENT\n   ========================================================================== */
html.payment-modal-open,html.payment-modal-open body{overflow:hidden!important}
.payment-modal-v34[hidden]{display:none!important}
.payment-modal-v34{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px}
.payment-modal-v34__backdrop{position:absolute;inset:0;background:rgba(31,17,56,.72);backdrop-filter:blur(7px)}
.payment-modal-v34__dialog{position:relative;z-index:1;width:min(560px,100%);max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.6);border-radius:28px;background:#fff;box-shadow:0 40px 100px rgba(23,11,46,.35);outline:none}
.payment-modal-v34__close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#f4f1f7;color:var(--purple);font:800 1.75rem/1 system-ui;cursor:pointer;transition:transform .18s ease,background .18s ease}
.payment-modal-v34__close:hover{transform:scale(1.06);background:#eee7f5}
.payment-modal-v34__heading{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding-right:45px}
.payment-modal-v34__lock{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#fff4b8,#ffe170);font-size:1.35rem}
.payment-modal-v34__heading small{display:block;margin:2px 0 4px;color:var(--pink);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.payment-modal-v34__heading h2{margin:0;color:var(--purple);font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.05}
.payment-modal-v34__heading p{margin:8px 0 0;color:#697284;line-height:1.5}
.payment-modal-v34__amount{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 18px;padding:18px 20px;border:1px solid #f1ddaa;border-radius:18px;background:linear-gradient(135deg,#fff9e6,#fff4f8)}
.payment-modal-v34__amount span{color:#725f2d;font-weight:850}.payment-modal-v34__amount strong{color:var(--pink);font-size:2rem;line-height:1}
.payment-modal-v34__loading{display:grid;place-items:center;gap:12px;min-height:150px;padding:24px;color:#6c7484;text-align:center}
.payment-modal-v34__loading[hidden]{display:none!important}
.payment-modal-v34__spinner{width:38px;height:38px;border:4px solid #eee8f4;border-top-color:var(--pink);border-radius:50%;animation:kc-payment-spin .8s linear infinite}
@keyframes kc-payment-spin{to{transform:rotate(360deg)}}
.payment-modal-v34__form{margin-top:8px}
.payment-modal-v34__label{display:block;margin:0 0 8px;color:#3a2a50;font-size:.86rem;font-weight:900}
.payment-modal-v34__card{min-height:54px;padding:16px 15px;border:1px solid #dfe3ea;border-radius:14px;background:#fff;box-shadow:inset 0 1px 1px rgba(30,20,50,.03);transition:border-color .18s ease,box-shadow .18s ease}
.payment-modal-v34__card:focus-within{border-color:#8c4db0;box-shadow:0 0 0 4px rgba(105,54,149,.11)}
.payment-modal-v34__message{min-height:22px;margin:9px 2px 0;color:#647082;font-size:.88rem;font-weight:700;line-height:1.45}
.payment-modal-v34__message.is-error{color:#c62863}.payment-modal-v34__message.is-success{color:#23864f}.payment-modal-v34__message.is-warning{color:#9a6500}
.payment-modal-v34__security-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px 14px;border-radius:14px;background:#eef8ff;color:#52677a;font-size:.85rem;line-height:1.45}
.payment-modal-v34__security-note>span:first-child{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#21a8e5;color:#fff;font-weight:950}
.payment-modal-v34__actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #ececf2}
.payment-modal-v34__actions .btn{min-height:50px}.payment-modal-v34__actions .btn--pink{min-width:190px}
.payment-modal-v34__actions button:disabled{opacity:.58;cursor:wait}
@media(max-width:580px){
  .payment-modal-v34{align-items:end;padding:0}
  .payment-modal-v34__dialog{width:100%;max-height:92vh;padding:24px 20px calc(20px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0}
  .payment-modal-v34__heading{grid-template-columns:44px 1fr}.payment-modal-v34__lock{width:44px;height:44px;border-radius:14px}
  .payment-modal-v34__actions{position:sticky;bottom:0;margin-inline:-20px;padding:16px 20px calc(4px + env(safe-area-inset-bottom));background:#fff}
  .payment-modal-v34__actions .btn{flex:1}.payment-modal-v34__actions .btn--pink{min-width:0}
}
@media(prefers-reduced-motion:reduce){.payment-modal-v34__spinner{animation:none}}

/* ========================================================================== 
   KIDZ CITY V40 — EDITABLE RESERVATION FLOW
   ========================================================================== */
.reservation-steps-v40{grid-template-columns:repeat(6,minmax(0,1fr))}
.reservation-edit-banner-v40{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 18px;padding:16px 18px;border:1px solid #e6d8f2;border-radius:18px;background:linear-gradient(135deg,#fbf7ff,#fff8df);box-shadow:0 10px 28px rgba(65,35,93,.06)}
.reservation-edit-banner-v40>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--purple);color:#fff;font-size:1.1rem;font-weight:950}
.reservation-edit-banner-v40 strong{display:block;color:var(--purple);font-size:.95rem}.reservation-edit-banner-v40 p{margin:3px 0 0;color:#6f7380;font:550 .82rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.reservation-edit-banner-v40 a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;background:#fff;color:var(--pink);font-size:.78rem;font-weight:950;box-shadow:0 6px 18px rgba(57,37,82,.08)}
.payment-v40__steps{grid-template-columns:repeat(6,minmax(0,1fr))}
.payment-v40__edit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px;border-radius:14px;background:#f7f3fa;color:#6f7380;font-size:.82rem;font-weight:700}
.payment-v40__edit-row a{color:var(--purple);font-weight:950;white-space:nowrap}.payment-v40__edit-row a:hover{color:var(--pink)}
.payment-v40__summary-actions{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #ececf2}
.payment-v40__summary-actions a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:12px;background:#f4f2f7;color:#65308a;font-size:.76rem;font-weight:900;text-align:center}.payment-v40__summary-actions a:hover{background:#ece7f2}
@media(max-width:980px){.reservation-steps-v40{grid-template-columns:repeat(6,150px)}}
@media(max-width:900px){.payment-v40__steps{grid-template-columns:1fr 1fr}.payment-v40__steps span:last-child{grid-column:auto}}
@media(max-width:680px){.reservation-edit-banner-v40{grid-template-columns:42px 1fr;padding:14px}.reservation-edit-banner-v40>span{width:42px;height:42px}.reservation-edit-banner-v40 a{grid-column:1/-1;width:100%}.payment-v40__edit-row{align-items:flex-start;flex-direction:column}.payment-v40__edit-row a{white-space:normal}}
@media(max-width:580px){.payment-v40__steps{grid-template-columns:1fr}}
.payment-modal-v34__actions a.is-disabled{opacity:.58;pointer-events:none;cursor:wait}


/* ==========================================================================
   KIDZ CITY V41 — FORM VALIDATION / STEP COMPLETION
   ========================================================================== */
.kc-required{color:#e11d48!important;font-style:normal;font-weight:950}
.reservation-validation-v41[hidden]{display:none!important}
.reservation-validation-v41{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;margin:-8px 0 22px;padding:13px 15px;border:1px solid #ffc2d3;border-radius:15px;background:#fff5f8;color:#7e2948}
.reservation-validation-v41>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ffe0e9;color:#c2185b;font-size:1rem;font-weight:950}
.reservation-validation-v41 strong{display:block;color:#a41549;font-size:.86rem}.reservation-validation-v41 p{margin:2px 0 0;color:#7d5364;font-size:.78rem;line-height:1.4}
.reservation-form-grid-v26 input.is-invalid{border-color:#df3a70!important;box-shadow:0 0 0 4px rgba(223,58,112,.10)!important}
.kc-field-error{display:block!important;margin:6px 2px 0!important;color:#c62863!important;font:750 .72rem/1.35 system-ui,-apple-system,"Segoe UI",sans-serif!important}
.reservation-steps-v26 [data-reservation-step-indicator].is-complete{color:#36714b;box-shadow:0 8px 22px rgba(30,33,61,.055)}
.reservation-steps-v26 [data-reservation-step-indicator].is-complete span{background:#e5f7eb;color:#298449}

/* KIDZ CITY V44 - confirmation detail + email status */
.payment-result-v44__steps{margin-bottom:24px}
.payment-result-v44__steps>div{cursor:default}
.payment-result-v44__card{border:1px solid #eceef4;border-radius:28px;background:#fff;box-shadow:0 24px 60px rgba(43,30,68,.08);padding:34px}
.payment-result-v44__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding-bottom:26px;border-bottom:1px solid #eceef4}
.payment-result-v44__header .payment-result-v33__icon{margin:0;width:66px;height:66px;font-size:2rem}
.payment-result-v44__header>div:nth-child(2)>span{color:var(--pink);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}
.payment-result-v44__header h2{margin:5px 0 6px;color:var(--purple);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05}
.payment-result-v44__header p{margin:0;color:#697284;line-height:1.55}
.payment-result-v44__reference{min-width:190px;padding:16px 20px;border-radius:18px;background:#f5f0fa;text-align:center}
.payment-result-v44__reference small{display:block;color:#8a7898;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.payment-result-v44__reference strong{display:block;margin-top:4px;color:var(--purple);font-size:2rem;line-height:1}
.payment-result-v44__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}
.payment-result-v44__panel{padding:22px;border:1px solid #e7e4ef;border-radius:20px;background:#fbfbfe}
.payment-result-v44__panel--payment{background:linear-gradient(135deg,#fffaf0,#fff5f9);border-color:#f0dfab}
.payment-result-v44__eyebrow{display:block;color:var(--pink);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.payment-result-v44__panel h3{margin:6px 0 14px;color:var(--purple);font-size:1.25rem}
.payment-result-v44__panel dl{margin:0}
.payment-result-v44__panel dl>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid #e8e7ee}
.payment-result-v44__panel dl>div:first-child{border-top:0}
.payment-result-v44__panel dt{color:#838a99;font-size:.78rem;font-weight:800}
.payment-result-v44__panel dd{margin:0;color:#2d2940;font-size:.84rem;font-weight:850;text-align:right}
.payment-result-v44__panel .is-stacked{display:block}
.payment-result-v44__panel .is-stacked dd{margin-top:5px;text-align:left;line-height:1.5}
.payment-result-v44__panel dd.is-paid{color:var(--pink);font-size:1.05rem}
.payment-result-v44__email{display:flex;gap:13px;align-items:flex-start;padding:16px 18px;border-radius:18px;margin:0 0 24px}
.payment-result-v44__email>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;font-weight:950}
.payment-result-v44__email strong{display:block;color:var(--purple)}
.payment-result-v44__email p{margin:4px 0 0;color:#657085;line-height:1.55}
.payment-result-v44__email.is-success{background:#eefaf3;border:1px solid #d6f0df}.payment-result-v44__email.is-success>span{background:#2c9c5a;color:#fff}
.payment-result-v44__email.is-warning{background:#fff7e8;border:1px solid #f4dfb5}.payment-result-v44__email.is-warning>span{background:#e8a320;color:#fff}
.payment-result-v44__actions{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:22px;border-top:1px solid #eceef4}
.payment-result-v44__contact{display:grid;gap:5px;color:#7a8291;font-size:.82rem}.payment-result-v44__contact a{color:var(--purple);font-weight:900;text-decoration:none}
.payment-result-v44__buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:980px){.payment-result-v44__grid{grid-template-columns:1fr 1fr}.payment-result-v44__panel--payment{grid-column:1/-1}.payment-result-v44__header{grid-template-columns:auto 1fr}.payment-result-v44__reference{grid-column:1/-1;text-align:left}.payment-result-v44__actions{align-items:flex-start;flex-direction:column}.payment-result-v44__buttons{justify-content:flex-start}}
@media(max-width:680px){.payment-result-v44__card{padding:20px;border-radius:22px}.payment-result-v44__header{grid-template-columns:1fr;text-align:center}.payment-result-v44__header .payment-result-v33__icon{margin:0 auto}.payment-result-v44__reference{text-align:center}.payment-result-v44__grid{grid-template-columns:1fr}.payment-result-v44__panel--payment{grid-column:auto}.payment-result-v44__buttons{width:100%;display:grid}.payment-result-v44__buttons .btn{width:100%;text-align:center}.payment-result-v44__contact{width:100%;text-align:center}}

/* ==========================================================================
   KIDZ CITY V47 — CONTACT FORM / GO-LIVE
   ========================================================================== */
.kc-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.contact-form-v18 input.is-invalid,.contact-form-v18 textarea.is-invalid{border-color:#df3a70!important;box-shadow:0 0 0 4px rgba(223,58,112,.10)!important;background:#fff!important}
.contact-form-v47__notice{grid-column:1/-1;margin:0 0 18px;padding:14px 16px;border-radius:15px;font:750 .82rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.contact-form-v47__notice[hidden]{display:none!important}
.contact-form-v47__notice--error{border:1px solid #ffc2d3;background:#fff5f8;color:#8d2450}
.contact-form-v47__notice--success{border:1px solid #bce8cb;background:#f1fbf4;color:#2d7046}
.contact-form-v18__submit:disabled{opacity:.65;cursor:wait;transform:none!important;box-shadow:none!important}
.contact-form-v18 .kc-required{margin-left:2px}
@media(max-width:700px){.contact-form-v47__notice{grid-column:auto}}

/* V47 — Nosotros / términos preservados para el go-live */
.about-v47{padding:90px 0}.about-v47__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:54px;align-items:center}.about-v47 h2{margin:8px 0 18px;color:var(--purple);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1}.about-v47 h2 span{color:var(--pink)}.about-v47 p{color:#667085;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1rem;line-height:1.75}.about-v47__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.about-v47__photo{margin:0;border-radius:30px;overflow:hidden;box-shadow:0 25px 55px rgba(58,30,86,.16)}.about-v47__photo img{width:100%;min-height:420px;object-fit:cover}
.terms-v47{padding:88px 0 105px}.terms-v47__locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}.terms-v47__card{padding:28px;border:1px solid #e8e3ef;border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(53,35,77,.07)}.terms-v47__card h3{margin:0 0 18px;color:var(--purple);font-size:1.6rem}.terms-v47__card ol{margin:0;padding-left:22px}.terms-v47__card li{padding:0 0 13px 5px;color:#596273;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}.terms-v47__card p{color:#667085}
@media(max-width:850px){.about-v47__grid,.terms-v47__locations{grid-template-columns:1fr}.about-v47__photo img{min-height:300px}}
.groups-v47{padding:90px 0}.groups-v47__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:54px;align-items:center}.groups-v47 h2{margin:10px 0 18px;color:var(--purple);font-size:clamp(2.3rem,5vw,4.2rem);line-height:1}.groups-v47 h2 span{color:var(--pink)}.groups-v47 p{color:#667085;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1rem;line-height:1.75}@media(max-width:850px){.groups-v47__grid{grid-template-columns:1fr}}

/* Kidz City V50: terms dialog and promotional prices */
.kc-special-label{display:inline-flex;background:#fff2c7;color:#68248c;border-radius:999px;padding:5px 12px;font-weight:800;margin-top:12px;font-size:.82rem}.kc-regular-price{font-size:.95rem;color:#687080;margin-top:8px}.kc-regular-price del{font-weight:750;color:#a24b75}.kc-terms-backdrop[hidden]{display:none!important}.kc-terms-backdrop{position:fixed;inset:0;background:rgba(23,12,44,.7);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}.kc-terms-dialog{width:min(620px,100%);max-height:min(90dvh,820px);display:flex;flex-direction:column;gap:12px;padding:22px;background:#fff;border-radius:22px;box-shadow:0 25px 90px #1c104866;color:#281947}.kc-terms-dialog__header{display:flex;justify-content:space-between;gap:12px;align-items:center}.kc-terms-dialog__header h2{margin:0;color:#54247d;font-size:1.4rem}.kc-terms-dialog__header button{border:0;background:#f5eefb;border-radius:50%;width:38px;height:38px;cursor:pointer}.kc-terms-dialog>p{margin:0;line-height:1.5}.kc-terms-dialog__scroll{overflow-y:auto;min-height:90px;padding:12px 18px;background:#faf7ff;border:1px solid #e9dbf5;border-radius:12px;overscroll-behavior:contain}.kc-terms-dialog__scroll li{margin-bottom:14px;line-height:1.55}.kc-terms-dialog__check{display:flex;gap:12px;align-items:flex-start;line-height:1.4;font-weight:650}.kc-terms-dialog__check input{width:22px;height:22px;flex-shrink:0;accent-color:#a83485}.kc-terms-dialog__error{color:#b01939;font-weight:650}.kc-terms-dialog__actions{display:flex;gap:10px;justify-content:flex-end}.kc-terms-dialog__actions .btn{min-height:46px}.kc-terms-dialog__actions .btn:disabled{opacity:.5;cursor:not-allowed}.kc-terms-open{overflow:hidden}@media(max-width:600px){.kc-terms-backdrop{align-items:flex-end;padding:0}.kc-terms-dialog{max-height:94dvh;border-radius:22px 22px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom))}.kc-terms-dialog__scroll{flex:1;max-height:50dvh}.kc-terms-dialog__actions{display:grid;grid-template-columns:1fr 1.5fr}.kc-terms-dialog__actions .btn{padding:10px 8px;font-size:.93rem}}

/* V54: selector de localidad para llamadas a reservar y cambiar localidad */
.kc-location-modal[hidden]{display:none!important}
.kc-location-modal{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:20px}
.kc-location-modal__backdrop{position:absolute;inset:0;background:rgba(30,13,55,.67)}
.kc-location-modal__dialog{position:relative;width:min(100%,550px);max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;color:#351d51;border-radius:26px;padding:34px;box-shadow:0 25px 85px rgba(20,12,35,.28);outline:none}
.kc-location-modal__close{position:absolute;right:16px;top:13px;border:0;background:#f5f0fa;color:#4b246e;border-radius:100px;width:40px;height:40px;font-size:30px;line-height:1;cursor:pointer}
.kc-location-modal__eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.09em;color:#e90079}
.kc-location-modal__dialog h2{font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.15;margin:12px 36px 12px 0;color:#442267}
.kc-location-modal__dialog p{margin:0 0 22px;color:#64677c;line-height:1.5}
.kc-location-modal__options{display:grid;gap:12px}
.kc-location-modal__option{display:flex;align-items:center;gap:14px;text-decoration:none;color:#452267;background:#fff;border:2px solid #ece6f4;border-radius:18px;padding:18px;min-height:82px;transition:border-color .15s,background .15s}
.kc-location-modal__option:hover,.kc-location-modal__option:focus-visible{border-color:#f5007d;background:#fff7fb;outline:none}
.kc-location-modal__option strong{display:block;font-size:1.15rem}
.kc-location-modal__option small{display:block;color:#707389;margin-top:4px}
.kc-location-modal__pin{display:grid;place-items:center;background:#f3eafb;border-radius:14px;width:46px;height:46px;flex:none}
.kc-location-modal__arrow{margin-left:auto;color:#f0007d;font-size:1.5rem}
html.kc-location-modal-open{overflow:hidden}
@media(max-width:580px){.kc-location-modal{align-items:end;padding:0}.kc-location-modal__dialog{width:100%;max-height:90dvh;border-radius:24px 24px 0 0;padding:30px 20px max(28px,env(safe-area-inset-bottom))}.kc-location-modal__option{min-height:86px}}
