/*MENÚS=================================*/

/* menu sf-menu sf-herramientasrec sf-vertical sf-style-default ul-tools PARA LAS HERRAMIENTAS */

nav.navbar.tags{
background: transparent;
 }

nav.navbar.navbar-expand-lg.nav.tags{
  margin: 1em 0;
  padding: .2em;
}

.dropdown-menu.show{
  border:1px solid white;
  border-radius: 0;
  padding: 0;
  }

ul.sf-menu.sf-style-blue li:hover,
ul.sf-menu.sf-style-blue li.sfHover,
ul.sf-menu.sf-style-blue a:focus,
ul.sf-menu.sf-style-blue a:hover,
ul.sf-menu.sf-style-blue span.nolink:hover {
  background: #f5f5f5;
  color:#245e7c;
  border-left:.3px solid #245e7c;
  font-weight: 400;
  }

ul.sf-menu.sf-style-default a,
ul.sf-menu.sf-style-default a:visited,
ul.sf-menu.sf-style-default span.nolink {
    border: 0 none;
    color: #5a5a5a;
    padding: 0.75em 1em;
}


li.sf-depth-1.li-categories.sf-no-children, li.sf-depth-1.li-tools.sf-no-children{
  border-bottom: solid .3px #fff;
}

li.sf-depth-1.li-categories.sf-no-children, li.sf-depth-1.li-tools.sf-no-children{
  border-bottom: solid .3px #fff;
  border-top:solid .3px #fff;
 }

ul.sf-menu.sf-style-blue a.is-active,
ul.sf-menu.sf-style-blue a.is-active:hover {
  background: #245e7c;
  color:#fff;
}
ul.sf-menu.sf-style-default a.is-active,
ul.sf-menu.sf-style-default a.is-active:hover {
  background: #5a5a5a;
  color:#fff;
}

/*PARA CONSEGUIR UN EFECTO ZEBRA*/
/* ul.sf-menu.sf-style-blue li, ul.sf-menu.sf-style-blue.sf-navbar {
    background: #B3D4FF;
} */

/* Estado normal */
ul.sf-menu.sf-style-default li,
ul.sf-menu.sf-style-default.sf-navbar {
    background:#ebeff2;
}

/* Hover */
ul.sf-menu.sf-style-default li:hover,
ul.sf-menu.sf-sf-style-default li.sfHover,
ul.sf-menu.sf-style-default a:focus,
ul.sf-menu.sf-style-default a:hover,
ul.sf-menu.sf-style-default span.nolink:hover {
  background: #f5f5f5;
  color:#5a5a5a;
  border-left:.3px solid #5a5a5a;
  font-weight: 400;
}
/*FIN PARA CONSEGUIR UN EFECTO ZEBRA*/


/*CONTROLA EL TAMAÑO DEL MENÚ VERTICAL DENTRO DEL BLOQUE EN ESTE CASO MENUCATALOG*/
ul.sf-menu.sf-vertical.ul-tools,
ul.sf-menu.sf-vertical.ul-categories{
  width: 80%;
  margin:0 auto;
}


