/* Agenda pública Leveling · experiencia mensual premium adaptativa */
.agenda-section {
  --booking-night: #12110e;
  --booking-night-soft: #211d16;
  --booking-gold: #d9ad57;
  --booking-gold-bright: #f1cf83;
  --booking-cream: #f6f1e7;
  --booking-line: rgba(170, 121, 38, .24);
}

.booking-app {
  position: relative;
  isolation: isolate;
  border-color: rgba(174, 127, 47, .22);
  background:
    radial-gradient(circle at 8% 0, rgba(222, 177, 84, .09), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,239,229,.98));
  box-shadow: 0 30px 80px rgba(40, 29, 12, .12), inset 0 1px rgba(255,255,255,.9);
}

.wizard-progress {
  border-bottom-color: rgba(126, 91, 31, .13);
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(247,242,232,.68));
}

.wizard-progress button.active span,
.wizard-progress button.complete span {
  border-color: rgba(226, 183, 94, .55);
  background: linear-gradient(145deg, #171612, #2a251b);
  color: var(--booking-gold-bright);
  box-shadow: 0 8px 22px rgba(48, 35, 14, .19), inset 0 0 14px rgba(226, 183, 94, .08);
}

.schedule-picker {
  grid-template-columns: minmax(0, 1.13fr) minmax(300px, .87fr);
  gap: 18px;
}

.booking-calendar-card,
.booking-times-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--booking-line);
  border-radius: 24px;
  box-shadow: 0 22px 54px rgba(43, 31, 12, .11), inset 0 1px rgba(255,255,255,.82);
  contain: paint;
}

.booking-calendar-card {
  padding: 22px;
  background:
    radial-gradient(circle at 90% -10%, rgba(224, 180, 91, .19), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.98), #f4eee2);
}

.booking-calendar-card::after,
.booking-times-card::after {
  position: absolute;
  z-index: 0;
  top: -42%;
  bottom: -42%;
  left: -34%;
  width: 22%;
  background: linear-gradient(90deg, transparent, rgba(255,235,181,.04), rgba(255,226,147,.35), rgba(195,138,43,.06), transparent);
  content: "";
  pointer-events: none;
  opacity: 0;
  transform: skewX(-18deg);
}

.booking-calendar-card > :not(.booking-card-stars),
.booking-times-card > :not(.booking-card-stars) { position: relative; z-index: 2; }

.booking-card-stars {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: none;
  overflow: hidden;
  pointer-events: none;
}

.booking-card-stars i {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #edc66f;
  box-shadow: 0 0 5px #f3d78f, 0 0 13px rgba(225,176,76,.65);
  opacity: .24;
}

