/* First Route MTB — corrección del calendario de reservas en móvil
   En iPhone/Android los días se veían sin color: los botones heredaban el estilo nativo
   del sistema y algunos navegadores (modo oscuro forzado de Chrome/Samsung) apagaban
   los tonos pastel. Aquí se quita el estilo nativo, se impide el oscurecimiento y en
   pantallas pequeñas se usan colores más intensos. Cargar DESPUÉS de style.css. */

:root{color-scheme:only light}
.cal-reserva{color-scheme:only light;forced-color-adjust:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}

/* Sin aspecto nativo en los botones del calendario (iOS Safari / Android) */
.cal-reserva button,
.cal-dia,.cal-clase,.cal-flecha{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:none;-webkit-tap-highlight-color:transparent;
  font-family:inherit
}

/* iOS pinta en gris el texto de los botones desactivados: se fija el color real */
.cal-dia{-webkit-text-fill-color:#9aa8a0;opacity:1}
.cal-dia:disabled{color:#9aa8a0;-webkit-text-fill-color:#9aa8a0;opacity:1}
.cal-dia.cal-pasado{opacity:.45}

.cal-dia.cal-libre{background-color:#dff3e5;border-color:#34a853;color:#0b6b2e;-webkit-text-fill-color:#0b6b2e}
.cal-dia.cal-ocupado{background-color:#fde4e4;border-color:#ff2a2a;color:#c62828;-webkit-text-fill-color:#c62828}
.cal-dia.cal-libre.cal-sel,.cal-dia.cal-libre.cal-sel:hover{background-color:#007230;color:#fff;-webkit-text-fill-color:#fff}

.cal-clase{-webkit-text-fill-color:currentColor}
.cal-clase:disabled{opacity:.85}
.cal-clase.cal-sel,.cal-clase.cal-sel .cal-clase-estado{-webkit-text-fill-color:#fff}
.cal-flecha{color:#007230;-webkit-text-fill-color:#007230}

/* Pantallas de móvil y tablet: colores más intensos y bordes más gruesos */
@media (max-width:820px),(hover:none) and (pointer:coarse){
  .cal-dia{border-width:2px}
  .cal-dia.cal-libre{background-color:#bfe8cc;border-color:#1e8e3e;color:#075224;-webkit-text-fill-color:#075224}
  .cal-dia.cal-libre:hover{background-color:#a8dfba}
  .cal-dia.cal-ocupado{background-color:#f8c4c4;border-color:#e02424;color:#a51d1d;-webkit-text-fill-color:#a51d1d}
  .cal-dia.cal-libre.cal-sel,.cal-dia.cal-libre.cal-sel:hover{background-color:#007230;border-color:#007230;color:#fff;-webkit-text-fill-color:#fff}
  .cal-ley-libre::before{background:#bfe8cc;border:2px solid #1e8e3e}
  .cal-ley-ocupado::before{background:#f8c4c4;border:2px solid #e02424}
  .cal-clase{background-color:#e3f5e9;border-width:2px}
  .cal-clase-completo,.cal-clase-ocupado{background-color:#fde4e4;border-color:#f19999}
}

/* ===== Colores por tipo de clase: verde = individual, azul = grupo, mitad y mitad = las dos ===== */
.cal-dia.cal-libre.cal-grupo{background-color:#dbe8fd;border-color:#1a73e8;color:#0b4fb3;-webkit-text-fill-color:#0b4fb3}
.cal-dia.cal-libre.cal-grupo:hover{background-color:#c6dafb}
.cal-dia.cal-libre.cal-mixto{background-color:#dff3e5;background-image:linear-gradient(135deg,#dff3e5 50%,#dbe8fd 50%);border-color:#34a853 #1a73e8 #1a73e8 #34a853;color:#14241b;-webkit-text-fill-color:#14241b}
.cal-dia.cal-libre.cal-grupo.cal-sel,.cal-dia.cal-libre.cal-grupo.cal-sel:hover{background-color:#1558c0;background-image:none;border-color:#1558c0;color:#fff;-webkit-text-fill-color:#fff}
.cal-dia.cal-libre.cal-mixto.cal-sel,.cal-dia.cal-libre.cal-mixto.cal-sel:hover{background-color:#007230;background-image:linear-gradient(135deg,#007230 50%,#1558c0 50%);border-color:#14241b;color:#fff;-webkit-text-fill-color:#fff}
.cal-ley-indiv::before{background:#dff3e5;border:1px solid #34a853}
.cal-ley-grupo::before{background:#dbe8fd;border:1px solid #1a73e8}

/* Clases del día elegido: etiqueta y borde del color de su tipo */
.cal-tipo{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:999px;font-size:.75em;font-weight:700;letter-spacing:.02em;vertical-align:1px;color:#fff;-webkit-text-fill-color:#fff}
.cal-tipo-indiv{background:#007230}
.cal-tipo-grupo{background:#1a73e8}
.cal-clase.cal-clase-libre.cal-clase-grupo{border-color:#1a73e8;background-color:#eef4fe}
.cal-clase.cal-clase-libre.cal-clase-grupo:hover:not(:disabled){background-color:#dbe8fd}
.cal-clase.cal-clase-libre.cal-clase-grupo .cal-clase-estado{color:#0b4fb3;-webkit-text-fill-color:#0b4fb3}
.cal-clase.cal-clase-grupo.cal-sel,.cal-clase.cal-clase-grupo.cal-sel:hover{background-color:#1558c0 !important;border-color:#1558c0}
.cal-clase.cal-sel .cal-clase-estado,.cal-clase.cal-clase-libre.cal-clase-grupo.cal-sel .cal-clase-estado{color:#fff;-webkit-text-fill-color:#fff}
.cal-clase.cal-sel .cal-tipo{background:rgba(255,255,255,.25)}
.cal-clase:disabled .cal-tipo{opacity:.6}

/* Móvil y tablet: tonos más intensos, igual que el resto del calendario */
@media (max-width:820px),(hover:none) and (pointer:coarse){
  .cal-dia.cal-libre.cal-grupo{background-color:#c3d8fb;border-color:#1558c0;color:#0a3f8f;-webkit-text-fill-color:#0a3f8f}
  .cal-dia.cal-libre.cal-grupo:hover{background-color:#adc9f8}
  .cal-dia.cal-libre.cal-mixto{background-image:linear-gradient(135deg,#bfe8cc 50%,#c3d8fb 50%);border-color:#1e8e3e #1558c0 #1558c0 #1e8e3e}
  .cal-dia.cal-libre.cal-grupo.cal-sel{background-color:#1558c0;color:#fff;-webkit-text-fill-color:#fff}
  .cal-ley-indiv::before{background:#bfe8cc;border:2px solid #1e8e3e}
  .cal-ley-grupo::before{background:#c3d8fb;border:2px solid #1558c0}
  .cal-clase.cal-clase-libre.cal-clase-grupo{background-color:#e1ecfd}
}