a.sf-depht-1.tools-link {
  color: #5a5a5a;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;

  /* suavizado */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



/*ESTE ES EL BLOQUE EN EL QUE SE ENCUENTRA EL MENÚ DE DATOS, METADATOS, DESCARGAS Y EL MENÚ HERRAMIENTAS*/
.menucatalog, .menutools {
   margin: 0 auto; /* centrado */
 }

.menucatalog, .menutools {
  padding-left: 5rem;
  }

/*FIN -> ESTE ES EL BLOQUE EN EL QUE SE ENCUENTRA EL MENÚ DE DATOS, METADATOS, DESCARGAS*/

.toolsfiltered {
    display: inline-block;
    text-align: center;
    margin: 0 .1em 1em;
    padding: 3px 14px;
    color: #5a5a5a;
    background-color: #f5f5f5;
    line-height: 1.2;
    text-decoration: none;
    width: 100%;
  }

p.subtitle{
font-weight: 500;
color:#245e7c;
  }


.titlecatalog{
  text-align: center;
  font-weight: 800 !important;
  color:#245e7c;
  padding:1rem;
  border-bottom: 2px solid #245e7c;
 }

.catfiltered {
    display: inline-block;
    text-align: center;
    margin: 0 .1em 1em;
    padding: 3px 14px;
    color: #245e7c;
    background-color: #f5f5f5;
    line-height: 1.2;
    text-decoration: none;
    width: 100%;
  }

  .btn-catalog a, .btn-catalog a:hover {
   color:#ffffff;
   background-color:#245e7c;
   border-radius: 2px;
   display: table-cell;
   padding: 5px;
   text-align: center;
   width: 10%;
   margin:1em;
   font-size: 1.2em;
   text-decoration: none;
  }

.servicio, .servicio:hover{
  padding: 2px ;
  margin: 0 !important;
}

.servicio:hover{
 background-color:#f5f5f5;
}

p.p-catalog a{color:#5a5a5a;}
p.p-catalog a:hover{color:#0071b3; text-decoration: none;}
.lista-catalog{
margin-top: 2em;
margin-bottom: 1.5em;
}

p.categoria, p.categoria a, p.categoria a:hover, p.categoriatitle, p.categoriatitle a, p.categoriatitle a:hover{
  text-decoration: none;
  color:#245e7c;
   }

p.categoriatitle, p.categoriatitle a, p.categoriatitle a:hover  { font-weight: 700; margin: 1.5rem; }

p.categoria, p.categoria a, p.categoria a:hover { font-weight: 400; }

.colparrafo{margin: .5em 0;}



p.categoria, p.categoria a, p.categoria a:hover{margin-top: 2em;}

/* a.sf-depth-1.categories-link,
a.sf-depth-1.tools-link {font-size: 1.2em; !important} */

/* div.sf-accordion-toggle.sf-style-default a {padding: .1em .5em;} */

ul.sf-menu.sf-style-blue a {background-color: #F5F5F5;}

ul.sf-menu.sf-style-blue a,
ul.sf-menu.sf-style-blue a.is-active,
ul.sf-menu.sf-style-blue a:visited,
ul.sf-menu.sf-style-blue span.nolink{
color:#245e7c;
}

div.sf-accordion-toggle.sf-style-blue a,
div.sf-accordion-toggle.sf-style-blue a.sf-expanded{
background: #245e7c;
}

div.sf-accordion-toggle.sf-style-default a,
div.sf-accordion-toggle.sf-style-default a.sf-expanded{
background: #5a5a5a;
}

ul.sf-menu.sf-style-blue a.is-active{
color: #fff;
}

div.sf-accordion-toggle.sf-style-blue > a:after,  div.sf-accordion-toggle.sf-style-default > a:after{
  position: absolute;
    right: 0.7em;
    top: 50%;
}

div.sf-accordion-toggle.sf-style-default a {
 color: #fff;
}


ul.menu.sf-menu.sf-datos-metadatos-y-servicios.sf-vertical.sf-style-blue.ul-categories.sf-js-enabled.sf-shadow:hover{
  background-color: #F5F5F5;
  text-decoration: none;
}

/* fin MENÚS =====================================*/

/*ESTILO PARA LAS TABLAS Y PÁGINAS DE LOS DATOS, METADATOS Y SERVICIOS*/

/* Color base para reutilizar */
:root{
  --btn-bg: #245E7C;
  --btn-bg-hover: #1E4F69; /* un poco más oscuro para hover */
}


/* 2) Enlaces dentro de <p> como botones */
p.btn-visu > a{
  display: inline-flex;               /* para alinear icono/texto si lo hubiera */
  align-items: center;
  gap: .5rem;
  padding: 0.6rem 0.9rem;
  margin: 0.35rem 0.35rem 0.35rem 0; /* espaciar las cajitas */
  background: var(--btn-bg);
  color: #fff !important;
  text-decoration: none;
  border-radius: 8px;
  font: 600 0.95rem/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
  transition: background-color .2s ease, transform .05s ease, box-shadow .2s ease;
  cursor: pointer;
}


/* Efectos de interacción (hover/focus/active) en enlaces-botón */
p.btn-visu > a:hover,
.colparrafo > a:hover{
  background: var(--btn-bg-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.20);
}

p.btn-visu > a:active,
.colparrafo > a:active{
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
}

p.btn-visu > a:focus-visible,
.colparrafo > a:focus-visible{
  outline: 3px solid #B3D4FF; /* accesibilidad */
  outline-offset: 2px;
}

/* Opcional: reduce el margen vertical de los <p> que contienen enlaces-botón
   (si tu tema deja demasiado espacio). Esta pseudoclase ya está soportada en navegadores modernos. */
p.btn-visu:has(> a){
  margin: 0.2rem 0;
}

p.btn-visu{
  margin-bottom: 1.3rem;
}



/*ESTILO PARA LAS PÁGINAS DE LOS DATOS, METADATOS Y SERVICIOS*/

/*ESTILO PARA LA TABLA DE LAS PÁGINAS DE LOS DATOS, METADATOS Y SERVICIOS*/



/* ===========================
   TABLAS DE CATEGORÍAS

   =========================== */

   :root{
  --brand: #245E7C;              /* cabecera principal */
  --brand-2: #2F6E90;            /* cabeceras secundarias (más clara) */
  --brand-hover: #1E4F69;
  --text-on-brand: #fff;

  --table-border: #E4EEF4;
  --row-divider: #E9F1F6;
  --zebra: #F7FBFE;
  --row-hover: #ECF6FB;

  --radius: 12px;

  --fs-base: 17px;   /* texto normal dentro de tabla */
  --fs-head: 20px;   /* cabecera principal */
  --fs-head-2: 18px; /* cabeceras secundarias */
  --fs-btn: 16px;    /* botones dentro de tabla */

  --font-roboto-cond: "Roboto Condensed", system-ui, -apple-system, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, sans-serif;

  --icon-size: 58px; /* tamaño visual consistente para iconos */
}

/* Tabla: 80% centrada + columnas equilibradas */
table.table.tablecategorias{
  width: 80%;
  margin: 1.3rem auto;
  border-collapse: separate !important;
  border-spacing: 0;
  border: 1px solid var(--table-border);
  border-radius: var(--radius);
  background: #fff;
  color: #20323D;
  font: var(--fs-base)/1.5 var(--font-roboto-cond);
  overflow: hidden;

  /* Mejora columnas: layout fijo (ideal con iconos) */
  table-layout: fixed;
}

/* Dos columnas al 50% (siempre equilibradas) */
table.table.tablecategorias td:nth-child(1){ width: 50%; }
table.table.tablecategorias td:nth-child(2){ width: 50%; }

/* Celdas: padding + divisores */
table.table.tablecategorias td{
  padding: 12px 14px;
  border-top: 1px solid var(--row-divider);
  vertical-align: middle;
}

/* Sin borde superior en la primera fila */
table.table.tablecategorias tbody tr:first-child td{
  border-top: none;
}

/* =====================================================
   CABECERAS (3 niveles):
   1) Principal = primera fila .tablacatego del tbody (azul oscuro)
   2) "Datos | Metadatos" = fila inmediatamente posterior (azul claro + un pelín más grande)
   3) Intermedias = .tablacatego NO primera con colspan (azul claro + algo más pequeño)
   ===================================================== */

/* Base común de cabeceras: nitidez + tipografía */
table.table.tablecategorias tbody tr.tablacatego td{
  color: var(--text-on-brand) !important;
  letter-spacing: .02em;
  padding: 14px 16px;
  border-top: none;

  /* Nitidez */
  text-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  mix-blend-mode: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
  font-synthesis-weight: none;
}

/* 1) Cabecera principal (siempre la primera fila .tablacatego del tbody) */
table.table.tablecategorias tbody tr.tablacatego:first-child td{
  background: var(--brand) !important;
  font-weight: 800;                 /* más “cabecera” */
  font-size: var(--fs-head);
  border-bottom: 2px solid var(--brand-hover);
  text-align: center;               /* suele quedar bien en el título grande */
}

/* 2) Cabecera “Datos | Metadatos” (la que va justo después de la principal) */
table.table.tablecategorias tbody tr.tablacatego:first-child + tr.tablacatego td{
  background: var(--brand-2) !important;
  font-weight: 700;
  font-size: calc(var(--fs-head-2) + 1px);  /* un pelín más grande */
  border-bottom: 2px solid rgba(0,0,0,.10);
  text-align: center;
}

/* 3) Cabeceras intermedias: filas .tablacatego con colspan (en medio de la tabla) */
table.table.tablecategorias tbody tr.tablacatego:not(:first-child) td[colspan]{
  background: var(--brand-2) !important;
  font-weight: 700;
  font-size: var(--fs-head-2);      /* un pelín más pequeña que “Datos | Metadatos” */
  border-bottom: 2px solid rgba(0,0,0,.08);
  text-align: center;
}

/* ===========================
   ZEBRA y HOVER SOLO en filas normales
   (excluye .tablacatego)
   =========================== */
table.table.tablecategorias tbody tr:not(.tablacatego):nth-child(even) td{
  background: var(--zebra);
}
table.table.tablecategorias tbody tr:not(.tablacatego):hover td{
  background: var(--row-hover);
}

/* ===========================
   ICONOS: centrados, mismo tamaño, click cómodo
   =========================== */

/* Centra el contenido si la celda contiene un icono (usa :has cuando está disponible) */
table.table.tablecategorias td:has(> a > img){
  text-align: center;
}

/* Link del icono: área clicable limpia */
table.table.tablecategorias td > a:has(> img){
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-radius: 12px;
  transition: background-color .2s ease, transform .05s ease;
}

/* Hover suave sobre el icono */
table.table.tablecategorias td > a:has(> img):hover{
  background: rgba(36, 94, 124, 0.10);
  transform: translateY(-1px);
}

/* Iconos consistentes */
table.table.tablecategorias td a > img{
  width: var(--icon-size);
  height: var(--icon-size);
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* Foco accesible (teclado) */
table.table.tablecategorias a:focus-visible{
  outline: 3px solid #B3D4FF;
  outline-offset: 2px;
  border-radius: 10px;
}

/* ===========================
   BOTÓN .btn-visu (Licencia)
   ancho según contenido (texto)
   =========================== */
table.table.tablecategorias p.btn-visu{
  margin: 0;
  display: inline-block; /* clave: el <p> no ocupa todo el ancho */
}

table.table.tablecategorias .btn-visu > a{
  display: inline-flex;      /* tamaño según texto */
  align-items: center;
  gap: .4rem;
  background: var(--brand);
  color: var(--text-on-brand) !important;
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 10px;
  font-weight: 700;
  font-size: var(--fs-btn);
  line-height: 1.2;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  transition: background-color .2s ease, transform .05s ease, box-shadow .2s ease;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
}

/* Centra el contenido cuando hay colspan=2 (títulos y fila del botón) */
table.table.tablecategorias td[colspan="2"],
table.table.tablecategorias td.licencia {
  text-align: center;
}


table.table.tablecategorias .btn-visu > a:hover{
  background: var(--brand-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.16);
}
table.table.tablecategorias .btn-visu > a:active{
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0,0,0,.14);
}

/* ===========================
   Responsive: en móvil 100%
   =========================== */
@media (max-width: 768px){
  :root{
    --fs-base: 16px;
    --fs-head: 18px;
    --fs-head-2: 16.5px;
    --fs-btn: 15px;
    --icon-size: 52px;
  }
  table.table.tablecategorias{
    width: 100%;
  }
  table.table.tablecategorias td{
    padding: 10px 12px;
  }
}

.hr-espaciado{
  margin: 2rem 0;
}

a.sf-depht-1 {
    /* suavizado */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*SIEMPRE FINAL*/
a, a:hover{
  text-decoration: none !important;
}
