:root{--pink:#e91493;--magenta:#ce037d;--ink:#321140;--soft:#fff2fa;--shadow:0 12px 35px #a32c7960}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Arial',sans-serif;color:var(--ink);background:radial-gradient(circle at 50% 5%,#fff 0%,#fff3fa 45%,#fce1f3 100%)}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}.skip{position:absolute;left:-9999px;top:0;background:white;padding:12px;z-index:999}.skip:focus{left:0}.artboard{position:relative;width:min(100%,1120px);margin:0 auto;aspect-ratio:935/1683;background:#fff2fa;box-shadow:0 15px 65px #a7287633}.artback{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.hit{display:block;position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--w)*1%);height:calc(var(--h)*1%);z-index:5;border:0;background:transparent;padding:0;text-decoration:none;cursor:pointer;border-radius:11px}.hit:hover{background:rgba(255,255,255,.13)}.hit:focus-visible,.gphoto:focus-visible{outline:3px solid #793aaf;outline-offset:2px;background:rgba(255,255,255,.24)}.anchor{position:absolute;top:calc(var(--top)*1%);left:0;scroll-margin-top:12px;height:1px;width:1px}.hero-original{position:absolute;z-index:2;left:53%;top:3.3%;width:47%;height:19.0%;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,#000 32%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 32%);pointer-events:none}.hero-original img{width:100%;height:100%;object-fit:cover;object-position:center 31%;opacity:.9;mix-blend-mode:multiply}.gallery-overlay{position:absolute;inset:0;z-index:4;pointer-events:none}.gphoto{pointer-events:auto;position:absolute;display:block;margin:0;border:0;padding:0;background:#fff;border-radius:5%;box-shadow:0 2px 7px #8c287b18;overflow:hidden;cursor:zoom-in}.gphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.gphoto:hover img{transform:scale(1.035)}.g1{left:4.3%;top:43.58%;width:27.5%;height:15.6%}.g2{left:32.6%;top:43.58%;width:20.8%;height:8.0%}.g3{left:54.1%;top:43.58%;width:20.1%;height:8.0%}.g4{left:74.7%;top:43.58%;width:20.3%;height:8.0%}.g5{left:32.6%;top:52.05%;width:20.8%;height:7.13%}.g6{left:54.1%;top:52.05%;width:20.1%;height:7.13%}.g7{left:74.7%;top:52.05%;width:20.3%;height:7.13%}.g2 img{object-position:center 44%}.g3 img{object-position:center 45%}.g5 img{object-position:center 54%}.g7 img{object-position:center 36%}.commitments{position:absolute;left:4.3%;top:72.35%;width:91%;height:7.5%;z-index:4;display:grid;grid-template-columns:19% repeat(3,1fr);gap:1.2%;align-items:center}.commitments h2{font-family:'Lobster Two',Georgia,cursive;color:#b40073;font-style:italic;font-size:clamp(11px,2.3vw,26px);line-height:1;transform:rotate(-4deg);margin:0;text-align:center}.commitments em{font-style:inherit}.commitments article{background:linear-gradient(145deg,#ffedf9,#fff7fd);border:1px solid #fff;box-shadow:0 3px 9px #cd3b9640;border-radius:15px;min-height:78%;padding:8px 9px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center}.commitments b{font-size:clamp(9px,1.3vw,15px);color:#c30481}.commitments small{font-size:clamp(8px,1.1vw,13px);line-height:1.2;color:#321140}.mobile-site{display:none}
dialog{position:fixed;border:0;border-radius:26px;box-shadow:0 20px 90px #4d10347c;color:#341040;background:#fff9fd;max-width:calc(100% - 28px);padding:26px;z-index:500}dialog::backdrop{background:#281023aa;backdrop-filter:blur(5px)}.booking-dialog{width:min(690px,96vw);max-height:90vh;overflow:auto}.dialog-header{padding-right:30px}.dialog-header p{font-size:13px;font-weight:800;color:var(--pink);margin:0}.dialog-header h2{font-family:'Lobster Two',Georgia,cursive;font-size:clamp(27px,4vw,40px);line-height:1.1;margin:8px 0;color:var(--pink)}.dialog-header span{color:#78546f;line-height:1.4;display:block;margin-bottom:18px}.close{position:absolute;top:8px;right:12px;border:0;background:#fce6f5;color:#bf0b86;border-radius:50%;font-size:25px;width:38px;height:38px;line-height:1}.booking-dialog form{display:grid;gap:12px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-dialog label{font-size:13px;font-weight:750;color:#562548;display:grid;gap:6px}.booking-dialog input,.booking-dialog select,.booking-dialog textarea{width:100%;min-height:42px;border:1px solid #e4b8d5;background:#fff;border-radius:12px;padding:10px;font:inherit;font-size:14px;color:#391b37;outline-color:#df2ba0}.submit,.result-actions button,.result-actions a{border:0;border-radius:24px;padding:13px 16px;background:linear-gradient(180deg,#fa41b1,#dd0788);color:white;font-weight:750;text-align:center;text-decoration:none}.note{font-size:12px;color:#845b76;margin:0}.booking-result textarea{width:100%;border:1px solid #ebc5df;border-radius:12px;padding:12px;resize:vertical;font-size:13px}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.result-actions #editRequest{background:#f6e6f2;color:#a70a70}.result-actions #sendWhatsApp{background:#0eae55}.photo-dialog{padding:12px;background:#1f1025;max-width:min(95vw,960px);max-height:95vh}.photo-dialog img{display:block;max-width:100%;max-height:88vh;object-fit:contain;border-radius:8px}.info-dialog{width:min(500px,92vw)}.info-dialog h2{color:var(--pink);padding-right:35px;font-size:23px}.info-dialog p{line-height:1.5}
@media(max-width:720px){.artboard{display:none}.mobile-site{display:block;background:radial-gradient(circle at 10% 20%,#fff 0%,#ffddf3 60%,#ffedf9 100%);min-height:100vh}.mobile-header{display:flex;align-items:center;justify-content:space-between;height:82px;padding:4px 20px;background:#fff9fd;position:sticky;top:0;z-index:30;box-shadow:0 3px 15px #db5ba52a}.mobile-header img{width:114px;height:72px;object-fit:contain}.menu-button{font-size:29px;color:#de0a92;background:white;border:1px solid #ffe0f2;border-radius:12px;padding:5px 12px}.mobile-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff9fd;box-shadow:0 12px 25px #af479058;padding:14px 22px;flex-direction:column;gap:12px}.mobile-nav.open{display:flex}.mobile-nav a,.mobile-nav button{padding:11px 0;text-align:left;font-weight:800;color:#80115b;background:transparent;border:0;text-decoration:none}.mobile-hero{text-align:center;padding:16px 18px 30px;position:relative}.mobile-hero .fairy{color:#ee31a2;font-size:27px}.mobile-hero h1,.m-section h2,.m-cta h2{font-family:'Lobster Two',Georgia,cursive;font-style:italic;font-weight:800;color:#d6078d}.mobile-hero h1{font-size:clamp(35px,9vw,55px);line-height:1.07;margin:8px 0 18px;text-shadow:0 3px 2px #ffe9f8}.pink-brush{background:linear-gradient(100deg,#f12b9f,#b90b85,#f336ae);color:white;padding:17px 15px;font-weight:750;font-style:italic;border-radius:24px;line-height:1.4;box-shadow:0 8px 24px #ef53b75e}.mobile-hero>img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 31%;border-radius:28px;box-shadow:0 13px 24px #bd318756;margin-top:22px}.m-actions{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}.m-actions button,.m-actions a,.m-cta button,.m-footer button{border-radius:30px;border:0;background:linear-gradient(#f954bb,#d30080);color:white;padding:13px 18px;font-weight:800;text-decoration:none;box-shadow:0 8px 17px #d82c9352}.m-actions a{background:white;color:#cc0787;border:1.5px solid #f044ad}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 16px 22px;background:#ffffffbf;border:1px solid white;padding:16px 10px;border-radius:24px;box-shadow:0 7px 25px #a53a762c}.benefits span{font-size:12px;font-weight:800;text-align:center;color:#5b1d60}.m-section{padding:26px 15px;text-align:center}.m-section h2{font-size:clamp(29px,7.5vw,42px);line-height:1.1;margin:0 0 10px}.m-section>p{color:#48284c;line-height:1.5;margin:0 auto 20px;max-width:410px}.m-services{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.m-services>div{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:129px;background:linear-gradient(135deg,#fffaff,#fbdaf6);border:2px solid white;border-radius:23px;color:#52204e;font-weight:800;padding:12px;box-shadow:0 4px 12px #be48873a}.m-services span{background:#f441ad;border-radius:50%;height:56px;width:56px;display:grid;place-items:center;font-size:25px}.m-services>div:nth-child(2n) span{background:#df91e0}.m-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.m-gallery button{padding:0;border:3px solid white;border-radius:18px;overflow:hidden;height:215px;background:white;box-shadow:0 5px 15px #c1458e2e}.m-gallery img{width:100%;height:100%;object-fit:cover}.m-packages{display:grid;gap:14px}.m-packages button{border:2px solid #fff;border-radius:26px;display:grid;justify-items:center;gap:8px;background:linear-gradient(135deg,#fff5fe,#eedaff);padding:25px 15px;box-shadow:0 5px 16px #c7479a38}.m-packages .featured{border-color:#f01aa0;background:linear-gradient(135deg,#ffdff5,#ffc3e9)}.m-packages b{font-family:'Lobster Two',Georgia,cursive;font-style:italic;color:#c30083;font-size:28px}.m-packages span{font-size:14px;color:#692b67}.m-section details{text-align:left;background:#fffafd;border-radius:17px;margin:9px 0;padding:15px;box-shadow:0 4px 10px #c1458e22}.m-section summary{color:#552053;font-weight:750;cursor:pointer}.m-section details p{line-height:1.5;margin:10px 0 0}.m-cta{padding:32px 20px;background:linear-gradient(120deg,#f978c3,#e70b8f);color:white;text-align:center}.m-cta h2{color:white;font-size:38px;margin:0 0 7px}.m-cta p{font-size:19px;font-weight:800}.m-cta button{background:white;color:#c90a7d}.m-footer{text-align:center;padding:24px 15px 30px;background:#fff5fc}.m-footer img{width:160px;margin:auto}.m-footer p{font-family:'Lobster Two',Georgia,cursive;font-size:20px;font-style:italic;color:#ac1376}.formrow{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gphoto img{transition:none}}

.desktop-semantics{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important} .featured-note{position:absolute;z-index:5;left:38%;top:67.15%;width:22%;height:1.55%;border-radius:50px;background:linear-gradient(180deg,#f43aad,#d30a86);box-shadow:0 0 0 1px white;color:white;font-size:clamp(9px,1.3vw,14px);font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none}

/* ETAPA PREPUBLICACIÓN: mejora de formularios y enlaces; no altera la composición aprobada */
.hit[hidden], .social-hit[hidden], .m-social-links[hidden], #sendWhatsApp[hidden], #sendEmail[hidden], .booking-result[hidden], #bookingForm[hidden] { display:none !important; }
.booking-dialog .consent { display:flex;align-items:flex-start;gap:10px;line-height:1.35;font-weight:600; }
.booking-dialog .consent input { width:18px;height:18px;min-height:auto;flex:0 0 18px;margin:1px 0 0;accent-color:#d30887; }
.booking-dialog .consent a,.m-legal a { color:#ad0877;text-decoration:underline; }
#sendEmail { background:#8b42a9; }
.m-social-links { display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px; }
.m-social-links a { display:inline-flex;padding:8px 13px;background:#fff;color:#a30772;border:1px solid #f3b6da;border-radius:999px;text-decoration:none;font-weight:700; }
.m-legal { font-family:Arial,sans-serif !important;font-size:12px !important;margin-top:17px !important; }
.booking-result textarea { color:#341040;line-height:1.5; }

/* Etapa 5: solo elementos del diálogo. No se cambia la maqueta visual aprobada. */
.activity-fieldset{border:1px solid #ebc5df;border-radius:14px;padding:13px;margin:0;min-inline-size:0}
.activity-fieldset legend{font-weight:750;color:#722359;padding:0 6px}
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
.activity-grid label{display:flex;gap:7px;align-items:flex-start;font-size:13px;font-weight:650;line-height:1.35;cursor:pointer}
.activity-grid input{width:17px;height:17px;min-height:auto;accent-color:#e21392;margin:0;flex:none}
#downloadRequest{background:#8b42a9}
@media(max-width:520px){.activity-grid{grid-template-columns:1fr}}

/* WhatsApp oficial. Los estilos no modifican la maqueta aprobada de escritorio. */
.m-footer .m-whatsapp-direct{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;background:linear-gradient(180deg,#2bd968,#079845);color:white;padding:13px 18px;font:bold 15px Arial,sans-serif;text-decoration:none;box-shadow:0 8px 17px #078e4852;margin-top:8px;max-width:100%}
.m-footer .m-whatsapp-direct:focus-visible,.whatsapp-shortcut a:focus-visible{outline:3px solid #531886;outline-offset:3px}
.whatsapp-shortcut{background:#f3fff5;border:1px solid #a4e9b4;padding:12px 14px;border-radius:16px;margin:0 0 16px}
.whatsapp-shortcut a{display:block;color:#fff;background:linear-gradient(180deg,#24cf65,#098d42);border-radius:999px;padding:12px 16px;text-align:center;text-decoration:none;font-weight:800;font-size:14px;line-height:1.35}
.whatsapp-shortcut p{font-size:12px;color:#416c53;margin:10px 2px 0;line-height:1.4}

/* La nueva foto de la portada está integrada en el arte aprobado. */
@media(min-width:721px){.hero-original{display:none}}
