:root{--green:#0e9746;--deep:#083338;--pink:#f0447a;--soft:#fff4f7;--mint:#effaf3;--line:#e7eee9;--shadow:0 20px 60px rgba(8,51,56,.12);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Plus Jakarta Sans','Poppins',Arial,sans-serif;color:var(--deep);background:linear-gradient(120deg,#fbfffd,#fff6f8 46%,#f0fff5)}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid #eef2ef}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}.logo{display:flex;align-items:center;gap:10px}.logo img{width:170px;height:auto}.links{display:flex;gap:24px;font-weight:800;align-items:center}.links a{font-size:14px}.actions{display:flex;gap:14px;align-items:center}.btn{border:0;border-radius:999px;padding:15px 22px;font-weight:900;display:inline-flex;align-items:center;gap:9px;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,.08)}.btn-green{background:linear-gradient(135deg,#009b43,#078b3f);color:#fff}.btn-pink{background:linear-gradient(135deg,#ff4d80,#ec3e70);color:#fff}.btn-outline{border:1px solid #ff83a7;color:var(--pink);background:white}.hero{position:relative;overflow:hidden;border-bottom:1px solid #edf0ec}.hero:before{content:'';position:absolute;inset:0;background:url('bg-crop.jpg') center/cover no-repeat;opacity:.25}.hero .container{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;min-height:640px;padding:46px 0}.eyebrow{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.86);border:1px solid #e3f1e7;border-radius:999px;padding:10px 16px;font-weight:800;color:#25664e;box-shadow:0 10px 24px rgba(0,0,0,.05)}h1{font-size:clamp(48px,6vw,78px);line-height:.96;margin:28px 0 20px;letter-spacing:-3px}.pink{color:var(--pink)}.lead{font-size:19px;line-height:1.65;color:#435c61;max-width:590px}.hero-ctas{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.pill{background:rgba(255,255,255,.78);border:1px solid #eaf0ed;border-radius:999px;padding:12px 16px;font-size:13px;font-weight:800;box-shadow:0 10px 30px rgba(8,51,56,.06)}.hero-photo{position:relative}.hero-photo img{width:100%;border-radius:38px;box-shadow:var(--shadow);border:10px solid rgba(255,255,255,.75)}.booking{position:absolute;right:-8px;bottom:-30px;width:360px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid #f1dfe6;border-radius:28px;padding:24px;box-shadow:var(--shadow)}.booking h3{margin:0 0 12px;font-size:25px}.calendar{background:white;border-radius:22px;padding:14px;margin:12px 0;border:1px solid #f1e5e9}.cal-head{display:flex;justify-content:space-between;font-weight:900;margin-bottom:10px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center;font-size:12px}.days span{padding:7px;border-radius:50%}.days .sel{background:#159947;color:#fff}.days .pinkday{background:#ffdce7;color:#e13d6e}.times{display:flex;gap:8px;flex-wrap:wrap}.times button{border:1px solid #9fd7b3;background:#fbfffc;border-radius:10px;padding:8px 10px;color:#0b863e;font-weight:800}.section{padding:70px 0}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.section-title h2{font-size:42px;margin:0;letter-spacing:-1.5px}.muted{color:#5b7176}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-card{background:white;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #edf1ee}.photo-card img{width:100%;height:260px;object-fit:cover;display:block}.photo-card .content{padding:24px;text-align:center}.icon-circle{width:78px;height:78px;margin:-58px auto 16px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#16b85a);color:white;font-size:34px;border:7px solid white;box-shadow:0 12px 30px rgba(0,0,0,.15)}.why{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mini{background:white;border:1px solid #eef2ef;border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(0,0,0,.06)}.mini b{display:block;margin:8px 0;font-size:18px}.software{background:linear-gradient(135deg,#e8fff0,#fff6f8);border:1px solid #d7f0de;border-radius:32px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;box-shadow:var(--shadow)}.software img{width:100%;border-radius:22px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:white;border:1px solid #ecf0ed;border-radius:24px;overflow:hidden;box-shadow:0 18px 42px rgba(8,51,56,.08)}.service img{width:100%;height:135px;object-fit:cover}.service div{padding:18px}.service h3{margin:0 0 8px}.agenda-panel{background:white;border-radius:36px;box-shadow:var(--shadow);padding:34px;border:1px solid #edf1ee;display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.field label{font-weight:900}.field input,.field select,.field textarea{border:1px solid #dce8e2;border-radius:16px;padding:15px;font:inherit}.field.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{background:white;border-radius:28px;padding:14px;border:1px solid #e5f1e9;box-shadow:var(--shadow)}.gallery-item img{width:100%;height:270px;object-fit:cover;border-radius:20px}.gallery-item h3{text-align:center;margin:14px 0 6px}.footer{background:#07363a;color:white;padding:42px 0;margin-top:50px}.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.whatsapp-float{position:fixed;right:28px;bottom:26px;z-index:70;background:#0bb84b;color:white;border-radius:999px;padding:18px 22px;box-shadow:0 20px 45px rgba(4,137,57,.38);font-weight:900}.mobile-menu{display:none}@media(max-width:980px){.links{display:none}.mobile-menu{display:block}.hero .container,.why,.software,.agenda-panel{grid-template-columns:1fr}.booking{position:static;width:auto;margin-top:18px}.cards,.gallery{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.hero .container{min-height:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:560px){.actions{gap:8px}.actions .btn{padding:11px 13px;font-size:12px}.logo img{width:135px}h1{font-size:44px}.services{grid-template-columns:1fr}.section-title{display:block}.section-title h2{font-size:34px}.whatsapp-float{right:15px;bottom:15px;padding:15px}}
.cal-nav{border:0;background:#fff4f7;color:#f0447a;border-radius:50%;width:30px;height:30px;font-weight:900;cursor:pointer}.days .empty{background:transparent}.days .past{opacity:.35}.days .today{background:#159947!important;color:#fff;font-weight:900;box-shadow:0 0 0 4px rgba(21,153,71,.12)}.days .picked{outline:3px solid #f0447a;background:#ffdce7;color:#e13d6e}.secure-recovery{margin-top:18px;padding-top:18px;border-top:1px solid #e9f0ec}.forgot-link{display:inline-flex;margin-top:16px;color:#f0447a;font-weight:900;text-decoration:underline;text-underline-offset:4px}.recovery-box{margin-top:18px;background:#fff8fa;border:1px solid #ffd8e5;border-radius:24px;padding:22px}.brand-email-card{border-radius:24px;background:linear-gradient(135deg,#f3fff7,#fff5f8);border:1px solid #d9efe1;padding:18px}


/* Botones flotantes corregidos: WhatsApp arriba, Kathy debajo */
.floating-actions{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;gap:12px;align-items:flex-end}.float-btn{border:0;text-decoration:none;min-width:154px;height:52px;border-radius:999px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:14px;color:#fff;box-shadow:0 18px 40px rgba(8,51,56,.22);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.float-btn:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(8,51,56,.28)}.whatsapp-float{position:static;background:linear-gradient(135deg,#0bb84b,#07923c);padding:0 18px}.kathy-float{background:linear-gradient(135deg,#f0447a,#ff7da0)}.kathy-widget{position:fixed;right:24px;bottom:150px;width:min(360px,calc(100vw - 28px));background:#fff;border:1px solid #f2dce5;border-radius:24px;box-shadow:0 24px 70px rgba(8,51,56,.24);z-index:95;overflow:hidden}.kathy-head{background:linear-gradient(135deg,#0e9746,#f0447a);color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between}.kathy-head strong{display:block;font-size:18px}.kathy-head small{display:block;opacity:.92;font-size:12px}.kathy-head button{border:0;background:rgba(255,255,255,.18);color:#fff;border-radius:50%;width:32px;height:32px;font-size:23px;cursor:pointer}.kathy-body{padding:16px;background:#fff8fb;max-height:310px;overflow:auto;display:flex;flex-direction:column;gap:10px}.kathy-msg{padding:12px 14px;border-radius:18px;font-size:14px;line-height:1.45}.kathy-msg.bot{background:#fff;border:1px solid #f0dfe6;color:#083338;align-self:flex-start}.kathy-msg.user{background:#0e9746;color:#fff;align-self:flex-end}.kathy-form{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #f1e3e8}.kathy-form input{flex:1;border:1px solid #dce8e2;border-radius:999px;padding:12px 14px;font:inherit}.kathy-form button{border:0;border-radius:999px;background:#f0447a;color:white;font-weight:900;padding:0 14px;cursor:pointer}@media(max-width:560px){.floating-actions{right:14px;bottom:14px;gap:10px}.float-btn{min-width:132px;height:48px;font-size:13px;padding:0 14px}.kathy-widget{right:14px;bottom:128px}.whatsapp-float{right:auto;bottom:auto;padding:0 14px}}

/* Login y recuperación premium */
.login-premium-wrap{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:36px 0;background:radial-gradient(circle at 18% 20%,rgba(240,68,122,.10),transparent 34%),radial-gradient(circle at 80% 25%,rgba(14,151,70,.12),transparent 32%)}
.login-visual-card{width:min(650px,94vw);background:rgba(255,255,255,.86);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.75);border-radius:36px;padding:38px;box-shadow:0 30px 90px rgba(8,51,56,.16)}
.login-brand-mini{display:flex;align-items:center;margin-bottom:18px}.login-brand-mini img{width:190px;max-width:80%}.login-form-premium{margin-top:18px}.login-visual-card h1{font-size:clamp(46px,7vw,78px);margin:18px 0 10px;letter-spacing:-3px}.forgot-button-clean{margin-top:18px;border:0;background:transparent;color:var(--pink);font-weight:900;text-decoration:underline;text-underline-offset:5px;cursor:pointer;font-size:16px}.forgot-button-clean:hover{color:#c92358}.modal-open{overflow:hidden}.recovery-modal{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;padding:20px}.recovery-modal.show{display:flex;animation:modalFade .18s ease}.recovery-backdrop{position:absolute;inset:0;background:rgba(8,51,56,.42);backdrop-filter:blur(12px)}.recovery-card{position:relative;width:min(560px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,247,250,.94));border:1px solid rgba(255,255,255,.78);border-radius:34px;padding:30px;box-shadow:0 38px 120px rgba(0,0,0,.28);animation:modalUp .22s ease}.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#0b3d3b;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(8,51,56,.12)}.recovery-icon{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#0e9746,#f0447a);color:#fff;font-size:27px;box-shadow:0 18px 38px rgba(240,68,122,.22)}.modal-kicker{margin:16px 0 6px;color:#0e9746;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.recovery-card h2{font-size:32px;margin:0 0 10px;letter-spacing:-.8px}.recovery-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.recovery-steps span{font-size:12px;font-weight:900;text-align:center;border:1px solid #e4f0ea;border-radius:999px;padding:9px 6px;background:white;color:#60777a}.recovery-steps span.active{background:#0e9746;color:white;border-color:#0e9746}.modal-form{background:rgba(255,255,255,.72);border:1px solid #edf1ee;border-radius:24px;padding:16px;margin-top:12px}.modal-divider{display:flex;align-items:center;gap:12px;margin:18px 0 4px;color:#60777a;font-size:13px;font-weight:800}.modal-divider:before,.modal-divider:after{content:'';height:1px;background:#e8efeb;flex:1}.admin-tabs{position:sticky;top:74px;z-index:20;background:rgba(251,255,253,.78);backdrop-filter:blur(14px);padding:12px;border-radius:24px;border:1px solid #edf1ee;box-shadow:0 14px 34px rgba(8,51,56,.07)}.admin-tab{transition:transform .18s ease,box-shadow .18s ease}.admin-tab:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(8,51,56,.08)}.admin-table td{box-shadow:0 12px 26px rgba(8,51,56,.045)}.small-btn{transition:transform .18s ease}.small-btn:hover{transform:translateY(-1px)}@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:620px){.login-visual-card{padding:26px;border-radius:28px}.recovery-card{padding:24px;border-radius:28px}.recovery-steps{grid-template-columns:1fr}.admin-tabs{position:static}.login-visual-card h1{letter-spacing:-2px}}

/* Recuperación por pasos: correo → código → nueva clave */
.wizard-steps{position:relative;overflow:hidden;background:#fff;border:1px solid #e8f0eb;border-radius:999px;padding:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.wizard-steps span{position:relative;z-index:2;transition:all .25s ease;border:0!important;background:transparent!important}
.wizard-steps span.active{background:linear-gradient(135deg,#0e9746,#12b35a)!important;color:#fff!important;box-shadow:0 12px 26px rgba(14,151,70,.18)}
.wizard-stage{position:relative;min-height:285px;overflow:hidden;margin-top:16px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,247,250,.35));}
.wizard-pane{position:absolute;inset:0;opacity:0;transform:translateX(35px) scale(.98);pointer-events:none;transition:opacity .34s ease,transform .34s ease;display:flex;flex-direction:column;justify-content:center;padding:2px}
.wizard-pane.is-active{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;position:relative}
.wizard-pane.is-left{transform:translateX(-35px) scale(.98)}
.wizard-pane.is-right{transform:translateX(35px) scale(.98)}
.wizard-copy{display:grid;gap:4px;margin:0 0 12px;padding:0 4px;color:#0b3d3b}.wizard-copy b{font-size:18px}.wizard-copy span{color:#60777a;font-size:14px;line-height:1.35}
.wizard-form{box-shadow:0 18px 48px rgba(8,51,56,.08);border-color:#e6f1eb;background:rgba(255,255,255,.88)}
.wizard-submit{position:relative;overflow:hidden}.wizard-submit.is-loading{opacity:.88;cursor:wait}.wizard-submit.is-loading:before{content:'';width:18px;height:18px;border:3px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;animation:wizardSpin .75s linear infinite;margin-right:10px}.wizard-stage.is-processing{filter:saturate(.94)}
@keyframes wizardSpin{to{transform:rotate(360deg)}}
@media(max-width:620px){.wizard-stage{min-height:315px}.wizard-steps{grid-template-columns:1fr!important;border-radius:24px}.wizard-steps span{border-radius:18px!important}.wizard-pane{justify-content:flex-start;padding-top:2px}}

/* Footer reservas premium */
.footer-reservas-card{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:24px 28px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  backdrop-filter:blur(10px);
}
.footer-reservas-card b{
  display:block;
  font-size:1.08rem;
  margin-bottom:12px;
  color:#fff;
}
.footer-checks{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:9px;
}
.footer-checks li{
  color:#fff;
  font-weight:700;
  line-height:1.25;
}
@media(max-width:760px){
  .footer-reservas-card{padding:20px;border-radius:20px}
}
