/* =========================================================
   Portal de Licitaciones — Estilo Institucional Fresnillo
   Paleta base:
     - Azul institucional: #001f66
     - Azul claro de realce: #0b3ea9
     - Gris borde: #e6ebf2
     - Gris texto: #374151
     - Fondo neutro: #f7f9fc
   Tipografía recomendada: sistema (segura y limpia)
   ========================================================= */

:root{
  --lic-primary: #001f66;
  --lic-primary-2: #0b3ea9;
  --lic-bg: #f7f9fc;
  --lic-card: #ffffff;
  --lic-border: #e6ebf2;
  --lic-text: #111827;   /* casi negro */
  --lic-muted: #374151;  /* gris texto */
  --lic-chip-bg: #eef2ff;
  --lic-chip-bd: #c7d2fe;
  --lic-chip-tx: #1e40af;
  --lic-ok-bg: #e8f5e9;
  --lic-warn-bg: #fff7e6;
  --lic-danger: #b32d2e;
}

html body{
  background: var(--lic-bg);
  color: var(--lic-text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ====== CONTENEDORES COMUNES ====== */
.container,
.lic-s-wrap,
.lic-a-wrap{
  max-width: 1200px;
  margin: 36px auto;
  padding: 0 20px;
}

/* ====== TITULARES ====== */
.lic-s-title,
.lic-a-title{
  font-size: 2rem;
  line-height: 1.2;
  margin: 0 0 14px 0;
  font-weight: 800;
  color: var(--lic-primary);
  letter-spacing: .2px;
  text-transform: uppercase;
}

.lic-s-subtitle{
  color: var(--lic-muted);
  margin: 0 0 18px 0;
}

/* ====== TARJETAS ====== */
.lic-s-card{
  background: var(--lic-card);
  border: 1px solid var(--lic-border);
  border-radius: 14px;
  padding: 20px 22px;
  box-shadow: 0 4px 16px rgba(0,0,0,.03);
  margin-bottom: 18px;
}

.lic-s-card h3{
  margin: 0 0 10px 0;
  font-size: 1.05rem;
  color: var(--lic-primary);
  font-weight: 800;
  letter-spacing: .2px;
}

/* ====== GRID PRINCIPAL (SINGLE) ====== */
.lic-s-grid{display:grid;grid-template-columns:1fr 340px;gap:28px}
@media (max-width: 1024px){ .lic-s-grid{grid-template-columns:1fr} }

/* ====== METAS ====== */
.lic-s-meta3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lic-s-meta2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width: 860px){ .lic-s-meta3{grid-template-columns:1fr}.lic-s-meta2{grid-template-columns:1fr} }

.lic-s-item h4{
  margin: 0 0 4px 0;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6b7280;
  font-weight: 700;
}
.lic-s-item p{margin: 0 0 6px 0; color: var(--lic-text);}

/* Separador tenue */
.lic-s-sep{height:1px;background:var(--lic-border);margin:14px 0}

/* ====== DOCS ====== */
.lic-s-docs ul{list-style:none;margin:8px 0 0 0;padding:0}
.lic-s-docs li{padding:10px 0;border-bottom:1px dashed var(--lic-border)}
.lic-s-docs a{
  text-decoration:none;
  color: var(--lic-primary-2);
  border-bottom: 1px solid transparent;
}
.lic-s-docs a:hover{
  color: var(--lic-primary);
  border-bottom-color: var(--lic-primary);
}

/* ====== BADGES (etiquetas) ====== */
.lic-s-badges{display:flex;flex-wrap:wrap;gap:8px}
.lic-s-badge{
  font-size:12px;
  background: var(--lic-chip-bg);
  border:1px solid var(--lic-chip-bd);
  border-radius:999px;
  padding:4px 10px;
  color: var(--lic-chip-tx);
  font-weight:600;
}

/* ====== NAVEGACIÓN SINGLE ====== */
.lic-s-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.lic-s-nav a{
  text-decoration:none;
  color: var(--lic-primary-2);
  border: 1px solid var(--lic-border);
  background: #fff;
  padding: 8px 12px;
  border-radius: 10px;
}
.lic-s-nav a:hover{
  color: #fff;
  background: var(--lic-primary);
  border-color: var(--lic-primary);
}

/* Estados vacíos */
.lic-s-empty{color:#6b7280}

/* Dinero/numérico con tabular-nums */
.lic-s-money{font-variant-numeric: tabular-nums}

/* ====== ARCHIVE (LISTADO) ====== */
.lic-a-toolbar{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0 18px 0
}

/* Chips de año */
.lic-a-chips{display:flex;gap:8px;flex-wrap:wrap}
.lic-chip{
  border:1px solid var(--lic-border);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:6px 12px;
  font-size:13px;
  text-decoration:none;
  transition:all .15s ease;
}
.lic-chip.is-active{
  background: var(--lic-chip-bg);
  border-color: var(--lic-chip-bd);
  color: var(--lic-chip-tx);
  font-weight:700;
}
.lic-chip:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}

/* Filtros */
.lic-a-filters{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.lic-a-filters select,
.lic-a-filters input[type="search"]{
  border:1px solid var(--lic-border);
  border-radius:10px;
  padding:8px 12px;
  background:#fff;
  min-width: 170px;
}
.lic-a-filters button{
  border:1px solid var(--lic-primary);
  background: var(--lic-primary);
  color:#fff;
  border-radius:10px;
  padding:8px 14px;
  cursor:pointer;
  font-weight:700;
  letter-spacing:.2px;
}
.lic-a-filters button:hover{
  background:#022a98;
  border-color:#022a98;
}

/* Reset filtros */
.lic-a-reset{margin-left:auto}
.lic-a-reset a{
  font-size:13px;text-decoration:none;color:var(--lic-muted);
  border-bottom:1px dashed var(--lic-border);
}
.lic-a-reset a:hover{
  color: var(--lic-primary);
  border-bottom-color: var(--lic-primary);
}

/* Tabla */
.lic-a-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
  margin-top:6px;
}
.lic-a-table th{
  font-size:12px;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-align:left;
  padding:0 12px;
}
.lic-a-table td{
  background:#fff;
  border:1px solid var(--lic-border);
  padding:14px 12px;
  color: var(--lic-text);
}
.lic-a-table tr td:first-child{border-radius:10px 0 0 10px}
.lic-a-table tr td:last-child{border-radius:0 10px 10px 0}
.lic-name a{
  color: var(--lic-primary-2);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.lic-name a:hover{
  color: var(--lic-primary);
  border-bottom-color: var(--lic-primary);
}
.lic-num{white-space:nowrap;font-size:12px;color:var(--lic-muted)}
.lic-iyt{white-space:nowrap;font-size:12px;color:var(--lic-muted)}

.lic-a-empty{
  padding:14px;
  border:1px dashed var(--lic-border);
  border-radius:12px;
  background:#fff;
}

/* Paginación */
.lic-a-pager{display:flex;gap:8px;justify-content:center;margin:22px 0}
.lic-a-pager a, .lic-a-pager span{
  display:inline-block;
  min-width:36px;
  text-align:center;
  padding:8px 10px;
  border:1px solid var(--lic-border);
  background:#fff;
  color: var(--lic-text);
  border-radius:10px;
  text-decoration:none;
}
.lic-a-pager .current{
  background: var(--lic-primary);
  border-color: var(--lic-primary);
  color:#fff;
  font-weight:700;
}

/* ====== BOTONES REUTILIZABLES ====== */
.lic-btn{
  display:inline-block;
  padding:8px 12px;
  border:1px solid var(--lic-primary);
  border-radius:10px;
  text-decoration:none;
  background: var(--lic-primary);
  color:#fff !important;
  transition: all .15s ease;
}
.lic-btn:hover{
  background:#022a98;
  border-color:#022a98;
  transform: translateY(-1px);
}

/* ====== FORMULARIOS FRONT (shortcodes) ====== */
.lic-form{
  border:1px solid var(--lic-border);
  border-radius:14px;
  padding:18px;
  background:#fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.03);
}
.lic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:10px 0}
.lic-lb{display:flex;flex-direction:column;font-weight:700;font-size:14px;color:var(--lic-muted)}
.lic-lb input{margin-top:6px;border:1px solid var(--lic-border);border-radius:10px;padding:8px 10px}
.lic-docset,
.lic-taxset{
  margin-top:12px;border:1px dashed var(--lic-border);padding:12px;border-radius:12px;background:#fff
}
.lic-docset legend,
.lic-taxset legend{
  font-weight:800;color:var(--lic-primary)
}
.lic-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.lic-btn.primary{background:var(--lic-primary);color:#fff;border-color:var(--lic-primary)}
.lic-btn.primary:hover{background:#022a98;border-color:#022a98}

/* ====== ADMIN (metabox) — se apoya en estilos encolados en admin ====== */
.lic-docs .head{font-weight:700;color:var(--lic-primary)}
.lic-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f1f5ff;border:1px solid #dbeafe;margin:4px 6px 0 0}
.lic-chip .remove{color:var(--lic-danger);text-decoration:none}

/* ====== Accesibilidad ====== */
.lic-chip:focus,
.lic-btn:focus,
.lic-a-filters select:focus,
.lic-a-filters input[type="search"]:focus{
  outline: 3px solid rgba(0,31,102,.25);
  outline-offset: 2px;
}

/* ====== Impresión limpia ====== */
@media print{
  .lic-a-toolbar, .lic-a-pager, .lic-s-nav{display:none !important}
  body{background:#fff}
  .lic-s-card{box-shadow:none}
}
