/*
 * Pantallas de cuenta (ingresar, registro, clave, verificacion) y paginas
 * legales (privacidad, terminos, libro de reclamaciones).
 *
 * Todo sale de tokens.css, asi que el tema oscuro funciona sin tocar nada
 * aqui. Aislado bajo .cu y .lg para no chocar con UIkit ni Bootstrap, que el
 * layout sigue cargando para el resto del sitio.
 */

.cu, .cu *, .lg, .lg * { font-family: var(--font); box-sizing: border-box; }

/* ═══════════════════════════ CUENTA ═══════════════════════════ */

.cu { background: var(--color-bg); color: var(--color-text); width: 100%;
      padding: clamp(20px, 4vw, 56px) clamp(16px, 2.5vw, 40px); }

.cu-marco { display: grid; grid-template-columns: 1fr; max-width: 1080px; margin-inline: auto;
            background: var(--color-surface); border: 1px solid var(--color-divider);
            border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; }
.cu-marco--ancho { max-width: 1180px; }
/* Registro: el formulario es largo, va solo y con todo el ancho. */
.cu-marco--registro { max-width: 780px; }
.cu-marco--registro .cu-cuerpo > * { max-width: none; }

@media (min-width: 960px) {
    .cu-marco { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: 620px; }
    .cu-marco--registro { grid-template-columns: 1fr; min-height: 0; }
    .cu-marco--ancho { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
    .cu-marco--solo { grid-template-columns: 1fr; max-width: 560px; min-height: 0; }
}

/* ── Panel de marca ── */
.cu-marca { position: relative; display: flex; flex-direction: column; gap: var(--space-6);
            padding: clamp(24px, 4vw, 48px); color: #e6edf7;
            background:
                radial-gradient(120% 80% at 0% 0%, rgba(59, 130, 246, .28), transparent 60%),
                radial-gradient(90% 70% at 100% 100%, rgba(59, 130, 246, .18), transparent 60%),
                var(--color-ink-alt); }
.cu-marca__logo img { height: 34px; width: auto; display: block; }
.cu-marca__titulo { margin: auto 0 0; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800;
                    letter-spacing: -.02em; line-height: 1.15; color: #fff; max-width: 20ch; }
.cu-marca__texto { margin: 0; font-size: 14.5px; line-height: 1.6; color: #b8c4d6; max-width: 42ch; }
.cu-puntos { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cu-puntos li { display: flex; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: #d5deea; }
.cu-puntos b { color: #fff; font-weight: 700; }
.cu-puntos__icono { flex: none; display: grid; place-items: center; width: 30px; height: 30px;
                    border-radius: 9px; background: rgba(59, 130, 246, .18); color: #93c5fd; }
.cu-puntos__icono svg { width: 15px; height: 15px; }
.cu-marca__pie { margin: 0; font-size: 12px; color: #8a97ab; }
.cu-marca__pie a { color: #bfd4f5; }

/* En movil no hay panel de marca: la cabecera del sitio ya lleva el logo y
   el formulario tiene que verse sin bajar. */
@media (max-width: 959px) {
    .cu-marca { display: none; }
}

/* ── Formulario ── */
.cu-cuerpo { display: flex; flex-direction: column; justify-content: center;
             padding: clamp(24px, 4vw, 56px) clamp(20px, 4vw, 56px); }
.cu-cuerpo > * { width: 100%; max-width: 420px; margin-inline: auto; }
.cu-marco--ancho .cu-cuerpo > * { max-width: 620px; }

.cu-kicker { margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .10em;
             text-transform: uppercase; color: var(--a-600); }
.cu h1 { margin: 8px 0 0; font-size: clamp(24px, 3vw, 30px); font-weight: 800;
         letter-spacing: -.02em; line-height: 1.15; color: var(--color-text); }
.cu-bajada { margin: 8px 0 var(--space-6); font-size: 14px; line-height: 1.6; color: var(--n-600); }

.cu-form { display: grid; gap: var(--space-4); }
.cu-fila { display: grid; gap: var(--space-4); }
@media (min-width: 620px) { .cu-fila--doble { grid-template-columns: 1fr 1fr; } }

.cu-campo label { display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
                  margin-bottom: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .07em;
                  text-transform: uppercase; color: var(--n-600); }
.cu-campo label a { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none;
                    color: var(--a-600); text-decoration: none; }
.cu-campo label a:hover { text-decoration: underline; }
.cu-req { color: var(--rojo); }

.cu-control { position: relative; }
.cu-control > svg { position: absolute; left: 13px; top: 50%; width: 16px; height: 16px;
                    transform: translateY(-50%); color: var(--n-500); pointer-events: none; }
.cu-campo input, .cu-campo select, .cu-campo textarea {
    width: 100%; height: 44px; background: var(--color-surface); color: var(--color-text);
    border: 1px solid var(--n-300); border-radius: var(--radius-sm); padding: 0 13px;
    font-size: 14px; transition: border-color .15s, box-shadow .15s; }
.cu-control > svg ~ input { padding-left: 40px; }
.cu-campo textarea { height: auto; min-height: 130px; padding: 11px 13px; line-height: 1.6; resize: vertical; }
.cu-campo select { appearance: auto; cursor: pointer; }
.cu-campo input[type="file"] { height: auto; padding: 9px 11px; font-size: 13px; }
.cu-campo input::placeholder, .cu-campo textarea::placeholder { color: var(--n-400); }
.cu-campo input:focus, .cu-campo select:focus, .cu-campo textarea:focus {
    outline: none; border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--a-100); }
.cu-campo.con-error input, .cu-campo.con-error select, .cu-campo.con-error textarea {
    border-color: var(--rojo); box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); }
.cu-pista { margin: 5px 0 0; font-size: 11.5px; line-height: 1.45; color: var(--n-500); }
.cu-error { display: none; margin: 5px 0 0; font-size: 12px; font-weight: 600; color: var(--rojo); }
.cu-campo.con-error .cu-error { display: block; }

/* Ver / ocultar clave: un boton de verdad, no un icono con cursor. */
.cu-ojo { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: grid;
          place-items: center; width: 34px; height: 34px; border: 0; border-radius: 8px;
          background: transparent; color: var(--n-500); cursor: pointer; }
.cu-ojo:hover { background: var(--n-100); color: var(--color-text); }
.cu-ojo:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.cu-ojo svg { width: 17px; height: 17px; }
.cu-ojo .cu-ojo__no { display: none; }
.cu-ojo[aria-pressed="true"] .cu-ojo__si { display: none; }
.cu-ojo[aria-pressed="true"] .cu-ojo__no { display: block; }
.cu-control:has(.cu-ojo) input { padding-right: 44px; }

/* Medidor de requisitos de la clave */
.cu-reglas { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cu-reglas li { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: var(--radius-pill);
                background: var(--n-100); color: var(--n-500); border: 1px solid var(--color-divider); }
.cu-reglas li.ok { background: var(--ok-100); color: var(--ok-600); border-color: transparent; }

/* intl-tel-input ocupa todo el ancho y respeta la altura */
.cu-campo .iti { width: 100%; display: block; }
.cu-campo .iti input { padding-left: 52px; }

.cu-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
          height: 46px; border: 0; border-radius: var(--radius-sm); background: var(--color-accent);
          color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; text-decoration: none;
          transition: background .15s; }
.cu-btn:hover { background: var(--a-600); color: #fff; }
.cu-btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.cu-btn:disabled { opacity: .55; cursor: not-allowed; }
.cu-btn svg { width: 17px; height: 17px; }
.cu-btn--fantasma { background: transparent; color: var(--a-600); border: 1px solid var(--n-300); }
.cu-btn--fantasma:hover { background: var(--n-100); border-color: var(--n-500); color: var(--a-700); }
.cu-giro { width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45);
           border-top-color: #fff; animation: cu-giro .8s linear infinite; display: none; }
.cu-btn.cargando .cu-giro { display: block; }
@keyframes cu-giro { to { transform: rotate(360deg); } }

.cu-aviso { display: none; gap: 10px; align-items: flex-start; padding: 11px 14px;
            border-radius: var(--radius-sm); font-size: 13px; line-height: 1.5; }
.cu-aviso.visible { display: flex; }
.cu-aviso svg { flex: none; width: 17px; height: 17px; margin-top: 1px; }
.cu-aviso a, .cu-aviso button.cu-enlace { color: inherit; font-weight: 800; text-decoration: underline; }
.cu-aviso--error { background: #fef2f2; color: #991b1b; }
.cu-aviso--ok    { background: var(--ok-100); color: var(--ok-600); }
.cu-aviso--info  { background: var(--amb-100); color: var(--amb-700); }
:root[data-theme="dark"] .cu-aviso--error { background: #3b1414; color: #fca5a5; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .cu-aviso--error { background: #3b1414; color: #fca5a5; } }

button.cu-enlace { border: 0; background: none; padding: 0; font: inherit; cursor: pointer; }

.cu-pie { margin: var(--space-6) 0 0; text-align: center; font-size: 13.5px; color: var(--n-600); }
.cu-pie a { color: var(--a-600); font-weight: 700; text-decoration: none; }
.cu-pie a:hover { text-decoration: underline; }

.cu-legal { margin: 0; font-size: 11.5px; line-height: 1.55; color: var(--n-500); text-align: center; }
.cu-legal a { color: var(--n-600); text-decoration: underline; }

/* Estado grande (verificacion): icono, titulo y accion */
.cu-estado { text-align: center; }
.cu-estado__icono { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto var(--space-4);
                    border-radius: 50%; }
.cu-estado__icono svg { width: 28px; height: 28px; }
.cu-estado__icono--ok    { background: var(--ok-100); color: var(--ok-600); }
.cu-estado__icono--info  { background: var(--a-100); color: var(--a-600); }
.cu-estado__icono--error { background: #fef2f2; color: var(--rojo); }
.cu-estado .cu-bajada { margin-bottom: var(--space-6); }
.cu-estado form { text-align: left; }

/* ═══════════════════════════ LEGALES ═══════════════════════════ */

.lg { background: var(--color-bg); color: var(--color-text); width: 100%;
      padding-block: clamp(28px, 4vw, 56px) clamp(40px, 6vw, 80px); }
.lg .contenedor { width: 100%; max-width: 1140px; margin-inline: auto; padding-inline: clamp(16px, 2.5vw, 40px); }

.lg-migas { font-size: 12px; color: var(--n-500); margin-bottom: 10px; }
.lg-migas a { color: var(--n-600); text-decoration: none; }
.lg-migas a:hover { color: var(--a-600); text-decoration: underline; }
.lg-kicker { margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .10em; text-transform: uppercase; color: var(--a-600); }
.lg h1 { margin: 8px 0 0; font-size: clamp(28px, 3.6vw, 40px); font-weight: 800; letter-spacing: -.025em; line-height: 1.08; }
.lg-bajada { margin: 12px 0 0; font-size: 15.5px; line-height: 1.6; color: var(--n-600); max-width: 64ch; }
.lg-fecha { display: inline-flex; margin-top: var(--space-4); font-size: 12px; font-weight: 700; color: var(--n-600);
            background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-pill);
            padding: 4px 12px; }

.lg-otras { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--space-4); }
.lg-otras a { font-size: 12.5px; font-weight: 700; padding: 6px 12px; border-radius: var(--radius-pill);
              border: 1px solid var(--n-300); background: var(--color-surface); color: var(--n-700); text-decoration: none; }
.lg-otras a:hover { border-color: var(--n-500); color: var(--a-700); }
.lg-otras a[aria-current="page"] { background: var(--a-100); border-color: transparent; color: var(--a-700); }

.lg-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-top: clamp(24px, 3vw, 40px); align-items: start; }
@media (min-width: 960px) { .lg-grid { grid-template-columns: 250px minmax(0, 1fr); gap: var(--space-8); } }
@media (min-width: 960px) { .lg-grid--form { grid-template-columns: minmax(0, 1fr) 320px; } }

.lg-indice { position: sticky; top: 90px; background: var(--color-surface); border: 1px solid var(--color-divider);
             border-radius: var(--radius); padding: 16px; }
.lg-indice p { margin: 0 0 10px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--n-500); }
.lg-indice ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: lg; }
.lg-indice a { display: flex; gap: 8px; padding: 7px 8px; border-radius: 8px; font-size: 13px; line-height: 1.35;
               color: var(--n-700); text-decoration: none; counter-increment: lg; }
.lg-indice a::before { content: counter(lg); flex: none; min-width: 18px; font-weight: 800; color: var(--n-400); }
.lg-indice a:hover { background: var(--n-100); color: var(--a-700); }
@media (max-width: 959px) { .lg-indice { position: static; } }

.lg-doc { background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-lg);
          box-shadow: var(--shadow-sm); padding: clamp(22px, 4vw, 48px); }
.lg-doc section { scroll-margin-top: 90px; }
.lg-doc section + section { margin-top: var(--space-8); padding-top: var(--space-8); border-top: 1px solid var(--color-divider); }
.lg-doc h2 { display: flex; gap: 12px; align-items: baseline; margin: 0 0 var(--space-3);
             font-size: 19px; font-weight: 800; letter-spacing: -.015em; line-height: 1.3; }
.lg-doc h2 span { flex: none; display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 8px;
                  background: var(--a-100); color: var(--a-700); font-size: 13px; }
.lg-doc h3 { margin: var(--space-4) 0 var(--space-2); font-size: 15px; font-weight: 800; }
.lg-doc p, .lg-doc li { font-size: 14.5px; line-height: 1.75; color: var(--n-700); max-width: 72ch; }
.lg-doc p { margin: 0 0 var(--space-3); }
.lg-doc ul { margin: 0 0 var(--space-3); padding-left: 1.2em; }
.lg-doc li + li { margin-top: 4px; }
.lg-doc a { color: var(--a-600); font-weight: 600; }

.lg-nota { display: flex; gap: 12px; align-items: flex-start; margin-top: var(--space-4); padding: 14px 16px;
           border-radius: var(--radius-sm); background: var(--a-100); color: var(--a-700); font-size: 13.5px; line-height: 1.55; }
.lg-nota svg { flex: none; width: 18px; height: 18px; margin-top: 2px; }

.lg-contacto { display: grid; gap: 10px; margin-top: var(--space-4); }
@media (min-width: 620px) { .lg-contacto { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lg-contacto a { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border-radius: var(--radius-sm);
                 border: 1px solid var(--color-divider); background: var(--n-100); text-decoration: none;
                 color: var(--color-text); font-size: 13px; font-weight: 700; }
.lg-contacto a:hover { border-color: var(--n-400); }
.lg-contacto small { display: block; font-size: 11px; font-weight: 600; color: var(--n-500); }
.lg-contacto svg { flex: none; width: 18px; height: 18px; color: var(--a-600); }

.lg-panel { background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm); padding: clamp(20px, 3.5vw, 36px); }
.lg-panel + .lg-panel { margin-top: var(--space-4); }
.lg-panel h2 { margin: 0 0 4px; font-size: 16px; font-weight: 800; }
.lg-panel > p { margin: 0 0 var(--space-4); font-size: 13px; line-height: 1.55; color: var(--n-600); }
.lg-grupo { margin: 0 0 var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-divider);
            font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--n-500); }
.lg-grupo:first-of-type { padding-top: 0; border-top: 0; }

/* Opciones Queja / Reclamo como tarjetas elegibles */
.lg-tipos { display: grid; gap: 10px; }
@media (min-width: 620px) { .lg-tipos { grid-template-columns: 1fr 1fr; } }
.lg-tipo { position: relative; display: block; cursor: pointer; }
.lg-tipo input { position: absolute; opacity: 0; pointer-events: none; }
.lg-tipo span { display: block; height: 100%; padding: 12px 14px; border-radius: var(--radius-sm);
                border: 1.5px solid var(--n-300); background: var(--color-surface); }
.lg-tipo b { display: block; font-size: 14px; font-weight: 800; color: var(--color-text); }
.lg-tipo small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.45; color: var(--n-600); }
.lg-tipo input:checked + span { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--a-100); }
.lg-tipo input:focus-visible + span { outline: 2px solid var(--color-accent); outline-offset: 2px; }

.lg-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lg-lista li { display: flex; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--n-700); }
.lg-lista svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--a-600); }

