/*
 * Reservas de la vía ferrata: parte pública. Usa las variables del tema v3 (--navy, --arena, --crema…).
 * Primero móvil; contraste AA; objetivos táctiles de al menos 44 px; foco visible del tema.
 */
.sc-res-tasa { margin: 0 0 24px; padding: 14px 18px; border-radius: 12px; background: var(--arena, #efe6d6); border-left: 6px solid var(--navy, #0b2e3c); color: var(--tinta, #1b2a31); font-size: 1rem; line-height: 1.5; }
.sc-res-tasa p { margin: 0; }
.sc-res-tasa--form { margin: 20px 0 12px; }

.sc-res { margin: 56px 0 24px; padding-top: 8px; border-top: 1px solid var(--linea, #e3dccd); scroll-margin-top: calc(96px + var(--barra-admin, 0px)); }
.sc-res-titulo { font: 600 clamp(1.75rem, 1.4rem + 1.4vw, 2.375rem)/1.15 var(--serif, Georgia, serif); color: var(--navy, #0b2e3c); margin: 16px 0 20px; }
.sc-res-subtitulo { display: flex; align-items: center; gap: 10px; font: 700 1.1875rem/1.3 var(--sans, system-ui, sans-serif); color: var(--navy, #0b2e3c); margin: 0 0 12px; }
.sc-res-num { display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--navy, #0b2e3c); color: #fff; font-size: 0.9375rem; }
.sc-res p, .sc-res li, .sc-res dd, .sc-res dt { font-size: 1rem; line-height: 1.55; }
.sc-res ul { margin: 0; padding-left: 1.2em; }
.sc-res ul li + li { margin-top: 4px; }

.sc-res-condiciones { background: #fff; border: 1px solid var(--linea, #e3dccd); border-radius: 16px; padding: 18px 20px; margin-bottom: 20px; }
.sc-res-tasa-linea { margin: 0 0 10px; }
.sc-res-contacto { margin: 12px 0 0; }
.sc-res-contacto a { color: var(--lago, #1f6a7e); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.sc-res-aviso { margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; background: var(--lago-c, #dcecef); color: var(--tinta, #1b2a31); }
.sc-res-aviso p { margin: 0; }
.sc-res-aviso--cerrado { background: #fbe9e7; border-left: 6px solid #a3271d; }
.sc-res-cierres { list-style: none; padding: 0 !important; }

.sc-res-pasos { display: grid; gap: 28px; }
@media (min-width: 900px) { .sc-res-pasos { grid-template-columns: minmax(300px, 380px) 1fr; align-items: start; } }
.sc-res-paso { background: #fff; border: 1px solid var(--linea, #e3dccd); border-radius: 16px; padding: 18px 16px; min-width: 0; }
@media (min-width: 600px) { .sc-res-paso { padding: 22px 24px; } }

/* Calendario */
.sc-res-cal-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.sc-res-cal-titulo { font: 700 1.0625rem var(--sans, system-ui, sans-serif); color: var(--navy, #0b2e3c); margin: 0; }
.sc-res-cal-nav { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-size: 1.5rem; line-height: 1; color: var(--navy, #0b2e3c); text-decoration: none; }
a.sc-res-cal-nav { border: 1.5px solid var(--linea, #e3dccd); }
a.sc-res-cal-nav:hover { background: var(--crema-2, #f4efe5); }
.sc-res-cal table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.sc-res-cal th { font: 600 0.8125rem var(--sans, system-ui, sans-serif); color: var(--gris, #56636a); padding: 4px 0 8px; }
.sc-res-cal abbr { text-decoration: none; }
.sc-res-cal td { padding: 2px; text-align: center; height: 46px; color: #6b767c; }
.sc-res-cal td .sc-res-n { display: inline-grid; place-items: center; width: 100%; max-width: 44px; height: 42px; border-radius: 10px; font: 500 0.9375rem var(--sans, system-ui, sans-serif); }
.sc-res-cal td.cierre .sc-res-n { text-decoration: line-through; }
.sc-res-cal td a { display: block; color: var(--navy, #0b2e3c); text-decoration: none; border-radius: 10px; }
.sc-res-cal td.libre .sc-res-n { background: var(--salvia, #e8eee2); color: var(--bosque, #24453c); font-weight: 700; border: 1.5px solid #8aa37a; }
.sc-res-cal td.libre.demanda .sc-res-n { background: #fff; border-style: dashed; }
.sc-res-cal td.libre a:hover .sc-res-n { background: var(--bosque, #24453c); color: #fff; }
.sc-res-cal td.elegido .sc-res-n { background: var(--navy, #0b2e3c) !important; color: #fff !important; border-color: var(--navy, #0b2e3c) !important; }
.sc-res-cal td.hoy .sc-res-n { box-shadow: inset 0 -3px 0 var(--lago, #1f6a7e); }
.sc-res-ley { list-style: none; padding: 0 !important; margin-top: 12px !important; display: grid; gap: 6px; }
.sc-res-ley li { display: flex; align-items: center; gap: 8px; font-size: 0.875rem !important; color: var(--gris, #56636a); }
.sc-res-ley-m { flex: none; width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid #c9c4b8; }
.sc-res-ley-m.libre { background: var(--salvia, #e8eee2); border-color: #8aa37a; }
.sc-res-ley-m.demanda { background: #fff; border: 1.5px dashed #8aa37a; }

/* Formulario */
.sc-res-nota { color: var(--gris, #56636a); margin: 0 0 12px; }
.sc-res-horas { border: 0; margin: 0 0 20px; padding: 0; min-width: 0; }
.sc-res-horas legend { font: 700 1rem var(--sans, system-ui, sans-serif); color: var(--tinta, #1b2a31); padding: 0; margin-bottom: 4px; }
.sc-res-ayuda { color: var(--gris, #56636a); font-size: 0.9375rem !important; margin: 0 0 10px; }
.sc-res-franjas { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.sc-res-franja { position: relative; }
.sc-res-franja input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sc-res-franja label { display: grid; place-items: center; min-height: 46px; border: 1.5px solid #8a949a; border-radius: 10px; font: 600 1rem var(--sans, system-ui, sans-serif); color: var(--navy, #0b2e3c); background: #fff; cursor: pointer; }
.sc-res-franja label:hover { border-color: var(--navy, #0b2e3c); background: var(--crema-2, #f4efe5); }
.sc-res-franja input:checked + label { background: var(--navy, #0b2e3c); border-color: var(--navy, #0b2e3c); color: #fff; }
.sc-res-franja input:focus-visible + label { outline: 3px solid var(--foco, #ffd54a); outline-offset: 2px; box-shadow: 0 0 0 2px var(--foco-contorno, #12161f); }

.sc-res-campos { display: grid; gap: 14px 18px; }
@media (min-width: 640px) { .sc-res-campos { grid-template-columns: 1fr 1fr; } .sc-res-ancho, .sc-res-campos .sc-res-casilla { grid-column: 1 / -1; } }
.sc-res-campo { margin: 0; display: grid; gap: 6px; }
.sc-res-campo label { font-weight: 600; color: var(--tinta, #1b2a31); }
.sc-res-obl, .sc-res-opc { font-weight: 400; color: var(--gris, #56636a); font-size: 0.875rem; }
.sc-res-campo input[type="text"], .sc-res-campo input[type="email"], .sc-res-campo input[type="tel"], .sc-res-campo input[type="number"], .sc-res-campo textarea {
	width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid #8a949a; border-radius: 10px; background: #fff; color: var(--tinta, #1b2a31); font: 400 1rem var(--sans, system-ui, sans-serif);
}
.sc-res-campo input[aria-invalid="true"], .sc-res-campo textarea[aria-invalid="true"] { border-color: #a3271d; border-width: 2px; }
.sc-res-casilla { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.sc-res-casilla input { flex: none; width: 24px; height: 24px; margin: 1px 0 0; accent-color: var(--navy, #0b2e3c); }
.sc-res-casilla label { flex: 1 1 200px; font-weight: 500; }
.sc-res-casilla .sc-res-error { flex-basis: 100%; }
.sc-res-error { display: block; color: #a3271d; font-weight: 600; font-size: 0.9375rem; }
.sc-res-error::before { content: "⚠ "; }
.sc-res-errores { margin: 0 0 18px; padding: 14px 18px; border: 2px solid #a3271d; border-radius: 12px; background: #fff5f4; }
.sc-res-errores p { margin: 0 0 6px; color: #a3271d; }
.sc-res-errores a { color: #8a1f17; text-decoration: underline; }
.sc-res-privacidad { margin: 0 0 8px; padding: 12px 16px; background: var(--crema-2, #f4efe5); border-radius: 12px; }
.sc-res-privacidad h4 { font: 700 0.9375rem var(--sans, system-ui, sans-serif); margin: 0 0 4px; }
.sc-res-privacidad p { font-size: 0.9375rem !important; margin: 0; }
.sc-res-trampa { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.sc-res-enviar { margin: 18px 0 8px; }
.sc-res .sc-btn-enlace { border: 0; cursor: pointer; display: inline-flex; width: 100%; max-width: 360px; }
.sc-res-botones { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.sc-res-botones .sc-btn-enlace { width: auto; margin: 0; }
.sc-res-boton-sec { min-height: 48px; padding: 0 20px; border-radius: 999px; border: 1.5px solid var(--navy, #0b2e3c); background: #fff; color: var(--navy, #0b2e3c); font: 700 0.9375rem var(--sans, system-ui, sans-serif); cursor: pointer; }
.sc-res-boton-sec:hover { background: var(--crema-2, #f4efe5); }

.sc-res-hecho, .sc-res-propuesta { background: #fff; border: 1px solid var(--linea, #e3dccd); border-left: 6px solid var(--oliva, #556a37); border-radius: 16px; padding: 18px 20px; margin-bottom: 16px; }
.sc-res-hecho p { margin: 0 0 8px; }
.sc-res-datos { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0 0 12px; }
.sc-res-datos dt { font-weight: 600; color: var(--gris, #56636a); }
.sc-res-datos dd { margin: 0; }

/* «Nombre de la empresa»: solo con la casilla de grupo de empresa marcada. */
.sc-res-campos:has(#sc-res-grupo_empresa:not(:checked)) .sc-res-empresa { display: none; }
