.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-page [hidden]{display:none!important}.booking-page{--bk-surface:#fffdf9;--bk-ground:#e8f0ea;--bk-deep:#04130d;--bk-line:#1020191c;--bk-line-strong:#1020192b;--bk-body:#4f5d55;--bk-muted:#5f6d65;--bk-soft:#66716b;--bk-gold-deep:#7c6529;background:var(--bk-ground);min-height:100vh}.booking-intro{color:#fff;background:radial-gradient(circle at 84% 16%,#cdb36d2b,#0000 30rem),linear-gradient(152deg,#082117 0%,#04120d 55%,#0a291c 100%);padding:172px 0 92px;position:relative;overflow:hidden}.booking-intro:after{content:"";pointer-events:none;border:1px solid #cdb36d26;border-radius:50%;width:430px;height:430px;position:absolute;top:-170px;right:-140px}.booking-intro--compact{padding:168px 0 74px}.booking-intro__grid{z-index:2;grid-template-columns:minmax(0,1.32fr) minmax(280px,.68fr);align-items:end;gap:74px;display:grid;position:relative}.booking-intro .eyebrow{color:var(--gold)}.booking-intro h1{text-wrap:balance;max-width:850px;margin:0;font-size:clamp(3.1rem,5.4vw,5.9rem);line-height:.97}.booking-rule{background:linear-gradient(90deg,#cdb36df2,#0000);width:74px;height:1px;margin:26px 0 0;display:block}.booking-intro__copy{color:#ffffffa3;max-width:490px}.booking-intro__copy p{text-wrap:pretty;margin:0 0 20px;font-size:1.03rem}.booking-intro__copy a{color:var(--gold);align-items:center;gap:10px;font-size:.86rem;font-weight:750;display:inline-flex}.booking-intro__copy a:hover{color:#fff}.booking-section{background:var(--bk-ground);padding:76px 0 106px}.booking-layout{grid-template-columns:minmax(0,1.32fr) minmax(320px,.68fr);align-items:start;gap:32px;display:grid}.booking-card{border-radius:var(--radius);background:var(--bk-surface);border:1px solid #04231717;box-shadow:0 26px 70px #051f1417}.booking-form,.booking-lookup,.booking-appointment{padding:clamp(26px,4.2vw,48px)}.booking-step{align-items:center;gap:17px;margin-bottom:27px;display:flex}.booking-step>span{width:44px;height:44px;color:var(--emerald-700);letter-spacing:.08em;background:#1767470d;border:1px solid #17674742;border-radius:50%;flex:0 0 44px;place-items:center;font:700 .7rem/1 Inter,sans-serif;display:grid}.booking-step div{gap:4px;display:grid}.booking-step strong{letter-spacing:-.02em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.68rem;font-weight:400}.booking-step small{color:var(--bk-muted);font-size:.79rem}.booking-fieldset{border:0;min-width:0;margin:0;padding:0}.booking-fieldset:disabled .booking-choices{opacity:.72}.booking-choices{gap:11px;display:grid}.booking-choices:empty{background:#1767470a;border:1px dashed #17674742;border-radius:20px;min-height:132px}.booking-choices--services{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-choices--slots{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-choice{cursor:pointer;display:block;position:relative}.booking-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.booking-choice__body{background:#f6f1e6;border:1px solid #1020191f;border-radius:18px;flex-direction:column;gap:7px;min-height:100%;padding:18px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex}.booking-choice:hover .booking-choice__body{background:#f2ede0;border-color:#17674761;transform:translateY(-1px)}.booking-choice input:focus-visible+.booking-choice__body{outline-offset:2px;outline:3px solid #2d916766}.booking-choice input:checked+.booking-choice__body{background:linear-gradient(150deg,#0c2a1d,#04130d);border-color:#0000;box-shadow:0 14px 34px #041c1238}.booking-choice input:checked+.booking-choice__body strong{color:#fff}.booking-choice input:checked+.booking-choice__body>span{color:#ffffff9e}.booking-choice input:checked+.booking-choice__body small{color:var(--sage-200)}.booking-choice input:checked+.booking-choice__body:after{content:"Seleccionado";color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-top:auto;padding-top:8px;font-size:.63rem;font-weight:800}.booking-choice__body strong{letter-spacing:-.005em;font-size:.95rem}.booking-choice__body>span{color:var(--bk-muted);font-size:.78rem;line-height:1.48}.booking-choice__body small{color:var(--emerald-700);letter-spacing:.04em;font-size:.68rem;font-weight:700}.booking-choice--compact .booking-choice__body{justify-content:center;align-items:flex-start;gap:4px;min-height:78px;padding:13px 15px}.booking-choice--compact .booking-choice__body strong{font-variant-numeric:tabular-nums;font-size:1.02rem}.booking-divider{background:linear-gradient(90deg, #cdb36d8c, var(--bk-line) 42%, transparent);height:1px;margin:42px 0}.booking-date-grid,.booking-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:13px;display:grid}.booking-date-grid:has(>[hidden]){grid-template-columns:minmax(0,320px)}.booking-field{gap:8px;margin-top:16px;display:grid}.booking-field>span{letter-spacing:.045em;font-size:.75rem;font-weight:750}.booking-field em{color:var(--bk-soft);font-style:normal;font-weight:500}.booking-field input,.booking-field select,.booking-field textarea{border:1px solid var(--bk-line-strong);width:100%;min-height:54px;color:var(--ink);font:inherit;background:#fffefb;border-radius:15px;outline:0;padding:13px 16px;transition:border-color .18s,box-shadow .18s}.booking-field textarea{resize:vertical;min-height:118px}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--emerald-700);box-shadow:0 0 0 3px #2d916729}.booking-field input:disabled,.booking-field select:disabled{cursor:wait;opacity:.58}.booking-field>small,.booking-timezone{color:var(--bk-soft);margin:0;font-size:.72rem;line-height:1.5}.booking-timezone{align-items:baseline;gap:8px;min-height:1.1em;margin:12px 0 16px;display:flex}.booking-timezone:before{content:"✦";color:var(--gold);font-size:.7rem}.booking-timezone:empty:before{content:none}.booking-message{color:#4a574f;background:#1020190b;border-left:2px solid #1020192e;border-radius:13px;margin:16px 0 0;padding:13px 15px;font-size:.79rem;line-height:1.55}.booking-message[data-tone=error]{color:#6f2f20;background:#fdeee7;border-left-color:#a8442c}.booking-message[data-tone=success]{border-left-color:var(--emerald-500);color:#115139;background:#e6f2ea}.booking-message[data-tone=loading]{border-left-color:var(--gold);color:#60512a;background:#f9f3e3}.booking-message[data-tone=empty]{color:#5d574c;background:#f4efe4;border-left-color:#7c652980}.booking-retry{min-height:44px;color:var(--emerald-700);cursor:pointer;text-underline-offset:5px;background:0 0;border:0;align-items:center;margin-top:6px;padding:0;font:700 .79rem/1.5 inherit;text-decoration:underline;display:inline-flex}.booking-retry:hover{color:var(--pine-800)}.booking-legal,.booking-privacy-note{color:var(--bk-soft);margin:24px 0 0;font-size:.73rem;line-height:1.65}.booking-legal a{color:var(--emerald-700);border-bottom:1px solid #17674766;font-weight:600}.booking-submit{cursor:pointer;width:100%;margin-top:20px}.booking-submit:disabled,.booking-reschedule-submit:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.booking-aside{border-radius:var(--radius);color:#fff;background:linear-gradient(145deg,#0c2a1d,#04130d);padding:44px 38px;position:sticky;top:28px;overflow:hidden;box-shadow:0 26px 70px #041c122e}.booking-aside:after{content:"";border:1px solid #cdb36d2e;border-radius:50%;width:260px;height:260px;position:absolute;top:-110px;right:-105px}.booking-aside>*{z-index:2;position:relative}.booking-aside>img{width:72px;margin-bottom:30px}.booking-aside .eyebrow{color:var(--gold)}.booking-aside h2{margin:12px 0 28px;font-size:clamp(1.95rem,2.9vw,2.9rem);line-height:1.05}.booking-aside ul{color:#ffffffb8;border-top:1px solid #cdb36d38;gap:18px;margin:0;padding:26px 0 0;font-size:.84rem;line-height:1.55;list-style:none;display:grid}.booking-aside li{padding-left:22px;position:relative}.booking-aside li:before{content:"✦";color:var(--gold);position:absolute;left:0}.booking-aside__note{color:#ffffff8f;margin:30px 0 0;font-size:.76rem}.booking-aside__note a{color:var(--gold);border-bottom:1px solid #cdb36d73;font-weight:700}.booking-confirmed-fallback{text-align:center;max-width:760px;margin:46px auto 0;padding:clamp(32px,5vw,58px)}.booking-confirmed-fallback h2{margin:8px 0 20px;font-size:clamp(2.2rem,4.4vw,3rem);line-height:1.02}.booking-private-page{background:radial-gradient(circle at 50% 0%, #cdb36d33, transparent 34rem), var(--bk-ground);align-content:center;padding:150px 0 96px;display:grid}.booking-private-shell{padding-top:0}.booking-confirmation,.booking-empty{text-align:center;max-width:820px;margin:0 auto;padding:clamp(36px,6vw,72px);position:relative;overflow:hidden}.booking-confirmation:after,.booking-empty:after{content:"";pointer-events:none;border:1px solid #cdb36d47;border-radius:50%;width:420px;height:420px;position:absolute;top:-180px;left:50%;transform:translate(-50%)}.booking-confirmation>*,.booking-empty>*{z-index:2;position:relative}.booking-confirmation h1,.booking-empty h1{text-wrap:balance;max-width:680px;margin:0 auto;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1}.booking-seal{width:78px;height:78px;color:var(--gold);background:linear-gradient(150deg,#0c2a1d,#04130d);border:1px solid #cdb36d8c;border-radius:50%;place-items:center;margin:0 auto 26px;font-size:1.7rem;display:grid;box-shadow:0 16px 38px #041c1238}.booking-confirmation__lead,.booking-empty>p:not(.eyebrow){max-width:590px;color:var(--bk-body);margin:20px auto 32px}.booking-summary{border-top:1px solid var(--bk-line);border-left:1px solid var(--bk-line);text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0;display:grid}.booking-summary>div{border-right:1px solid var(--bk-line);border-bottom:1px solid var(--bk-line);min-width:0;padding:20px}.booking-summary dt{color:var(--bk-soft);letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:.64rem;font-weight:750}.booking-summary dd{overflow-wrap:anywhere;margin:0;font-size:.96rem;font-weight:680;line-height:1.45}.booking-summary small{color:var(--bk-soft);margin-top:5px;font-size:.69rem;display:block}.booking-code-row{background:#cdb36d1a;grid-column:1/-1}.booking-code-row dd{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.15rem}.booking-management-code{background:linear-gradient(150deg,#0c2a1d,#04130d);border:1px solid #cdb36d66;border-radius:22px;max-width:480px;margin:34px auto 20px;padding:26px 24px;position:relative;box-shadow:0 20px 48px #041c1238}.booking-management-code span{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.65rem;font-weight:760;display:block}.booking-management-code strong{color:#fff;letter-spacing:.1em;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1.35rem,4vw,2.1rem)}.booking-code-help{max-width:610px;color:var(--bk-muted);margin:0 auto;font-size:.8rem}.booking-confirmation__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin-top:32px;display:flex}.booking-confirmation__actions .text-link{color:var(--emerald-700)}.booking-empty>img{width:70px;margin:0 auto 26px}.booking-section--manage{background:var(--bk-ground);padding:68px 0 104px}.booking-manage-layout{grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr);align-items:start;gap:30px;display:grid}.booking-lookup{position:sticky;top:28px}.booking-appointment__head{justify-content:space-between;align-items:flex-start;gap:25px;display:flex}.booking-appointment__head h2{margin:3px 0 0;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.02}.booking-status-pill{color:#115139;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#e2eee6;border:1px solid #17674747;border-radius:999px;padding:9px 14px;font-size:.64rem;font-weight:780}.booking-status-pill[data-status=cancelled],.booking-status-pill[data-status=past]{color:#5d5748;background:#efeade;border-color:#7c65294d}.booking-summary--appointment{grid-template-columns:1.4fr .6fr}.booking-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px;display:flex}.booking-actions button{cursor:pointer}.booking-danger{color:#83392b;text-underline-offset:5px;background:0 0;border:0;align-items:center;min-height:44px;padding:0;font:700 .79rem/1.4 inherit;text-decoration:underline;display:inline-flex}.booking-danger:hover{color:#5f271c}.booking-danger:disabled{cursor:wait;opacity:.5}.booking-reschedule{margin-top:4px}.booking-reschedule .booking-choices--slots{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.booking-field--date{max-width:280px}.booking-reschedule-submit{cursor:pointer;margin-top:22px}@media (width<=980px){.booking-intro{padding:150px 0 74px}.booking-intro--compact{padding:148px 0 62px}.booking-intro__grid,.booking-layout,.booking-manage-layout{grid-template-columns:1fr}.booking-intro__grid{align-items:start;gap:28px}.booking-intro__copy{max-width:660px}.booking-aside{position:relative}.booking-lookup{position:static}.booking-aside{order:-1}.booking-private-page{padding:132px 0 84px}}@media (width<=650px){.booking-intro{padding:122px 0 56px}.booking-intro--compact{padding:120px 0 48px}.booking-intro:after{top:-210px;right:-190px}.booking-intro h1{font-size:clamp(2.7rem,12vw,3.5rem)}.booking-section,.booking-section--manage{padding:34px 0 68px}.booking-card,.booking-aside{border-radius:22px;margin-inline:-8px}.booking-form,.booking-lookup,.booking-appointment{padding:30px 19px}.booking-aside{padding:32px 22px}.booking-aside>img{width:58px;margin-bottom:22px}.booking-aside h2{font-size:1.95rem}.booking-step{gap:14px;margin-bottom:22px}.booking-step>span{flex-basis:38px;width:38px;height:38px}.booking-step strong{font-size:1.42rem}.booking-divider{margin:34px 0}.booking-choices--services,.booking-date-grid,.booking-fields-grid,.booking-summary,.booking-summary--appointment{grid-template-columns:1fr}.booking-choices--slots,.booking-reschedule .booking-choices--slots{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-choices:empty{min-height:116px}.booking-choice__body{padding:15px 14px}.booking-field--date{max-width:none}.booking-private-page{padding:104px 0 68px}.booking-confirmation,.booking-empty{padding:36px 20px}.booking-confirmation:after,.booking-empty:after{width:360px;height:360px;top:-230px}.booking-confirmation h1,.booking-empty h1{font-size:clamp(2.35rem,10.5vw,3rem)}.booking-confirmed-fallback{margin-top:30px;padding:34px 20px}.booking-management-code{padding:22px 18px}.booking-summary>div{padding:17px}.booking-appointment__head{flex-direction:column;align-items:flex-start;gap:14px}.booking-actions{flex-direction:column;align-items:stretch;gap:16px}.booking-actions .btn{width:100%}.booking-danger{justify-content:center}}
