/**
 * services-index.css — Índice de servicios (/servicios/) y columna «Servicios» del pie.
 */

/* ---------- Página /servicios/ ---------- */
.ctop-indice {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 22px;
    text-align: left;
}

.ctop-indice-gremio {
    padding: 22px 24px;
    background: #fff;
    border: 1px solid #E9EEF5;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, .05);
}

.ctop-indice-gremio__titulo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font: 800 17px/1.3 Montserrat, sans-serif;
    color: #0F172A;
}

.ctop-indice-gremio__titulo a {
    color: #0F172A;
    text-decoration: none;
}

.ctop-indice-gremio__titulo a:hover { color: #2563EB; }

/* Nº de zonas cubiertas: sitúa de un vistazo dónde hay oferta de verdad. */
.ctop-indice-gremio__n {
    flex: 0 0 auto;
    min-width: 24px;
    padding: 2px 8px;
    background: #EFF6FF;
    color: #2563EB;
    border-radius: 999px;
    font: 700 12.5px Inter, sans-serif;
    text-align: center;
}

.ctop-indice-zonas {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ctop-indice-zonas li + li { margin-top: 9px; }

.ctop-indice-zonas a {
    color: #2563EB;
    text-decoration: none;
    font: 500 15px Inter, sans-serif;
    /* Hay municipios largos ("Sant Joan d'Alacant"): que parta antes de desbordar la tarjeta. */
    overflow-wrap: anywhere;
}

.ctop-indice-zonas a:hover,
.ctop-indice-zonas a:focus { text-decoration: underline; }

/* Distingue "Valencia" municipio de "Valencia" provincia, que se llaman igual. */
.ctop-indice-nivel {
    margin-left: 7px;
    padding: 1px 7px;
    background: #F1F5F9;
    color: #64748B;
    border-radius: 999px;
    font: 600 11.5px Inter, sans-serif;
    vertical-align: 1px;
}

.ctop-indice-vacio {
    color: #475569;
    font: 500 15px/1.6 Inter, sans-serif;
}

/* ---------- Columna «Servicios» del pie ----------
   Es un menú de WordPress pintado por Elementor; se muestra a dos columnas para que 11 enlaces no
   estiren el pie hasta el infinito. */
.uv-foot-servicios .elementor-nav-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
}

.uv-foot-servicios .elementor-nav-menu li { width: 100%; }

/* El último elemento («Ver todos los servicios») ocupa las dos columnas y se separa del resto. */
.uv-foot-servicios .elementor-nav-menu li:last-child {
    grid-column: 1 / -1;
    margin-top: 8px;
}

.uv-foot-servicios .elementor-nav-menu li:last-child a {
    font-weight: 700;
    color: #fff;
}

@media (max-width: 767px) {
    .ctop-indice { grid-template-columns: 1fr; gap: 14px; }
    .ctop-indice-gremio { padding: 18px 18px; }
    .uv-foot-servicios .elementor-nav-menu { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------------
   Índice de servicios plegable
   ---------------------------------------------------------------------------
   Cada gremio es un <details> nativo: pliega sin JavaScript y el teclado ya lo maneja. */
.ctop-indice-gremio{
  border:1px solid #E9EEF5; border-radius:14px; background:#fff;
  margin-bottom:12px; overflow:hidden;
}
.ctop-indice-gremio__titulo{
  display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none;
  padding:16px 20px; font:800 16px/1.3 Montserrat,sans-serif; color:#0F172A;
  transition:background .15s;
}
.ctop-indice-gremio__titulo:hover{ background:#F8FAFC; }
/* El triángulo por defecto de <summary>, fuera: se usa el chevron de FontAwesome. */
.ctop-indice-gremio__titulo::-webkit-details-marker{ display:none; }
.ctop-indice-gremio__titulo::marker{ content:""; }

.ctop-indice-gremio__nombre{ flex:1 1 auto; }
.ctop-indice-gremio__n{
  flex:0 0 auto; padding:3px 10px; border-radius:999px;
  background:#EFF6FF; color:#2563EB; font:700 12.5px Inter,sans-serif;
}
.ctop-indice-gremio__flecha{
  flex:0 0 auto; color:#94A3B8; font-size:13px; transition:transform .2s;
}
.ctop-indice-gremio[open] .ctop-indice-gremio__flecha{ transform:rotate(180deg); }

.ctop-indice-gremio__todos{
  margin:0; padding:0 20px 10px;
  font:600 14px Inter,sans-serif;
}
.ctop-indice-gremio__todos a{ color:#2563EB; }

.ctop-indice-gremio .ctop-indice-zonas{ padding:0 20px 18px; margin:0; }

@media (prefers-reduced-motion: reduce){
  .ctop-indice-gremio__flecha{ transition:none; }
}
