body.single-convocatoria{background:var(--al-bg);color:var(--al-fg)}
.al-conv{max-width:880px;margin:0 auto;padding:clamp(2rem,6vw,5rem) 1.25rem}
.al-conv__title{font-size:clamp(2rem,6vw,4rem);line-height:1.05;margin:0 0 1.5rem}
.al-form__title{margin:2rem 0 1rem}
.al-aviso{margin:0 0 1rem;padding:1rem 1.25rem;border:1px solid currentColor}
.al-aviso--invertido{background:var(--al-ac);color:var(--al-bg);border-color:var(--al-ac)}
.al-texto{margin:0 0 1.5rem}
.al-btn{display:inline-block;padding:.8rem 1.6rem;background:var(--al-ac);color:var(--al-bg);border:0;font:inherit;cursor:pointer;text-decoration:none;border-radius:0}
.al-btn:disabled{opacity:.5;cursor:wait}
.al-notice{padding:1rem 1.25rem;border:1px solid currentColor;margin-bottom:1.5rem}
.al-notice--err{border-width:2px}

.al-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem 1.25rem;margin-bottom:1.5rem}
.al-w-full,.al-field--radio,.al-field--aceptacion,.al-field--textarea{grid-column:1/-1}
.al-field label,.al-field legend{display:block;margin-bottom:.35rem;font-size:.9rem}
.al-field :is(input:not([type=radio]):not([type=checkbox]),textarea,select){width:100%;padding:.7rem;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;border-radius:0}
.al-field fieldset{border:0;padding:0;margin:0}
.al-check{display:flex;gap:.6rem;align-items:flex-start}

.al-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.al-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:.5rem;cursor:pointer;border:1px solid transparent}
.al-card input{position:absolute;opacity:0}
.al-card img{display:block;width:100%;height:auto}
.al-card:has(input:checked){border-color:var(--al-ac);outline:2px solid var(--al-ac)}
.al-card input:focus-visible ~ .al-card__title{text-decoration:underline}

.al-hp{position:absolute;left:-9999px}
@media(max-width:640px){.al-grid{grid-template-columns:1fr}}

/* ---- Univers (mismos archivos que ya usa el sitio) ---- */
@font-face{font-family:"Univers";font-weight:400;font-style:normal;font-display:swap;
  src:url("/wp-content/uploads/2020/05/UniversLTStd.woff2") format("woff2"),url("/wp-content/uploads/2020/05/UniversLTStd.woff") format("woff")}
@font-face{font-family:"Univers";font-weight:400;font-style:italic;font-display:swap;
  src:url("/wp-content/uploads/2020/05/UniversLTStd-Obl.woff2") format("woff2"),url("/wp-content/uploads/2020/05/UniversLTStd-Obl.woff") format("woff")}
@font-face{font-family:"Univers";font-weight:700;font-style:normal;font-display:swap;
  src:url("/wp-content/uploads/2020/05/UniversLTStd-Bold.woff2") format("woff2"),url("/wp-content/uploads/2020/05/UniversLTStd-Bold.woff") format("woff")}
@font-face{font-family:"Univers";font-weight:700;font-style:italic;font-display:swap;
  src:url("/wp-content/uploads/2020/05/UniversLTStd-BoldObl.woff2") format("woff2"),url("/wp-content/uploads/2020/05/UniversLTStd-BoldObl.woff") format("woff")}

/* ---- Tipografía de convocatorias ---- */
.al-conv{font-family:"Univers",sans-serif;font-size:15px;line-height:1.6;color:var(--al-fg)}
.al-conv__title{font-size:clamp(2.25rem,6vw,60px);line-height:1;font-weight:700;color:#000000}
.al-form__title{font-size:1.5rem;font-weight:700}
.al-aviso{font-size:18px;font-weight:700;line-height:1.6}
.al-field label,.al-field legend{font-size:16px;font-weight:400}
.al-field :is(input:not([type=radio]):not([type=checkbox]),textarea,select){font-family:inherit;font-size:16px}
.al-card__title{font-weight:700}
.al-btn{font-family:inherit;font-size:16px;font-weight:700}

/* ---- Tarjetas de selección (estands) ---- */
.al-conv .al-card{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;line-height:1.4}
.al-conv .al-card__img:empty{display:none}
.al-conv .al-card__title{display:block;font-weight:700}
.al-conv .al-card__note{display:block;font-size:.85rem;font-weight:400;line-height:1.45;opacity:.85}
.al-conv .al-card--wide{grid-column:span 2}
.al-conv .al-card--full{grid-column:1/-1}
@media(max-width:640px){.al-conv .al-card--wide{grid-column:1/-1}}

/* ---- Texto o botón informativo dentro del formulario ---- */
.al-field--info{grid-column:1/-1}
.al-info p{margin:0 0 .75rem}

/* ---- Botones: mantener colores en hover, foco y visitado ---- */
.al-conv .al-btn,
.al-conv .al-btn:visited,
.al-conv .al-btn:hover,
.al-conv .al-btn:focus,
.al-conv .al-btn:active{
  background:var(--al-ac);
  color:var(--al-bg);
  text-decoration:none;
}
.al-conv .al-btn{transition:opacity .15s}
.al-conv .al-btn:hover,
.al-conv .al-btn:focus-visible{opacity:.9}

/* ---- Tamaño del texto libre (se cambia solo aquí) ---- */
.al-conv .al-texto{font-size:18px;line-height:1.6}
.al-conv .al-texto :is(p,li){font-size:inherit;line-height:inherit}
@media(max-width:640px){.al-conv .al-texto{font-size:16px}}

/* ---- Estado de envío ---- */
.al-btn.is-loading{opacity:1;cursor:progress}
.al-btn.is-loading::after{content:"";display:inline-block;width:.9em;height:.9em;margin-left:.6em;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:al-spin .7s linear infinite}
@keyframes al-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.al-btn.is-loading::after{animation-duration:2s}}
.al-form[aria-busy=true] .al-grid{opacity:.6;pointer-events:none}
.al-status{margin:.9rem 0 0;font-size:.9rem}