/* ═══════════════════════════ PERFIL ═══════════════════════════ */

.pf { background: var(--color-bg); color: var(--color-text); width: 100%;
      padding-block: clamp(24px, 4vw, 52px) clamp(40px, 6vw, 72px); }
.pf, .pf * { font-family: var(--font); box-sizing: border-box; }
.pf .contenedor { width: 100%; max-width: 1080px; margin-inline: auto; padding-inline: clamp(16px, 2.5vw, 40px); }
.pf h1 { margin: 8px 0 0; font-size: clamp(26px, 3.2vw, 34px); font-weight: 800; letter-spacing: -.02em; }
.pf-bajada { margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--n-600); }

/* Pestañas de la zona de cuenta */
.pf-pestanas { display: inline-flex; gap: 4px; margin-top: var(--space-4); padding: 4px;
               border-radius: var(--radius-pill); background: var(--n-200); }
.pf-pestanas a { padding: 8px 16px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 700;
                 color: var(--n-600); text-decoration: none; }
.pf-pestanas a:hover { color: var(--color-text); }
.pf-pestanas a[aria-current="page"] { background: var(--color-surface); color: var(--color-text); box-shadow: var(--shadow-sm); }
.pf-pestanas a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

.pf-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-6); align-items: start; }
@media (min-width: 960px) { .pf-grid { grid-template-columns: minmax(0, 1fr) 300px; } }

