/* ANELIX CLEAN V28 - one responsive layer, cache-busted */
html{overflow-x:hidden}body{max-width:100%;overflow-x:hidden}.floating-whatsapp,.wa-float{display:none!important}.phone-co{display:flex;align-items:stretch;width:100%;min-width:0}.phone-co b{display:grid;place-items:center;flex:0 0 58px;border:1px solid #dbc4cc;border-right:0;border-radius:11px 0 0 11px;background:#f4e8ed;color:#8f254d;font-size:1rem}.phone-co input{min-width:0!important;border-radius:0 11px 11px 0!important}
@media(min-width:901px){
 .header nav{gap:22px!important}.header nav a{font-size:.82rem!important;font-weight:700!important;letter-spacing:.015em!important}.header .nav-cta{font-size:.78rem!important}
 .booking-shell{width:min(1240px,calc(100% - 48px))!important}.booking-workspace{grid-template-columns:minmax(0,1fr) 330px!important;gap:22px!important}.booking-main-card{min-width:0!important}.booking-summary-card{position:sticky!important;top:88px!important;align-self:start!important}
}
@media(max-width:900px){
 .header,.header.scrolled{z-index:1001!important;top:8px!important;left:8px!important;right:8px!important;width:auto!important;min-height:58px!important;padding:5px 7px 5px 9px!important;border-radius:18px!important;background:rgba(18,11,15,.96)!important}.brand img{width:46px!important;height:46px!important}.brand span{display:none!important}
 #menu{position:relative!important;z-index:1003!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:50%!important;background:#251624!important}#menu i{position:absolute;width:18px;height:1.5px;background:#fff;transition:.25s}#menu i:first-child{transform:translateY(-4px)}#menu i:last-child{transform:translateY(4px)}#menu.open i:first-child{transform:rotate(45deg)}#menu.open i:last-child{transform:rotate(-45deg)}
 #nav{position:fixed!important;z-index:1000!important;top:74px!important;right:10px!important;left:10px!important;bottom:auto!important;width:auto!important;height:auto!important;max-height:calc(100dvh - 90px)!important;padding:18px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:20px!important;background:#160d13!important;box-shadow:0 24px 70px rgba(0,0,0,.55)!important;visibility:hidden!important;opacity:0!important;transform:translateY(-8px) scale(.985)!important;overflow:auto!important;transition:.24s ease!important}#nav.open{visibility:visible!important;opacity:1!important;transform:none!important}.clean-menu-title{padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.09)}.clean-menu-title small{display:block;color:#ff82aa;font-size:.5rem;font-weight:800;letter-spacing:.18em}.clean-menu-title strong{display:block;margin-top:5px;color:#fff;font:600 1.7rem/1 'Cormorant Garamond',serif}.clean-menu-links{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:13px 0!important}.clean-menu-links a{display:flex!important;align-items:center!important;min-height:48px!important;padding:9px 12px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;background:rgba(255,255,255,.035)!important;color:#fff!important;text-decoration:none!important;font-size:.84rem!important;font-weight:700!important}.clean-menu-book{display:grid!important;place-items:center!important;min-height:52px!important;border-radius:13px!important;background:linear-gradient(135deg,#ef2f73,#b91350)!important;color:#fff!important;text-decoration:none!important;font-size:.9rem!important;font-weight:800!important}.menu-open{overflow:hidden!important}
}
@media(max-width:700px){
 /* Booking compact and never wider than viewport */
 .booking-v12-page,.booking-v12-page main,.booking-shell,.booking-workspace,.booking-main-card,.booking-step,.booking-step>*,.date-time-layout,.calendar-card,.time-card,.client-grid,.review-card,.review-grid{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.booking-v12-page{overflow-x:hidden!important}.booking-nav{min-height:58px!important;padding:5px 8px!important}.booking-logo img{width:42px!important;height:42px!important}.booking-nav-actions>a:not(.booking-close){display:none!important}.booking-header{padding:76px 12px 12px!important;overflow:hidden!important}.booking-header h1{margin:0!important;font-size:2.15rem!important;line-height:.92!important;white-space:normal!important}.booking-header>p{display:none!important}.booking-progress{display:flex!important;width:100%!important;gap:5px!important;margin-top:12px!important;padding:7px!important;overflow:hidden!important}.booking-progress:before,.booking-progress:after{display:none!important}.booking-progress>*{flex:1 1 0!important;min-width:0!important}.booking-progress span{display:none!important}.booking-progress b,.booking-progress i{width:32px!important;height:32px!important;min-width:32px!important;font-size:.75rem!important}.booking-shell{padding:0 7px 28px!important}.booking-workspace{display:block!important}.booking-main-card{padding:12px 8px!important;border-radius:14px!important}.booking-step legend{margin-bottom:10px!important}.booking-step legend small{font-size:.49rem!important}.booking-step legend strong{font-size:1.45rem!important;line-height:1!important}.booking-step legend span{display:none!important}.booking-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.booking-service{min-width:0!important;border-radius:11px!important}.booking-service .service-photo{height:auto!important;aspect-ratio:1/1!important}.booking-service>div:last-child{min-height:90px!important;padding:8px!important}.booking-service h3{font-size:.9rem!important;line-height:1!important}.booking-service p{display:none!important}.booking-service footer span{font-size:.42rem!important}.booking-service footer strong{font-size:.82rem!important}.date-time-layout{display:block!important}.calendar-card,.time-card{padding:9px!important;border-radius:12px!important}.time-card{margin-top:7px!important}.calendar-card header{margin-bottom:7px!important}.calendar-grid{gap:2px!important}.calendar-grid button{min-height:34px!important;padding:3px!important}.calendar-card footer{display:none!important}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.time-grid button{min-height:36px!important;padding:6px 2px!important;font-size:.68rem!important}.client-grid{grid-template-columns:1fr!important;gap:6px!important}.client-grid label{margin:0!important}.client-grid input,.client-grid textarea{box-sizing:border-box!important;min-height:43px!important;font-size:16px!important}.client-grid textarea{min-height:66px!important}.review-card{padding:9px!important}.review-grid p,.review-grid>div{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:7px!important}.review-grid strong{min-width:0!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;font-size:.82rem!important}.booking-footer,.booking-footer.split{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:5px!important;margin-top:10px!important}.booking-footer:not(.split){grid-template-columns:1fr!important}.booking-footer button{min-width:0!important;min-height:42px!important;padding:8px 6px!important;white-space:normal!important;font-size:.58rem!important}.safe-copy{display:none!important}.booking-summary-card{display:none!important}.booking-success{padding:16px 3px!important}.booking-success h2{font-size:2.25rem!important}
 /* Main page cleanup */
 .hero-actions a i,.hero-actions a b{display:none!important}.network-icon,.network-link.whatsapp .network-icon{flex:0 0 42px!important;width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important}.network-icon svg,.network-link.whatsapp svg{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important}
}
/* V29 focused corrections */
.header-social{display:flex;align-items:center;justify-content:center;gap:7px;margin-left:auto;margin-right:10px}.header-social a{display:grid!important;place-items:center!important;width:29px!important;height:29px!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:50%!important;background:rgba(255,255,255,.045)!important;color:#e9d8df!important;text-decoration:none!important}.header-social span{font:800 .49rem/1 system-ui!important;letter-spacing:-.02em!important;text-transform:uppercase}.header-social a:hover{border-color:#ff82aa!important;color:#ff82aa!important;background:rgba(239,47,115,.1)!important}.booking-success a:after,.booking-success a:before{content:none!important}.booking-success a svg,.booking-success .whatsapp-icon,.booking-success .wa-icon{display:none!important}.booking-success>a{position:static!important}
@media(max-width:900px){.header-social{gap:5px;margin:0 auto}.header-social a{width:30px!important;height:30px!important}.header-social span{font-size:.46rem!important}}
@media(max-width:700px){
 /* Public services: real 2-column grid with compact cards */
 #servicios .cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}#servicios .card{display:flex!important;flex-direction:column!important;min-width:0!important;border-radius:13px!important;overflow:hidden!important}#servicios .photo{height:auto!important;aspect-ratio:1/1!important;min-height:0!important}#servicios .card-body{display:flex!important;flex:1!important;flex-direction:column!important;padding:10px!important}#servicios .card h3{font-size:1rem!important;line-height:1.02!important}#servicios .card p{display:none!important}#servicios .meta{margin-top:auto!important;padding:7px 0!important}#servicios .meta span,#servicios .meta strong{display:block!important}#servicios .meta strong{font-size:.9rem!important}#servicios .card-body>a{min-height:38px!important;padding:8px!important;font-size:.54rem!important}
 /* Reservation cards: image above text, never side-by-side or clipped */
 .booking-services-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.booking-service{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;overflow:hidden!important}.booking-service .service-photo,.booking-service>img{grid-column:1!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}.booking-service>div:last-child{grid-column:1!important;width:auto!important;min-width:0!important;min-height:94px!important;padding:8px!important;overflow:hidden!important}.booking-service h3{max-width:100%!important;font-size:.86rem!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important}.booking-service footer{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:4px!important}.booking-service footer strong{white-space:nowrap!important;font-size:.78rem!important}
 /* Booking module alignment */
 .booking-header{padding-top:70px!important}.booking-progress{box-sizing:border-box!important;margin-inline:0!important}.booking-main-card{margin:0!important}.booking-step{padding:0!important;margin:0!important;border:0!important}.booking-footer,.booking-footer.split{position:static!important;left:auto!important;right:auto!important;bottom:auto!important}.booking-success{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:14px 8px!important;overflow:hidden!important}.booking-success .success-mark{width:72px!important;height:72px!important}.booking-success h2{font-size:2rem!important;line-height:1!important}.booking-success #success-code{max-width:100%!important;font-size:1.05rem!important;overflow-wrap:anywhere!important}.booking-success a{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:46px!important;padding:10px!important;font-size:.7rem!important}
}
@media(max-width:390px){.header-social a{width:27px!important;height:27px!important}.header-social{gap:3px}.booking-services-grid,#servicios .cards{gap:5px!important}.booking-service h3{font-size:.78rem!important}}
/* V30 final mobile stabilization */
.header-social svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.header-social svg .fill,.header-social a:nth-child(2) svg,.header-social a:nth-child(3) svg{fill:currentColor;stroke:none}.header-social a:nth-child(4){color:#75d99b!important}
@media(max-width:700px){html,body{width:100%!important;min-width:0!important;max-width:100vw!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}.booking-v12-page{position:relative!important;width:100vw!important;min-width:0!important;max-width:100vw!important;overflow-x:hidden!important}.booking-v12-page *{box-sizing:border-box!important;min-width:0}.booking-nav,.booking-header{width:100%!important;max-width:100vw!important}.booking-header{padding:70px 10px 10px!important}.booking-header h1{max-width:100%!important;font-size:clamp(2rem,10vw,2.75rem)!important;overflow-wrap:anywhere!important}.booking-progress{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:calc(100% - 12px)!important;max-width:calc(100vw - 12px)!important;margin:10px 6px!important;padding:6px!important;gap:4px!important}.booking-progress>*{width:auto!important;max-width:100%!important;min-width:0!important}.booking-progress b,.booking-progress i{width:30px!important;height:30px!important;min-width:30px!important;margin:auto!important}.booking-progress [class*="line"]{display:none!important}.booking-shell{width:100%!important;max-width:100vw!important;margin:0!important;padding:0 6px 24px!important}.booking-workspace,.booking-main-card,.booking-step,.review-card,.review-grid,.confirm-grid{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;transform:none!important}.booking-step.active{display:block!important}.booking-step:not(.active){display:none!important}.review-grid p,.review-grid>div{grid-template-columns:68px minmax(0,1fr)!important}.review-grid strong{display:block!important;width:100%!important;max-width:100%!important;font-size:.78rem!important;line-height:1.25!important;text-align:right!important;white-space:normal!important;word-break:break-word!important}.booking-success{margin:0!important;transform:none!important}.booking-success .success-mark{width:64px!important;height:64px!important}.booking-success h2{font-size:1.75rem!important}.booking-success a{position:static!important}.booking-floating-wa,.floating-whatsapp{display:none!important}}
/* V32: elegant booking progress and content login */
.content-login{white-space:nowrap}
@media(min-width:901px){.content-login{padding:9px 12px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:999px!important;color:#e8d4dc!important;font-size:.74rem!important}}
@media(max-width:900px){.clean-menu-links{grid-template-columns:1fr 1fr!important}.clean-menu-links a[href="/admin/"]{color:#ffd9bd!important;border-color:rgba(255,217,189,.25)!important;background:rgba(255,217,189,.06)!important}}
@media(max-width:700px){
 .booking-progress{position:relative!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important;padding:10px 8px 8px!important;border-radius:16px!important;background:rgba(255,255,255,.055)!important}
 .booking-progress>*{position:relative!important;display:grid!important;place-items:center!important;height:36px!important;padding:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important}
 .booking-progress>*::before{content:''!important;display:block!important;width:10px!important;height:10px!important;border:2px solid rgba(255,255,255,.42)!important;border-radius:50%!important;background:#21131c!important;box-shadow:0 0 0 4px rgba(255,255,255,.025)!important}
 .booking-progress>*.active::before,.booking-progress>*.done::before{border-color:#ffd9bd!important;background:linear-gradient(135deg,#ef2f73,#7a35ff)!important;box-shadow:0 0 0 5px rgba(239,47,115,.15)!important}
 .booking-progress>*::after{content:''!important;position:absolute!important;left:calc(50% + 11px)!important;right:calc(-50% + 11px)!important;top:17px!important;height:1px!important;background:rgba(255,255,255,.14)!important}
 .booking-progress>*:last-child::after{display:none!important}
}
/* V32 FINAL: manual WhatsApp to Anelix, stable mobile booking */
.booking-floating-wa,.floating-whatsapp{display:none!important}
@media(max-width:700px){html,body,.booking-v12-page{width:100%!important;max-width:100vw!important;min-width:0!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}.booking-v12-page *{box-sizing:border-box!important;min-width:0}.booking-step:not(.active){display:none!important}.booking-step.active{display:block!important}.booking-main-card,.booking-shell,.booking-workspace,.booking-step,.review-card,.review-grid{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;transform:none!important}.booking-progress{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:calc(100% - 12px)!important;margin:10px 6px!important;overflow:hidden!important}.booking-progress>*{font-size:0!important;color:transparent!important}.booking-progress>*::before{content:''!important;display:block!important;width:10px!important;height:10px!important;margin:auto!important;border:2px solid rgba(255,255,255,.42)!important;border-radius:50%!important;background:#21131c!important}.booking-progress>*.active::before,.booking-progress>*.done::before{border-color:#ffd9bd!important;background:linear-gradient(135deg,#ef2f73,#7a35ff)!important;box-shadow:0 0 0 5px rgba(239,47,115,.15)!important}.review-grid strong{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}}
/* V34 clean progress, no legacy numbered connectors */
@media(max-width:700px){
 .booking-progress-clean{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:start!important;gap:4px!important;width:calc(100% - 16px)!important;max-width:calc(100vw - 16px)!important;margin:10px 8px!important;padding:10px 6px 8px!important;overflow:hidden!important}
 .booking-progress-clean>button{position:relative!important;display:grid!important;grid-template-rows:18px auto!important;justify-items:center!important;gap:4px!important;width:100%!important;height:auto!important;min-height:38px!important;padding:0!important;border:0!important;background:transparent!important;color:#bdaab2!important;font-size:.48rem!important;line-height:1!important;overflow:visible!important}
 .booking-progress-clean>button::before{content:''!important;position:absolute!important;z-index:0!important;top:7px!important;left:-50%!important;width:100%!important;height:1px!important;background:rgba(255,255,255,.14)!important}
 .booking-progress-clean>button:first-child::before{display:none!important}
 .booking-progress-clean .progress-dot{position:relative!important;z-index:1!important;display:block!important;width:12px!important;height:12px!important;margin:1px!important;border:2px solid rgba(255,255,255,.38)!important;border-radius:50%!important;background:#21131c!important}
 .booking-progress-clean button.active .progress-dot,.booking-progress-clean button.done .progress-dot{border-color:#ffd9bd!important;background:linear-gradient(135deg,#ef2f73,#7a35ff)!important;box-shadow:0 0 0 4px rgba(239,47,115,.14)!important}
 .booking-progress-clean .progress-label{display:block!important;max-width:100%!important;color:inherit!important;font-size:.48rem!important;font-weight:700!important;white-space:nowrap!important}
 .booking-progress-clean button.active .progress-label{color:#fff!important}
}
