/* Formulario lateral (ficha de programa y de universidad) con el mismo fondo que el hero: foto de la universidad
   con degradado de verde al color de la universidad, logo y subtítulo (elegido en /test-formularios). */
.form-sticky { color: #fff; background: var(--primary) linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); box-shadow: 0 10px 30px rgba(0,0,0,.18); padding-top: 1.3rem; }
/* La franja superior pasa a ser la foto de fondo; encima, el degradado del hero. */
.form-sticky::before { top: 0; bottom: 0; height: auto; background: var(--hero-img, none) center / cover no-repeat; opacity: 1; }
.form-sticky::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(0,83,72,.94) 0%, rgba(0,83,72,.86) 35%, color-mix(in srgb, var(--uni-color, var(--primary-dark)) 78%, transparent) 75%, color-mix(in srgb, var(--uni-color, var(--primary-dark)) 70%, transparent) 100%); }
.form-sticky > * { position: relative; z-index: 1; }
/* Logo en la esquina superior derecha; el título deja hueco. */
.form-sticky__logo { position: absolute; top: 1.55rem; right: 1.15rem; height: 30px; width: auto; max-width: 120px; object-fit: contain; object-position: right top; filter: drop-shadow(0 1px 3px rgba(0,0,0,.35)); z-index: 1; }
.form-sticky__logo[src*="logo-fusal"] { height: 38px; max-width: 150px; }
.form-sticky h2 { color: #fff; font-size: 1.25rem; line-height: 1.25; margin-bottom: 1rem; padding-right: 125px; text-shadow: 0 1px 2px rgba(0,0,0,.2); }
.form-sticky:has(.form-sticky__logo[src*="logo-fusal"]) h2 { padding-right: 150px; }
.form-sticky__sub { font-size: .9rem; color: rgba(255,255,255,.9); margin-bottom: .9rem; }
.form-sticky .form-label { color: rgba(255,255,255,.92); }
.form-sticky .form-control, .form-sticky .form-select { background-color: #fff; border-color: transparent; }
.form-sticky .form-control:focus, .form-sticky .form-select:focus { border-color: transparent; box-shadow: 0 0 0 .2rem rgba(255,130,0,.35); }
.form-sticky .form-check-input { background-color: rgba(255,255,255,.92); border-color: transparent; }
.form-sticky .form-check-input:checked { background-color: var(--secondary); }
.form-sticky .consentimiento .form-check-label { color: rgba(255,255,255,.9); }
.form-sticky .consentimiento a { color: #ffb466; }
.form-sticky .consentimiento__mas { color: #ffb466; }
.form-sticky .consentimiento__mas:hover { color: #fff; }
.form-sticky .small.text-muted { color: rgba(255,255,255,.78) !important; }
.form-sticky .small.text-muted a { color: rgba(255,255,255,.92); }

/* Móvil: la tarjeta deja de ser sticky pero debe seguir posicionada; si fuera static, la foto (::before), el velo (::after)
   y el logo (absolutos) se colocarían respecto a la página y se pintarían encima de la cabecera y del hero. */
@media (max-width: 991px) { .form-sticky { position: relative; } }
