/* Spa Alegre: una página en petróleo, con la luz reservada a fotografía y texto. */
.page-spa{background:var(--petroleo);color:var(--cal)}
.page-spa main{overflow:hidden}
.page-spa main :focus-visible,.page-spa .booking-panel :focus-visible{outline:2px solid var(--cal);outline-offset:3px}
.page-spa .site-header.is-scrolled{background:var(--petroleo);color:var(--cal)}
.page-spa .site-header .header-inner{border-color:rgba(243,241,236,.42)}
.page-spa .site-footer{background:var(--petroleo)}
.page-spa .mono{font-size:11px}
.page-spa h2{font-size:clamp(56px,7vw,112px);line-height:.94}
.page-spa h2 em,.page-spa h1 em{font-style:italic}
.spa-section-top{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(127,184,168,.65);padding-top:14px;color:var(--cal)}
.spa-hero{position:relative;min-height:730px;height:100svh;overflow:hidden;background:#092228;color:var(--cal)}
.spa-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.spa-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,30,.83),rgba(7,27,30,.23) 36%,transparent 68%);pointer-events:none}
.spa-hero-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:150px;padding-bottom:clamp(38px,5vw,76px)}
.spa-kicker{margin-bottom:auto;align-self:flex-end}
.spa-hero h1{font-size:clamp(94px,15vw,260px);letter-spacing:-.045em;line-height:.75;white-space:nowrap;margin:0 0 clamp(36px,5vw,75px)}
.spa-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;border-top:1px solid rgba(243,241,236,.72);padding-top:18px}
.spa-hero-bottom p{font-size:clamp(18px,2vw,28px);line-height:1.28;max-width:650px}
.spa-hero-side{position:absolute;z-index:1;right:var(--gutter);top:45%;writing-mode:vertical-rl}
.spa-circuit{padding-bottom:clamp(140px,16vw,280px)}
.spa-circuit-lead{display:grid;grid-template-columns:7fr 3fr;align-items:end;gap:10vw;margin:clamp(65px,8vw,140px) 0 clamp(80px,11vw,180px)}
.spa-circuit-lead p{font-size:clamp(19px,1.6vw,24px);line-height:1.35;max-width:340px;padding-bottom:8px}
.spa-circuit-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 4vw;align-items:start}
.spa-circuit-item{min-width:0}
.spa-circuit-img{overflow:hidden;background:#173c40}
.spa-circuit-img img{width:100%;height:100%;object-fit:cover}
.spa-circuit-img[data-spa-parallax] img{height:calc(100% + 4rem)}
.spa-circuit-item figcaption{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px 12px;border-top:1px solid var(--agua);padding-top:12px;margin-top:12px}
.spa-circuit-item figcaption strong{grid-column:1/-1;font:400 clamp(30px,3.2vw,56px)/1 Karosa,serif;letter-spacing:-.02em;text-transform:none}
.spa-circuit-item figcaption .mono:last-child{grid-column:2;grid-row:1;text-align:right}
.spa-circuit-pool{grid-column:1/8}.spa-circuit-pool .spa-circuit-img{height:clamp(450px,55vw,780px)}
.spa-circuit-tub{grid-column:9/13;margin-top:220px}.spa-circuit-tub .spa-circuit-img{height:clamp(360px,40vw,560px)}
.spa-circuit-sauna{grid-column:2/6;margin-top:100px}.spa-circuit-sauna .spa-circuit-img{height:clamp(350px,39vw,570px)}
.spa-circuit-cabin{grid-column:7/13;margin-top:240px}.spa-circuit-cabin .spa-circuit-img{height:clamp(430px,51vw,700px)}
.spa-breath{position:relative;min-height:95svh;display:flex;flex-direction:column;justify-content:space-between;background:#0a292e}
.spa-breath>p{border-top:1px solid var(--agua);padding-top:14px}
.spa-breath h2{font-size:clamp(58px,8.6vw,154px);line-height:.99;max-width:1260px;margin:auto 0;font-style:normal}
.spa-breath .spa-word{color:var(--cal-2)}
.spa-breath-line{display:block;width:17%;height:1px;background:var(--agua)}
.spa-treatments{padding-bottom:clamp(130px,14vw,220px)}
.spa-treatments-heading{display:grid;grid-template-columns:7fr 3fr;gap:8vw;align-items:end;margin:clamp(65px,8vw,140px) 0 70px}
.spa-treatments-heading p{font-size:clamp(18px,1.6vw,23px);line-height:1.35;max-width:345px}
.spa-filters{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:15px}
.spa-filters fieldset{border:0;padding:0;margin:0;min-width:0}
.spa-filters legend{margin-bottom:12px}
.spa-filter-buttons{display:flex;gap:6px;flex-wrap:wrap}
.spa-filter-buttons button{border:1px solid rgba(243,241,236,.52);background:transparent;color:var(--cal);padding:9px 15px;font-size:15px;transition:background-color .3s,border-color .3s,color .3s}
.spa-filter-buttons button:hover,.spa-filter-buttons button[aria-pressed="true"]{background:var(--cal);color:var(--petroleo);border-color:var(--cal)}
.spa-filter-buttons button:active{transform:translateY(1px)}
.spa-filters label{display:flex;align-items:center;gap:14px;white-space:nowrap}
.spa-filters select{border:1px solid rgba(243,241,236,.52);border-radius:0;background:var(--petroleo);color:var(--cal);padding:9px 14px;font:400 15px Neuetra,sans-serif;min-height:43px}
.spa-filter-status{padding:9px 0 21px;color:var(--cal-2)}
.spa-data-error{padding:18px;border:1px solid var(--cal);margin-bottom:20px}
.spa-treatment-list{border-top:1px solid rgba(243,241,236,.52)}
.spa-treatment{border-bottom:1px solid rgba(243,241,236,.52)}
.spa-treatment[hidden]{display:none}
.spa-treatment summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:35px minmax(0,1fr) 155px 140px 30px;align-items:center;gap:20px;min-height:115px;padding:18px 0;transition:padding-left .45s,color .45s}
.spa-treatment summary::-webkit-details-marker,.spa-rules summary::-webkit-details-marker{display:none}
.spa-treatment summary:hover,.spa-treatment summary:focus-visible{padding-left:12px;color:var(--agua)}
.spa-treatment-name{font:400 clamp(31px,3.8vw,60px)/1 Karosa,serif;letter-spacing:-.02em}
.spa-treatment-price{text-align:right}.spa-treatment-price small{display:block;font:400 9px/1.6 Monoblock,monospace;letter-spacing:.06em}
.spa-treatment-plus{font:300 32px/1 Neuetra,sans-serif;text-align:right;transition:transform .55s}
.spa-treatment[open] .spa-treatment-plus{transform:rotate(45deg)}
.spa-treatment-detail{overflow:hidden;padding:0 11% 30px;display:flex;justify-content:space-between;align-items:end;gap:24px}
.spa-treatment-detail p{font-size:18px;line-height:1.4;max-width:520px}
.spa-treatment-book{cursor:pointer;text-align:left}
.spa-noscript{padding:18px;border:1px solid var(--cal)}
.spa-reserve{background:#0a292e;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr);gap:8vw;align-items:start}
.spa-reserve-intro{position:sticky;top:130px}
.spa-reserve-intro>p:first-child{border-top:1px solid var(--agua);padding-top:14px}
.spa-reserve-intro h2{margin:70px 0 35px}
.spa-reserve-intro>p:not(:first-child){font-size:clamp(18px,1.6vw,23px);line-height:1.35;max-width:440px}
.spa-reserve-intro .spa-demo-note{font-size:11px!important;line-height:1.5!important;color:var(--cal-2);margin-top:45px}
.spa-reserve-form{border-top:1px solid var(--agua);padding-top:14px;min-height:700px}
.spa-visit{padding-bottom:clamp(130px,14vw,220px)}
.spa-visit-grid{display:grid;grid-template-columns:6fr 4fr;gap:10vw;margin:clamp(65px,8vw,130px) 0 100px}
.spa-visit-grid h2{margin-bottom:35px}.spa-visit-grid p{font-size:clamp(18px,1.6vw,23px);line-height:1.4;max-width:620px}
.spa-visit-data{border-top:1px solid var(--agua)}
.spa-visit-data>div{display:flex;flex-direction:column;gap:14px;border-bottom:1px solid rgba(243,241,236,.42);padding:26px 0}
.spa-visit-data strong{font:400 clamp(27px,2.9vw,45px)/1.1 Karosa,serif;letter-spacing:-.02em}
.spa-rules{border-top:1px solid var(--agua);border-bottom:1px solid var(--agua)}
.spa-rules summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 0;font:400 clamp(35px,4vw,64px)/1 Karosa,serif}
.spa-rules summary span:last-child{font:300 34px/1 Neuetra,sans-serif;transition:transform .55s}
.spa-rules[open] summary span:last-child{transform:rotate(45deg)}
.spa-rules-inner{overflow:hidden;display:grid;grid-template-columns:1fr 1fr auto;gap:35px;padding:16px 0 38px}
.spa-rules-inner p{font-size:17px;line-height:1.4}
/* Shared booking component, mounted in the page and in the global drawer. */
.spa-booking{color:var(--cal)}
.spa-booking .mono{font-size:10px}
.spa-booking-progress{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(243,241,236,.5);padding:13px 0 19px;margin-bottom:35px}
.spa-booking-progress span[aria-current="step"]{color:var(--agua)}
.spa-booking h3{font-size:clamp(35px,3vw,52px);margin-bottom:22px}
.spa-booking fieldset{border:0;padding:0;margin:0}
.spa-booking label{display:block;margin-bottom:18px;font-size:15px}
.spa-booking input,.spa-booking select{width:100%;min-height:48px;border:1px solid rgba(243,241,236,.55);border-radius:0;background:transparent;color:var(--cal);padding:11px 13px;margin-top:7px;font-size:16px}
.spa-booking option{color:var(--tinta);background:var(--cal)}
.spa-booking input::placeholder{color:var(--cal-2)}
.spa-booking input:focus-visible,.spa-booking select:focus-visible{outline-color:var(--cal)}
.spa-booking-field-error{min-height:1.3em;color:var(--cal);font-size:13px;display:block;margin-top:4px}
.spa-booking [aria-invalid="true"]{border-color:var(--cal);box-shadow:inset 0 -2px 0 var(--cal)}
.spa-booking-status{min-height:30px;font-size:14px;line-height:1.35;margin:16px 0;color:var(--cal)}
.spa-booking-status[role="alert"]{border-left:2px solid var(--cal);padding-left:12px}
.spa-booking-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}
.spa-booking .spa-next,.spa-booking .spa-submit{background:var(--cal);color:var(--petroleo);border:1px solid var(--cal);min-height:48px;padding:11px 20px;font:500 15px Neuetra,sans-serif}
.spa-booking .spa-next:hover,.spa-booking .spa-submit:hover{background:transparent;color:var(--cal)}
.spa-booking .spa-next:disabled,.spa-booking .spa-submit:disabled{opacity:.55;cursor:not-allowed}
.spa-booking .spa-back{background:none;color:var(--cal);border:0;text-decoration:underline;padding:10px 0}
.spa-booking-calendar{border-top:1px solid rgba(243,241,236,.4);padding-top:15px}
.spa-booking-month{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}
.spa-booking-month button{background:none;border:1px solid rgba(243,241,236,.5);color:var(--cal);width:40px;height:40px}
.spa-booking-month button:disabled{opacity:.38}
.spa-booking-weekdays,.spa-booking-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.spa-booking-weekdays{margin-bottom:6px}
.spa-booking-days button{border:1px solid transparent;color:var(--cal);background:rgba(243,241,236,.07);min-width:0;min-height:42px;font-size:14px}
.spa-booking-days button:hover,.spa-booking-days button:focus-visible{border-color:var(--cal)}
.spa-booking-days button[aria-pressed="true"]{background:var(--cal);color:var(--petroleo)}
.spa-booking-days button:disabled{opacity:.37;background:none;cursor:not-allowed}
.spa-booking-days button.spa-outside{visibility:hidden}
.spa-booking-closed{margin:12px 0 24px;font-size:13px;line-height:1.4;color:var(--cal-2)}
.spa-booking-hours{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.spa-booking-hours button,.spa-booking-persons button{border:1px solid rgba(243,241,236,.5);background:transparent;color:var(--cal);min-height:44px;padding:9px;font-size:15px}
.spa-booking-hours button[aria-pressed="true"],.spa-booking-persons button[aria-pressed="true"]{background:var(--cal);color:var(--petroleo)}
.spa-booking-hours button:disabled{opacity:.42;text-decoration:line-through;cursor:not-allowed}
.spa-booking-persons{display:flex;gap:8px;margin:8px 0 24px}
.spa-booking-persons button{min-width:130px}
.spa-booking-note{font-size:13px;color:var(--cal-2);margin:12px 0 24px}
.spa-booking-summary{border-top:1px solid rgba(243,241,236,.5);border-bottom:1px solid rgba(243,241,236,.5);padding:18px 0;margin:25px 0;font-size:16px;line-height:1.5}
.spa-booking-summary strong{display:block;font:400 28px/1.1 Karosa,serif;margin-bottom:9px}
.spa-booking-success{padding:32px 0}.spa-booking-success h3{font-size:clamp(45px,4vw,72px)}
.spa-booking-code{font:400 clamp(45px,5vw,78px)/1 Karosa,serif;letter-spacing:.03em;margin:25px 0}
.spa-booking-success a{display:inline-flex;margin-top:12px}
#booking-panel .spa-booking{background:var(--petroleo);padding-bottom:70px}
#booking-panel .spa-booking h3{font-size:40px}
#booking-panel .spa-booking-progress{font-size:9px}
@media(max-width:1023px){
  .spa-hero{min-height:650px}.spa-hero h1{font-size:clamp(90px,16vw,170px)}
  .spa-circuit-lead,.spa-treatments-heading{gap:5vw;grid-template-columns:6fr 4fr}
  .spa-circuit-tub{margin-top:150px}.spa-circuit-cabin{margin-top:150px}
  .spa-reserve{gap:5vw}
  .spa-visit-grid{gap:6vw}
  .spa-rules-inner{grid-template-columns:1fr 1fr}.spa-rules-inner a{grid-column:1/-1}
}
@media(max-width:767px){
  .page-spa h2{font-size:clamp(54px,12vw,88px)}
  .spa-section-top{font-size:9px!important}
  .spa-hero{height:100svh;min-height:650px}
  .spa-hero-image{object-position:58% center}
  .spa-hero-copy{padding-top:120px;padding-bottom:calc(85px + env(safe-area-inset-bottom))}
  .spa-hero h1{white-space:normal;font-size:clamp(92px,19vw,145px);line-height:.78;margin-bottom:44px}
  .spa-hero h1 em{display:block}
  .spa-kicker{font-size:9px!important;align-self:flex-start}
  .spa-hero-bottom{display:block;padding-top:12px}
  .spa-hero-bottom p{font-size:20px;line-height:1.25;max-width:330px;margin-bottom:20px}
  .spa-hero-side{display:none}
  .spa-circuit{padding-bottom:140px}
  .spa-circuit-lead,.spa-treatments-heading{display:block;margin:65px 0 50px}
  .spa-circuit-lead p,.spa-treatments-heading p{margin-top:26px;font-size:19px}
  .spa-circuit-grid{display:block}
  .spa-circuit-item{width:100%;margin:0 0 85px}
  .spa-circuit-item:last-child{margin-bottom:0}
  .spa-circuit-item:nth-child(even){width:82%;margin-left:auto}
  .spa-circuit-item:nth-child(3){width:77%}
  .spa-circuit-pool .spa-circuit-img{height:470px}
  .spa-circuit-tub .spa-circuit-img{height:410px}
  .spa-circuit-sauna .spa-circuit-img{height:420px}
  .spa-circuit-cabin .spa-circuit-img{height:470px}
  .spa-circuit-item figcaption{display:block}
  .spa-circuit-item figcaption strong{display:block;font-size:39px;margin:8px 0}
  .spa-circuit-item figcaption .mono:last-child{display:block;text-align:left}
  .spa-breath{min-height:75svh}
  .spa-breath h2{font-size:clamp(54px,12vw,80px)}
  .spa-treatments{padding-bottom:130px}
  .spa-filters{display:block}
  .spa-filters label{margin-top:28px;justify-content:space-between}
  .spa-filter-buttons button{font-size:14px;padding:8px 11px}
  .spa-treatment summary{grid-template-columns:22px minmax(0,1fr) 24px;gap:12px;min-height:100px;padding:18px 0}
  .spa-treatment-name{font-size:36px;grid-column:2;grid-row:1}
  .spa-treatment-index{grid-column:1;grid-row:1}
  .spa-treatment-plus{grid-column:3;grid-row:1}
  .spa-treatment-meta{grid-column:2;grid-row:2;font-size:9px!important}
  .spa-treatment-price{grid-column:2;grid-row:3;text-align:left}
  .spa-treatment-price small{display:inline;margin-left:5px}
  .spa-treatment-detail{display:block;padding:0 0 28px 34px}
  .spa-treatment-detail p{font-size:16px;margin-bottom:16px}
  .spa-reserve{display:block}
  .spa-reserve-intro{position:static;margin-bottom:80px}
  .spa-reserve-intro h2{margin:50px 0 26px}
  .spa-reserve-form{min-height:0}
  .spa-visit-grid{display:block;margin:65px 0 75px}
  .spa-visit-data{margin-top:58px}
  .spa-rules-inner{display:block}
  .spa-rules-inner p{margin-bottom:15px}
  .spa-booking-progress{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .spa-breath .spa-word{color:var(--cal)!important;opacity:1!important;filter:none!important;transform:none!important}
  .spa-treatment summary,.spa-treatment-plus,.spa-rules summary span:last-child{transition:none}
}
/* La pestaña compartida conserva el modo oscuro también desde otras páginas. */
.booking-panel:has(#tab-spa[aria-selected="true"]){background:var(--petroleo);color:var(--cal);--linea:rgba(243,241,236,.32)}
.booking-panel:has(#tab-spa[aria-selected="true"]) .booking-tabs [aria-selected="true"]{color:var(--cal);border-bottom-color:var(--agua)}
.booking-panel:has(#tab-spa[aria-selected="true"]) :focus-visible{outline-color:var(--cal)}
.booking-panel:has(#tab-spa[aria-selected="true"]) .booking-close,
.booking-panel:has(#tab-spa[aria-selected="true"]) .booking-tabs button{color:var(--cal)}
.booking-panel:has(#tab-spa[aria-selected="true"]) .booking-close:hover,
.booking-panel:has(#tab-spa[aria-selected="true"]) .booking-tabs button:hover{color:var(--agua)}

/* FIX-B: bounded photos, readable hero and booking controls in the spa's palette. */
.page-spa .section-pad{padding-top:clamp(4rem,9vw,8rem);padding-bottom:clamp(4rem,9vw,8rem)}
.page-spa main{overflow:clip}
.spa-hero-image{inset:76px 0 auto auto;width:min(58vw,1280px);height:min(calc(100% - 76px),853px);object-position:70% center}
.spa-hero::after{inset:auto 0 0;height:62%;background:linear-gradient(to top,rgba(7,27,30,.96),rgba(7,27,30,.88) 35%,transparent 100%)}
.spa-hero .spa-hero-copy{padding-top:130px;padding-bottom:clamp(38px,5vw,72px)}
.spa-kicker{align-self:flex-start;padding:8px 0}
.spa-hero-side{display:none}
.spa-circuit-lead{margin:clamp(3rem,6vw,6rem) 0}
.spa-circuit-tub{margin-top:100px}
.spa-circuit-cabin{margin-top:130px}
.spa-breath{min-height:70svh}
.spa-treatments-heading{margin:clamp(3rem,6vw,6rem) 0 40px}
.spa-filters{align-items:start;gap:24px}
.spa-duration-filter{max-width:380px}
.spa-filters .spa-filter-buttons button{min-height:44px;transition:none}
.spa-reserve{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6vw}
.spa-reserve-intro h2{margin-top:44px}
.spa-reserve-form{min-height:0}
.spa-visit-grid{margin:clamp(3rem,6vw,6rem) 0 64px}
.spa-booking .spa-next:disabled,.spa-booking .spa-submit:disabled{opacity:.4;background:var(--cal);color:var(--petroleo)}
.spa-booking button:disabled{opacity:.4;cursor:not-allowed}
.spa-treatment-choices{display:flex;flex-direction:column;gap:8px}
.spa-treatment-choices>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;width:100%;background:transparent;border:1px solid rgba(127,184,168,.6);color:var(--cal);text-align:left;min-height:96px;padding:18px 16px}
.spa-choice-name{grid-column:1/-1;font:400 clamp(27px,2.5vw,34px)/1.12 Karosa,serif;letter-spacing:-.015em}
.spa-choice-data{font-size:9px!important;color:var(--cal-2)}
.spa-choice-price{font-size:12px!important;text-align:right;align-self:center}
.spa-treatment-choices>button:hover{border-color:var(--agua)}
.spa-treatment-choices>button[aria-checked="true"]{border-color:var(--agua);box-shadow:inset 3px 0 var(--agua),inset 0 -1px var(--agua);background:var(--petroleo-2)}
.spa-booking-calendar{background:var(--cal);color:var(--tinta);padding:16px;border-top:0;margin:12px 0}
.spa-booking-month strong{font:400 27px Karosa,serif;text-transform:none}
.spa-booking-month button{color:var(--tinta);border-color:var(--tinta-2);width:44px;height:44px}
.spa-booking-days button{background:transparent;color:var(--tinta);font:400 13px Monoblock,monospace;min-height:44px}
.spa-booking-days button[aria-pressed="true"]{background:var(--tinta);color:var(--cal)}
.spa-booking-days button:hover:not(:disabled),.spa-booking-days button:focus-visible{border-color:var(--rojo)}
.spa-booking-calendar :focus-visible{outline-color:var(--rojo)!important}
.spa-booking-days button:disabled{opacity:.4;color:var(--tinta-2);background:transparent}
.spa-booking-hours button:disabled{opacity:.4;text-decoration:line-through;background:transparent}
.spa-guest-field{margin:24px 0!important}
.spa-guest-field legend{font-size:15px;margin-bottom:10px}
.spa-guest-choices{display:flex;gap:8px}
.spa-guest-choices button{min-width:88px;min-height:44px;background:transparent;border:1px solid var(--agua);color:var(--cal);padding:10px 18px}
.spa-guest-choices [aria-checked="true"]{background:var(--cal);color:var(--petroleo);border-color:var(--cal)}
body.page-spa[data-nav-theme="dark"] .mobile-book-bar{background:var(--petroleo);color:var(--cal);border-top:1px solid var(--agua)}
body.page-spa[data-nav-theme="dark"] .mobile-book-bar button{color:var(--cal);border-color:rgba(243,241,236,.35)}
body.page-spa[data-nav-theme="dark"] .mobile-book-bar :focus-visible{outline-color:var(--cal)}
@media(max-width:1023px){
  .spa-hero h1{font-size:clamp(90px,15vw,160px)}
  .spa-reserve{grid-template-columns:1fr 1.3fr;gap:4vw}
  .spa-filters{flex-wrap:wrap}
  .spa-circuit-pool .spa-circuit-img{height:clamp(400px,48vw,650px)}
}
@media(max-width:767px){
  .spa-hero-image{inset:auto 0 0;width:100%;height:min(100%,853px);object-position:79% 100%}
  .spa-hero::after{height:67%;background:linear-gradient(to top,rgba(7,27,30,.98),rgba(7,27,30,.9) 52%,transparent 100%)}
  .spa-hero .spa-hero-copy{padding-top:100px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .spa-hero h1{font-size:clamp(88px,22vw,136px);margin-bottom:32px;line-height:.85}
  .spa-hero-bottom p{font-size:18px;max-width:32ch}
  .spa-circuit-item{margin-bottom:54px}
  .spa-circuit-tub,.spa-circuit-cabin{margin-top:0}
  .spa-reserve{display:block}
  .spa-reserve-intro{margin-bottom:42px}
  .spa-visit-grid{margin-bottom:48px}
  .spa-booking-progress{font-size:8px!important;gap:7px}
  .spa-treatment-choices>button{padding:16px 13px;min-height:100px}
  .spa-choice-name{font-size:29px}
  .spa-booking-calendar{padding:12px 8px}
}
@media(prefers-reduced-motion:reduce){.spa-booking *{scroll-behavior:auto}}
.page-spa .site-header{background:var(--petroleo);color:var(--cal)}
.spa-circuit-grid{max-width:1900px;margin-inline:auto}

.spa-booking button:disabled{opacity:1;background:var(--cal);color:var(--tinta-2);border-color:var(--linea)}
.spa-booking .spa-next:disabled,.spa-booking .spa-submit:disabled{opacity:1;background:var(--cal);color:var(--tinta-2);border-color:var(--linea)}