.booking-card-stars i:nth-child(1) { top: 18%; left: 6%; }
.booking-card-stars i:nth-child(2) { top: 12%; right: 13%; width: 2px; height: 2px; }
.booking-card-stars i:nth-child(3) { right: 6%; bottom: 27%; }
.booking-card-stars i:nth-child(4) { bottom: 12%; left: 18%; width: 2px; height: 2px; }
.booking-time-stars i { background: #f4d994; }

.booking-calendar-header {
  align-items: center;
  margin-bottom: 13px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(93, 67, 25, .1);
}

.booking-calendar-header small,
.booking-times-header small {
  color: #916824;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
}

.booking-calendar-header strong { color: #252016; font-size: 20px; }
.booking-calendar-header > span {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(163, 116, 37, .2);
  background: rgba(255,255,255,.68);
  color: #725522;
  font-size: 11px;
}

.booking-calendar-navigation {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 44px;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  padding: 8px;
  border: 1px solid rgba(225, 181, 91, .18);
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% -40%, rgba(224,177,80,.17), transparent 55%),
    linear-gradient(120deg, #11110e, #242016);
  box-shadow: 0 13px 28px rgba(30,23,12,.14), inset 0 1px rgba(255,255,255,.04);
}

.booking-calendar-navigation button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(232, 193, 115, .24);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
  color: #efca79;
  cursor: pointer;
  font-size: 17px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.booking-calendar-navigation button:hover:not(:disabled) {
  border-color: rgba(239, 202, 121, .7);
  background: rgba(224, 177, 80, .13);
  box-shadow: 0 0 18px rgba(215,164,67,.12);
  transform: translateY(-1px);
}

.booking-calendar-navigation button:disabled { cursor: default; opacity: .23; }
.booking-calendar-navigation p { display: grid; gap: 2px; min-width: 0; margin: 0; text-align: center; }
.booking-calendar-navigation small { color: rgba(255,255,255,.58); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.booking-calendar-navigation strong { overflow: hidden; color: #f3d18a; font-family: Georgia,"Times New Roman",serif; font-size: 15px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }

.booking-calendar-weekdays,
.booking-calendar-grid { gap: 5px; }
.booking-calendar-weekdays { margin-bottom: 7px; padding: 0 2px; }
.booking-calendar-weekdays span { color: #655d52; font-size: 11px; font-weight: 850; }
.booking-calendar-grid > i,
.booking-calendar-grid button { min-height: 62px; }

.booking-calendar-grid button {
  position: relative;
  gap: 2px;
  overflow: hidden;
  border: 1px solid rgba(67, 52, 27, .1);
  border-radius: 13px;
  background: rgba(255,255,255,.72);
  color: #29251e;
  box-shadow: inset 0 1px rgba(255,255,255,.8);
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.booking-calendar-grid button small { min-height: 12px; color: #786f63; font-size: 10px; }
.booking-calendar-grid button strong { font-size: 20px; }
.booking-calendar-grid button span { color: #6f675c; font-size: 9px; letter-spacing: .04em; }
.booking-calendar-grid button small,
.booking-calendar-grid button span { display: none !important; }
.booking-calendar-grid button.available::after {
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #c9963a;
  box-shadow: 0 0 8px rgba(201,150,58,.35);
  content: "";
}
.booking-calendar-grid button.today { box-shadow: inset 0 0 0 2px rgba(198,143,47,.23), inset 0 1px rgba(255,255,255,.8); }
.booking-calendar-grid button.available:hover {
  border-color: rgba(180, 129, 43, .55);
  background: #fffaf0;
  box-shadow: 0 11px 24px rgba(71,49,13,.1), inset 0 0 0 1px rgba(219,171,78,.08);
  transform: translateY(-2px);
}

.booking-calendar-grid button.outside-window {
  border-color: rgba(80, 68, 48, .05);
  background: rgba(226,221,211,.28);
  color: #aaa398;
  box-shadow: none;
  opacity: .52;
}
.booking-calendar-grid button.outside-window strong { font-size: 17px; font-weight: 500; }
.booking-calendar-grid button.outside-window span { opacity: .4; }

.booking-calendar-grid button.active {
  border-color: rgba(238, 199, 116, .72);
  background:
    radial-gradient(circle at 74% 4%, rgba(239,197,107,.2), transparent 37%),
    linear-gradient(145deg, #242016, #0f0f0d);
  color: #fff;
  box-shadow: 0 13px 28px rgba(29,23,13,.24), 0 0 0 2px rgba(210,157,60,.09), inset 0 0 20px rgba(229,181,86,.08);
  transform: translateY(-2px);
}
.booking-calendar-grid button.active strong { color: #fff; text-shadow: 0 0 15px rgba(242,207,132,.22); }
.booking-calendar-grid button.active small,
.booking-calendar-grid button.active span { color: #edc875; }
.booking-calendar-grid button.active::after { background: #f3d58d; box-shadow: 0 0 9px rgba(243,213,141,.72); }

.booking-calendar-selected {
  min-height: 54px;
  margin-top: 13px;
  border-color: rgba(170, 120, 36, .2);
  border-radius: 14px;
  background: linear-gradient(110deg, rgba(255,255,255,.84), rgba(239,230,210,.72));
  box-shadow: inset 0 1px rgba(255,255,255,.72);
}
.booking-calendar-selected > span { background: linear-gradient(145deg,#191813,#30291d); color: #eac573; box-shadow: 0 7px 17px rgba(36,27,13,.16); }
.booking-calendar-selected small { font-size: 11px; }
.booking-calendar-selected strong { color: #322c22; font-size: 14px; }

.booking-times-card {
  min-height: 100%;
  padding: 20px;
  border-color: rgba(226, 182, 91, .25);
  background:
    radial-gradient(circle at 84% 0, rgba(221,174,78,.17), transparent 33%),
    linear-gradient(145deg, #222018, #0e0e0c 72%);
  color: #fff;
  box-shadow: 0 25px 60px rgba(25,19,10,.22), inset 0 1px rgba(255,255,255,.04);
}

.booking-times-header {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(236, 196, 111, .14);
}
.booking-times-header small { color: #d6a94f; }
.booking-times-header strong { color: #fff; font-size: 20px; }
.booking-times-header > span { border-color: rgba(233,193,108,.24); background: rgba(219,171,75,.1); color: #efc979; }

.time-groups { gap: 18px; }
.time-group { gap: 9px; }
.time-group > div:first-child strong { color: #f0d394; font-size: 12px; }
.time-group > div:first-child small { color: rgba(255,255,255,.58); font-size: 11px; }
.booking-times-card .time-grid { gap: 8px; }
.booking-times-card .time-grid button {
  position: relative;
  min-height: 58px;
  overflow: hidden;
  border: 1px solid rgba(236, 197, 113, .15);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  color: #f7f3e9;
  box-shadow: inset 0 1px rgba(255,255,255,.035);
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.booking-times-card .time-grid button > span { color: inherit; font-size: 14px; letter-spacing: .015em; }
.booking-times-card .time-grid button > small { color: rgba(255,255,255,.58); font-size: 11px; }
.booking-times-card .time-grid button:hover {
  border-color: rgba(235, 196, 112, .55);
  background: rgba(224,177,80,.11);
  color: #f3d18b;
  box-shadow: 0 11px 26px rgba(0,0,0,.22), inset 0 0 18px rgba(224,177,80,.05);
  transform: translateY(-2px);
}
.booking-times-card .time-grid button.active {
  border-color: #edc873;
  background: linear-gradient(145deg, #f1d08b, #c99436);
  color: #16130d;
  box-shadow: 0 13px 30px rgba(211,155,51,.25), 0 0 25px rgba(229,181,87,.14), inset 0 1px rgba(255,255,255,.45);
  transform: translateY(-2px);
}
.booking-times-card .time-grid button.active > small { color: rgba(29,23,12,.62); }
.booking-times-card .time-grid button.active::after {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff7d5;
  box-shadow: 0 0 7px #fff1b8;
  content: "";
}

.booking-slots-skeleton { color: #fff; }
.booking-skeleton-status strong { color: #f0d394; }
.booking-skeleton-status small { color: rgba(255,255,255,.5); }
.booking-skeleton-time-grid i { border-color: rgba(235,196,111,.08); background: linear-gradient(105deg,rgba(255,255,255,.035) 22%,rgba(224,177,80,.12) 40%,rgba(255,255,255,.035) 58%); background-size: 240% 100%; }
.booking-slots-message { background: rgba(255,255,255,.045); color: rgba(255,255,255,.62); }
.booking-slots-message strong { color: #f0d394; }
.booking-slots-message small { color: rgba(255,255,255,.48); }
.booking-times-card .booking-resource-state.error { border-color: rgba(238,154,115,.25); background: rgba(102,42,24,.22); }
.booking-times-card .booking-resource-state p { color: rgba(255,255,255,.58); }
.booking-times-card .booking-resource-state strong { color: #fff; }

.selected-time-confirmation {
  border-color: rgba(238,198,114,.28);
  border-radius: 15px;
  background: linear-gradient(120deg, rgba(239,203,129,.15), rgba(255,255,255,.05));
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.selected-time-confirmation small { color: rgba(255,255,255,.46); }
.selected-time-confirmation strong { color: #f1d18c; }
.selected-time-confirmation .wizard-next { background: linear-gradient(145deg,#f0cf88,#c69234); color: #15120c; box-shadow: 0 10px 24px rgba(208,151,45,.22); }
.time-selection-prompt { color: rgba(255,255,255,.49); }
.time-selection-prompt span { color: #eac471; }

html.leveling-motion-ready .booking-card-stars { display: block; }
html.leveling-motion-ready .booking-card-stars i { animation: bookingPremiumSparkle 4.8s ease-in-out infinite; }
html.leveling-motion-ready .booking-card-stars i:nth-child(2) { animation-delay: -1.7s; }
html.leveling-motion-ready .booking-card-stars i:nth-child(3) { animation-delay: -3.1s; }
html.leveling-motion-ready .booking-card-stars i:nth-child(4) { animation-delay: -.8s; }
html.leveling-motion-ready .booking-calendar-card::after,
html.leveling-motion-ready .booking-times-card::after { animation: bookingPremiumSweep 9.5s cubic-bezier(.2,.65,.3,1) infinite; }
html.leveling-motion-ready .booking-times-card::after { animation-delay: -4.2s; }
html.leveling-motion-ready .booking-times-card .time-grid button.active::after { animation: bookingSelectedSpark 2.4s ease-in-out infinite; }

@keyframes bookingPremiumSparkle {
  0%, 100% { opacity: .16; transform: scale(.65); }
  48% { opacity: .88; transform: scale(1.35); }
}

@keyframes bookingPremiumSweep {
  0%, 24% { left: -34%; opacity: 0; }
  38% { opacity: .62; }
  58%, 100% { left: 126%; opacity: 0; }
}

@keyframes bookingSelectedSpark {
  0%,100% { opacity: .42; transform: scale(.72); }
  50% { opacity: 1; transform: scale(1.35); }
}

@media (max-width: 1120px) {
  .schedule-picker { grid-template-columns: 1fr; }
  .booking-times-card { min-height: 0; }
}

@media (max-width: 680px) {
  .booking-app { border-radius: 20px; box-shadow: 0 18px 46px rgba(40,29,12,.1); }
  .booking-calendar-card,
  .booking-times-card { padding: 14px; border-radius: 18px; }
  .booking-calendar-header { align-items: flex-start; gap: 8px; }
  .booking-calendar-header strong,
  .booking-times-header strong { font-size: 18px; }
  .booking-calendar-header > span { max-width: 170px; min-height: 36px; padding: 0 9px; font-size: 12px; line-height: 1.35; text-align: center; }
  .booking-calendar-navigation { grid-template-columns: 44px minmax(0,1fr) 44px; padding: 6px; }
  .booking-calendar-navigation button { width: 44px; height: 44px; }
  .booking-calendar-navigation small { font-size: 12px; }
  .booking-calendar-navigation strong { font-size: 15px; }
  .booking-calendar-weekdays,
  .booking-calendar-grid { gap: 3px; }
  .booking-calendar-grid > i,
  .booking-calendar-grid button { min-height: 51px; border-radius: 9px; }
  .booking-calendar-grid button strong { font-size: 17px; }
  .booking-calendar-grid button.outside-window strong { font-size: 15px; }
  .booking-calendar-selected { min-height: 50px; }
  .booking-calendar-selected small { font-size: 12px; }
  .booking-calendar-selected strong { font-size: 14px; }
  .booking-times-card .time-grid button { min-height: 55px; }
  .booking-times-card .time-grid button > span { font-size: 15px; }
  .booking-times-card .time-grid button > small { font-size: 11px; }
}

@media (max-width: 390px) {
  .booking-calendar-card,
  .booking-times-card { padding: 11px; }
  .booking-calendar-grid > i,
  .booking-calendar-grid button { min-height: 47px; }
  .booking-calendar-header > span { max-width: 132px; }
}

html.leveling-lite-mode .booking-app,
html.leveling-lite-mode .booking-calendar-card,
html.leveling-lite-mode .booking-times-card {
  box-shadow: none;
}
html.leveling-lite-mode .booking-card-stars { display: none !important; }
html.leveling-lite-mode .booking-calendar-card::after,
html.leveling-lite-mode .booking-times-card::after,
html.leveling-lite-mode .booking-times-card .time-grid button.active::after { animation: none !important; opacity: 0; }
html.leveling-lite-mode .booking-calendar-card,
html.leveling-lite-mode .booking-times-card { contain: layout paint; }
html.leveling-lite-mode .booking-calendar-grid button,
html.leveling-lite-mode .booking-times-card .time-grid button { transition-duration: .08s; }

@media (prefers-reduced-motion: reduce) {
  .booking-card-stars { display: none !important; }
  .booking-calendar-card::after,
  .booking-times-card::after,
  .booking-times-card .time-grid button.active::after { animation: none !important; opacity: 0; }
  .booking-calendar-grid button,
  .booking-times-card .time-grid button,
  .booking-calendar-navigation button { transition: none; }
}

/* AP4 · Concierge Leveling */
.booking-summary {
  align-self: stretch;
  border-left: 1px solid rgba(239,202,121,.16);
}

.booking-mobile-summary { display: none; }

.booking-recovery-banner {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 44px;
  align-items: center;
  gap: 12px;
  margin: -23px 0 26px;
  padding: 13px 14px;
  border: 1px solid rgba(171,121,36,.22);
  border-radius: 15px;
  background: linear-gradient(110deg,#fff9ec,#f1e4ca);
  color: #282117;
  box-shadow: 0 12px 28px rgba(54,38,11,.08), inset 0 1px rgba(255,255,255,.9);
}
.booking-recovery-banner > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #181713; color: #edc775; font-size: 18px; }
.booking-recovery-banner p { display: grid; gap: 3px; margin: 0; }
.booking-recovery-banner strong { font-size: 13px; }
.booking-recovery-banner small { color: #665d50; font-size: 12px; line-height: 1.45; }
.booking-recovery-banner button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(26,23,17,.07); color: #574c3a; cursor: pointer; font-size: 18px; }

.booking-concierge-fast {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  margin: -9px 0 18px;
  padding: 15px 17px;
  overflow: hidden;
  border: 1px solid rgba(224,181,92,.26);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% -30%,rgba(226,181,87,.2),transparent 38%),
    linear-gradient(118deg,#15140f,#282217);
  color: #fff;
  box-shadow: 0 18px 38px rgba(31,23,10,.16),inset 0 1px rgba(255,255,255,.055);
}
.booking-concierge-fast::after { position: absolute; top: -70%; bottom: -70%; left: -28%; width: 16%; background: linear-gradient(90deg,transparent,rgba(255,226,154,.38),transparent); content: ""; opacity: 0; pointer-events: none; transform: skewX(-18deg); }
.booking-concierge-fast > span { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(239,204,129,.28); border-radius: 15px; background: rgba(239,204,129,.08); color: #f0cc7b; font-size: 20px; box-shadow: inset 0 0 18px rgba(232,188,94,.08); }
.booking-concierge-fast > div { display: grid; gap: 3px; }
.booking-concierge-fast small { color: #d4a84f; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.booking-concierge-fast strong { font-family: Georgia,"Times New Roman",serif; font-size: 19px; font-weight: 400; }
.booking-concierge-fast p { margin: 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.45; }
.booking-concierge-fast > button { min-height: 44px; padding: 0 17px; border: 1px solid rgba(238,201,122,.36); border-radius: 999px; background: linear-gradient(145deg,#efd18b,#c48d31); color: #17130d; cursor: pointer; font-size: 11px; font-weight: 900; white-space: nowrap; box-shadow: 0 10px 23px rgba(202,145,45,.18); }
.booking-concierge-fast > button:disabled { cursor: wait; opacity: .72; }
.booking-concierge-fast > p { grid-column: 2 / -1; margin: 0; color: #f0bd9c; font-size: 12px; }

.booking-calendar-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px 14px; margin: 11px 0 -2px; color: #686055; font-size: 11px; }
.booking-calendar-legend span { display: inline-flex; align-items: center; gap: 5px; }
.booking-calendar-legend i { width: 7px; height: 7px; border-radius: 50%; background: #9f978b; }
.booking-calendar-legend i.open,
.booking-calendar-grid button.availability-open::after { background: #3f8a5d; box-shadow: 0 0 0 3px rgba(63,138,93,.11),0 0 8px rgba(63,138,93,.3); }
.booking-calendar-legend i.low,
.booking-calendar-grid button.availability-low::after { background: #c28b2f; box-shadow: 0 0 0 3px rgba(194,139,47,.11),0 0 8px rgba(194,139,47,.3); }
.booking-calendar-legend i.none,
.booking-calendar-grid button.availability-none::after { background: #a44d43; box-shadow: 0 0 0 3px rgba(164,77,67,.09); }
.booking-calendar-grid button.availability-none { background: rgba(235,229,218,.62); color: #827b70; }

.barber-skeletons { position: relative; }
.barber-skeletons > p { margin: 2px 0 0; color: #675f52; font-size: 12px; line-height: 1.45; text-align: center; }
.barber-grid .booking-any-barber {
  border-color: rgba(210,158,63,.34);
  background:
    radial-gradient(circle at 88% 0,rgba(225,179,87,.16),transparent 35%),
    linear-gradient(120deg,#201d16,#11110e);
  color: #fff;
  box-shadow: 0 13px 28px rgba(29,22,11,.15),inset 0 1px rgba(255,255,255,.045);
}
.barber-grid .booking-any-barber .barber-avatar { border-color: rgba(237,201,125,.3); background: rgba(226,178,82,.1); color: #f0c873; }
.barber-grid .booking-any-barber strong { color: #f7e6bd; }
.barber-grid .booking-any-barber small { color: rgba(255,255,255,.57); }
.barber-grid .booking-any-barber b { color: #efc875; }

html.leveling-motion-ready .booking-concierge-fast::after { animation: bookingPremiumSweep 8.8s cubic-bezier(.2,.65,.3,1) infinite; }

@media (max-width: 800px) {
  .booking-app { overflow: visible; }
  .wizard-main { overflow: clip; border-radius: 20px; }
  .booking-mobile-summary {
    position: sticky;
    z-index: 15;
    top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -18px 0 24px;
    padding: 11px 13px;
    border: 1px solid rgba(229,188,101,.25);
    border-radius: 14px;
    background: rgba(20,19,15,.96);
    color: #fff;
    box-shadow: 0 14px 34px rgba(22,17,9,.2);
  }
  @supports (backdrop-filter: blur(10px)) { .booking-mobile-summary { background: rgba(20,19,15,.9); backdrop-filter: blur(12px); } }
  .booking-mobile-summary > div { display: grid; gap: 2px; min-width: 0; }
  .booking-mobile-summary small { overflow: hidden; color: #e2bc6c; font-size: 11px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
  .booking-mobile-summary strong { overflow: hidden; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 550; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }
  .booking-mobile-summary > span { flex: 0 0 auto; color: #f1d08a; font-family: Georgia,"Times New Roman",serif; font-size: 15px; }
  .booking-recovery-banner { margin: -17px 0 26px; }
  .booking-concierge-fast { grid-template-columns: 42px minmax(0,1fr); padding: 14px; }
  .booking-concierge-fast > span { width: 40px; height: 40px; }
  .booking-concierge-fast > button { grid-column: 1 / -1; width: 100%; }
  .booking-concierge-fast > p { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .booking-recovery-banner { grid-template-columns: 34px minmax(0,1fr) 44px; padding: 11px; }
  .booking-recovery-banner > span { width: 32px; height: 32px; }
  .booking-recovery-banner strong { font-size: 12px; }
  .booking-recovery-banner small { font-size: 11px; }
  .booking-concierge-fast strong { font-size: 17px; }
  .booking-concierge-fast p { font-size: 11px; }
  .booking-calendar-legend { gap: 7px 10px; font-size: 10px; }
  .booking-calendar-grid button.available::after { right: 5px; bottom: 5px; }
}

html.leveling-lite-mode .booking-concierge-fast,
html.leveling-lite-mode .booking-mobile-summary { box-shadow: none; }
html.leveling-lite-mode .booking-concierge-fast::after { animation: none !important; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .booking-concierge-fast::after { animation: none !important; opacity: 0; }
}
