:root{font-family:Arial,sans-serif;color:#3e3d3b;background:#faf8f5;--line:#ded5cc;--accent:#92765f}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}.preview{text-align:center;background:#eee5dc;padding:10px 16px;font-size:13px;color:#574b40}header{max-width:1160px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header img{width:88px;height:72px;object-fit:contain}header span{font-size:14px;color:#74685c}main{max-width:1160px;margin:auto;padding:0 28px 70px}.intro{padding:42px 0 26px}.eyebrow{letter-spacing:2.5px;font-size:11px;color:#806b59;font-weight:bold}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,6vw,60px);line-height:1.09;margin:16px 0}h2{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:0 0 12px}h3{font-size:17px}.intro>p:not(.eyebrow){color:#756a60}.address{font-size:13px}nav{display:flex;gap:12px;margin:8px 0 28px}nav button{border:1px solid var(--line);border-radius:25px;background:transparent;padding:12px 20px;color:#71685e}nav button[aria-current]{background:#403d39;color:white;border-color:#403d39}nav span{margin-left:8px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.panel,.summary{background:white;border:1px solid var(--line);border-radius:16px;padding:28px}.panel>p{color:#776f67;font-size:14px;line-height:1.5}.summary{position:sticky;top:20px;background:#f1ebe5}.summary h2{font-size:25px}label{display:block;font-size:14px;font-weight:bold;margin:24px 0 10px}input,select{width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:14px;color:#393632;min-height:46px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.categories{display:flex;gap:8px;overflow:auto;padding:16px 2px 8px}.categories button{white-space:nowrap;border:1px solid var(--line);border-radius:20px;background:white;padding:9px 13px;font-size:13px}.categories button[aria-pressed=true]{background:#e9ded3;color:#493d32;border-color:#ba9d83}.services{max-height:560px;overflow:auto;padding-right:8px}.service{border-bottom:1px solid #eee6df;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:18px}.service h3{margin:0 0 7px;font-size:15px;font-weight:500;line-height:1.4}.service p{margin:0;color:#7b6b5c;font-size:13px}.service button{border:1px solid #d2bfae;background:white;border-radius:22px;min-width:38px;min-height:38px;color:#67503d;font-size:23px;flex-shrink:0}.selected{padding:18px 0;border-bottom:1px solid #d9cbbf}.selected h3{line-height:1.4;margin:0;font-size:14px}.selected p{font-size:13px}.selected label{margin:12px 0 6px;font-size:12px}.selected select{font-size:14px;padding:10px}.remove{border:0;background:none;text-decoration:underline;color:#796b60;font-size:12px;margin-top:12px;padding:4px 0}.primary,.secondary{width:100%;border:0;border-radius:9px;min-height:50px;padding:14px 18px;margin-top:20px}.primary{background:#403d39;color:white}.secondary{background:#eee5dc;color:#4b4036}.text-button{border:0;background:none;color:#725c49;margin-top:20px;padding:10px 0;text-align:left}.small,.optional{font-size:12px;color:#7b6f64;font-weight:400;line-height:1.5}#totals{padding-top:18px}#totals div{display:flex;justify-content:space-between;margin-bottom:10px}#selection-error{color:#9b3125;font-size:13px}.notice{background:#f5f0eb;border-radius:10px;padding:20px;margin-top:24px;font-size:14px;line-height:1.55}.notice h3{margin-top:0}.notice p{margin-bottom:0}footer{border-top:1px solid var(--line);text-align:center;padding:30px 20px 45px;color:#807369;font-size:12px}footer img{width:65px;height:55px;object-fit:contain}@media(max-width:760px){header{padding:14px 20px}header span{font-size:12px}main{padding:0 18px 40px}.intro{padding-top:25px}.layout{grid-template-columns:1fr;gap:18px}.summary{position:static}.panel,.summary{padding:22px}nav{gap:7px}nav button{padding:11px 13px;font-size:12px}nav span{margin-left:4px}.services{max-height:430px}h2{font-size:24px}}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.slots button{border:1px solid var(--line);background:white;border-radius:9px;min-height:46px}.slots button[aria-pressed=true]{background:#403d39;color:white;border-color:#403d39}.promotions{border:1px solid var(--line);border-radius:10px;margin:26px 0 0;padding:16px}.promotions legend{font-family:Georgia,serif;font-size:22px;padding:0 7px}.promo-label{display:flex;align-items:center;gap:12px;margin:0;cursor:pointer}.promo-label input{width:21px;height:21px;min-height:0;accent-color:#75614e}.promo-label small{display:block;font-size:12px;font-weight:400;color:#796c61;margin-top:6px}.price-line{display:flex;justify-content:space-between;gap:16px;margin:10px 0}.discount{color:#39714f}.final-total{border-top:1px solid var(--line);padding-top:12px;font-size:18px}.success-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e5eee5;color:#48724d;font-size:30px;margin-bottom:20px}#time-error{color:#9b3125}.summary.compact #selection,.summary.compact #totals,.summary.compact .small{display:none}.summary.compact{display:none}@media(max-width:760px){.intro{padding:18px 0}.intro h1{font-size:39px}.intro>p{margin:10px 0}.panel{padding:20px}.preview{font-size:11px}header img{height:48px;width:65px}nav{margin:6px 0 20px}input,select{font-size:16px}#step-3 .notice{padding:16px}}
.category-nav{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;margin-top:16px}.category-nav .categories{min-width:0;padding:4px 1px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category-arrow{width:36px;height:44px;border:1px solid #d2bfae;border-radius:10px;background:#f5eee7;color:#67503d;font-size:27px;line-height:1}.category-arrow:disabled{opacity:.3}.service-group{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:hidden}.service-group summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:17px 15px;background:#f7f2ed;list-style:none;font-size:15px;font-weight:bold;line-height:1.4}.service-group summary::-webkit-details-marker{display:none}.service-group summary small{display:block;color:#817063;font-weight:400;font-size:12px;margin-top:4px}.group-chevron{font-size:23px;transition:transform .15s}.service-group[open] .group-chevron{transform:rotate(180deg)}.group-items{padding:0 15px}.group-items .service:last-child{border-bottom:0}.service-group summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.services{padding-right:2px}@media(prefers-reduced-motion:reduce){.group-chevron{transition:none}}
.service[data-service-row]{cursor:pointer}.service button{font-size:12px;padding:9px 10px;min-height:44px}.summary{scroll-margin-top:16px}.service>div{min-width:0}.service h3{overflow-wrap:anywhere}.service{gap:10px}
.booking-bottom{display:none}#professional-error{color:#9b3125;font-size:14px}@media(max-width:760px){.booking-bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 18px #403d3912;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px calc(13px + env(safe-area-inset-bottom))}.booking-bottom>div{flex-shrink:0}.booking-bottom strong{display:block;font-size:19px}.booking-bottom small{display:block;font-size:11px;color:#776b60;margin-top:4px}.booking-bottom .primary{margin:0;width:auto;font-size:13px;min-height:46px;padding:12px}.has-booking-bottom{padding-bottom:95px}.summary{display:none}#step-1\.5>.primary,#preview-details,#booking-details>.primary{display:none}nav{gap:4px}nav button{padding:9px 7px;font-size:10px}nav span{margin-left:2px}.selected select{min-height:48px}.selected:first-child{padding-top:4px}}

/* Horas agrupadas y días próximos: presentación sin alterar disponibilidad. */
.slots{display:block}.time-period{margin:24px 0}.time-period h3{font-size:16px;margin:0 0 12px}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slots button{color:#403d39;min-height:44px;font-size:15px}.more-times summary{cursor:pointer;color:#725c49;font-size:13px;padding:14px 0}.more-times[open] summary{margin-bottom:4px}.booking-days{display:flex;gap:8px;overflow-x:auto;padding:5px 2px 12px;margin-top:22px}.booking-days button{flex:0 0 59px;border:1px solid var(--line);border-radius:12px;background:white;color:#403d39;min-height:80px;padding:10px 6px}.booking-days strong,.booking-days small{display:block}.booking-days strong{font-size:22px;margin:5px 0}.booking-days small{font-size:12px}.booking-days button[aria-pressed=true]{background:#403d39;color:white;border-color:#403d39}.more-times summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:360px){.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