.pf-panel { background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm); padding: clamp(20px, 3vw, 28px); }
.pf-panel + .pf-panel { margin-top: var(--space-4); }
.pf-panel__cab { display: flex; gap: 12px; align-items: flex-start; margin-bottom: var(--space-4); }
.pf-panel__icono { flex: none; display: grid; place-items: center; width: 36px; height: 36px;
                   border-radius: var(--radius-sm); background: var(--a-100); color: var(--a-600); }
.pf-panel__icono svg { width: 17px; height: 17px; }
.pf-panel h2 { margin: 0; font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.pf-panel__cab p { margin: 2px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--n-600); }

.pf-solo-lectura { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 13px;
                   border-radius: var(--radius-sm); background: var(--n-100); border: 1px dashed var(--n-300);
                   font-size: 14px; color: var(--n-700); overflow: hidden; }
.pf-solo-lectura svg { flex: none; width: 15px; height: 15px; color: var(--n-500); }
.pf-solo-lectura span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Cambiar contraseña: plegado, porque casi nunca se usa */
.pf-clave > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px;
                      cursor: pointer; list-style: none; }
.pf-clave > summary::-webkit-details-marker { display: none; }
.pf-clave > summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; border-radius: 8px; }
.pf-clave > summary .pf-panel__cab { margin: 0; }
.pf-clave__flecha { flex: none; width: 18px; height: 18px; color: var(--n-500); transition: transform .15s; }
.pf-clave[open] .pf-clave__flecha { transform: rotate(180deg); }
.pf-clave__cuerpo { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--color-divider);
                    display: grid; gap: var(--space-4); }

