/* ============================================================
   fichas.css · VisionLovers · la ficha del cliente en el directorio (24/09/2026)
   Viste lo que pinta inc/fichas.php: la oferta del mes, la etiqueta «Verificado por
   VisionLovers» y el aviso de nivel de ficha encima del formulario de alta.
   Tokens --vl-* de tokens.css · cero !important · móvil primero · 17 px mínimo de texto
   (la gente que entra aquí ve mal) · 48 px de alto en lo que se toca.
   Se carga solo en páginas con directorio (vl_fichas_encolar_css).
   ============================================================ */

/* ---- Oferta del mes ---- */
.vl-oferta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--vl-space-sm, 8px);
  margin: var(--vl-space-sm, 8px) 0 var(--vl-space-md, 16px);
  padding: var(--vl-space-sm, 8px) var(--vl-space-md, 16px);
  border: 1px solid var(--vl-border-brand, #f7dcf9);
  border-radius: var(--vl-radius-md, 12px);
  background: var(--vl-primary-light, #f5d5f0);
  color: var(--vl-text, #0f172a);
  font-family: var(--font-cuerpo, system-ui, sans-serif);
  font-size: var(--vl-font-small, 15px);
  line-height: 1.4;
}
.vl-oferta__etiqueta {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 2px 10px;
  border-radius: var(--vl-radius-pill, 999px);
  background: var(--vl-primary-dark, #a91b6f);
  color: var(--vl-on-color, #ffffff);
  font-size: var(--vl-font-caption, 14px);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.vl-oferta__texto { font-weight: 600; }
.vl-oferta__hasta { color: var(--vl-text-muted, #475569); }

/* En la ficha (single) la oferta es una caja más grande, debajo del título */
.vl-oferta--ficha {
  margin: var(--vl-space-md, 16px) 0;
  padding: var(--vl-space-md, 16px) var(--vl-space-lg, 24px);
  font-size: var(--vl-font-body, 17px);
}

/* ---- Verificado por VisionLovers ---- */
.vl-verificado {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 2px 12px 2px 8px;
  border-radius: var(--vl-radius-pill, 999px);
  background: var(--vl-success-bg, #e9f9ee);
  color: var(--vl-success, #15803d);
  font-family: var(--font-cuerpo, system-ui, sans-serif);
  font-size: var(--vl-font-caption, 14px);
  font-weight: 700;
  line-height: 1;
}
.vl-verificado--tarjeta { margin-bottom: var(--vl-space-sm, 8px); }
.vl-verificado--ficha {
  margin: var(--vl-space-sm, 8px) 0;
  min-height: 32px;
  font-size: var(--vl-font-small, 15px);
}
/* El «tic» se dibuja con CSS: sin icono externo, sin imagen, sin fuente de iconos */
.vl-verificado__icono {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--vl-success, #15803d);
  position: relative;
  flex: none;
}
.vl-verificado__icono::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 4px;
  height: 8px;
  border: solid var(--vl-on-color, #ffffff);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ---- Aviso de nivel de ficha (encima del formulario de alta y [vl_fichas_estado]) ---- */
.vl-fichas-aviso {
  margin: 0 0 var(--vl-space-lg, 24px);
  padding: var(--vl-space-md, 16px) var(--vl-space-lg, 24px);
  border: 1px solid var(--vl-border, #dce1e7);
  border-left: 4px solid var(--vl-secondary, #066aab);
  border-radius: var(--vl-radius-md, 12px);
  background: var(--vl-bg-soft, #faf8ff);
  color: var(--vl-text, #0f172a);
  font-family: var(--font-cuerpo, system-ui, sans-serif);
  font-size: var(--vl-font-body, 17px);
  line-height: 1.5;
}
.vl-fichas-aviso p { margin: 0 0 var(--vl-space-sm, 8px); }
.vl-fichas-aviso p:last-child { margin-bottom: 0; }
.vl-fichas-aviso--completa { border-left-color: var(--vl-success, #15803d); }
.vl-fichas-aviso--basica { border-left-color: var(--vl-warning, #9a3412); }
.vl-fichas-aviso--info { border-left-color: var(--vl-secondary, #066aab); }
.vl-fichas-aviso__limite {
  padding-top: var(--vl-space-sm, 8px);
  border-top: 1px dashed var(--vl-border, #dce1e7);
}
.vl-fichas-aviso a:not(.vl-btn) {
  color: var(--vl-secondary, #066aab);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.vl-fichas-aviso a:not(.vl-btn):focus-visible {
  outline: 3px solid var(--vl-focus, #066aab);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Si componentes.css no está cargado (no debería pasar), el botón sigue siendo un botón de 48 px */
.vl-fichas-aviso .vl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--vl-touch, 48px);
  padding: 0 var(--vl-space-lg, 24px);
  border-radius: var(--vl-radius-pill, 999px);
  font-weight: 600;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .vl-oferta, .vl-verificado, .vl-fichas-aviso { transition: none; }
}

@media (min-width: 768px) {
  .vl-oferta--ficha { max-width: 720px; }
}

/* ==== 25/09/2026 · Fichas de OpenStreetMap (inc/niveles.php): «Sin verificar» en gris, sin alarma; reclamar; atribución ODbL.
 * Contraste: --vl-text-muted #475569 sobre --vl-bg-gray #f5f7fb ≈ 7:1 · --vl-primary-dark #a91b6f sobre blanco 6,83:1. ==== */
.vl-sinverificar {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 2px 12px;
  border: 1px solid var(--vl-border, #dce1e7);
  border-radius: var(--vl-radius-pill, 999px);
  background: var(--vl-bg-gray, #f5f7fb);
  color: var(--vl-text-muted, #475569);
  font-family: var(--font-cuerpo, system-ui, sans-serif);
  font-size: var(--vl-font-caption, 14px);
  font-weight: 700;
  line-height: 1;
}
.vl-sinverificar--tarjeta { margin-bottom: var(--vl-space-sm, 8px); }
.vl-sinverificar--ficha {
  margin: var(--vl-space-sm, 8px) 0;
  min-height: 32px;
  font-size: var(--vl-font-small, 15px);
}
.vl-reclamar {
  margin: var(--vl-space-xs, 4px) 0 0;
  color: var(--vl-text, #0f172a);
  font-size: var(--vl-font-small, 15px);
  line-height: var(--vl-lh-small, 1.5);
}
.vl-reclamar a {
  color: var(--vl-primary-dark, #a91b6f);
  font-weight: 700;
  text-decoration: underline;
}
.vl-osm-atribucion {
  margin: var(--vl-space-xs, 4px) 0 0;
  color: var(--vl-text-muted, #475569);
  font-size: var(--vl-font-caption, 14px);
}
.vl-osm-atribucion a { color: inherit; text-decoration: underline; }
