/* Reserva Tu Mesa — solo horario. Transparente para integrarse en la sección Elementor. */
.rtm-widget {
  --rtm-black: #050505;
  --rtm-white: #fff;
  width: 100%;
  box-sizing: border-box;
  background: transparent;
  color: var(--rtm-white);
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.rtm-widget *, .rtm-widget *::before, .rtm-widget *::after { box-sizing: border-box; }
.rtm-widget .rtm-inner { max-width: 780px; margin: 0 auto; text-align: center; }
.rtm-widget .rtm-days { display: flex; justify-content: center; gap: clamp(4px, 1.5vw, 15px); margin: 0 auto 30px; }
.rtm-widget .rtm-day {
  position: relative;
  background: transparent;
  color: var(--rtm-white);
  border: 1px solid transparent;
  border-radius: 3px;
  width: clamp(38px, 8.5vw, 66px);
  height: clamp(47px, 9vw, 68px);
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  appearance: none;
  font-size: clamp(19px, 3.3vw, 28px);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  line-height: 1;
  transition: background-color .16s ease, color .16s ease;
}
.rtm-widget .rtm-day:hover:not(.is-selected) { background: rgb(0 0 0 / 16%); color: #fff; }
.rtm-widget .rtm-day.is-selected,
.rtm-widget .rtm-day.is-selected:hover { background: var(--rtm-black); color: var(--rtm-white); }
.rtm-widget .rtm-day.is-closed .rtm-day-letter { text-decoration: line-through; text-decoration-thickness: 2px; opacity: .58; }
.rtm-widget .rtm-day.is-selected.is-closed .rtm-day-letter { opacity: 1; }
.rtm-widget .rtm-day:focus-visible { outline: 3px solid var(--rtm-white); outline-offset: 4px; }
.rtm-widget .rtm-schedules { min-height: 114px; display: flex; align-items: flex-start; justify-content: center; }
.rtm-widget .rtm-schedule-panel { width: 100%; }
.rtm-widget .rtm-schedule-panel[hidden] { display: none !important; }
.rtm-widget .rtm-selected-day { color: var(--rtm-white); font-size: 12px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; margin-bottom: 16px; }
.rtm-widget .rtm-time-groups { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px clamp(36px, 7vw, 82px); }
.rtm-widget .rtm-time-group { display: flex; align-items: center; flex-direction: column; gap: 10px; }
.rtm-widget .rtm-time-label { font-size: 14px; font-weight: 800; letter-spacing: .08em; color: var(--rtm-white); }
.rtm-widget .rtm-time-value { font-size: clamp(17px, 3vw, 23px); font-weight: 500; white-space: nowrap; letter-spacing: -.015em; }
.rtm-widget .rtm-closed-text { margin: 10px 0 0; color: #fff; font-size: clamp(23px, 4vw, 35px); font-weight: 800; letter-spacing: .04em; }
@media (max-width: 520px) {
  .rtm-widget .rtm-days { gap: 2px; margin-bottom: 25px; }
  .rtm-widget .rtm-day { width: min(12.8vw, 52px); height: 55px; }
  .rtm-widget .rtm-schedules { min-height: 138px; }
  .rtm-widget .rtm-time-groups { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { .rtm-widget .rtm-day { transition: none; } }
