:root {
  --hs-ink:#1b3b68;--hs-cream:#faf8f5;--hs-tint:#ede7df;--hs-rule:#ddd4c7;--hs-foot:#172f54;--hs-base:#10233f;--hs-gold:#e7ba91;
  --mn-font:Inter,Arial,Helvetica,sans-serif;
}
body.hsmn-public,body.mn-private {display:flex;flex-direction:column;min-height:100vh;min-height:100svh;margin:0;background:var(--hs-cream);color:var(--hs-ink);font:400 var(--mn-c1)/1.55 var(--mn-font);letter-spacing:normal;}
.hsmn-inner {width:90%;max-width:75rem;margin-inline:auto;box-sizing:border-box;}
.hsmn-sr,.hsmn-skip:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;}
.hsmn-skip:focus {position:fixed;z-index:99999;inset:1rem auto auto 1rem;background:#fff;padding:1rem;color:var(--hs-ink);}
.hsmn-public .joinchat {display:none!important;}
.hsmn-header {background:#fff;border-bottom:1px solid #e8e3dc;}
.hsmn-header .hsmn-inner,.hsmn-footrow {display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.hsmn-header .hsmn-inner {padding-block:clamp(.7rem,1.1vw,1.15rem);}
.hsmn-header a,.hsmn-footer a,.hsmn-main a {color:inherit;}
.hsmn-brand,.hsmn-footlogo {display:block;line-height:0;}
.hsmn-header .hsmn-brand {flex:0 1 17.25rem;min-width:0;}
.hsmn-header .hsmn-brand svg {display:block;width:100%;height:auto;aspect-ratio:23/6;}
.hsmn-header nav {flex:none;}
@media(max-width:55rem){.hsmn-header .hsmn-brand {flex-basis:14.375rem;}}
@media(max-width:38rem){.hsmn-header .hsmn-brand {flex-basis:11.5rem;}}
@media(max-width:23rem){
  .hsmn-header .hsmn-inner {width:96%;}
  .hsmn-header .hsmn-account {padding-inline:0;gap:.3rem;font-size:calc(.875rem * var(--hs-type-scale));}
  .hsmn-header .hsmn-account svg {width:1.05rem;}
}
.hsmn-account {display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;font-size:calc(.94rem * var(--hs-type-scale));font-weight:600;text-decoration:none!important;padding:0 .7rem;border-radius:2rem;white-space:nowrap;}
.hsmn-account:hover {background:#f1eee9;}.hsmn-account svg {width:1.2rem;}
.hsmn-main {flex:1;}.hsmn-home {display:grid;align-content:center;padding-block:clamp(2rem,5vw,5rem);}
.hsmn-home.hsmn-inner {position:relative;isolation:isolate;flex:1 0 auto;width:100%;max-width:none;overflow:hidden;background:#edf3f2;}
.hsmn-water {position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;}
.hsmn-water img,.hsmn-water video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;max-width:none;}
.hsmn-water video {opacity:0;}
.hsmn-water video[data-ready] {opacity:1;}
.hsmn-water::after {content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(250,248,245,.59),rgba(248,247,244,.33) 55%,rgba(247,245,240,.50));}
.hsmn-home .hsmn-grid .hsmn-tile {background-color:rgba(255,255,255,.92);}
.hsmn-home .hsmn-grid .hsmn-tile:hover,.hsmn-home .hsmn-grid .hsmn-tile:focus-visible {background-color:#f3ece2;}
.hsmn-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1.3rem);}
.hsmn-grid .hsmn-tile {position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(.8rem,2vw,1.8rem);padding:clamp(1rem,2vw,1.6rem);min-height:clamp(8rem,11vw,10.8rem);box-sizing:border-box;border:1px solid #e5dfd7;border-radius:1rem;color:var(--hs-ink);background:#fff;box-shadow:0 4px 16px rgba(31,40,55,.065);text-decoration:none;font-weight:600;line-height:1.3;transition:transform .18s,background-color .18s,box-shadow .18s,border-color .18s;}
.hsmn-tile-icon {display:block;line-height:0;color:var(--hs-ink);}
.hsmn-tile-icon svg {width:1.7rem;height:1.7rem;}
.hsmn-tile-label {padding-right:1.35rem;font-size:calc(clamp(1rem,1.35vw,1.16rem) * var(--hs-type-scale));}
.hsmn-arrow {position:absolute;right:clamp(.8rem,1.4vw,1.2rem);bottom:clamp(1rem,2vw,1.6rem);width:1.1rem;display:flex;}
.hsmn-tile:hover,.hsmn-tile:focus-visible {transform:translateY(-3px);background:#f3ece2;color:var(--hs-ink);border-color:#bd9776;box-shadow:0 7px 20px rgba(31,40,55,.13);}
.hsmn-public :focus-visible,.hsmn-footer :focus-visible,.hsmn-header :focus-visible {outline:3px solid #a26337;outline-offset:3px;}
.hsmn-detail {padding-block:clamp(1.5rem,4vw,3.5rem);}.hsmn-detail>p,.hsmn-detail>h2 {max-width:48rem;}
.hsmn-detail {min-width:0;overflow-wrap:anywhere;}
.hsmn-detail h1 {font:600 var(--mn-t1)/1.16 var(--mn-font);letter-spacing:-.015em;color:var(--hs-ink);margin:1rem 0;}
.hsmn-detail :is(h2,h3) {font:600 var(--mn-t2)/1.25 var(--mn-font);letter-spacing:normal;color:var(--hs-ink);}
.hsmn-detail h2 {margin-top:1.8em;}
.hsmn-detail :is(.hsmn-back,small,.mn-c2) {font:400 var(--mn-c2)/1.5 var(--mn-font);}
.hsmn-back {align-self:flex-start;text-decoration:underline;text-underline-offset:.2em;}
.hsmn-public [data-hsmn-single]>.rsp-areas {display:none!important;}.hsmn-public .rsp-widget {max-width:48rem;}
.hsmn-public .rsp-stage {background:#fff;border:1px solid #e4ddd3;border-radius:1rem;padding:clamp(1rem,2vw,1.7rem);margin-block:1rem;}
.hsmn-stay {max-width:38rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.hsmn-stay label {display:grid;gap:.3rem;}.hsmn-stay input,.hsmn-stay button {box-sizing:border-box;width:100%;min-width:0;min-height:2.75rem;border:1px solid var(--hs-rule);border-radius:.45rem;padding:.6rem;font:inherit;}
.hsmn-stay button {color:#fff;background:var(--hs-ink);cursor:pointer;font-weight:600;}
footer.hsmn-footer {color:#fff;background:var(--hs-foot);padding:0;border:0;margin:0;width:100%;font:400 calc(.9rem * var(--hs-type-scale))/1.45 Inter,Arial,sans-serif;}
.hsmn-footgrid {display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1rem,4vw,4rem);padding-block:clamp(1.1rem,2vw,1.8rem);}
.hsmn-footlogo img {width:clamp(12rem,22vw,18.25rem);max-width:100%;height:auto;margin:0 0 .65rem;display:block;}
.hsmn-footer address {margin:0;font-style:normal;display:grid;gap:.25rem;}
.hsmn-footer address span {display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.hsmn-footer address svg {width:.95rem;height:.95rem;flex:none;color:var(--hs-gold);}
.hsmn-footer a {text-decoration:none;}.hsmn-footer a:hover,.hsmn-footer a:focus-visible {color:#fff;text-decoration:underline;}
.hsmn-footer :focus-visible {outline-color:var(--hs-gold);}
.hsmn-footer .hsmn-offers h2 {font:600 calc(.92rem * var(--hs-type-scale))/1.4 Inter,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--hs-gold);margin:0 0 .35rem;}
.hsmn-offers p,.hsmn-footbase p {margin:0 0 .55rem;}
.hsmn-offerbar {display:flex;gap:.5rem;max-width:28rem;}.hsmn-offerform {margin:0;}
.hsmn-offerform input[type=email] {box-sizing:border-box;flex:1;width:100%;min-width:0;border:1px solid #ece6de;background:white;color:#162c48;padding:.5rem .75rem;border-radius:.3rem;font:inherit;min-height:2.75rem;}
.hsmn-offerform button {font:600 calc(.88rem * var(--hs-type-scale)) Inter,Arial,sans-serif;padding:.55rem .9rem;min-height:2.75rem;border:0;border-radius:.3rem;color:#142a49;background:var(--hs-gold);cursor:pointer;}
.hsmn-consent {font-size:max(.75rem,calc(.8rem * var(--hs-type-scale)));display:flex;align-items:center;gap:.45rem;margin:.5rem 0 0;}.hsmn-consent input {width:1rem;height:1rem;margin:0;}.hsmn-consent a {text-decoration:underline;}
.hsmn-footbase {background:var(--hs-base);padding-block:.7rem;}
.hsmn-footrow {font-size:max(.75rem,calc(.79rem * var(--hs-type-scale)));}.hsmn-footrow p {margin:0 0 .15rem;}.hsmn-footrow nav {display:flex;flex-wrap:wrap;gap:.2rem .85rem;}
.hsmn-footrow .hsmn-social {gap:0;}.hsmn-social a {display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;}.hsmn-social svg {width:1.12rem;height:1.12rem;}.hsmn-social a:hover {background:#294464;}
body.mn-private main.mn-app.hsmn-detail {flex:1 0 auto;min-height:0;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) 0;width:90%;max-width:75rem;}
@media(max-width:55rem){.hsmn-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hsmn-tile{min-height:7rem;}.hsmn-footgrid{grid-template-columns:1.15fr 1fr;}}
@media(max-width:38rem){.hsmn-footgrid,.hsmn-stay{grid-template-columns:1fr;}.hsmn-footrow{flex-wrap:wrap;gap:.15rem;}.hsmn-offerbar{max-width:100%;}.hsmn-header .hsmn-inner{gap:.35rem;}.hsmn-account{padding-inline:.35rem;}.hsmn-home{padding-block:1.6rem;}}
@media(max-width:32rem){.hsmn-grid{grid-template-columns:1fr;gap:.63rem;}.hsmn-grid .hsmn-tile{flex-direction:row;align-items:center;justify-content:start;min-height:3.8rem;gap:.8rem;padding:.8rem 2.5rem .8rem 1rem;border-radius:.75rem;}.hsmn-tile-icon svg{width:1.35rem;height:1.35rem;}.hsmn-arrow{top:50%;bottom:auto;transform:translateY(-50%);}.hsmn-tile-label{padding:0;}}
@media(prefers-reduced-motion:reduce){.hsmn-tile{transition:none!important;transform:none!important;}}

/* Rejillas, controles y navegación comparten los límites del contenedor. */
.hsmn-detail :where(form,fieldset,label,input,select,textarea,button),
.hsmn-footgrid > *, .hsmn-footrow > *, .hsmn-stay > * {
  box-sizing:border-box;min-inline-size:0;max-inline-size:100%;
}
.hsmn-footer {overflow-wrap:anywhere;}
.hsmn-offerbar {flex-wrap:wrap;}
.hsmn-offerbar input[type=email] {flex:1 1 10rem;}
.hsmn-consent input {flex:none;}
.hsmn-public .rsp-widget .rsp-steps {flex-wrap:wrap;}
.hsmn-public .rsp-stage :is(.rsp-month-head,.rsp-day) h4 {font-size:calc(1.06rem * var(--hs-type-scale));}
.hsmn-public .rsp-stage .rsp-month-head button {font-size:calc(1.35rem * var(--hs-type-scale));}
.hsmn-public .rsp-stage .rsp-day h5 {font-size:calc(.99rem * var(--hs-type-scale));}
.hsmn-public .rsp-stage :is(.rsp-hour,.rsp-test-note) {font-size:calc(.92rem * var(--hs-type-scale));}
.hsmn-public .rsp-stage :is(.rsp-month-jump select,.rsp-steps) {font-size:max(.75rem,calc(.83rem * var(--hs-type-scale)));}
.hsmn-public .rsp-weekday {font-size:max(.75rem,calc(.82rem * var(--hs-type-scale)));}
.hsmn-public .rsp-legend span {font-size:max(.75rem,calc(.77rem * var(--hs-type-scale)));}
.hsmn-public .rsp-stage :is(input,select,button), .mn-app button {white-space:normal;overflow-wrap:anywhere;}
.hsmn-public .rsp-stage .rsp-month {box-sizing:border-box;max-inline-size:100%;}
.hsmn-public .hsmn-tile-label {min-width:0;overflow-wrap:anywhere;}

/* El motor de reservas sirve la cuenta y la intranet fuera de Avada. */
html:has(> body.mn-private) {overflow-y:scroll;}
body.mn-private .hsmn-header {display:block;}
body.mn-private .hsmn-footer {margin:0;border:0;padding:0;color:#fff;font:400 calc(.9rem * var(--hs-type-scale))/1.45 var(--mn-font);}
body.mn-private .hsmn-footer a {color:inherit;}
body.mn-private .hsmn-consent input {min-height:0;padding:0;}
body.mn-private .hsmn-detail {font:400 var(--mn-c1)/1.55 var(--mn-font);}
body.mn-private .hsmn-detail h1 {font:600 var(--mn-t1)/1.16 var(--mn-font);color:var(--hs-ink);}
body.mn-private .hsmn-detail :is(h2,h3,h4) {font:600 var(--mn-t2)/1.25 var(--mn-font);color:var(--hs-ink);}
body.mn-private .hsmn-detail :is(.hsmn-back,small,.mn-c2,.rsp-facts dt,.rsp-occ) {font:400 var(--mn-c2)/1.5 var(--mn-font);}
body.mn-private .hsmn-detail :is(.mn-form,.mn-account-entry,details,article) {max-width:min(100%,48rem);}
body.mn-private .mn-account-entry {margin:0;width:min(100%,34rem);}
body.mn-private .mn-app .mn-form,body.mn-private .mn-app > :is(details,article) {
  padding:clamp(1rem,2vw,1.7rem);border-color:var(--hs-rule);border-radius:.75rem;
}
body.mn-private .mn-app .rsp-staff details {max-width:100%;}
.mn-app :where(section,article,details,.rsp-staff,.rsp-columns > *,.rsp-form > *,.rsp-phase > *) {min-inline-size:0;}
.mn-app .mn-form button {max-width:100%;justify-self:start;}
.mn-app :is(.mn-account-nav,.rsp-staff > nav) {display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:stretch;}
.mn-app :is(.mn-account-nav,.rsp-staff > nav) a {
  display:flex;align-items:center;min-height:2.75rem;padding:.35rem .75rem;box-sizing:border-box;
  color:var(--hs-ink);border-radius:.35rem;max-inline-size:100%;
}
.mn-app :is(.mn-account-nav,.rsp-staff > nav) a:is(:hover,:focus-visible) {background:#f3ece2;}
.mn-app .rsp-staff > nav {border:0;border-bottom:1px solid var(--hs-rule);padding:.3rem 0;background:transparent;}
.mn-app .rsp-staff > nav a[aria-current] {box-shadow:inset 0 -2px #a66f42;}
.mn-app .rsp-staff {--ink:var(--hs-ink);--border:var(--hs-rule);color:var(--hs-ink);}
.mn-app .rsp-staff section {padding:clamp(.85rem,2vw,1.6rem);border-radius:.75rem;}
.mn-app .rsp-staff :is(input:not([type=checkbox]),select,textarea,.button) {
  box-sizing:border-box;min-width:0;max-width:100%;min-height:2.75rem;font:inherit;
}
.mn-app .rsp-staff .rsp-slot {white-space:normal;}
.mn-app .rsp-staff :is(.rsp-filter,.rsp-line) > label {flex:1 1 10rem;min-inline-size:min(100%,8rem);}
.mn-app .rsp-staff .rsp-phase {grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));}
.mn-app .rsp-staff .rsp-phase label {grid-column:auto;}
.mn-app .rsp-staff :is(.rsp-time-scroll,.rsp-permission-scroll) {max-inline-size:100%;}
.mn-app .hsmn-cell-label {display:none;}
@media (max-width:55rem) {
  .mn-app .rsp-staff .rsp-columns {grid-template-columns:minmax(0,1fr);}
  .mn-app .rsp-staff :is(.rsp-filter,.rsp-line,.rsp-cal-nav) {align-items:stretch;}
  .mn-app .rsp-staff table.hsmn-records {display:block;min-width:0;max-width:100%;font-size:var(--mn-c1);}
  .mn-app .rsp-staff .rsp-week-editor:not(.hsmn-records) {display:block;overflow-x:auto;}
  .mn-app .hsmn-records > :is(caption,tbody) {display:block;width:100%;box-sizing:border-box;}
  .mn-app .hsmn-records > caption {text-align:start;padding-block:.65rem;}
  .mn-app .hsmn-records > thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  .mn-app .hsmn-records > tbody > tr {display:grid;gap:.45rem;padding:.75rem;margin-block:.6rem;border:1px solid var(--hs-rule);border-radius:.55rem;}
  .mn-app .rsp-staff .hsmn-records tbody :is(th,td) {display:block;min-width:0;text-align:start;border:0;padding:.15rem 0;}
  .mn-app .hsmn-records .hsmn-cell-label {display:block;color:#46596f;font:600 var(--mn-c2)/1.5 var(--mn-font);}
  .mn-app .hsmn-records input:not([type=checkbox]) {width:100%;min-width:0;}
  /* Los enlaces de fecha siguen accesibles con teclado en la vista semanal. */
  .mn-app .hsmn-records.hsmn-calendar-links > thead {position:static;display:block;width:100%;height:auto;overflow:visible;clip-path:none;}
  .mn-app .hsmn-calendar-links > thead > tr {display:flex;flex-wrap:wrap;gap:.25rem;}
  .mn-app .rsp-staff .hsmn-calendar-links thead th {padding:0;border:0;background:none;}
  .mn-app .hsmn-calendar-links thead th:first-child {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  .mn-app .hsmn-calendar-links thead a {display:inline-block;padding:.45rem .55rem;background:#edf2f6;border-radius:.35rem;}
}
@media (max-width:32rem) {
  .mn-app .rsp-staff > nav {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));}
  .mn-app .rsp-staff > nav a {padding-inline:.5rem;}
  .mn-app .rsp-staff .rsp-filter > label {flex-basis:100%;}
  .hsmn-footer .hsmn-footgrid {grid-template-columns:minmax(0,1fr);}
}
