/* Habitera — página Albercas (prefijo alb-) */
.alb{--grad:linear-gradient(125deg,#003AC2,#4F2894 52%,#9F1567);--line:#E6E9F2;--tintbg:#F6F7FC;--mut:#5a6080;color:#14183A}
.alb h1,.alb h2,.alb h3{font-family:Comfortaa,sans-serif;margin:0}.alb img{max-width:100%;display:block}
.alb-sec{padding:84px 0}.alb-tint{background:var(--tintbg)}.alb-pt0{padding-top:0}
.alb-center{text-align:center}.alb-center .alb-lead{margin-left:auto;margin-right:auto}
.alb-k{color:#9F1567;font-weight:800;letter-spacing:.12em;font-size:13px;margin:0 0 10px;text-transform:uppercase}
.alb-h2{font-size:38px;line-height:1.15;margin-bottom:12px}
.alb-lead{color:#4a5070;font-size:17px;line-height:1.6;margin:0 0 30px;max-width:680px}
.alb-sw{transition:opacity .25s}.alb.swapping .alb-sw{opacity:0}
.alb-ico{width:48px;height:48px;border-radius:14px;background:#FFE0E7;color:#EE0339;display:grid;place-items:center;flex:none;transition:background .25s,color .25s,transform .25s}
.alb-ico-lg{width:58px;height:58px;border-radius:16px}
.alb-btns{display:flex;gap:12px;flex-wrap:wrap}.alb-btns-c{justify-content:center}
.alb-bw,.alb-bo,.alb-blue{display:inline-block;border-radius:40px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;text-align:center}
.alb-bw{background:#fff;color:#003AC2;padding:14px 24px}.alb-bo{border:2px solid rgba(255,255,255,.85);color:#fff;padding:12px 22px}
.alb-blue{background:#003AC2;color:#fff;padding:13px 22px}
.alb-bw:hover,.alb-blue:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,24,58,.18)}.alb-bo:hover{background:rgba(255,255,255,.12)}
/* portada */
.alb-hero{background:var(--grad);color:#fff;padding:52px 0 86px;position:relative;overflow:hidden}
.alb-hero:before{content:"";position:absolute;right:-180px;top:-180px;width:540px;height:540px;border-radius:50%;border:80px solid rgba(255,255,255,.06)}
.alb-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;position:relative}.alb-hero-grid>*{min-width:0}
.alb-crumb{font-size:13px;opacity:.85;margin-bottom:18px}.alb-crumb a{color:#fff;text-decoration:none}.alb-crumb a:hover{text-decoration:underline}
.alb-hero h1{font-size:50px;line-height:1.07;margin-bottom:18px;color:#fff}.alb-hero h1 span{color:#FFB3C6}
.alb-hero-lead{font-size:18px;line-height:1.6;opacity:.94;margin:0 0 24px;max-width:560px;min-height:3.2em}
.alb-q{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin:0 0 8px}
.alb-switch{display:inline-flex;flex-wrap:wrap;background:rgba(255,255,255,.15);border-radius:30px;padding:5px;margin-bottom:22px;gap:2px}
.alb-switch button{border:0;background:transparent;color:#fff;font:800 14.5px 'Nunito Sans',sans-serif;padding:11px 16px;border-radius:40px;cursor:pointer;transition:background .3s,color .3s}
.alb-switch button.on{background:#fff;color:#003AC2}.alb button:focus-visible,.alb-ba:focus-visible{outline:3px solid #FFB3C6;outline-offset:2px}
.alb-chips{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.alb-chips span{background:rgba(255,255,255,.15);border-radius:30px;padding:7px 14px;font-size:13px;font-weight:700}
.alb-pc{background:#fff;border-radius:28px;padding:18px;box-shadow:0 30px 60px rgba(0,0,0,.3);position:relative;color:#14183A}
.alb-pool{border-radius:20px;overflow:hidden;aspect-ratio:5/4;background:#E9DFCB}.alb-pool svg{width:100%;height:100%;display:block}
#alb-w1,#alb-w2{transition:stop-color 1.2s}
.alb-caus{animation:albCaus 6s ease-in-out infinite alternate;transition:opacity 1s}@keyframes albCaus{to{transform:translate(18px,10px)}}
.alb-leaf{opacity:0;transition:opacity 1s}.alb-leaf g{animation:albFloat 7s ease-in-out infinite alternate}@keyframes albFloat{to{transform:translate(22px,-12px) rotate(25deg)}}
.m-b .alb-leaf{opacity:1}.m-b .alb-caus{opacity:.3}
.alb-spark{opacity:0;transition:opacity .8s}.m-a .alb-spark{opacity:1}.alb-spark circle{animation:albTw 1.8s ease-in-out infinite}@keyframes albTw{50%{opacity:.15}}
.alb-alert{opacity:0;transition:opacity .6s}.m-c .alb-alert{opacity:1}
.alb-pulse{animation:albPulse 1.6s ease-out infinite;transform-origin:center;transform-box:fill-box}@keyframes albPulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.2);opacity:0}}
.alb-pstat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.alb-pstat div{background:var(--tintbg);border-radius:14px;padding:10px 12px;font-size:12.5px;color:var(--mut);font-weight:700}.alb-pstat b{display:block;color:#14183A;font-size:15px}
.alb-meter{display:block;height:6px;border-radius:6px;background:#e3e6f2;margin-top:6px;overflow:hidden}.alb-meter i{display:block;height:100%;border-radius:6px;background:var(--grad);transition:width 1.2s}
.alb-fl{position:absolute;left:-30px;top:30px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 16px 36px rgba(20,24,58,.25);display:flex;gap:10px;align-items:center;font-size:13px;animation:albBob 5s ease-in-out infinite}
.alb-fl b{display:block;font-size:14px}.alb-fl small{color:var(--mut);display:block}
.alb-fi{width:36px;height:36px;border-radius:10px;background:#FFE0E7;color:#EE0339;display:grid;place-items:center;flex:none}
@keyframes albBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/* quien hace que */
.alb-who{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:stretch}.alb-who>*{min-width:0}
.alb-wc{border-radius:24px;padding:30px;border:1px solid var(--line);background:#fff;box-shadow:0 14px 30px rgba(20,24,58,.05)}
.alb-wh2{border-top:6px solid #003AC2}.alb-wr{border-top:6px solid #EE0339}
.alb-wh{display:flex;gap:14px;align-items:center;margin-bottom:16px}.alb-wh h3{font-size:20px}.alb-wh small{color:var(--mut);font-weight:700}
.alb-lg{width:58px;height:58px;border-radius:16px;background:var(--grad);display:grid;place-items:center;color:#fff;font:700 26px Comfortaa,sans-serif;flex:none}
.alb-wc ul{list-style:none;padding:0;margin:0}.alb-wc li{display:flex;gap:10px;align-items:center;padding:9px 0;font-weight:700;border-bottom:1px dashed var(--line)}.alb-wc li:last-child{border-bottom:0}
.alb-wc li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none}
.alb-wh2 li span{background:#E1E8FB;color:#003AC2}.alb-wr li span{background:#FFE0E7;color:#EE0339}
.alb-mid{display:grid;place-items:center}.alb-mid span{width:64px;height:64px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px rgba(79,40,148,.3)}
/* equipo */
.alb-eq{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center}.alb-eq>*{min-width:0}
.alb-diag{position:relative;background:#fff;border-radius:26px;box-shadow:0 18px 40px rgba(20,24,58,.08);overflow:hidden}.alb-diag svg{width:100%;display:block}
.alb-hs{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;border:0;background:#EE0339;color:#fff;font:900 14px 'Nunito Sans',sans-serif;cursor:pointer;box-shadow:0 0 0 6px rgba(238,3,57,.2);transition:transform .2s,background .2s}
.alb-hs:hover,.alb-hs.on{transform:translate(-50%,-50%) scale(1.15);background:#003AC2;box-shadow:0 0 0 8px rgba(0,58,194,.2)}
.alb-panel{background:#fff;border-radius:24px;padding:28px;border:1px solid var(--line);min-height:300px}
.alb-pi{display:none}.alb-pi.on{display:block;animation:albIn .35s ease}@keyframes albIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.alb-pi .alb-ico{margin-bottom:14px}.alb-pi h3{font-size:24px;margin-bottom:8px}.alb-pi p{color:var(--mut);line-height:1.6;margin:0 0 12px}
.alb-pi ul{margin:0;padding-left:18px;line-height:1.8;font-weight:700}
.alb-dots{display:flex;gap:6px;margin-top:16px}.alb-dots i{width:8px;height:8px;border-radius:50%;background:#dfe3ef;transition:width .25s}.alb-dots i.on{background:#EE0339;width:22px;border-radius:6px}
/* semanal */
.alb-wk{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.alb-wkc{background:#fff;border-radius:20px;padding:22px;border:1px solid var(--line);position:relative;opacity:.35;transform:translateY(8px);transition:opacity .5s,transform .5s,box-shadow .5s}
.alb-wkc.done{opacity:1;transform:none;box-shadow:0 12px 26px rgba(20,24,58,.06)}
.alb-ck{position:absolute;right:16px;top:16px;width:26px;height:26px;border-radius:50%;background:#e3e6f2;color:#fff;display:grid;place-items:center;transition:background .4s}
.alb-wkc.done .alb-ck{background:#1a9d55}
.alb-wkc .alb-ico{margin-bottom:12px}.alb-wkc h3{font-size:16px;margin-bottom:4px}.alb-wkc p{margin:0;color:var(--mut);font-size:14px}
.alb-prog{max-width:560px;margin:26px auto 0;text-align:center;font-weight:800}
.alb-bar{height:10px;border-radius:10px;background:#e3e6f2;overflow:hidden;margin:10px 0}.alb-bar i{display:block;height:100%;width:0;background:var(--grad);transition:width .5s}
.alb-replay{border:0;background:none;color:#003AC2;font:800 14px 'Nunito Sans',sans-serif;cursor:pointer}
/* antes y despues */
.alb-ba-w{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}.alb-ba-w>*{min-width:0}
.alb-ba{position:relative;width:100%;max-width:520px;margin:auto;border-radius:26px;overflow:hidden;box-shadow:0 24px 50px rgba(20,24,58,.18);aspect-ratio:700/785;cursor:ew-resize;user-select:none;touch-action:pan-y}
.alb-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.alb-af{clip-path:inset(0 0 0 50%)}.alb-bar2{position:absolute;top:0;bottom:0;left:50%;width:4px;margin-left:-2px;background:#fff}
.alb-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900;color:#003AC2;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.alb-t{position:absolute;top:14px;background:rgba(20,24,58,.75);color:#fff;font-weight:800;font-size:12px;border-radius:20px;padding:5px 12px}.alb-tl{left:14px}.alb-tr{right:14px}
/* temporadas */
.alb-seas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.alb-se{border-radius:22px;padding:24px;color:#fff;min-height:230px;display:flex;flex-direction:column;transition:transform .25s}.alb-se:hover{transform:translateY(-4px)}
.alb-sic{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.18);display:grid;place-items:center;margin-bottom:12px}
.alb-se h3{font-size:19px;margin-bottom:4px}.alb-se small{opacity:.85;font-weight:800}.alb-se p{opacity:.95;line-height:1.55;font-size:14.5px;margin:10px 0 0}
.alb-s1{background:linear-gradient(140deg,#EE0339,#F2742D)}.alb-s2{background:linear-gradient(140deg,#4F2894,#003AC2)}.alb-s3{background:linear-gradient(140deg,#003AC2,#1E9BD7)}.alb-s4{background:linear-gradient(140deg,#9F1567,#4F2894)}
/* mexico */
.alb-mx{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.alb-mx>*{min-width:0}
.alb-mxl{padding:0;margin:0 0 22px;list-style:none}.alb-mxl li{display:flex;gap:12px;align-items:center;padding:8px 0;font-weight:700}
.alb-phone{max-width:300px;margin:auto;background:#14183A;border-radius:38px;padding:14px;box-shadow:0 30px 60px rgba(20,24,58,.3)}
.alb-scr{background:#ECE5DD;border-radius:28px;padding:16px;min-height:420px;font-size:13.5px}
.alb-msg{background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px;max-width:88%;box-shadow:0 1px 1px rgba(0,0,0,.08);line-height:1.45}
.alb-msg b{display:block;font-size:12px;color:#9F1567}.alb-msg small{display:block;color:var(--mut);font-size:12px}
.alb-me{margin-left:auto;background:#DCF8C6}
.alb-ph{display:block;border-radius:10px;height:110px;margin:6px 0;background:linear-gradient(160deg,#5ec8f0,#1d7fd6);position:relative;overflow:hidden}
.alb-ph:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.25) 0 6px,transparent 6px 22px)}
/* faq y cierre */
.alb-faq{max-width:820px;margin:16px auto 0}.alb-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.alb-faq summary{font-weight:800;font-size:17px;cursor:pointer}.alb-faq p{color:var(--mut);margin:10px 0 0;line-height:1.6}
.alb-final{background:var(--grad);color:#fff;border-radius:30px;padding:54px;text-align:center}.alb-final h2{color:#fff;font-size:40px}
.alb-final p{opacity:.92;margin:10px auto 26px;font-size:17px;max-width:600px}
.alb-disc{max-width:860px;margin:26px auto 0;text-align:center;color:var(--mut);font-size:12.5px;line-height:1.6}
.alb-rv{transform:translateY(28px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.alb-rv.in{transform:none}
@media(max-width:1060px){.alb-wk,.alb-seas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.alb-hero-grid,.alb-who,.alb-eq,.alb-ba-w,.alb-mx{grid-template-columns:1fr}.alb-hero h1{font-size:38px}.alb-fl{left:10px}.alb-mid{transform:rotate(90deg)}.alb-pc{margin-top:12px}}
@media(max-width:600px){.alb-h2{font-size:30px}.alb-sec{padding:64px 0}.alb-switch button{padding:9px 12px;font-size:13px}.alb-wk{grid-template-columns:1fr 1fr;gap:10px}.alb-wkc{padding:16px}.alb-seas{grid-template-columns:1fr}.alb-final{padding:38px 22px}.alb-final h2{font-size:30px}.alb-wc{padding:24px}.alb-hs{width:26px;height:26px;font-size:12px}.alb-pstat div{padding:8px;font-size:11.5px}.alb-pstat b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.alb *{animation:none!important;transition:none!important}.alb-rv{transform:none}.alb-wkc{opacity:1;transform:none}}

/* Alberca: foto real con agua en movimiento */
.alb-pool{position:relative;aspect-ratio:4/3!important}
.albx-img{width:100%;height:100%;object-fit:cover;display:block}
.albx-wv,.albx-sh,.albx-tint{position:absolute;inset:0;pointer-events:none;clip-path:polygon(9.5% 78.7%,14.0% 72.7%,24.0% 68.0%,33.0% 64.0%,41.0% 61.6%,45.0% 58.7%,47.5% 57.1%,53.0% 56.4%,62.0% 56.4%,70.0% 57.3%,74.5% 59.7%,72.5% 62.7%,70.0% 67.3%,71.2% 72.7%,73.5% 76.3%,71.5% 79.7%,65.0% 81.6%,56.0% 82.9%,47.0% 85.3%,39.0% 87.3%,30.0% 88.3%,20.0% 87.3%,13.0% 84.7%,10.0% 81.6%)}
.albx-wv i{position:absolute;inset:0;background-size:100% 100%;filter:url(#alb-rip)}
.albx-sh{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%);background-size:250% 100%;mix-blend-mode:soft-light;animation:albxSh 6s linear infinite}
@keyframes albxSh{from{background-position:120% 0}to{background-position:-60% 0}}
.albx-tint{background:rgba(70,150,40,0);transition:background .6s;mix-blend-mode:multiply}
.m-b .albx-tint{background:rgba(70,150,40,.8)}.m-c .albx-tint{background:rgba(125,110,70,.55)}
@media (prefers-reduced-motion:reduce){.albx-wv{display:none}.albx-sh{animation:none}}