.pf-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: var(--space-4); }
.pf-acciones .cu-btn { width: auto; padding: 0 26px; }
.pf-acciones small { font-size: 12px; color: var(--n-500); }

/* Ficha lateral */
.pf-ficha { position: sticky; top: 90px; }
.pf-avatar { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
             background: var(--color-accent); color: #fff; font-size: 20px; font-weight: 800; }
.pf-nombre { margin: 12px 0 0; font-size: 16px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.pf-correo { margin: 2px 0 0; font-size: 12.5px; color: var(--n-500); overflow-wrap: anywhere; }
.pf-datos { list-style: none; margin: var(--space-4) 0 0; padding: var(--space-4) 0 0;
            border-top: 1px solid var(--color-divider); display: grid; gap: 10px; }
.pf-datos li { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--n-600); }
.pf-datos b { font-weight: 700; color: var(--color-text); text-align: right; }
.pf-plan { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px; border-radius: var(--radius-pill);
           font-size: 11px; font-weight: 800; background: var(--a-100); color: var(--a-700); }
.pf-plan--gratis { background: var(--n-200); color: var(--n-600); }
.pf-ficha .cu-btn { margin-top: var(--space-4); height: 40px; font-size: 13.5px; }

/* ═══════════════════════ AJUSTES DE CONVIVENCIA ═══════════════════════
   El CSS general del sitio pisa enlaces y etiquetas. Estas reglas van al
   final a proposito, para ganar la cascada sin subir la especificidad. */

/* El asterisco va junto al nombre del campo; solo un enlace («¿La
   olvidaste?») se empuja al borde derecho. */
.cu-campo label { justify-content: flex-start; }
.cu-campo label a { margin-left: auto; }

/* Enlaces de texto: mismo tamaño que la frase que los contiene. */
.lg-migas a, .cu-legal a, .cu-pie a, .lg-doc a, .lg-nota a { font-size: inherit; line-height: inherit; }
.lg-migas a { font-weight: 600; }
.cu-legal a { font-weight: 600; }

/* Tarjetas de contacto: en columnas angostas (la lateral del libro de
   reclamaciones) van una debajo de otra, y el texto largo no se monta. */
.lg-contacto a { min-width: 0; }
.lg-contacto a > span { min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
aside .lg-contacto,
.lg-panel .lg-contacto { grid-template-columns: 1fr !important; }

/* Queja / Reclamo: son opciones, no etiquetas de campo; sin mayusculas ni
   el espaciado de los rotulos. */
.cu-campo label.lg-tipo { display: block; margin: 0; text-transform: none; letter-spacing: 0;
                          font-size: inherit; font-weight: inherit; color: inherit; }
.lg-tipo b, .lg-tipo small { text-transform: none; letter-spacing: 0; }
.lg-tipo b { font-size: 14px; }
