/* Calendario único de reservas. Reutiliza site.css, detailing.css, mantenimiento.css y nieve.css */
.svc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.svc-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #060608; border: 1px solid var(--line); border-radius: .9rem; transition: border-color .15s; }
.svc-card:hover { border-color: #fff; }
.svc-card.on { border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
.svc-pick { display: grid; padding: 0; background: none; color: #fff; border: 0; cursor: pointer; text-align: left; font: inherit; }
.svc-pick img { width: 100%; height: 6.5rem; object-fit: cover; }
.svc-pick strong { padding: .6rem .8rem .2rem; font-size: 1.15rem; font-weight: 600; line-height: 1.15; }
.svc-pick span { padding: 0 .8rem .6rem; color: var(--muted); font-size: .98rem; font-weight: 400; line-height: 1.2; }
.svc-card a { min-height: 2.75rem; padding: .55rem .8rem; margin-top: auto; color: #fff; font-size: .98rem; }
.config-note { display: grid; gap: .3rem; margin-bottom: .8rem; }

.cal-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .5rem; }
.cal-head strong { font: 600 1.3rem var(--display); text-transform: capitalize; }
.cal-nav { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; background: #060608; color: #fff; border: 1px solid var(--line); border-radius: .55rem; cursor: pointer; font-size: 1.2rem; }
.cal-nav:disabled { opacity: .35; cursor: default; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .3rem; }
.cal-dow { padding: .2rem 0; color: var(--muted); font-size: .9rem; text-align: center; text-transform: capitalize; }
.cal-day { position: relative; min-height: 3rem; padding: 0; background: #060608; color: #fff; border: 1px solid var(--line-soft); border-radius: .5rem; cursor: pointer; font-size: 1.08rem; font-weight: 600; }
.cal-day:hover:not(:disabled) { border-color: #fff; }
.cal-day:disabled { background: none; border-color: transparent; color: #55565f; cursor: default; font-weight: 400; }
.cal-day[aria-pressed="true"] { background: #f7f7f8; color: #09090b; border-color: #fff; }
.cal-day i { position: absolute; top: .15rem; right: .3rem; color: var(--red); font-size: .8rem; font-style: normal; font-weight: 700; }
.chosen-dates { display: flex; flex-wrap: wrap; gap: .4rem; margin: .7rem 0 0; }
.chosen-dates span { padding: .25rem .7rem; background: #060608; border: 1px solid var(--line); border-radius: 999px; font-size: 1rem; text-transform: capitalize; }
.time-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr)); gap: .4rem; }
.time-grid .window-btn { padding: 0 .3rem; }
.custom-time { max-width: 12rem; margin-top: .5rem; }
.custom-time input { color-scheme: dark; }
.done-refs { font-size: 1.15rem; }

@media (max-width: 860px) {
  .svc-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .svc-pick img { height: 5rem; }
  .cal-day { min-height: 2.75rem; }
}
.secondary-link { min-height: 2.75rem; margin-top: .6rem; padding: 0; background: none; color: #fff; border: 0; cursor: pointer; font-size: 1.02rem; text-decoration: underline; }

/* Próximamente */
.svc-card.is-soon:hover { border-color: var(--line); }
.svc-card.is-soon .svc-pick { cursor: default; }
