/*!
	@file        : newdefault.less

	@description : Estructura de compilación de estilos MediaSearch
	@license     : baratz
	@copyright   : 2018

	@author      : http://www.baratz.es/
	@date        : 2018-08-06

	@human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
---------------------------------------------------- */
/*!
	Importacion de fuentes
---------------------------------------------------- */
/*!
 *  @file        : fonts.less
 *
 *  @description : Fuentes usadas en las plantillas
 *  @license     : baratz
 *  @copyright   : 2020
 *
 *  @author      : http://www.baratz.es/
 *  @date        : 2020-05-01
 *
 *  @human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
 *  @human       : Xosé Manuel Paz Graña <xose_manuel.paz@baratz.es>
 *
 *
 ***************************/
/**************************************************************
	RALEWAY
**************************************************************/
@font-face {
  font-family: "raleway_thin";
  src: url('./fonts/raleway/thin/raleway-thin.eot');
  src: url('./fonts/raleway/thin/raleway-thin.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/thin/raleway-thin.woff') format('woff'), url('./fonts/raleway/thin/raleway-thin.ttf') format('truetype'), url('./fonts/raleway/thin/raleway-thin.svg#ralewaythin') format('svg');
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "raleway_extralight";
  src: url('./fonts/raleway/extralight/raleway-extralight.eot');
  src: url('./fonts/raleway/extralight/raleway-extralight.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/extralight/raleway-extralight.woff') format('woff'), url('./fonts/raleway/extralight/raleway-extralight.ttf') format('truetype'), url('./fonts/raleway/extralight/raleway-extralight.svg#ralewayextralight') format('svg');
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "raleway_light";
  src: url('./fonts/raleway/light/raleway-light.eot');
  src: url('./fonts/raleway/light/raleway-light.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/light/raleway-light.woff') format('woff'), url('./fonts/raleway/light/raleway-light.ttf') format('truetype'), url('./fonts/raleway/light/raleway-light.svg#ralewaylight') format('svg');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "raleway_regular";
  src: url('./fonts/raleway/regular/raleway-regular.eot');
  src: url('./fonts/raleway/regular/raleway-regular.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/regular/raleway-regular.woff') format('woff'), url('./fonts/raleway/regular/raleway-regular.ttf') format('truetype'), url('./fonts/raleway/regular/raleway-regular.svg#ralewayregular') format('svg');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "raleway_medium";
  src: url('./fonts/raleway/medium/raleway-medium.eot');
  src: url('./fonts/raleway/medium/raleway-medium.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/medium/raleway-medium.woff') format('woff'), url('./fonts/raleway/medium/raleway-medium.ttf') format('truetype'), url('./fonts/raleway/medium/raleway-medium.svg#ralewaymedium') format('svg');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "raleway_semibold";
  src: url('./fonts/raleway/semibold/raleway-semibold.eot');
  src: url('./fonts/raleway/semibold/raleway-semibold.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/semibold/raleway-semibold.woff') format('woff'), url('./fonts/raleway/semibold/raleway-semibold.ttf') format('truetype'), url('./fonts/raleway/semibold/raleway-semibold.svg#ralewaysemibold') format('svg');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "raleway_bold";
  src: url('./fonts/raleway/bold/raleway-bold.eot');
  src: url('./fonts/raleway/bold/raleway-bold.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/bold/raleway-bold.woff') format('woff'), url('./fonts/raleway/bold/raleway-bold.ttf') format('truetype'), url('./fonts/raleway/bold/raleway-bold.svg#ralewaybold') format('svg');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "raleway_extrabold";
  src: url('./fonts/raleway/extrabold/raleway-extrabold.eot');
  src: url('./fonts/raleway/extrabold/raleway-extrabold.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/extrabold/raleway-extrabold.woff') format('woff'), url('./fonts/raleway/extrabold/raleway-extrabold.ttf') format('truetype'), url('./fonts/raleway/extrabold/raleway-extrabold.svg#ralewayextrabold') format('svg');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "raleway_heavy";
  src: url('./fonts/raleway/heavy/raleway-heavy.eot');
  src: url('./fonts/raleway/heavy/raleway-heavy.eot?#iefix') format('embedded-opentype'), url('./fonts/raleway/heavy/raleway-heavy.woff') format('woff'), url('./fonts/raleway/heavy/raleway-heavy.ttf') format('truetype'), url('./fonts/raleway/heavy/raleway-heavy.svg#ralewayheavy') format('svg');
  font-weight: 900;
  font-style: normal;
}
/**************************************************************
	SOURCE SANS PRO
**************************************************************/
@font-face {
  font-family: "source_sans_pro_regular";
  src: url('./fonts/source_sans_pro/regular/sourcesanspro-regular-webfont.eot');
  src: url('./fonts/source_sans_pro/regular/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/source_sans_pro/regular/sourcesanspro-regular-webfont.woff2') format('woff2'), url('./fonts/source_sans_pro/regular/sourcesanspro-regular-webfont.woff') format('woff'), url('./fonts/source_sans_pro/regular/sourcesanspro-regular-webfont.ttf') format('truetype'), url('./fonts/source_sans_pro/regular/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'source_sans_pro_black';
  src: url('./fonts/source_sans_pro/black/sourcesanspro-black-webfont.eot');
  src: url('./fonts/source_sans_pro/black/sourcesanspro-black-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/source_sans_pro/black/sourcesanspro-black-webfont.woff2') format('woff2'), url('./fonts/source_sans_pro/black/sourcesanspro-black-webfont.woff') format('woff'), url('./fonts/source_sans_pro/black/sourcesanspro-black-webfont.ttf') format('truetype'), url('./fonts/source_sans_pro/black/sourcesanspro-black-webfont.svg#source_sans_problack') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'source_sans_pro_light';
  src: url('./fonts/source_sans_pro/light/sourcesanspro-light-webfont.eot');
  src: url('./fonts/source_sans_pro/light/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/source_sans_pro/light/sourcesanspro-light-webfont.woff2') format('woff2'), url('./fonts/source_sans_pro/light/sourcesanspro-light-webfont.woff') format('woff'), url('./fonts/source_sans_pro/light/sourcesanspro-light-webfont.ttf') format('truetype'), url('./fonts/source_sans_pro/light/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'source_sans_pro_semibold';
  src: url('./fonts/source_sans_pro/semibold/sourcesanspro-semibold-webfont.eot');
  src: url('./fonts/source_sans_pro/semibold/sourcesanspro-semibold-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/source_sans_pro/semibold/sourcesanspro-semibold-webfont.woff2') format('woff2'), url('./fonts/source_sans_pro/semibold/sourcesanspro-semibold-webfont.woff') format('woff'), url('./fonts/source_sans_pro/semibold/sourcesanspro-semibold-webfont.ttf') format('truetype'), url('./fonts/source_sans_pro/semibold/sourcesanspro-semibold-webfont.svg#source_sans_prosemibold') format('svg');
  font-weight: normal;
  font-style: normal;
}
/**************************************************************
	OPEN SANS
**************************************************************/
@font-face {
  font-family: "open_sans_bold";
  src: url('./fonts/open_sans/bold/opensans-bold-webfont.eot');
  src: url('./fonts/open_sans/bold/opensans-bold-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/bold/opensans-bold-webfont.woff2') format('woff2'), url('./fonts/open_sans/bold/opensans-bold-webfont.woff') format('woff'), url('./fonts/open_sans/bold/opensans-bold-webfont.ttf') format('truetype'), url('./fonts/open_sans/bold/opensans-bold-webfont.svg#open_sansbold') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_bold_italic";
  src: url('./fonts/open_sans/bold_italic/opensans-bold_italic-webfont.eot');
  src: url('./fonts/open_sans/bold_italic/opensans-bold_italic-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/bold_italic/opensans-bold_italic-webfont.woff2') format('woff2'), url('./fonts/open_sans/bold_italic/opensans-bold_italic-webfont.woff') format('woff'), url('./fonts/open_sans/bold_italic/opensans-bold_italic-webfont.ttf') format('truetype'), url('./fonts/open_sans/bold_italic/opensans-bold_italic-webfont.svg#open_sans_bold_italic') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_extrabold";
  src: url('./fonts/open_sans/extrabold/opensans-extrabold-webfont.eot');
  src: url('./fonts/open_sans/extrabold/opensans-extrabold-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/extrabold/opensans-extrabold-webfont.woff2') format('woff2'), url('./fonts/open_sans/extrabold/opensans-extrabold-webfont.woff') format('woff'), url('./fonts/open_sans/extrabold/opensans-extrabold-webfont.ttf') format('truetype'), url('./fonts/open_sans/extrabold/opensans-extrabold-webfont.svg#open_sansextrabold') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_extrabold_italic";
  src: url('./fonts/open_sans/extrabold_italic/opensans-extrabold_italic-webfont.eot');
  src: url('./fonts/open_sans/extrabold_italic/opensans-extrabold_italic-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/extrabold_italic/opensans-extrabold_italic-webfont.woff2') format('woff2'), url('./fonts/open_sans/extrabold_italic/opensans-extrabold_italic-webfont.woff') format('woff'), url('./fonts/open_sans/extrabold_italic/opensans-extrabold_italic-webfont.ttf') format('truetype'), url('./fonts/open_sans/extrabold_italic/opensans-extrabold_italic-webfont.svg#open_sansextrabold_italic') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_italic";
  src: url('./fonts/open_sans/italic/opensans-italic-webfont.eot');
  src: url('./fonts/open_sans/italic/opensans-italic-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/italic/opensans-italic-webfont.woff2') format('woff2'), url('./fonts/open_sans/italic/opensans-italic-webfont.woff') format('woff'), url('./fonts/open_sans/italic/opensans-italic-webfont.ttf') format('truetype'), url('./fonts/open_sans/italic/opensans-italic-webfont.svg#open_sansitalic') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_light";
  src: url('./fonts/open_sans/light/opensans-light-webfont.eot');
  src: url('./fonts/open_sans/light/opensans-light-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/light/opensans-light-webfont.woff2') format('woff2'), url('./fonts/open_sans/light/opensans-light-webfont.woff') format('woff'), url('./fonts/open_sans/light/opensans-light-webfont.ttf') format('truetype'), url('./fonts/open_sans/light/opensans-light-webfont.svg#open_sanslight') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_light_italic";
  src: url('./fonts/open_sans/light_italic/opensans-light_italic-webfont.eot');
  src: url('./fonts/open_sans/light_italic/opensans-light_italic-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/light_italic/opensans-light_italic-webfont.woff2') format('woff2'), url('./fonts/open_sans/light_italic/opensans-light_italic-webfont.woff') format('woff'), url('./fonts/open_sans/light_italic/opensans-light_italic-webfont.ttf') format('truetype'), url('./fonts/open_sans/light_italic/opensans-light_italic-webfont.svg#open_sanslight_italic') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_regular";
  src: url('./fonts/open_sans/regular/opensans-regular-webfont.eot');
  src: url('./fonts/open_sans/regular/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/regular/opensans-regular-webfont.woff2') format('woff2'), url('./fonts/open_sans/regular/opensans-regular-webfont.woff') format('woff'), url('./fonts/open_sans/regular/opensans-regular-webfont.ttf') format('truetype'), url('./fonts/open_sans/regular/opensans-regular-webfont.svg#open_sansregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_semibold";
  src: url('./fonts/open_sans/semibold/opensans-semibold-webfont.eot');
  src: url('./fonts/open_sans/semibold/opensans-semibold-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/semibold/opensans-semibold-webfont.woff2') format('woff2'), url('./fonts/open_sans/semibold/opensans-semibold-webfont.woff') format('woff'), url('./fonts/open_sans/semibold/opensans-semibold-webfont.ttf') format('truetype'), url('./fonts/open_sans/semibold/opensans-semibold-webfont.svg#open_sanssemibold') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sans_semibold_italic";
  src: url('./fonts/open_sans/semibold_italic/opensans-semibold_italic-webfont.eot');
  src: url('./fonts/open_sans/semibold_italic/opensans-semibold_italic-webfont.eot?#iefix') format('embedded-opentype'), url('./fonts/open_sans/semibold_italic/opensans-semibold_italic-webfont.woff2') format('woff2'), url('./fonts/open_sans/semibold_italic/opensans-semibold_italic-webfont.woff') format('woff'), url('./fonts/open_sans/semibold_italic/opensans-semibold_italic-webfont.ttf') format('truetype'), url('./fonts/open_sans/semibold_italic/opensans-semibold_italic-webfont.svg#open_sanssemibold_italic') format('svg');
  font-weight: normal;
  font-style: normal;
}
/*
	Variables LESS (legacy — no tocar, en uso por código histórico)
---------------------------------------------------- */
/*!
	@file        : newdefault_vars.less

	@description : Constantes LESS
	@license     : baratz
	@copyright   : 2018

	@author      : http://www.baratz.es/
	@date        : 2018-08-06

	@human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
---------------------------------------------------- */
/* FUENTES

	NOTA: cuidado con las definiciones de los fontname de fonts.less
---------------------------------------------------- */
/*
	@fuente_base : Arial,Helvetica Neue,Helvetica,sans-serif;
	@fuente_base_bold : Arial,Helvetica Neue,Helvetica,sans-serif;
	@fuente_base_light : Arial,Helvetica Neue,Helvetica,sans-serif;
*/
/* COLORES
---------------------------------------------------- */
/* FUENTE */
/* FUENTE TAMAÑOS */
/* BACKGROUND / BORDER */
/*@semi_01: rgba(45,81,120,.50);*/
/* text-shadow / box-shadow */
/* BADGE */
.btn_default {
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
}
.btn_default i,
.btn_default .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.btn_default:hover,
.btn_default:active,
.btn_default:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
/* boton semitranparente*/
/* C4 (AA): el fondo era @semi_01 (rgba(122,135,163,.85)) → texto blanco 2.86:1 (falla AA).
   Se sube a #2c6280 (=@clr-accent-dark) → 6.63:1. NO se toca @semi_01 porque se reutiliza
   con texto OSCURO (@color_fuente_00 #454545) en _core.less:3629/3598, donde sí contrasta. */
.btn_opaqued {
  background-color: #2c6280;
  color: #FFFFFF;
  border-color: transparent;
}
.btn_opaqued:hover,
.btn_opaqued:active,
.btn_opaqued:focus {
  background-color: #286293;
  color: #fff;
  border-color: transparent;
}
.btn_opaqued.btn_saberMas {
  color: #FFFFFF;
}
/* ----------------------------------------*/
/* -      Variables generales footer      -*/
/*
	Breakpoints alineados con Bootstrap 5 — punto único de verdad
	para todos los @media de los archivos siguientes.
---------------------------------------------------- */
/*!
	@file        : _breakpoints.less

	@description : Variables de media-query alineadas con Bootstrap 5.
	               Punto único de verdad. Para tocar un breakpoint, tocar AQUÍ.

	@reference   : https://getbootstrap.com/docs/5.3/layout/breakpoints/

	    xs : <576px (default, sin media query)
	    sm : ≥576px
	    md : ≥768px
	    lg : ≥992px
	    xl : ≥1200px
	    xxl: ≥1400px
---------------------------------------------------- */
/* min-width (mobile-first) */
/* max-width (≤ que el siguiente breakpoint, con .98 para no solapar)
   Uso: @media (max-width: @bp-sm-max) { ... estilos solo en xs ... } */
/*
	Paleta semántica del cliente — capa nueva sobre las legacy.
	Para adaptación de cliente: editar SOLO este archivo.
---------------------------------------------------- */
/*!
   _palette.less — Paleta semántica del cliente
   ============================================================
   Esta es la única capa de variables que un cliente debe tocar
   para adaptar el OPAC a su identidad corporativa.

   Dos vías de uso:
   • Recompilable (LESS @vars):
        modificar los valores de abajo y reprocesar con Prepros
        → genera nuevo styles.css con los colores nuevos.

   • En caliente (CSS custom properties):
        sobreescribir los `--clr-*` en un CSS extra cargado al
        final de la cascada — el OPAC adopta los nuevos colores
        sin necesidad de recompilar.

   IMPORTANTE: este archivo NO toca las variables antiguas
   (`@color_00`, `@color_fuente_*`, `@semi_*`, etc.) que viven en
   `_newdefault_vars.less` — siguen funcionando para todo el
   código histórico que las usa.
============================================================ */
/* ─── Paleta Albadoc (azul corporativo suavizado) ─── */
/* azul Albadoc — más suave que el #0b3f62 anterior */
/* tono medio para gradientes 135deg primary→mid */
/* fondo de página */
/* fondo tarjetas blancas */
/* fondos suaves */
/* fondos medio-suaves (hover) */
/* bordes generales */
/* bordes suaves */
/* texto fuerte (títulos H1/H2) */
/* texto cuerpo */
/* texto secundario */
/* texto muy suave / placeholders */
/* ─── Exposición runtime como CSS custom properties ─────────
   El navegador resuelve var(--clr-X) en cualquier punto del
   CSS final. Override en runtime: cargar un CSS adicional con
   `:root { --clr-primary: #otroColor; }` después del styles.css.
─────────────────────────────────────────────────────────── */
:root {
  --clr-primary: #1e5687;
  --clr-primary-mid: #2c6ea3;
  --clr-accent: #3a7ca5;
  --clr-accent-dark: #2c6280;
  --clr-bg-page: #f0f4f8;
  --clr-bg-card: #ffffff;
  --clr-bg-subtle: #f8fafc;
  --clr-bg-muted: #f1f5f9;
  --clr-border: #d8dee9;
  --clr-border-light: #e2e8f0;
  --clr-text-main: #0f172a;
  --clr-text-body: #334155;
  --clr-text-muted: #64748b;
  --clr-text-light: #94a3b8;
  --clr-success: #10b981;
  --clr-warn: #f59e0b;
  --clr-danger: #ef4444;
  --clr-info: #3b82f6;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --shadow-xs: 0 1px 3px rgba(0, 0, 0, 0.07);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.09);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.11);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.1);
  --font-base: 'Segoe UI', system-ui, -apple-system, sans-serif;
}
/*!
	Importación de Estilos de algunos plugins (pueden usar constantes definidas anteriormente)
---------------------------------------------------- */
/*!
 *  @file        : plugins_styles.less
 *
 *  @description : Estilos de algunos plugins usados
 *  @license     : baratz
 *  @copyright   : 2018
 *
 *  @author      : http://www.baratz.es/
 *  @date        : 2018-08-06
 *
 *  @human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
 *
 *
 ***************************/
/*! Twitter Bootstrap typeahead
	https://github.com/bassjobsen/typeahead.js-bootstrap-css/blob/master/typeaheadjs.css
---------------------------------------------------- */
span.twitter-typeahead .tt-menu,
span.twitter-typeahead .tt-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
span.twitter-typeahead .tt-suggestion {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
span.twitter-typeahead .tt-suggestion.tt-cursor,
span.twitter-typeahead .tt-suggestion:hover,
span.twitter-typeahead .tt-suggestion:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.input-group.input-group-lg span.twitter-typeahead .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.input-group.input-group-sm span.twitter-typeahead .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
span.twitter-typeahead {
  width: 100%;
}
.input-group span.twitter-typeahead {
  display: block !important;
  height: 34px;
}
/* .input-group span.twitter-typeahead .tt-menu,
.input-group span.twitter-typeahead .tt-dropdown-menu{
  top:32px !important;
} */
.input-group span.twitter-typeahead:not(:first-child):not(:last-child) .form-control {
  border-radius: 0;
}
.input-group span.twitter-typeahead:first-child .form-control {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group span.twitter-typeahead:last-child .form-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.input-group.input-group-sm span.twitter-typeahead {
  height: 30px;
}
.input-group.input-group-sm span.twitter-typeahead .tt-menu,
.input-group.input-group-sm span.twitter-typeahead .tt-dropdown-menu {
  top: 30px !important;
}
.input-group.input-group-lg span.twitter-typeahead {
  height: 46px;
}
.input-group.input-group-lg span.twitter-typeahead .tt-menu,
.input-group.input-group-lg span.twitter-typeahead .tt-dropdown-menu {
  top: 46px !important;
}
span.twitter-typeahead .tt-menu,
span.twitter-typeahead .tt-dropdown-menu {
  width: 100%;
  padding: 15px;
  border-radius: 0;
}
span.twitter-typeahead .tt-menu .media-left {
  width: 80px;
  height: 80px;
}
span.twitter-typeahead .tt-menu .media-left a {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  text-align: center;
}
span.twitter-typeahead .tt-menu .media-left a .media-object {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: auto;
  max-width: 100%;
}
/*! Bootstrap Tooltip
---------------------------------------------------- */
.tooltip {
  word-wrap: break-word;
  width: auto;
  max-width: 50%;
}
/*	Switchery (modificaciones checks radios)
	https://www.jqueryscript.net/form/Creating-iOS-7-Style-Toggle-Switches-With-Switchery-js.html
	http://abpetkov.github.io/switchery/
*/
.switchery {
  background-color: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 20px;
  cursor: pointer;
  display: inline-block;
  height: 30px;
  position: relative;
  vertical-align: middle;
  width: 50px;
  box-sizing: content-box;
  background-clip: content-box;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.switchery > small {
  background: #fff;
  border-radius: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  height: 30px;
  position: absolute;
  top: 0;
  width: 30px;
}
.switchery-small {
  border-radius: 20px;
  height: 20px;
  width: 33px;
}
.switchery-small > small {
  height: 20px;
  width: 20px;
}
.switchery-large {
  border-radius: 40px;
  height: 40px;
  width: 66px;
}
.switchery-large > small {
  height: 40px;
  width: 40px;
}
/*MODS*/
.switchery,
.switchery > small {
  border: 1px solid transparent!important;
  box-shadow: none !important;
}
/*!
 * jQCloud 2.0.2
 * Copyright 2011 Luca Ongaro (http://www.lucaongaro.eu)
 * Copyright 2013 Daniel White (http://www.developerdan.com)
 * Copyright 20142016 Damien "Mistic" Sorel (http://www.strangeplanet.fr)
 * Licensed under MIT (http://opensource.org/licenses/MIT)
 */
div.jqcloud {
  position: relative;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 10px;
  line-height: normal;
  color: #ff0099;
  overflow: hidden;
  /*#09f*/
  /*#0cf*/
  /**
		170111 La gama de color de las fuentes, buscando los complementarios, triádicos, etc :http://www.color-hex.com/
		Basandose en el color original, buscamos en la gama triádica el más cercano a la base de color que se necesita
	*/
  /*#0cf*/
  /* #39d */
  /* #90c5f0 */
  /* #90a0dd */
  /* #90c5f0 */
  /* #a0ddff */
  /* #9ce */
  /* #aab5f0 */
}
div.jqcloud a {
  font-size: inherit;
  color: inherit!important;
  text-decoration: none;
}
div.jqcloud a:hover {
  color: #5a81a2 !important;
  text-decoration: underline;
}
div.jqcloud .w10 {
  font-size: 550%;
}
div.jqcloud .w9 {
  font-size: 500%;
}
div.jqcloud .w8 {
  font-size: 450%;
}
div.jqcloud .w7 {
  font-size: 400%;
}
div.jqcloud .w6 {
  font-size: 350%;
}
div.jqcloud .w5 {
  font-size: 300%;
}
div.jqcloud .w4 {
  font-size: 250%;
}
div.jqcloud .w3 {
  font-size: 200%;
}
div.jqcloud .w2 {
  font-size: 150%;
}
div.jqcloud .w1 {
  font-size: 100%;
}
div.jqcloud .jqcloud-word {
  padding: 0;
}
div.jqcloud .w8,
div.jqcloud .w9,
div.jqcloud .w10 {
  color: #5a81a2;
}
div.jqcloud .w7 {
  color: #dd3399;
}
div.jqcloud .w6 {
  color: #f090c5;
}
div.jqcloud .w5 {
  color: #dd90a0;
}
div.jqcloud .w4 {
  color: #f090c5;
}
div.jqcloud .w3 {
  color: #ffa0dd;
}
div.jqcloud .w2 {
  color: #ee99cc;
}
div.jqcloud .w1 {
  color: #f0aab5;
}
/*! SLICK SLIDER
-------------------------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* slick template */
/* Icons */
@font-face {
  font-family: 'slick';
  font-weight: normal;
  font-style: normal;
  src: url('./fonts/slick_slider/slick.eot');
  src: url('./fonts/slick_slider/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick_slider/slick.woff') format('woff'), url('./fonts/slick_slider/slick.ttf') format('truetype'), url('./fonts/slick_slider/slick.svg#slick') format('svg');
}
/* Dots */
.slick-dotted .slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  font-size: 0px;
  line-height: 0px;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
  cursor: pointer;
  /*{170516 Mod Xose */
  /* &:before{content:@slick-dot-character;position:absolute;top:0;left:0;width:20px;height:20px;font-family:@slick-font-family;font-size:@slick-dot-size;line-height:20px;text-align:center;color:@slick-dot-color;opacity:@slick-opacity-not-active;
                -webkit-font-smoothing:antialiased;
                -moz-osx-font-smoothing:grayscale;
           }*/
  /* 170516 Mod Xose} */
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}
/*! SLICK SLIDER
-------------------------------------------------*/
/* slick-slide MODS */
.slick-slider {
  /* .slick-arrow{position:absolute;z-index:8;top:0;width:42px;height:42px;opacity:0.8;overflow:hidden;background:transparent url("../images/slick_cursor.png") 0 0 no-repeat;cursor:pointer;
		&.slick-prev{transform:rotate(180deg);left:-50px}
		&.slick-next{right:-50px}
		&:hover,&:active,&:focus{opacity:1}
	} */
}
.slick-slider button.slick-arrow {
  background-color: transparent;
  border: 0;
  text-indent: -9999px;
  top: 27%;
}
.slick-slider .slick-list {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
.slick-slider .slick-list .slick-track {
  margin: auto;
}
.slick-slider .slick-list .slick-track .slick-slide {
  padding: 0 22px 0 22px;
  overflow: hidden;
  box-sizing: content-box;
}
.slick-slider .slick-list .slick-track .slick-slide .cont_imagen {
  position: relative;
  float: left;
  width: 100%;
}
.slick-slider .slick-list .slick-track .slick-slide .cont_imagen .image_slider {
  position: relative;
  display: block;
  float: none;
  width: 180px;
  height: 180px;
  margin: auto;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption {
  position: relative;
  float: left;
  width: 100%;
  padding: 10px 0;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption a {
  position: relative;
  float: left;
  width: 100%;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption a .name {
  position: relative;
  float: left;
  height: 56px;
  font-size: 1.4rem;
  line-height: 1.1em;
  font-style: italic;
  color: #808080;
  text-shadow: none;
  transition: color 0.3s ease 0s;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption a:hover .name,
.slick-slider .slick-list .slick-track .slick-slide figcaption a:active .name,
.slick-slider .slick-list .slick-track .slick-slide figcaption a:focus .name {
  color: #454545;
}
/*! Plugin autocomplete
-------------------------------------------------*/
.twitter-typeahead .tt-dataset {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  min-width: 300px;
}
.twitter-typeahead .media.tt-suggestion {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 0;
  margin-top: 0;
  padding: 5px;
  word-wrap: break-word;
}
.twitter-typeahead .media.tt-suggestion.tt-cursor,
.twitter-typeahead .media.tt-suggestion:hover,
.twitter-typeahead .media.tt-suggestion:focus {
  background-color: #5a81a2;
}
.twitter-typeahead .media.tt-suggestion .media-left {
  position: relative;
  float: left;
  padding: 0;
  width: 50px;
  height: 50px;
  margin-right: 2%;
  overflow: hidden;
}
.twitter-typeahead .media.tt-suggestion .media-left .media-object {
  padding: 0;
}
.twitter-typeahead .media.tt-suggestion .media-body {
  position: relative;
  display: inline-block;
  max-width: 69%;
  padding-top: 15px;
  white-space: normal;
}
.twitter-typeahead .media.tt-suggestion .media-body .media-heading {
  font-size: 14px;
  line-height: 1.3em;
}
.twitter-typeahead .tt-suggestion.tt-selectable:hover,
.twitter-typeahead .tt-suggestion.tt-selectable:focus {
  background-color: #5a81a2;
}
.twitter-typeahead .empty-message {
  padding-left: 15px;
  padding-right: 15px;
}
/*! Plugin datetimepicker (bootstrap-selectpicker)
-------------------------------------------------*/
.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover,
.bootstrap-datetimepicker-widget table td span.active {
  background-color: #5a81a2;
}
.bootstrap-select > .dropdown-toggle {
  padding-left: 13px;
  font-size: 14px;
  background-color: #fff !important;
  color: #333 !important;
  border-color: #ddd !important;
}
/*! Plugin bootstrap rating
	https://github.com/dreyescat/bootstrap-rating
-------------------------------------------------*/
.container_rating .icon {
  font-size: 20px!important;
  color: orange;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}
/*
	Core LESS
---------------------------------------------------- */
/*!
 *  @file        : core.less
 *
 *  @description : General css
 *  @license     : alabadoc
 *  @copyright   : 2024
 *
 *  @author      : http://www.albadoc.com/
 *  @date        : 2021-03-09
 *
 *  @human       : José Manuel Díaz Dávila <jmanuel.diaz@albadoc.com>
 *  @human       : Xosé Manuel Paz Graña <xose_manuel.paz@albadoc.com>
 *
 *
 ***************************/
/*!
	CAPAS FILTROS SLIDERS
	capa png en formato data sobre imagenes de colecciones (png2data) por si hiciese falta:
	https://websemantics.uk/tools/image-to-data-uri-converter/
---------------------------------------------------- */
/*! MODS GENERALES
---------------------------------------------------- */
html,
body {
  height: 100%;
}
/* problema en s- advanced.jsp*/
/* A efectos de poder usar unidades rem en diseños aportados, se inicializa la unidad base en 10px con respecto unicamente a los textos */
body {
  font-family: open_sans_regular;
  color: #333333;
  font-size: 0.525em;
  /* background:transparent url("../img/bg.png") no-repeat scroll right top;*/
  cursor: default;
}
body > .container-fluid {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
body > .container-fluid.base_header {
  min-height: 70vh;
}
body > .container-fluid.fondo_ffffff {
  background-color: #FFFFFF;
}
body > .container-fluid.fondo_e4e4e4 {
  background-color: #FFFFFF;
}
a {
  color: #000;
  transition: color 0.3s linear;
}
a:hover,
a:focus {
  color: #999999;
}
::selection {
  background: #064061;
  color: #FFFFFF !important;
}
/* WebKit/Blink Browsers */
::-moz-selection {
  background: #064061;
  color: #FFFFFF !important;
}
/* Gecko Browsers */
.form-control:focus,
.input-group.con_boton:focus {
  /* border-color:rgba(224,113,31,.6);*/
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3) inset, 0 0 8px rgba(233, 160, 102, 0.6);
}
.text-primary {
  color: #333333;
}
.titulo em,
.list-title em,
.text-primary em {
  color: red;
  text-decoration: underline;
}
.badge_colors {
  background-color: #444444;
  color: #0e0e0e;
  border: 1px solid grey;
}
.fields-primary,
.fields-secondary,
.fields-link {
  font-size: 0.7rem;
}
.form-horizontal .form-group {
  margin-left: 0;
  margin-right: 0;
}
.form-horizontal .control-label {
  float: left;
}
label {
  font-family: open_sans_bold;
}
.control-component .form-control {
  height: 40px;
}
.control-component .input-group .form-control {
  display: block;
  width: 100%;
  padding: 6px 12px;
  font-size: 0.7rem;
  line-height: 1.42857143em;
  color: #CCCCCC;
  background-color: #FFFFFF;
  background-image: none;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.control-component .input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 4px;
}
.control-component .input-group .form-control.con_boton,
.control-component .input-group .form-control.con_boton:not(:first-child):not(:last-child) {
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.control-component .input-group .form-control.con_boton + .input-group-btn .btn_form-group {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-component .input-group .input-group-btn {
  height: 40px;
}
.control-component .input-group .input-group-btn .btn_form-group {
  height: 100%;
}
.oculto,
.oculto_al_inicio {
  display: none !important;
}
.ocultox {
  visibility: hidden !important;
}
.pintado_en_tabs .oculto_en_pintado_en_tabs {
  display: none;
}
.no_p_lr {
  padding-left: 0;
  padding-right: 0;
}
.no_p_l {
  padding-left: 0;
}
.no_p_r {
  padding-right: 0;
}
.no_m_lr {
  margin-left: 0;
  margin-right: 0;
}
.no_m_l {
  margin-left: 0;
}
.no_m_r {
  margin-right: 0 !important;
}
.no_m_t {
  margin-top: 0;
}
.no_m_b {
  margin-bottom: 0;
}
.no_m_tb {
  margin-top: 0;
  margin-bottom: 0 !important;
}
.m_t_5 {
  margin-top: 5px;
}
.m_b_30 {
  margin-bottom: 30px;
}
.no_b_l {
  border-left: 0 none;
}
.no_b_r {
  border-right: 0 none !important;
}
.no_b_t {
  border-top: 0 none;
}
.no_b_b {
  border-bottom: 0 none;
}
.no_float {
  float: none;
}
.ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.centra_v {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.centra_vh {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.centrado {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
#page-main.container {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding-left: 0;
  padding-right: 0;
  text-align: left;
  width: 100%;
  max-width: 1440px;
}
.cont_general {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding-left: 0;
  padding-right: 0;
  text-align: left;
  width: 100%;
  max-width: 1440px;
}
.cont_general.doc_timeline {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  max-width: none;
  height: 88vh;
  margin: 0 0 120px 0;
  padding: 0;
  font-size: 16px;
}
.cont_general.doc_timeline .timeline_default {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
}
.cont_general.doc_timeline .tl-timeline {
  overflow: visible;
}
.cont_general.doc_timeline .tl-timeera .tl-timeera-content-container {
  width: 100% !important;
}
.cont_general.doc_maps {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
}
.cont_general.doc_maps .d-none {
  display: none;
}
.cont_general.doc_maps *:focus {
  outline-offset: 0!important;
  outline-width: 2px!important;
  outline-style: dotted!important;
  outline-color: red !important;
}
.cont_general.doc_maps .cont_map_lealeft {
  position: relative;
  float: left;
  display: flex;
  width: 100%;
  min-height: 80vh;
  padding: 15px;
}
.cont_general.doc_maps .ms_mapa {
  position: relative;
  z-index: 50;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
}
.cont_general.doc_maps .cont_overlay_map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.3);
  cursor: pointer;
}
.cont_general.doc_maps .cont_overlay_map .cont_message {
  position: relative;
  float: left;
  padding: 50px 25px 50px 25px;
  background-color: #fff;
  color: #333;
}
.cont_general.doc_maps .cont_overlay_map .cont_message .btn_overlay {
  border: 0;
  background: transparent;
}
.cont_general.doc_maps .cont_overlay_map .cont_message .message {
  margin: auto;
  line-height: 1em;
}
.cont_general.doc_maps .leaflet-popup-content-wrapper,
.cont_general.doc_maps .leaflet-popup-tip {
  border-radius: 3px;
}
.cont_general.doc_maps .leaflet-container a.leaflet-popup-close-button {
  top: 3px;
  right: 3px;
  padding: 0;
}
.cont_general.doc_maps .leaflet-popup-content p {
  margin: 8px 0;
}
.cont_general.doc_maps .leaflet-popup-content .L_popup strong {
  display: block;
}
.cont_general.doc_maps .leaflet-popup-content .L_popup img {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 160px;
  object-fit: cover;
  border-radius: 4px;
  margin-top: 0.4rem;
}
.cont_general.doc_maps .marker_bounce {
  animation: marker_bounce 0.5s infinite linear;
}
@keyframes marker_bounce {
  0% {
    top: 0;
  }
  50% {
    top: -0.4em;
  }
  70% {
    top: -0.6em;
  }
  100% {
    top: 0;
  }
}
.cont_general.doc_maps .botonera_flotante {
  display: none;
}
.cont_general.doc_maps .botonera_flotante.botonera_maps {
  position: fixed;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  bottom: 1%;
  right: 10px;
  z-index: 100;
}
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton {
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 5px;
  text-decoration: none;
  outline: none;
  transition: all 0.3s ease-in-out;
  box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.75);
}
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton i,
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton:hover,
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton:active,
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
.cont_general.doc_maps .botonera_flotante.botonera_maps .boton:last-child {
  margin-right: 0;
}
.cont_general .page-header {
  margin-top: 5px;
}
@media screen and (max-width: 575.98px) {
  .cont_general .page-header h1 small {
    position: relative;
    clear: left;
    float: left;
    width: 100%;
    margin-top: 10px;
    text-align: left;
  }
}
.cont_general .col_dcha > h3 {
  margin-top: 0;
}
.row {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #000;
  font-weight: bold;
}
.footerBack {
  background-image: linear-gradient(240deg, rgba(122, 135, 163, 0.85) 20%, white 66%) !important;
}
/* sm */
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  max-width: 100%;
}
@media screen and (max-width: 991.98px) {
  .bloque {
    clear: left;
    margin-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 575.98px) {
  h1,
  .h1 {
    font-size: 2.4rem;
  }
  #page-main {
    padding-left: 0;
    padding-right: 0;
  }
}
/*! capa noscript
---------------------------------------------------- */
.noscript_overlay {
  position: absolute;
  z-index: 999999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 70vh;
  background-color: #fff;
}
.noscript_message {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
}
.noscript_message .alert,
.noscript_message.alert {
  width: auto!important;
  margin: auto!important;
}
/*! cuadros de alerta .alert [.alert-info / .alert-danger / .alert-warning / .alert-success]
---------------------------------------------------- */
.alert {
  position: relative;
  display: inline-block;
  width: 100%;
  text-align: left;
  border-radius: 2px;
  font-size: 0.9rem;
}
.alert .alert_header i,
.alert .alert_header .glyphicon,
.alert .alert_header .fa {
  font-size: 2.6rem;
}
.alert .alert_header .titulo {
  position: relative;
  display: inline-block;
  top: -3px;
  margin-left: 5px;
  max-width: 90%;
  font-weight: bold;
  font-size: 0.9rem;
}
.alert .alert_header .close {
  position: relative;
  top: -5px;
  font-size: 2.5rem;
  color: color_fuente_01;
  opacity: 1;
}
.alert .alert_body {
  font-size: 0.7rem;
  word-wrap: break-word;
  /* loginjsp */
}
.alert .alert_body .message-inner-separator {
  margin-top: 3px;
  margin-bottom: 15px;
}
.alert .alert_body p {
  margin-bottom: 8px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: left;
}
.alert .alert_body p:before {
  content: "\2022";
  position: relative;
  top: 3px;
  left: -6px;
  font-size: 1.2rem;
  line-height: 1em;
}
.alert .alert_body .botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
.alert .alert_body .botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.alert .alert_footer {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
.alert .alert_footer .btn {
  position: relative;
  float: none;
  display: inline-block;
}
.alert.alert-success {
  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
  background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
  background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dff0d8', endColorstr='#c8e5bc', GradientType=0);
  background-repeat: repeat-x;
  border-color: #b2dba1;
}
.alert.alert-success .alert_header i,
.alert.alert-success .alert_header .glyphicon,
.alert.alert-success .alert_header .fa {
  color: #b2dba1;
}
.alert.alert-info {
  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
  background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
  background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d9edf7', endColorstr='#b9def0', GradientType=0);
  background-repeat: repeat-x;
  border-color: #9acfea;
}
.alert.alert-info .alert_header i,
.alert.alert-info .alert_header .glyphicon,
.alert.alert-info .alert_header .fa {
  color: #9acfea;
}
.alert.alert-warning {
  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
  background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
  background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcf8e3', endColorstr='#f8efc0', GradientType=0);
  background-repeat: repeat-x;
  border-color: #f5e79e;
}
.alert.alert-warning .alert_header i,
.alert.alert-warning .alert_header .glyphicon,
.alert.alert-warning .alert_header .fa {
  color: #f5e79e;
}
.alert.alert-error {
  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
  background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
  background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2dede', endColorstr='#e7c3c3', GradientType=0);
  background-repeat: repeat-x;
  border-color: #dca7a7;
}
.alert.alert-error .alert_header i,
.alert.alert-error .alert_header .glyphicon,
.alert.alert-error .alert_header .fa {
  color: #dca7a7;
}
.alert.generico {
  margin: 15px;
  max-width: 98%;
}
.alert.centered {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.alert.alert_width_auto {
  width: auto;
  margin: auto;
}
.alert-backdrop {
  position: absolute;
  z-index: 999999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 70vh;
  background-color: rgba(0, 0, 0, 0.3);
}
/*! botones
---------------------------------------------------- */
.btn {
  padding: 8px 25px;
  font-size: 0.7rem;
  line-height: 1.3em;
  min-width: 95px;
}
.btn .btn_title,
.btn .titulo {
  margin-left: 5px;
}
.btn .fa,
.btn .glyphicon {
  font-size: 0.9rem;
}
.btn.btn_min,
.btn.btn-sm {
  padding: 5px 10px;
  font-size: 0.7rem;
  min-width: auto;
}
.btn-primary {
  text-shadow: 1px 1px 2px #000;
}
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 0.7rem;
  min-width: auto;
}
.cont_btn_hide {
  padding: 0px;
}
.cont_btn_hide .btn_hide_fields {
  height: 40px;
}
.btn-default {
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
}
.btn-default i,
.btn-default .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.btn-default:hover,
.btn-default:active,
.btn-default:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
.btn-default.focus,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-color: #064061;
  color: #454545;
  border-color: #064061;
  border-bottom: 3px solid rgba(255, 255, 255, 0.5);
}
.btn-warning {
  background-color: #FFFFFF;
  color: #000;
  font-weight: bold;
  border-color: #064061;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning:focus {
  background-color: #FFFFFF;
  color: #454545;
  border-color: #064061;
}
.btn-info {
  background-color: #064061;
  color: #FFFFFF;
  border-color: #064061;
}
.btn-info.num_pags {
  font: bold 12px/1.5em open_sans_regular;
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0.3);
  margin-left: 0;
}
.btn-info.num_pags:hover,
.btn-info.num_pags:active,
.btn-info.num_pags:focus {
  color: #FFFFFF;
  background-color: #707070;
  border-color: rgba(0, 0, 0, 0.3);
  transition: none;
  cursor: default;
}
.btn-info:hover,
.btn-info:active,
.btn-info:focus {
  background-color: #064061;
  color: #FFFFFF;
  border-color: #064061;
}
.btn-trans {
  background-color: transparent;
  color: #FFFFFF;
  border-color: transparent;
}
.btn-trans:hover,
.btn-trans:active,
.btn-trans:focus {
  background-color: rgba(255, 255, 255, 0.5);
  color: #FFFFFF;
  border-color: #FFFFFF;
}
.input-group-btn .btn_form-group {
  background-color: #FFFFFF;
  color: #454545;
  border: 1px solid #CCCCCC;
  box-shadow: none;
  outline: 0;
}
.input-group-btn .btn_form-group:hover,
.input-group-btn .btn_form-group:active,
.input-group-btn .btn_form-group:focus {
  background-color: #FFFFFF;
  color: #454545;
  border: 1px solid #CCCCCC;
  box-shadow: none;
}
.btn-blanco {
  background-color: #FFFFFF !important;
  color: #454545 !important;
  border: 1px solid #CCCCCC !important;
  box-shadow: none;
  outline: 0;
}
.btn-blanco:hover,
.btn-blanco:active,
.btn-blanco:focus {
  background-color: #FFFFFF !important;
  color: #333333 !important;
  border: 1px solid #CCCCCC !important;
}
.btn_componente_simple {
  font-size: 1rem;
  line-height: 1.4em;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  border-color: #CCCCCC;
  text-align: center;
}
.btn_componente_simple i,
.btn_componente_simple .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.btn_componente_simple:hover,
.btn_componente_simple:active,
.btn_componente_simple:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
.btn-primary {
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  border: 0.4px solid black;
  margin: -1px 0px 4px 4px;
}
.btn-primary i,
.btn-primary .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
i.icon_page {
  font-size: 6rem;
  color: #5e779d;
}
.range input {
  width: 50% !important;
}
input.form-control,
.tokenfield.form-control {
  background-color: #FFFFFF;
}
h1#acc_titulo_nav small {
  font-size: 1rem;
  color: #5e779d;
}
.select_idioma .dropdown-item {
  font-size: 0.9rem;
}
.select_idioma .dropdown-item i {
  color: #5e779d;
  font-size: 1rem;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  border-color: #CCCCCC;
}
.nicescroll-cursors {
  background-color: #CCCCCC !important;
  border-color: #CCCCCC !important;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  border-color: #707070;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info.focus[disabled],
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info.active[disabled],
fieldset[disabled] .btn-info.active {
  border-color: #707070;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  border-color: #CCCCCC;
}
.btn_avisoLegal,
.btn_documentos,
.boton_permalink {
  position: relative;
  display: inline-block;
  padding: 5px 8px 5px 8px;
}
.btn_avisoLegal .icono,
.btn_documentos .icono,
.boton_permalink .icono {
  position: relative;
  float: left;
  font-size: 1.4rem;
  margin-right: 5px;
}
.btn_avisoLegal .btn_titulo,
.btn_documentos .btn_titulo,
.boton_permalink .btn_titulo {
  position: relative;
  float: left;
}
.btn_avisoLegal.deshabilitado,
.btn_documentos.deshabilitado,
.boton_permalink.deshabilitado {
  background-color: #DDDDDD;
  color: #aaa;
  border-color: #aaa;
  pointer-events: none;
}
.barra_tools .nav.navbar-nav li a.boton_permalink {
  position: relative;
  display: inline-block;
  margin: 0 0 0 5px;
  padding: 5px 15px 5px 28px;
  border-radius: 0;
  background-color: #FFFFFF;
  border: 0;
  opacity: 1;
}
.barra_tools .nav.navbar-nav li a.boton_permalink i {
  position: absolute;
  font-size: 1.2rem;
  line-height: 1em;
  left: 7px;
  top: 8px;
}
.barra_tools .nav.navbar-nav li a.boton_permalink .btn_titulo {
  position: relative;
  float: left;
  font-weight: bold;
  padding-left: 0;
}
.barra_tools .nav.navbar-nav li a.boton_permalink.deshabilitado {
  background-color: #DDDDDD;
  color: #333333;
  border-color: #CCCCCC;
  box-shadow: none;
  pointer-events: none;
}
.barra_tools .nav.navbar-nav li a.boton_permalink:hover,
.barra_tools .nav.navbar-nav li a.boton_permalink:focus {
  box-shadow: none;
}
.barra_tools .nav.navbar-nav li a.boton_permalink.in_dropdown {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  text-align: left;
}
.barra_tools .nav.navbar-nav li a.boton_permalink.in_dropdown:hover,
.barra_tools .nav.navbar-nav li a.boton_permalink.in_dropdown:active,
.barra_tools .nav.navbar-nav li a.boton_permalink.in_dropdown:focus {
  background-color: #064061;
  color: #FFFFFF;
}
.input-group-btn .btn,
.nav.navbar-nav .btn {
  min-width: auto;
  box-shadow: none;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  margin-left: auto;
}
@media screen and (max-width: 575.98px) {
  .btn {
    min-width: auto;
  }
}
.btn.disabled,
.btn[disabled] {
  background-color: #DDDDDD !important;
  color: #373737 !important;
  cursor: not-allowed;
}
.disabled .btn,
[disabled] .btn {
  background-color: #DDDDDD !important;
  color: #373737 !important;
  cursor: not-allowed;
}
/*! campos autocomplete
---------------------------------------------------- */
span.twitter-typeahead .tt-dropdown-menu,
span.twitter-typeahead .tt-menu {
  width: auto;
  padding: 8px;
}
span.twitter-typeahead .tt-suggestion {
  position: relative;
  float: left;
  width: 100%;
  padding: 3px 10px 3px 25px;
}
span.twitter-typeahead .tt-suggestion i {
  position: absolute;
  top: 0;
  left: 2px;
  line-height: 1.8em;
}
span.twitter-typeahead .tt-suggestion .titulo {
  position: relative;
  float: left;
  width: 100%;
  text-align: left;
  font-size: 0.6rem;
  white-space: normal;
}
span.twitter-typeahead .tt-suggestion.tt-selectable:focus,
span.twitter-typeahead .tt-suggestion.tt-selectable:hover {
  background-color: #064061;
  color: #373737;
}
/*! campos select
---------------------------------------------------- */
.form-control.bootstrap-select {
  height: auto;
  border-radius: 0;
  box-shadow: none;
}
.form-control.bootstrap-select.btn-group .dropdown-toggle {
  min-width: 50%;
}
.bootstrap-select > .dropdown-toggle {
  background-color: #FFFFFF !important;
  color: #454545 !important;
  border: 1px solid #CCCCCC !important;
  box-shadow: none;
  outline: 0;
  width: auto;
}
.bootstrap-select > .dropdown-toggle:hover,
.bootstrap-select > .dropdown-toggle:active,
.bootstrap-select > .dropdown-toggle:focus {
  background-color: #FFFFFF !important;
  color: #333333 !important;
  border: 1px solid #CCCCCC !important;
}
.bootstrap-select.btn-group .dropdown-toggle {
  min-width: auto;
}
.bootstrap-select.btn-group .dropdown-toggle .filter-option {
  position: relative;
  width: 100%;
  margin-right: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle,
.bootstrap-select.btn-group .dropdown-toggle,
.btn.dropdown-toggle,
.dropdown-toggle {
  padding-right: 30px;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret,
.bootstrap-select.btn-group .dropdown-toggle .caret,
.btn.dropdown-toggle .caret,
.dropdown-toggle .caret {
  width: 20px;
  height: 15px;
  font-size: 0.7rem;
  line-height: 1em;
  right: 5px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret:after,
.bootstrap-select.btn-group .dropdown-toggle .caret:after,
.btn.dropdown-toggle .caret:after,
.dropdown-toggle .caret:after {
  content: "\f078";
  font-family: fontawesome;
  font-size: 0.9rem;
  font-weight: normal;
  color: #CCCCCC;
}
.dropup .dropdown-toggle .caret,
.dropdown .dropdown-toggle .caret {
  border: 0;
}
.dropup .dropdown-toggle .caret:after,
.dropdown .dropdown-toggle .caret:after {
  font-family: fontawesome;
  font-size: 0.9rem;
  font-weight: normal;
  color: #CCCCCC;
}
.dropup .dropdown-toggle .caret:after {
  content: "\f077";
}
.dropdown .dropdown-toggle .caret:after {
  content: "\f078";
}
.cont_header .select_idioma .bootstrap-select.btn-group .dropdown-toggle .bs-caret .caret:after {
  color: #FFFFFF;
}
/*! MENUS DROPDOWN
-------------------------------------------------*/
/* colores select-option */
.dropdown-menu.inner a:hover,
.dropdown-menu.inner span:hover,
.dropdown-menu.inner a:focus,
.dropdown-menu.inner span:focus {
  transition: none;
  color: #FFFFFF;
  background-color: #064061;
}
.dropdown-menu.inner > .active > a:hover,
.dropdown-menu.inner > .active > a:focus {
  transition: none;
  color: #FFFFFF;
  background-color: #064061;
}
.dropdown-menu.inner li:not(.selected):hover a,
.dropdown-menu.inner li:not(.active):hover a,
.dropdown-menu.inner li:not(.selected):hover span,
.dropdown-menu.inner li:not(.active):hover span {
  color: #333333;
  background-color: #DDDDDD;
}
.dropdown-menu.inner li.selected {
  transition: none;
  color: #FFFFFF;
  background-color: #064061;
}
.dropdown-menu.inner li.selected a,
.dropdown-menu.inner li.selected span {
  transition: none;
  color: #FFFFFF;
  background-color: #064061;
}
.dropdown-menu.inner li.selected:hover,
.dropdown-menu.inner li.selected:focus {
  transition: none;
  color: #FFFFFF;
  background-color: #064061;
}
.dropdown-menu.inner li.selected:hover a,
.dropdown-menu.inner li.selected:focus a,
.dropdown-menu.inner li.selected:hover span,
.dropdown-menu.inner li.selected:focus span {
  transition: none;
  color: #FFFFFF;
  background-color: #064061;
}
.dropdown-menu.inner :attr(disabled),
.dropdown-menu.inner :attr(disabled) a,
.dropdown-menu.inner :attr(disabled) span {
  transition: none;
  color: inherit;
  background-color: inherit;
}
#page-main {
  /* control-form al click */
  /* .form-control:focus{border-color:rgba(224,31,4,.6);box-shadow:0 1px 1px rgba(0,0,0,.3) inset, 0 0 8px rgba(233,102,175,.6);} */
  /* rojo */
  /* azul */
}
#page-main .dropdown-menu {
  z-index: 10;
}
/*! SWITCHERY
---------------------------------------------------- */
.switchery.switchery-small > small {
  height: 15px;
  width: 15px;
}
.switchery.switchery_false {
  box-shadow: #a0a0a0 0px 0px 0px 0px inset;
  border-color: #a0a0a0;
  background-color: #a0a0a0;
  transition: border 0.3s ease 0s, box-shadow 0.4s ease 0s;
}
.switchery.switchery_false small {
  top: 2px;
  left: 2px;
  transition: background-color 0.4s ease 0s, left 0.2s ease 0s;
}
.switchery.switchery_true {
  background-color: #64bd63;
  border-color: #64bd63;
  box-shadow: #64bd63 0px 0px 0px 11px inset;
  transition: border 0.3s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.switchery.switchery_true small {
  top: 2px;
  left: 15px;
  background-color: #FFFFFF;
  transition: background-color 0.4s ease 0s, left 0.2s ease 0s;
}
/*! PANELES
---------------------------------------------------- */
.panel {
  position: relative;
  float: left;
  width: 100%;
  box-shadow: none;
  background-color: transparent;
  /* estilos */
  /* tipos */
}
.panel > .panel-heading {
  position: relative;
  float: left;
  width: 100%;
}
.panel .panel-collapse,
.panel .panel-body,
.panel .panel-footer {
  position: relative;
  float: left;
  width: 100%;
}
.panel.panel-default .panel-heading .cursor_despliegue {
  color: #FFFFFF;
}
.panel.panel-default .cursor_despliegue .icono:after {
  content: "\f068";
  font-family: fontawesome;
}
.panel.panel-default .collapsed .cursor_despliegue .icono:after {
  content: "\f067";
}
.panel.panel-default .panel-heading .panel_heading_cont_title {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  cursor: pointer;
}
.panel.panel-default .panel-heading .panel_heading_cont_title.con_icono {
  padding-left: 25px;
}
.panel.panel-default .panel-heading .panel_heading_cont_title .icon {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.1rem;
  line-height: 1.4em;
}
.panel.panel-default .panel-heading .panel_heading_cont_title .panel_heading_title,
.panel.panel-default .panel-heading .panel_heading_cont_title .panel_titulo {
  position: relative;
  float: left;
  width: 100%;
  height: 1.4em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: open_sans_bold;
  font-size: 1.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.panel.panel-default .panel-heading .icono_derecha,
.panel.panel-default .panel-heading .icono,
.panel.panel-default .panel-heading .icon {
  font-style: normal;
}
.panel.panel-default.panel_collapse .panel_heading_title_collapse {
  position: relative;
  float: left;
  width: 100%;
  color: #FFFFFF;
  padding-right: 25px;
  padding-left: 0;
  border: 0;
  background-color: transparent;
  text-align: left;
}
.panel.panel-default.panel_collapse .panel_heading_title_collapse .icono_derecha,
.panel.panel-default.panel_collapse .panel_heading_title_collapse .icono {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.8rem;
  line-height: 1.6em;
}
.panel.panel-default .panel-body .enlace {
  position: relative;
  float: left;
  width: 100%;
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
}
.panel.panel-default .panel-body .texto {
  position: relative;
  float: left;
  width: 100%;
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
}
.panel.panel-default .panel-body .list-title {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 2px;
}
.panel.panel-default .panel-body .enlace_imagen {
  text-decoration: none;
}
.panel.panel-default .panel-body .enlace_imagen img {
  text-decoration: none;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
.panel.panel-default .panel-body .enlace_imagen:hover img,
.panel.panel-default .panel-body .enlace_imagen:focus img {
  opacity: 1;
}
.panel.panel-default.panel_collapse {
  position: relative;
  float: left;
  width: 100%;
}
.panel.panel-default.panel_collapse .panel-body {
  padding-top: 4px;
  padding-bottom: 4px;
  background-color: #FFFFFF;
}
.panel.panel-default.panel_collapse .panel-body .list-group {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item {
  position: relative;
  float: left;
  width: 100%;
  height: 1.4em;
  margin: 4px 0 4px 0;
  padding: 0;
  font-family: open_sans_regular;
  font-size: 0.8rem;
  line-height: 1.3em;
  color: #555555;
  border: 0;
  border-radius: 0;
  /* overflow:hidden; */
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_enlace {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 45px;
  height: 100%;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_enlace i {
  position: absolute;
  top: 0;
  left: 0;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_enlace .facet-links {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  color: #373737;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_enlace .facet-links .cont_cifra {
  position: relative;
  float: left;
  font-weight: bold;
  margin-right: 3px;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_enlace .facet-links .cont_titulo {
  position: relative;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_switchery {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 45px;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .cont_switchery .switchery-small {
  position: absolute;
  left: 0;
  top: 0;
  cursor: default;
}
.panel.panel-default.panel_collapse .panel-body .list-group-item .badge {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  background-color: #444444;
  color: #0e0e0e;
  border: 1px solid grey;
}
.panel.panel-default .panel-footer .cont_botonera {
  position: relative;
  float: left;
  width: 100%;
}
.panel.panel-default .panel-footer .cont_botonera .panel_pager {
  position: relative;
  float: left;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.panel.panel-default .panel-footer .cont_botonera .panel_pager li {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.panel.panel-default .panel-footer .cont_botonera .btn + .btn,
.panel.panel-default .panel-footer .cont_botonera li + li {
  margin-left: 5px;
}
.panel.panel-default.panel_collapse .panel-footer nav {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav > li {
  position: relative;
  float: left;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav li {
  border: 0;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav li:first-child .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav li:last-child .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav .btn.cont_label {
  padding: 5px 12px;
  background-color: #FFFFFF;
  border: 0;
  border-radius: 0;
}
.panel.panel-default.panel_collapse .panel-footer .navbar-nav .btn.cont_label .pagination_label {
  position: relative;
  float: left;
  width: 100%;
  font-size: 0.5rem;
  line-height: 1.8em;
  text-align: center;
  color: #555555;
}
.panel.panel-default.panel_collapse .panel-footer .btn {
  position: relative;
  float: left;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0;
  width: auto;
  min-width: auto;
  padding: 5px 12px 5px 12px;
  margin: 1px;
}
.panel.panel-default.panel_collapse .panel-footer .li_cont_button:first-child .btn {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel.panel-default.panel_collapse .panel-footer .li_cont_button:last-child .btn {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel.panel-default.panel_collapse .footer.footer-body.cont_back {
  background-color: red;
}
@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .panel.panel-default.panel_collapse .panel-footer {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .panel.panel-default.panel_collapse .panel-footer {
    padding-left: 0;
    padding-right: 0;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li {
    width: 100%;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li .btn {
    width: 100%;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li .btn.cont_label {
    border: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav > li > .btn,
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav .btn.cont_label {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 575.98px) {
  .panel.panel-default.panel_collapse .panel-footer {
    padding-left: 0;
    padding-right: 0;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li {
    width: 100%;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li .btn {
    width: 100%;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li .btn.btn_ordenacion {
    border-radius: 3px;
  }
  .panel.panel-default.panel_collapse .panel-footer .navbar-nav li .btn.cont_label {
    border: 0;
  }
}
.panel.panel-busqueda_avanzada {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.panel.panel-busqueda_avanzada .panel-heading {
  height: 50px;
  padding-left: 0;
}
.panel.panel-busqueda_avanzada .panel-heading .cont_titulo {
  position: relative;
  float: left;
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
  text-transform: uppercase;
}
.panel.panel-busqueda_avanzada .panel-body {
  padding: 15px 0 15px 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group {
  padding-right: 0;
  padding-left: 0;
  margin-bottom: 20px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.no_p_l {
  padding-left: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.plantillas_select {
  padding-left: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .form-group {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .form-group .control-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .form-group .control-component {
  padding-left: 0;
  padding-right: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .cont_btn_ayuda {
  display: none;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .btn.modal_cruce_data {
  width: 50px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .input-group {
  padding-right: 47px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .cont_btn_ayuda {
  display: block;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .bootstrap-select .dropdown-toggle,
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .form-control {
  width: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .cont_btn_ayuda {
  position: absolute;
  top: 0;
  right: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .cont_btn_ayuda .btn_lanza_ayuda {
  min-width: auto;
  height: 40px;
  padding: 8px 16px 8px 16px;
  border-left: 1px solid #FFFFFF;
  border-radius: 4px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .con_boton .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .con_boton .btn.btn_lanza_ayuda {
  border-radius: 4px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group {
  width: 100%;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_select .bootstrap-select.btn-group {
  min-width: 70px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_select .bootstrap-select.btn-group .dropdown-toggle {
  left: 0;
  height: 100%;
  width: 100%;
  border-right: 0!important;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_select .fofrm-control {
  border-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_select.cont_dos_selects .btn-group.bootstrap-select + .btn-group.bootstrap-select {
  width: 100%;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_select.cont_dos_selects .btn-group.bootstrap-select + .btn-group.bootstrap-select .dropdown-toggle {
  width: 100%;
  border-left: 0!important;
  border-right: 1px solid #CCCCCC !important;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_boton {
  padding-right: 50px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_boton .btn {
  position: absolute;
  top: 0;
  right: 0;
  min-width: auto;
  height: 40px;
  padding: 8px 16px 8px 16px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  background-color: #064061;
  color: #FFFFFF;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group .input-group.con_select.con_boton .input-group-btn .btn.dropdown-toggle {
  left: 0;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .btn {
  width: 50px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .input-group.con_boton {
  padding-right: 100px;
}
.panel.panel-busqueda_avanzada .panel-body .cont_form-group.con_ayuda .input-group.con_boton .btn.modal_cruce_data {
  right: 50px;
}
@media screen and (max-width: 767.98px) {
  .panel.panel-busqueda_avanzada .panel-body .cont_form-group {
    padding-left: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .panel.panel-busqueda_avanzada.tipo_filter_types .panel-body .cont_form-group .form-group .control-label,
  .panel.panel-busqueda_avanzada.tipo_filter_types .panel-body .cont_form-group .form-group .control-component {
    width: 100%;
  }
}
.panel.panel-default {
  border: 0;
  box-shadow: none;
}
.panel.panel-default .panel-heading {
  padding: 12.5px 20px 12.5px 20px;
  font-family: open_sans_bold;
  font-size: 0.8rem;
  line-height: 1em;
  F: #FFFFFF;
  background-color: #959595;
  border: 0 none;
  border-radius: 3px;
  border-bottom: 3px solid rgba(255, 255, 255, 0.5);
}
.panel.panel-default .panel-body {
  padding-left: 0;
  padding-right: 0;
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
  background-color: #FFFFFF;
  border: 0 none;
}
.panel.panel-default .panel-footer {
  font-size: 0.8rem;
  line-height: 1.5em;
  background-color: #FFFFFF;
  border: 0 none;
  border-top: 1px dashed #838383;
}
.panel.panel-info {
  border: 0 none;
  box-shadow: none;
}
.panel.panel-info .panel-heading {
  font-family: open_sans_bold;
  font-size: 0.8rem;
  line-height: 1em;
  color: #FFFFFF;
  background-color: #064061;
  border: 0 none;
}
.panel.panel-info .panel-heading .panel_titulo {
  font-size: 0.8rem;
  margin: 0;
}
.panel.panel-info .panel-body {
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
  background-color: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-top: 0;
}
.panel.panel-info .panel-footer {
  font-size: 0.8rem;
  line-height: 1.5em;
  background-color: #064061;
  border: 0 none;
}
.panel.panel-busqueda_avanzada {
  border: 0 none;
  box-shadow: none;
}
.panel.panel-busqueda_avanzada .panel-heading {
  font-family: open_sans_bold;
  font-size: 1.4rem;
  line-height: 1em;
  color: #CCCCCC;
  background-color: #FFFFFF;
  border: 0 none;
  border-bottom: 3px solid rgba(255, 255, 255, 0.5);
}
.panel.panel-busqueda_avanzada .panel-body {
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
  background-color: #FFFFFF;
  border-top: 0;
}
.panel.panel-busqueda_avanzada .panel-footer {
  font-size: 0.8rem;
  line-height: 1.5em;
  background-color: #FFFFFF;
  border: 0 none;
}
.panel.panel-default.panel_tipo_transparente .panel-heading,
.panel.panel-info.panel_tipo_transparente .panel-heading {
  padding: 12.5px 20px 12.5px 20px;
  font-family: open_sans_bold;
  font-size: 0.8rem;
  line-height: 1em;
  color: #FFFFFF;
  background-color: #EEEEEE;
  border: 0 none;
  border-radius: 3px;
}
.panel.panel-default.panel_tipo_transparente .panel-body,
.panel.panel-info.panel_tipo_transparente .panel-body {
  padding-left: 0;
  padding-right: 0;
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
  background-color: transparent;
  border: 0 none;
}
.panel.panel-default.panel_tipo_transparente .panel-footer,
.panel.panel-info.panel_tipo_transparente .panel-footer {
  font-size: 0.8rem;
  line-height: 1.5em;
  background-color: transparent;
  border: 0 none;
  border-top: 3px solid #CCCCCC;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-heading,
.panel.panel-default.panel_tipo_transparente .panel-heading,
.panel.panel-default.panel_collapse .panel-heading {
  font-family: open_sans_bold;
  font-size: 0.8rem;
  line-height: 1em;
  color: white;
  background: linear-gradient(190deg, #3774cf 0%, #94b1c3 100%);
  border: 0 none;
  padding: 6px 9px 6px 9px;
  margin: 0px;
  border-radius: 0px;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-heading .cont_titulo,
.panel.panel-default.panel_tipo_transparente .panel-heading .cont_titulo,
.panel.panel-default.panel_collapse .panel-heading .cont_titulo {
  padding-left: 15px;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-heading .cont_titulo .titulo,
.panel.panel-default.panel_tipo_transparente .panel-heading .cont_titulo .titulo,
.panel.panel-default.panel_collapse .panel-heading .cont_titulo .titulo {
  font-size: 0.8rem;
  margin: 0;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-heading .panel_heading_title_collapse,
.panel.panel-default.panel_tipo_transparente .panel-heading .panel_heading_title_collapse,
.panel.panel-default.panel_collapse .panel-heading .panel_heading_title_collapse,
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-heading .cursor_despliegue,
.panel.panel-default.panel_tipo_transparente .panel-heading .cursor_despliegue,
.panel.panel-default.panel_collapse .panel-heading .cursor_despliegue {
  color: #FFFFFF;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-body,
.panel.panel-default.panel_tipo_transparente .panel-body,
.panel.panel-default.panel_collapse .panel-body {
  font-size: 0.8rem;
  line-height: 1.5em;
  color: #333333;
  background-color: white;
  padding-right: 20px;
  padding-left: 20px;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .panel-footer,
.panel.panel-default.panel_tipo_transparente .panel-footer,
.panel.panel-default.panel_collapse .panel-footer {
  font-size: 0.8rem;
  line-height: 1.5em;
  background-color: transparent;
  border: 0 none;
}
.panel.panel-busqueda_avanzada.panel_tipo_transparente .list-group-item,
.panel.panel-default.panel_tipo_transparente .list-group-item,
.panel.panel-default.panel_collapse .list-group-item {
  background-color: transparent;
}
.portlet {
  padding-left: 0;
  padding-right: 0;
  margin-top: 0;
}
.portlet.titulo_general {
  background: #f7fcff;
}
.portlet.titulo_general .cont_titulo {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  padding: 12px 1% 12px 1%;
}
.portlet.titulo_general .cont_titulo .cont_icono {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  text-align: center;
}
.portlet.titulo_general .cont_titulo .cont_icono .icono {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  font-size: 2rem;
  color: #555555;
}
.portlet.titulo_general .cont_titulo .cont_texto {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  text-align: center;
}
.portlet.titulo_general .cont_titulo .cont_texto h1 {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  margin-top: 12px;
  margin-bottom: 7px;
  padding: 0 10% 0 10%;
  font-family: open_sans_bold;
  font-size: 1.2rem;
  line-height: 1.1em;
  color: #555555;
}
@media screen and (max-width: 991.98px) {
  .portlet.titulo_general .cont_titulo .cont_texto h2 {
    font-size: 3rem;
  }
}
.portlet .titulo_general .cont_titulo {
  padding-left: 4%;
  padding-right: 4%;
  padding-bottom: 40px;
}
.portlet .cont_datos {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
.col_izqda .portlet,
.col_izqda .boxFilter {
  position: relative;
  float: left;
  width: 100%;
}
.col_izqda .boxFilter {
  border-bottom: 1px dashed #838383;
}
.col_izqda .boxFilter .box_header {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  padding-top: 15px;
}
.col_izqda .boxFilter .box_header .title-component {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.col_izqda .boxFilter .box_body {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 20px;
}
.col_izqda .boxFilter .box_body ul {
  position: relative;
  float: left;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 3px 0 3px 0;
}
.col_izqda .boxFilter .box_body ul li {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 3px;
  padding-bottom: 3px;
}
.col_izqda .panel.panel-default .list-group,
.col_izqda .boxFilter .list-group {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  /* Esta definición es importante que esté al final */
}
.col_izqda .panel.panel-default .list-group .list-group-item,
.col_izqda .boxFilter .list-group .list-group-item {
  position: relative;
  float: left;
  width: 100%;
  /* height:1.4em */
  height: auto;
  margin: 4px 0 4px 0;
  padding: 0;
  font-family: open_sans_regular;
  font-size: 0.8rem;
  line-height: 1.4em;
  color: #555555;
  border: 0;
  border-radius: 0;
}
.col_izqda .panel.panel-default .list-group .list-group-item .cont_check,
.col_izqda .boxFilter .list-group .list-group-item .cont_check {
  position: absolute;
  left: 0;
  width: auto;
  height: 100%;
}
.col_izqda .panel.panel-default .list-group .list-group-item .cont_check .switchery-small,
.col_izqda .boxFilter .list-group .list-group-item .cont_check .switchery-small {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default;
}
.col_izqda .panel.panel-default .list-group .list-group-item .cont_check .icono,
.col_izqda .boxFilter .list-group .list-group-item .cont_check .icono {
  position: absolute;
  top: 3px;
  left: 0;
}
.col_izqda .panel.panel-default .list-group .list-group-item .cifra,
.col_izqda .boxFilter .list-group .list-group-item .cifra {
  position: relative;
  float: left;
  font-weight: bold;
}
.col_izqda .panel.panel-default .list-group .list-group-item .badge,
.col_izqda .boxFilter .list-group .list-group-item .badge {
  position: relative;
  float: left;
  background-color: #444444;
  color: #0e0e0e;
  border: 1px solid grey;
}
.col_izqda .panel.panel-default .list-group .list-group-item .facet-links,
.col_izqda .boxFilter .list-group .list-group-item .facet-links {
  position: relative;
  float: left;
  width: 100%;
  color: #373737;
}
.col_izqda .panel.panel-default .list-group .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group .list-group-item .facet-links .ant {
  position: relative;
  float: left;
  display: table-cell;
  margin-right: 3px;
}
.col_izqda .panel.panel-default .list-group .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group .list-group-item .facet-links .cont_titulo {
  position: relative;
  float: left;
  display: table-cell;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.col_izqda .panel.panel-default .list-group .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group .list-group-item .facet-links .pos {
  position: absolute;
  right: 0;
}
.col_izqda .panel.panel-default .list-group.tipo_switchery .list-group-item,
.col_izqda .boxFilter .list-group.tipo_switchery .list-group-item {
  padding-left: 40px;
}
.col_izqda .panel.panel-default .list-group.tipo_switchery .list-group-item .cont_check .icono,
.col_izqda .boxFilter .list-group.tipo_switchery .list-group-item .cont_check .icono {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_icono .list-group-item,
.col_izqda .boxFilter .list-group.tipo_icono .list-group-item {
  padding-left: 20px;
}
.col_izqda .panel.panel-default .list-group.tipo_icono .list-group-item .cont_check .switchery,
.col_izqda .boxFilter .list-group.tipo_icono .list-group-item .cont_check .switchery {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_badge .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_badge .list-group-item .facet-links .cont_titulo {
  max-width: 70%;
}
.col_izqda .panel.panel-default .list-group.tipo_badge .list-group-item .facet-links .cifra,
.col_izqda .boxFilter .list-group.tipo_badge .list-group-item .facet-links .cifra {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_cifra .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_cifra .list-group-item .facet-links .cont_titulo {
  max-width: 61%;
}
.col_izqda .panel.panel-default .list-group.tipo_cifra .list-group-item .facet-links .badge,
.col_izqda .boxFilter .list-group.tipo_cifra .list-group-item .facet-links .badge {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_cifra.tipo_switchery .list-group-item .facet-links,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_cifra.tipo_switchery .list-group-item .facet-links,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_badge.tipo_switchery .list-group-item .facet-links,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_badge.tipo_switchery .list-group-item .facet-links,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_cifra.tipo_icono .list-group-item .facet-links,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_cifra.tipo_icono .list-group-item .facet-links,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_badge.tipo_icono .list-group-item .facet-links,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_badge.tipo_icono .list-group-item .facet-links {
  padding-right: 60px;
}
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_cifra.tipo_switchery .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_cifra.tipo_switchery .list-group-item .facet-links .ant,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_badge.tipo_switchery .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_badge.tipo_switchery .list-group-item .facet-links .ant,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_cifra.tipo_icono .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_cifra.tipo_icono .list-group-item .facet-links .ant,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_badge.tipo_icono .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_badge.tipo_icono .list-group-item .facet-links .ant {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_cifra.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_cifra.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_badge.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_badge.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_cifra.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_cifra.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_texto_dato.tipo_badge.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_texto_dato.tipo_badge.tipo_icono .list-group-item .facet-links .cont_titulo {
  max-width: 100%;
}
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_cifra.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_cifra.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_badge.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_badge.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_cifra.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_cifra.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_badge.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_badge.tipo_icono .list-group-item .facet-links .cont_titulo {
  max-width: 85%;
}
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_cifra.tipo_switchery .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_cifra.tipo_switchery .list-group-item .facet-links .pos,
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_badge.tipo_switchery .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_badge.tipo_switchery .list-group-item .facet-links .pos,
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_cifra.tipo_icono .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_cifra.tipo_icono .list-group-item .facet-links .pos,
.col_izqda .panel.panel-default .list-group.tipo_check_dato_texto.tipo_badge.tipo_icono .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_check_dato_texto.tipo_badge.tipo_icono .list-group-item .facet-links .pos {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_check_texto.tipo_switchery .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_check_texto.tipo_switchery .list-group-item .facet-links .ant,
.col_izqda .panel.panel-default .list-group.tipo_check_texto.tipo_icono .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_check_texto.tipo_icono .list-group-item .facet-links .ant {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_check_texto.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_texto.tipo_switchery .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_check_texto.tipo_icono .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_check_texto.tipo_icono .list-group-item .facet-links .cont_titulo {
  max-width: 100%;
}
.col_izqda .panel.panel-default .list-group.tipo_check_texto.tipo_switchery .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_check_texto.tipo_switchery .list-group-item .facet-links .pos,
.col_izqda .panel.panel-default .list-group.tipo_check_texto.tipo_icono .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_check_texto.tipo_icono .list-group-item .facet-links .pos {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_cifra .list-group-item,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_cifra .list-group-item,
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_badge .list-group-item,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_badge .list-group-item {
  padding-left: 0;
}
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_cifra .list-group-item .cont_check,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_cifra .list-group-item .cont_check,
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_badge .list-group-item .cont_check,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_badge .list-group-item .cont_check {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_cifra .list-group-item .facet-links,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_cifra .list-group-item .facet-links,
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_badge .list-group-item .facet-links,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_badge .list-group-item .facet-links {
  padding-right: 60px;
}
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_cifra .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_cifra .list-group-item .facet-links .ant,
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_badge .list-group-item .facet-links .ant,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_badge .list-group-item .facet-links .ant {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_cifra .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_cifra .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_texto_dato.tipo_badge .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_texto_dato.tipo_badge .list-group-item .facet-links .cont_titulo {
  max-width: 100%;
}
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_cifra .list-group-item,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_cifra .list-group-item,
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_badge .list-group-item,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_badge .list-group-item {
  padding-left: 0;
}
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_cifra .list-group-item .cont_check,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_cifra .list-group-item .cont_check,
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_badge .list-group-item .cont_check,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_badge .list-group-item .cont_check {
  display: none;
}
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_cifra .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_cifra .list-group-item .facet-links .cont_titulo,
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_badge .list-group-item .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_badge .list-group-item .facet-links .cont_titulo {
  max-width: 80%;
}
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_cifra .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_cifra .list-group-item .facet-links .pos,
.col_izqda .panel.panel-default .list-group.tipo_dato_texto.tipo_badge .list-group-item .facet-links .pos,
.col_izqda .boxFilter .list-group.tipo_dato_texto.tipo_badge .list-group-item .facet-links .pos {
  display: none;
}
.col_izqda .panel.panel-default .list-group .list-group-item.item_seleccionado .facet-links,
.col_izqda .boxFilter .list-group .list-group-item.item_seleccionado .facet-links {
  padding-right: 0;
}
.col_izqda .panel.panel-default .list-group .list-group-item.item_seleccionado .facet-links .cont_titulo,
.col_izqda .boxFilter .list-group .list-group-item.item_seleccionado .facet-links .cont_titulo {
  max-width: none;
  width: 100%;
}
/* HEADER */
#Header {
  position: relative;
  z-index: 100;
  float: left;
  width: 100%;
  padding: 0px;
  text-align: center;
}
#Header .busqueda_back {
  display: none;
}
#Header .cont_header {
  width: 100%;
  max-width: 1670px;
}
#Header.fondo_transparente {
  background: transparent;
}
#Header.posicion_absolute.header_h_200 {
  position: absolute;
  top: 0;
  left: 0;
  height: 70px;
  padding-top: 0;
  padding-bottom: 0;
  width: 100%;
}
#Header.posicion_absolute.header_h_200 + .cont_general,
#Header.posicion_absolute.header_h_200 + .cont_busqueda {
  margin-top: 120px;
}
#Header.posicion_absolute.header_h_200 + .cont_general.doc_index,
#Header.posicion_absolute.header_h_200 + .cont_busqueda.doc_index {
  margin-top: 0;
}
#Header.posicion_absolute.header_h_200 + .cont_general.doc_index .cont_central,
#Header.posicion_absolute.header_h_200 + .cont_busqueda.doc_index .cont_central {
  margin-top: 120px;
}
#Header.fondo_transparente.header_h_200 {
  position: absolute;
  top: 0;
  left: 0;
  height: 70px;
  padding-top: 0;
  padding-bottom: 0;
  width: 100%;
}
#Header.header_h_200 .lgx.logo_00 {
  max-width: 300px;
  max-height: 70px;
  padding-top: 0px;
}
#Header.header_h_200 .lgx.logo_01 {
  max-width: 200px;
  max-height: 50px;
}
/*! Contenedor de busquedas [index.jsp y resto]
-------------------------------------------------*/
.cont_busqueda {
  position: relative;
  float: left;
  width: 100%;
  background-color: #FFFFFF;
  /* modo reducido, en todas menos el index [search.jsp / mosaic.jsp / ] */
}
.cont_busqueda.bloque {
  margin-top: 70px;
}
.cont_busqueda .busqueda {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
}
.cont_busqueda .busqueda .search-ppal {
  position: relative;
  display: block;
  text-align: center;
  z-index: 10;
}
.cont_busqueda .busqueda .search-ppal .cont_busquedas {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  width: 90%;
  max-width: 740px;
}
.cont_busqueda .busqueda .search-ppal .search-filters-ppal {
  position: relative;
  float: right;
  display: table;
  width: 220px;
}
.cont_busqueda .busqueda .search-ppal .cont_input {
  position: relative;
  float: right;
  width: 100%;
  height: 55px;
  margin-bottom: 0;
  padding-right: 180px;
}
.cont_busqueda .busqueda .search-ppal .cont_input input {
  visibility: visible;
}
.cont_busqueda .busqueda .search-ppal .cont_input .form-control,
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.cont_busqueda .busqueda .search-ppal .cont_input .form-control .form-control,
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .form-control {
  width: 100%;
  background-color: #FFFFFF;
  color: #333333;
}
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead {
  border-top: 2px solid #0b3f62;
  border-left: 2px solid #0b3f62;
  border-bottom: 2px solid #0b3f62;
  border-top-left-radius: 5px;
  /*border-bottom-left-radius:5px;*/
}
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead input {
  visibility: visible;
  color: #717171;
}
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .form-control {
  padding-left: 16px;
  padding-right: 16px;
}
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .tt-hint,
.cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .tt-input {
  height: 100%;
  font-family: open_sans_regular;
  font-size: 0.9rem;
  background: rgba(255, 255, 255, 0.5) !important;
  border: none;
  box-shadow: none;
}
.cont_busqueda .busqueda .search-ppal .cont_input .botonera_search {
  position: absolute;
  top: 0;
  width: 180px;
  height: 100%;
  border-top: 2px solid #0b3f62;
  border-right: 2px solid #0b3f62;
  border-radius: 4px;
  border-bottom: 2px solid #0b3f62;
  border-top-right-radius: 5px;
}
.cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown {
  position: relative;
  float: left;
  width: 50%;
  height: 100%;
}
.cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown_botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
.cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown_botonera .btn {
  position: relative;
  display: inline-block;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon {
  position: relative;
  float: left;
  min-width: auto;
  height: 45px;
  margin: 0;
  background-color: #5a81a2;
  color: #454545;
  border: 1px solid #0b3f62;
  border-radius: 0;
  box-shadow: inset 0 1px 1px rgba(63, 83, 128, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  opacity: 1;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.seleccion {
  width: 60px;
  width: 100%;
  height: 100%;
  padding: 4px 9px 4px 9px;
  border: 0;
  box-shadow: none;
  border-bottom: 0px solid rgba(255, 255, 255, 0.5);
  border-right: 0px solid rgba(255, 255, 255, 0.5);
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.seleccion .fa {
  font-size: 1.6rem;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa {
  height: 100%;
  width: 50%;
  padding: 5px 5px 5px 5px;
  border: none;
  background-color: #064061;
  color: #FFFFFF;
  border-radius: 2px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  /*! PROYECTO BNP
						---------------------------------------------------- */
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa .btn_search_titulo {
  font-size: 1rem;
  text-shadow: 2px 2px 2px #000;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple {
  font-size: 1rem !important;
  line-height: 1.4em !important;
  border-color: transparent !important;
  background-color: #2c6280 !important;
  color: #FFFFFF !important;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  border-color: #CCCCCC !important;
  text-align: center !important;
  background-color: #064061;
  /* Alinea con la paleta del tema (--clr-primary): sin esto, el mixin
							   .btn_default!important (azul #2c6280, definido en _newdefault_vars.less)
							   gana por especificidad a la regla temable de _search_aside.less (mismo
							   boton: .search-ppal .btn_componente_simple.lupa) y el boton de buscar
							   sale siempre azul, sea cual sea el valor de --clr-primary en
							   styles_mods.css. */
  background-color: var(--clr-primary) !important;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple i,
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple .fa {
  color: #FFFFFF !important;
  margin: 7px 0px 0px 5px !important;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple:hover,
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple:active,
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple:focus {
  background-color: #365165 !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple:hover,
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple:active,
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple:focus {
  background-color: var(--clr-primary-mid) !important;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple[type="submit"] .icono,
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple[type="submit"] .btn_search_titulo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_componente_simple[type="submit"] .icono {
  margin-right: 5px;
  text-shadow: 1px 1px 2px #000;
}
.cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon:focus {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.cont_busqueda .busqueda .search-ppal .cont_input .form-control {
  font-size: 1.2rem;
}
.cont_busqueda .busqueda .search-ppal .cont_input .form-control:focus {
  border-color: #064061;
  box-shadow: none;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown {
  float: left;
  height: 100%;
  width: 50%;
  border: none;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu {
  min-width: 300px;
  border-radius: 0;
  font-size: 0.7rem;
  padding: 15px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu {
  min-width: auto;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu.open {
  display: block;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu.inner {
  padding: 0;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu li a span.check-mark {
  right: 8px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: green;
  display: none;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu li.selected a span.check-mark {
  display: block;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group label {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group .form-control {
  position: relative;
  float: left;
  width: 100%;
  height: auto;
  font-size: 0.7rem;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_select label {
  width: 30%;
  margin-top: 10px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_select .form-control {
  width: 70%;
  padding-left: 15px;
  box-shadow: none;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_select .form-control .dropdown-toggle {
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_input {
  padding-left: 0;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_input .control-component {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_input .control-component .form-control {
  position: relative;
  float: left;
  width: 100%;
  height: 45px;
  display: block;
  visibility: visible;
  color: #333333;
  border: 1px solid #EEEEEE;
  border-radius: 3px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
  margin-top: 20px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  padding: 2px 10px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera .icono {
  font-size: 0.9rem;
  padding-top: 3px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera .btn_search_titulo {
  font-size: 1rem;
  padding-left: 8px;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_simple .botonera_search .dropdown {
  display: none;
}
.cont_busqueda .busqueda .search-ppal .cont_input.busqueda_componente_simple .botonera_search .input-group-addon.lupa.btn_componente_simple {
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea,
.cont_busqueda .busqueda .search-ppal .tipo_columnas {
  position: relative;
  float: none;
  display: table;
  width: 90%;
  max-width: 50%;
  margin: 8px auto auto auto;
  padding-left: 0;
  padding-right: 0;
  max-width: 740px;
  padding-left: 20px;
  padding-right: 20px;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .form-group,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .form-group {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .form-group .control-label {
  border: 0;
  padding: 0;
  padding-left: 5px;
  background-color: transparent;
}
.cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .form-group .control-label .titulo {
  position: sticky;
  font-size: 0.8rem;
  font-weight: normal;
  font-family: open_sans_regular;
  color: #FFFFFF;
  /*background-color:@semi_01;*/
  /*padding:1px 1px 1px 1px;*/
  border-bottom: 3px solid rgba(255, 255, 255, 0.5);
  text-shadow: 1px 1px 1.5px #000;
  /*border-top:1px solid @semi_00;border-right:1px solid @semi_00;border-left:1px solid @semi_00;*/
}
.cont_busqueda .busqueda .search-ppal .form-group.cont_check .control-label {
  padding-left: 8px;
}
.cont_busqueda .busqueda .search-ppal .form-group.cont_check .control-label .titulo {
  font-size: 0.6rem;
  font-weight: normal;
  font-family: open_sans_regular;
  color: #454545;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea {
  background-color: transparent;
  background-image: linear-gradient(190deg, #4984c5 0%, #94b1c3 100%);
  margin-top: 0px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-right: 1.5px;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros {
  position: relative;
  float: left;
  width: auto;
  min-width: 70%;
  margin-top: 5px;
  margin-bottom: -4px;
  padding-left: 3px;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros .cont_checks {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros .cont_checks .form-group {
  position: relative;
  float: left;
  width: 33.333333%;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros .cont_checks .form-group .form-control {
  position: relative;
  float: left;
  width: auto;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn {
  position: relative;
  float: right;
  width: auto;
  margin-right: 3px;
  padding: 8px 8px 8px 25px;
  text-align: center;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn .icono {
  position: absolute;
  left: 10px;
  line-height: 1.2em;
  color: #FFFFFF;
}
.cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn .titulo {
  font-size: 0.9rem;
  color: #FFFFFF;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_columns {
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_columns .col.col_izqda {
  padding-right: 5px;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_columns .col.col_dcha {
  padding-left: 5px;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros {
  position: relative;
  float: left;
  width: 100%;
  text-align: left;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros .cont_checks {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros .cont_checks .form-group {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 3px;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros .cont_checks .form-group .form-control {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-right: 0;
  padding: 8px 8px 8px 25px;
  text-align: center;
  background-color: #2c6280 !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:hover,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:active,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:focus {
  background-color: #286293 !important;
  color: #fff !important;
  border-color: transparent !important;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn.btn_saberMas {
  color: #FFFFFF !important;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn .icono,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn .titulo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  color: #FFFFFF;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn .icono {
  margin-right: 10px;
  line-height: 1.2em;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn .titulo {
  font-size: 0.7rem;
  text-shadow: 1px 1px 2px #000;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:not(.dropdown-toggle) {
  margin-top: 3px;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select select {
  top: 3px;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .form-control.seleccion,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .form-control.seleccion {
  background-color: #FFFFFF;
  font-size: 0.8rem;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle {
  background-color: #2c6280 !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle:hover,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle:active,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle:focus {
  background-color: #286293 !important;
  color: #fff !important;
  border-color: transparent !important;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle.btn_saberMas {
  color: #FFFFFF !important;
}
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle .caret:after {
  color: #454545;
}
.cont_busqueda .cont_entornos {
  display: none;
}
.cont_busqueda .busqueda.no_iconos .cont_entornos {
  display: block;
}
.cont_busqueda .busqueda.no_iconos .search-ppal {
  padding-top: 25px;
  padding-bottom: 20px;
}
.cont_busqueda .bootstrap-select.btn-group .dropdown-menu {
  width: 100%;
  overflow: hidden;
}
.cont_busqueda.dim_redux {
  margin-top: 60px;
  padding-top: 0;
  padding-bottom: 0;
}
/* El boton de busqueda avanzada no aparece en la página de busqueda avanzada y los filtros se pintan centrados */
.doc_advanced.cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .btn_avanzada {
  display: none;
}
.doc_advanced .btn_avanzada {
  display: none;
}
.base_header .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .form-group .control-label .titulo {
  color: #FFFFFF;
}
.base_header .cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn {
  background-color: #1f6088;
}
.base_header .cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn .titulo {
  color: #FFFFFF;
}
.base_header .cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn .icono {
  color: #FFFFFF;
}
.urlAlbadoc {
  margin: 0px 0px 0px 0px;
  color: white !important;
  font-weight: bold;
  text-shadow: 1px 1px 2px #000;
}
/*! PAGINA INICIO doc_index [index.jsp]
-------------------------------------------------*/
.cont_busqueda.doc_index {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda.doc_index .cont_central.una_columna {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 740px;
  margin: 120px auto 0 auto;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
  padding-left: 15px;
  padding-right: 15px;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_titulo {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  color: #1a2440;
  background: #f0f8ff91;
  border: 4px solid aliceblue;
  border-radius: 16px;
  padding: 8px;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .titulo {
  position: relative;
  float: left;
  width: 100%;
  font-family: source_sans_pro_semibold;
  font-size: 5.2rem;
  line-height: 1em;
  text-transform: uppercase;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .subtitulo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  width: auto;
  font-family: raleway_bold;
  font-size: 0.8rem;
  color: #000;
  text-align: center;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .subtitulo .stretch_it {
  font-size: 0.8rem;
  opacity: 0;
  white-space: nowrap;
  color: #a39ec6;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_cuerpo {
  position: relative;
  float: left;
  display: ruby;
  width: 100%;
  height: 100%;
  padding: 35px 0 0 0;
  text-align: center;
  /* aplica dotdotdot */
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_cuerpo .texto {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  height: 4em;
  font-family: open_sans_light;
  font-size: 0.9rem;
  line-height: 1.2em;
  text-align: justify;
  overflow: hidden;
  color: #fefefe;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_cuerpo .texto br {
  display: none !important;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera {
  position: relative;
  float: left;
  display: block;
  width: 25%;
  margin-bottom: 15px;
  text-align: center;
  background: rgba(122, 135, 163, 0.85);
  border: 2px solid #1a2440;
  border-radius: 6px;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera .btn_saberMas {
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.3rem;
}
.cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera .btn_saberMas:hover {
  background-color: #456889;
  width: 100%;
}
.cont_busqueda.doc_index .cont_central.dos_columnas {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 850px;
  margin: 120px auto 60px auto;
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .cont_titulo {
  position: relative;
  float: left;
  display: block;
  width: 50%;
  padding-right: 38px;
  text-align: right;
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .titulo {
  position: relative;
  float: left;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 3.6rem;
  line-height: 0.923em;
  color: #fefefe;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);
  word-wrap: break-word;
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .subtitulo {
  text-decoration: blink;
  font-size: 1rem;
  color: cadetblue;
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .cont_cuerpo {
  position: relative;
  float: right;
  display: block;
  width: 50%;
  height: 100%;
  padding: 0 0 30px 38px;
  border-left: 2px solid #fefefe;
  /* aplica dotdotdot */
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .cont_cuerpo .texto {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 35px;
  height: 6em;
  font-family: open_sans_light;
  font-size: 0.8rem;
  line-height: 1.2em;
  text-align: left;
  color: #fefefe;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.5);
}
.cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .cont_cuerpo .cont_botonera {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  margin-top: 15px;
  text-align: left;
  border-bottom: 3px solid rgba(255, 255, 255, 0.5);
}
.cont_busqueda.doc_index .busqueda {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
}
.cont_busqueda.doc_index .busqueda .search-ppal {
  position: relative;
  display: block;
  text-align: center;
  margin-bottom: 40px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_busquedas {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  width: 90%;
  max-width: 700px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .search-filters-ppal {
  position: relative;
  float: right;
  display: table;
  width: 220px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input {
  position: relative;
  float: right;
  width: 100%;
  height: 50px;
  margin-bottom: 0;
  padding-right: 180px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input input {
  visibility: visible;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .form-control,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .form-control .form-control,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead .form-control {
  width: 100%;
  background-color: #FFFFFF;
  color: #333333;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead {
  border-top: 4px solid #0b3f62;
  border-left: 4px solid #0b3f62;
  border-bottom: 4px solid #0b3f62;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead input {
  visibility: visible;
  color: #717171;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead .form-control {
  padding-left: 30px;
  padding-right: 30px;
  border-radius: 0;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead .tt-hint,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead .tt-input {
  height: 100%;
  font-family: open_sans_regular;
  font-size: 0.7rem;
  background: rgba(255, 255, 255, 0.5) !important;
  border: none;
  box-shadow: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .botonera_search {
  position: absolute;
  top: 0;
  width: 180px;
  height: 100%;
  border-top: 4px solid #0b3f62;
  border-right: 4px solid #0b3f62;
  border-bottom: 4px solid #0b3f62;
  border-radius: 0px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon {
  position: relative;
  float: left;
  min-width: auto;
  height: 45px;
  margin: 0;
  color: #454545;
  border: 1px solid #CCCCCC;
  border-radius: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  opacity: 1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.seleccion {
  width: 60px;
  width: 100%;
  height: 100%;
  padding: 3px 5px 3px 5px;
  border: 0;
  box-shadow: none;
  border-bottom: 0px solid rgba(255, 255, 255, 0.5);
  border-right: 0px solid rgba(255, 255, 255, 0.5);
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.seleccion .fa {
  font-size: 1.6rem;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa {
  width: 50%;
  height: 100%;
  padding: 0px 0px 0px 0px;
  border: none;
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  border-radius: 0;
  background-color: #5a81a2 !important;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa i,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa:hover,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa:active,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa .btn_search_titulo {
  font-size: 0.8rem;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_submit_busqueda .icono,
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_submit_busqueda .btn_search_titulo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa.btn_submit_busqueda .icono {
  margin-right: 5px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon:focus {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .form-control {
  font-size: 1.2rem;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input .form-control:focus {
  border-color: #064061;
  box-shadow: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown {
  float: left;
  height: 100%;
  width: 50%;
  border: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu {
  min-width: 300px;
  border-radius: 0;
  font-size: 0.7rem;
  padding: 15px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu {
  min-width: auto;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu.open {
  display: block;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu.inner {
  padding: 0;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu li a span.check-mark {
  right: 8px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: green;
  display: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .dropdown-menu li.selected a span.check-mark {
  display: block;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group label {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group .form-control {
  position: relative;
  float: left;
  width: 100%;
  height: auto;
  font-size: 0.7rem;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_select label {
  width: 30%;
  margin-top: 10px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_select .form-control {
  width: 70%;
  padding-left: 15px;
  box-shadow: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_select .form-control .dropdown-toggle {
  width: 100%;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_input {
  padding-left: 0;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_input .control-component {
  position: relative;
  float: left;
  width: 100%;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown-menu .form-group.container_input .control-component .form-control {
  position: relative;
  float: left;
  width: 100%;
  height: 45px;
  display: block;
  visibility: visible;
  color: #333333;
  border: 1px solid #EEEEEE;
  border-radius: 3px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
  margin-top: 20px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  padding: 2px 10px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera .icono {
  font-size: 0.9rem;
  padding-top: 3px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_multiple .botonera_search .dropdown .dropdown_botonera .btn_search_titulo {
  font-size: 1rem;
  padding-left: 8px;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_simple .botonera_search {
  /* border-bottom:3px solid @semi_00; */
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_simple .botonera_search .dropdown {
  display: none;
}
.cont_busqueda.doc_index .busqueda .search-ppal .cont_input.busqueda_componente_simple .botonera_search .input-group-addon.lupa.btn-naranja_bnp {
  width: 100%;
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada {
  position: relative;
  float: none;
  display: table;
  margin: auto;
  width: 100%;
  max-width: 1670px;
  text-align: center;
  min-height: 100px;
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_00 {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  font-size: 3rem;
  line-height: 3em;
  background-color: #3e4044ba;
  color: #FFFFFF;
  border: 0;
  border-radius: 50%;
  margin-top: 2rem;
  padding: 5px 5px 5px 5px;
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_01 {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  font-size: 3rem;
  line-height: 1.3em;
  background-color: #3e4044ba;
  color: #FFFFFF;
  border: 0;
  border-radius: 50%;
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_01 .boton {
  position: relative;
  float: left;
  width: 32px;
  height: 51px;
  border: 2px solid #FFFFFF;
  border-radius: 15px;
  background: transparent;
  /* &:before{content:"\002C7";top:80%;} */
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_01 .boton:after,
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_01 .boton:before {
  position: absolute;
  left: 0;
  right: 0;
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  line-height: 0;
  color: #FFFFFF;
  background: transparent;
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_01 .boton:after {
  content: "\000B0";
  top: 50%;
  font-size: 45px;
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .btn-down_01 .boton:before {
  content: "\02039";
  top: 51%;
  font-size: 25px;
  margin-left: -6px;
  transform: rotate(-90deg);
}
.cont_busqueda.doc_index .busqueda .cont_botonera_centrada .deslize_text {
  font-size: 1.4rem;
  position: absolute;
  margin: auto;
  width: 300px;
  background: none;
  color: white;
  text-shadow: 1px 1px 2px #000;
  font-weight: bold;
  left: calc(50% - 150px);
  height: 50px;
  border-radius: 32%;
}
.cont_busqueda.doc_index .busqueda .cont_migas {
  position: relative;
  float: none;
  display: table;
  margin: auto;
  width: 100%;
  max-width: 1440px;
  background: rgba(122, 135, 163, 0.85);
  border: 2px solid #0b3f62;
  border-radius: 6px;
  /*.breadcrumb{position:relative;float:left;width:100%;max-width:none;margin:0;font-size:@fuente_size_04;line-height:1.2em;color:@color_fuente_03;background:transparent;border:0;border-radius:0;
				&>.active{color:@color_btn_solido}
			}*/
}
.cont_busqueda.doc_index .busqueda_back {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow: hidden;
  /* formato 1 */
  /* formato 2 */
}
.cont_busqueda.doc_index .busqueda_back.fondo_transparente.posicion_absolute.header_h200 {
  margin-top: 0px;
}
.cont_busqueda.doc_index .busqueda_back.fondo_transparente.posicion_absolute {
  margin-top: 0px;
  top: 0;
  overflow: visible;
}
.cont_busqueda.doc_index .busqueda_back.fondo_transparente.header_h_200 {
  margin-top: 70px;
}
.cont_busqueda.doc_index .busqueda_back.posicion_absolute.header_h_200 {
  margin-top: 0px;
}
.cont_busqueda.doc_index .busqueda_back:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
}
.cont_busqueda.doc_index .busqueda_back img {
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-position: center center;
  object-position: center center;
  -o-object-fit: contain;
}
.cont_busqueda.doc_index .search-ppal .cont_grupo_filtros .cont_checkboxes .form-group .control-label .titulo {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}
.imagenList {
  border: 1.5px solid #CCC;
  float: left;
}
.thumbnail {
  width: 250px;
  height: 250px;
  object-fit: contain;
  object-position: center;
}
ol.breadcrumb {
  display: flex;
  flex-direction: row;
}
.translate-middle-y {
  width: auto;
  min-width: 100%;
}
.footerBack {
  background-image: linear-gradient(190deg, rgba(122, 135, 163, 0.85) 0%, white 60%) !important;
}
@media screen and (max-width: 991.98px) {
  .cont_busqueda img {
    width: auto;
    height: 100%;
  }
  .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_busqueda .busqueda .search-ppal {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_busqueda {
    height: auto;
  }
  .cont_busqueda .cont_central {
    position: relative;
    float: left;
    display: block;
    width: 100%;
    margin: 15% auto auto auto;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo {
    width: 100%;
    margin-bottom: 5px;
    padding-right: 5%;
    padding-left: 5%;
    border-left: 0;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo .texto {
    font-size: 0.7rem;
    line-height: 1.3em;
    text-align: justify;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera {
    text-align: center;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera .btn {
    font-size: 0.7rem;
  }
  .cont_busqueda .cont_central.dos_columnas .cont_textos .cont_titulo {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .cont_busqueda .cont_central.dos_columnas .cont_textos .cont_cuerpo {
    width: 100%;
    margin-bottom: 30px;
    padding-right: 5%;
    padding-left: 5%;
    border-left: 0;
  }
  .cont_busqueda .cont_central.dos_columnas .cont_textos .cont_cuerpo .texto {
    font-size: 0.7rem;
    line-height: 1.3em;
    text-align: justify;
  }
  .cont_busqueda .cont_central.dos_columnas .cont_textos .cont_cuerpo .cont_botonera {
    text-align: center;
  }
  .cont_busqueda .cont_central.dos_columnas .cont_textos .cont_cuerpo .cont_botonera .btn {
    font-size: 0.7rem;
  }
  .cont_busqueda .busqueda .search-ppal .cont_busquedas {
    position: relative;
    float: left;
    width: 100%;
    display: block;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_columns .col {
    width: 100%;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros,
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros {
    position: relative;
    float: left;
    width: 100%;
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros .cont_checks,
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros .cont_checks {
    text-align: center;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_grupo_filtros .cont_checks .form-group,
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros .cont_checks .form-group {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    width: auto;
    padding-right: 15px;
    padding-left: 0;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:not(.dropdown-toggle),
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn:not(.dropdown-toggle) {
    width: 100%;
    margin-bottom: 15px;
    padding: 8px;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:not(.dropdown-toggle) .icono,
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn:not(.dropdown-toggle) .icono {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    margin-right: 5px;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_columnas .btn:not(.dropdown-toggle):last-child,
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .btn:not(.dropdown-toggle):last-child {
    margin-bottom: 0;
  }
  .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros {
    margin-top: 15px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .tipo_columnas,
  .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .tipo_en_linea {
    padding-left: 15px;
    padding-right: 15px;
  }
  .cont_busqueda .busqueda .cont_migas {
    position: relative;
    clear: left;
    float: left;
    bottom: auto;
    margin-top: 5%;
    padding-left: 15px;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_busqueda.bloque {
    padding-left: 0;
    padding-right: 0;
  }
  .cont_busqueda .busqueda .search-ppal {
    padding-left: 15px;
    padding-right: 15px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_busquedas {
    width: 100%;
  }
  .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros {
    margin-top: 15px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .btn {
    float: none;
    margin-right: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_titulo h1.titulo,
  .cont_busqueda.doc_index .cont_central.una_columna .cont_textos .cont_titulo h1.titulo {
    font-size: 3.5rem;
  }
  .cont_busqueda .cont_central.dos_columnas .cont_textos .cont_titulo h1.titulo,
  .cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .cont_titulo h1.titulo {
    font-size: 4.5rem;
  }
  .cont_busqueda .busqueda .search-ppal .search-filters-ppal,
  .cont_busqueda.doc_index .busqueda .search-ppal .search-filters-ppal {
    width: 100%;
    margin-bottom: 15px;
    padding-right: 7px;
  }
  .cont_busqueda .busqueda .search-ppal .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn),
  .cont_busqueda.doc_index .busqueda .search-ppal .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
    width: 100%;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input {
    position: relative;
    float: left;
    width: 100%;
    display: block;
    padding-right: 0;
    height: auto;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead {
    position: relative;
    float: left;
    width: 100%;
    height: 45px;
    border-right: 3px solid rgba(255, 255, 255, 0.5);
    border-radius: 0;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .tt-hint,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead .tt-hint,
  .cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .tt-input,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .twitter-typeahead .tt-input {
    border-radius: 0;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .botonera_search {
    position: relative;
    float: left;
    clear: left;
    width: 100%;
    height: 45px;
    border-left: 3px solid rgba(255, 255, 255, 0.5);
    border-radius: 0;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown .dropdown-menu,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .botonera_search .dropdown .dropdown-menu {
    position: absolute;
    right: auto;
    left: auto;
    min-width: 300px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.seleccion,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.seleccion {
    border-radius: 0;
    border-bottom-left-radius: 3px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_input .input-group-addon.lupa {
    border-radius: 0;
    border-bottom-right-radius: 3px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_busquedas .busqueda_avanzada,
  .cont_busqueda.doc_index .busqueda .search-ppal .cont_busquedas .busqueda_avanzada {
    padding-top: 8px;
    padding-bottom: 4px;
  }
}
@media screen and (max-width: 575.98px) {
  .cont_busqueda .cont_central .cont_textos .cont_titulo h1.titulo {
    font-size: 3.5rem;
  }
  .cont_busqueda .busqueda .search-ppal .cont_busquedas {
    position: relative;
    float: left;
    width: 100%;
    display: block;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input {
    position: relative;
    float: left;
    width: 100%;
    display: block;
    padding-right: 0;
    height: auto;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
    border-right: 3px solid #ffffff;
    border-radius: 0;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .tt-hint,
  .cont_busqueda .busqueda .search-ppal .cont_input .twitter-typeahead .tt-input {
    border-radius: 0;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search {
    position: relative;
    float: left;
    clear: left;
    width: 100%;
    height: 45px;
    border-left: 3px solid #FFFFFF;
    border-radius: 0;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown .dropdown-menu {
    position: absolute;
    right: auto;
    left: auto;
    min-width: 300px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.seleccion {
    border-radius: 0;
    border-bottom-left-radius: 3px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .input-group-addon.lupa {
    border-radius: 0;
    border-bottom-right-radius: 3px;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros {
    position: relative;
    float: left;
    width: 100%;
    display: block;
  }
  .cont_busqueda .busqueda .search-ppal .tipo_en_linea .cont_grupo_filtros .cont_checks .form-group {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    width: auto;
    padding-right: 15px;
  }
  .cont_busqueda .busqueda .search-ppal .btn:not(.dropdown-toggle) .icono {
    display: none;
  }
  .cont_busqueda .busqueda .search-ppal .btn:not(.dropdown-toggle) .texto {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
    word-wrap: break-word;
  }
}
@media screen and (max-width: 575.98px) {
  .cont_busqueda .cont_central .cont_textos .cont_titulo h1.titulo {
    font-size: 2rem;
  }
  .cont_busqueda {
    height: auto;
  }
  .cont_busqueda .cont_central {
    position: relative;
    float: left;
    display: block;
    width: 100%;
    margin: 15% auto auto auto;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_titulo {
    font-size: 2rem;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .titulo {
    font-size: 2rem;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo {
    width: 100%;
    margin-bottom: 5px;
    padding-right: 5%;
    padding-left: 5%;
    border-left: 0;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo .texto {
    font-size: 0.9rem;
    line-height: 1.2em;
    text-align: justify;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera {
    text-align: center;
  }
  .cont_busqueda .cont_central.una_columna .cont_textos .cont_cuerpo .cont_botonera .btn {
    font-size: 0.8rem;
  }
  .cont_busqueda .search-ppal .cont_busquedas {
    width: 100%;
  }
}
@media screen and (max-width: 575.98px) {
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown .dropdown-menu {
    min-width: 250px;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown .dropdown-menu .form-group.container_select label {
    width: 100%;
  }
  .cont_busqueda .busqueda .search-ppal .cont_input .botonera_search .dropdown .dropdown-menu .form-group.container_select .form-control {
    width: 100%;
    padding-left: 0;
  }
}
/*! MIGAS GENERALES
---------------------------------------------------- */
.breadcrumb {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1440px;
  margin: 5rem auto auto auto;
  padding: 15px 0 15px 0;
  font-size: 0.9rem;
  line-height: 1.2em;
  text-align: left;
  background: none;
  font-weight: bold;
}
.breadcrumb > li {
  position: relative;
  float: left;
  line-height: 1.2rem;
}
.breadcrumb li a {
  color: midnightblue;
}
.breadcrumb li.active {
  color: #444444;
  text-transform: uppercase;
  pointer-events: none;
}
@media screen and (max-width: 1199.98px) {
  .breadcrumb {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/*! MAINBAR - NAVBAR
---------------------------------------------------- */
.mainbar {
  margin-top: 10px;
}
.mainbar h1 {
  font-size: 2.4rem;
  margin: 10px 0 0;
  color: #454545;
}
.navbar {
  font-size: 0.7rem;
  background-color: transparent !important;
}
.navbar-nav {
  font-size: 1.1em;
}
.navbar-nav .fa {
  font-size: 1.3em;
  line-height: 1em;
}
.navbar-nav.navbar-right {
  margin-right: 0;
}
.navbar-nav.navbar-right .fa {
  position: relative;
  top: 2px;
}
.navbar-collapse {
  padding-left: 0;
  padding-right: 0;
}
.navbar-nav li {
  border-right: 1px solid #DDDDDD;
  background: white !important;
}
.navbar-nav li:last-child {
  border-right: 1px solid transparent;
}
.navbar-nav li a {
  padding: 5px 12px;
  color: #4e4e4e;
  border: 1px solid #000;
}
.navbar-nav li a:hover {
  background: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
  color: white;
}
.nav-active {
  background: #064061;
  padding-bottom: 15px;
  height: 40px;
  color: #FFFFFF !important;
  border-bottom: none;
}
.nav-active:hover {
  background: #064061 !important;
}
.navbar-header {
  border-radius: 3px;
  padding-left: 10px;
  border: 1px solid #DDDDDD;
  background: #EEEEEE;
  margin: 0 10px 10px;
}
.navbar-toggle {
  float: left;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 10px;
  background: #3f5380;
}
.icon-bar {
  background-color: #FFFFFF !important;
}
.menu_acciones {
  position: relative;
}
.menu_acciones .dropdown-menu {
  min-width: 100%;
}
.menu_acciones .dropdown-menu i {
  margin-right: 8px;
}
.menu_acciones .carrito {
  display: none;
}
.menu_acciones .carrito .enlace {
  padding-right: 25px;
}
.menu_acciones .carrito .enlace i {
  font-size: 0.9rem;
}
.menu_acciones .carrito .enlace .titulo {
  margin-right: 5px;
}
.menu_acciones .opcion_impresion .dropdown-toggle {
  padding-right: 30px;
}
.menu_acciones .opcion_impresion .dropdown-toggle .badge {
  top: 5px;
}
@media (min-width: 992px) {
  .navbar-header {
    display: none;
  }
}
/* sm */
@media screen and (max-width: 991.98px) {
  .navbar-header {
    float: none;
  }
  .navbar-toggle {
    display: block !important;
  }
  .navbar-toogle .icon-bar {
    display: block !important;
  }
  .navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  .navbar-collapse.collapse {
    display: none !important;
  }
  .navbar-collapse.collapse.in {
    display: block !important;
  }
  .navbar-nav {
    float: none!important;
    margin: 0;
  }
  .navbar-nav > li {
    float: none;
  }
  .navbar-nav > li > a,
  .navbar-nav > li > .cont_label {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media (max-width: 767.98px) {
  .navbar-brand {
    font-size: 0.9rem;
  }
}
/*! ESTRUCTURA
-------------------------------------------------*/
.cont_principal {
  position: relative;
  float: left;
  width: 100%;
  font-size: 0.7rem;
  display: flex;
  align-items: stretch !important;
}
.cont_principal .columna {
  position: relative;
  float: left;
}
.cont_principal .columna.col_dcha {
  padding-right: 0;
  padding-left: 0;
}
.cont_principal .cont_mensaje {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 15px;
}
@media (max-width: 1199.98px) {
  .cont_principal .columna.col_dcha {
    padding-right: 20px;
  }
}
@media (max-width: 767.98px) {
  .cont_principal .columna {
    width: 100%;
  }
  .cont_principal .columna.col_izqda .panel:last-child {
    margin-bottom: 0;
  }
  .cont_principal .columna.col_dcha {
    padding-left: 0;
    padding-right: 0;
  }
}
/*! SLIDER doc_index
-------------------------------------------------*/
.slider {
  background: #000;
  margin-top: 40px;
}
.carousel-indicators {
  bottom: 0;
}
.slide-area {
  border-right: 1px solid #FFFFFF;
  padding: 0;
}
.slide-titulo {
  border-top: 1px solid #FFFFFF;
  color: #FFFFFF;
  background: #000;
  text-align: center;
  padding: 10px;
  font-size: 1.4rem;
}
.agenda-container {
  padding: 0;
}
.agenda {
  background: #064061;
  padding: 5px;
  color: #FFFFFF;
  font-size: 0.7rem;
  text-transform: uppercase;
}
.agenda-portada {
  border: 1px solid #FFFFFF;
  margin-top: 30px;
}
#slider-carousel .carousel-inner .item {
  padding: 0;
}
#slider-carousel .carousel-inner .img-responsive {
  width: 100%;
}
#slider-carousel .carousel-inner .item-caption {
  position: absolute;
  z-index: 10;
  width: 100%;
  padding: 15px;
  font-size: 0.9rem;
  line-height: 1.2em;
  font-weight: bold;
  color: #FFFFFF;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  box-shadow: 0px -4px 3px -2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 1199.98px) {
  .agenda-portada {
    margin-top: 7px;
  }
}
@media (max-width: 991.98px) {
  .slide-area {
    border-right: none;
  }
}
.patri-slider .carousel-caption {
  background: #000;
  opacity: 0.7;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
.patri-slider .carousel-caption h1 {
  margin: 0;
  font-size: 2.4rem;
}
.patri-slider .carousel-indicators {
  bottom: 40px;
}
@media (max-width: 767.98px) {
  .patri-slider .carousel-caption h1 {
    font-size: 0.7rem;
  }
}
/*! BÚSQUEDA
-------------------------------------------------*/
.panel.busqueda {
  padding-top: 15px;
  padding-bottom: 15px;
}
/*! RATING [.barra-tools / search.jsp / mosaic.jsp]
-------------------------------------------------*/
.ratting-src {
  position: relative;
  float: left;
}
.valoraciones_usuario {
  position: relative;
}
.valoraciones_usuario .label.label-default {
  display: none;
}
.valoraciones_usuario .container_rating {
  position: relative;
}
.valoraciones_usuario .icon {
  font-size: 1.4rem;
}
.valoraciones_usuario .rating-symbol {
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}
.valoraciones_usuario .rating-symbol-background.icon {
  position: relative;
  top: 2px;
  color: #888;
}
.valoraciones_usuario .rating-symbol-foreground .icon {
  position: relative;
  top: 0;
  color: #F3C13A;
  text-shadow: 0 2px 1px rgba(0, 0, 0, 0.3);
}
.barra-tools .valoraciones_usuario {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.listado .ratting-src {
  clear: left;
}
.mosaico .ratting-src {
  display: block;
}
.mosaico .valoraciones_usuario {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 5px;
}
/*! BOTONES PAGINACION
-------------------------------------------------*/
#page-main .paginacion_resultados .res {
  position: relative;
  float: left;
  text-align: left;
}
#page-main .paginacion_resultados .texto {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}
#page-main .pagination {
  margin-top: 0px;
  margin-bottom: 0px;
}
#page-main .pagination li {
  position: relative;
  float: left;
  padding-left: 0;
}
#page-main .pagination li a {
  color: #707070;
  transition: all 0.3s linear;
  border-color: #DDDDDD;
  border-radius: 0;
  margin: 0.8px;
  padding: 4px 8px;
  font-size: 0.8rem;
}
#page-main .pagination li a:hover {
  background-color: #7b9add;
  border-color: #0e1c6b;
  color: #21545d;
}
#page-main .pagination li a:hover .icono {
  color: #FFFFFF;
}
#page-main .pagination li a.num_pags:hover {
  opacity: 0.8;
  border-color: #064061;
  cursor: not-allowed;
}
#page-main .pagination li a.btn {
  margin-right: 0;
}
#page-main .pagination li:first-child a {
  border-top-left-radius: 3px!important;
  border-bottom-left-radius: 3px !important;
}
#page-main .pagination li:last-child a {
  border-top-right-radius: 3px!important;
  border-bottom-right-radius: 3px !important;
}
#page-main .pagination li.disabled a,
#page-main .pagination li.disabled a:hover {
  background-color: #DDDDDD;
  color: #454545;
  border-color: transparent;
}
#page-main .pagination li.active > a,
#page-main .pagination li.active > span,
#page-main .pagination li.active > a:hover,
#page-main .pagination li.active > span:hover,
#page-main .pagination li.active > a:focus,
#page-main .pagination li.active > span:focus {
  background-color: #064061;
  color: #FFFFFF;
  border-color: #064061;
}
#page-main .pagination li.active:hover > a,
#page-main .pagination li.active a:hover {
  color: #FFFFFF;
}
@media screen and (max-width: 1199.98px) {
  #page-main .pagination li a {
    padding: 4px 6px;
  }
}
@media screen and (max-width: 991.98px) {
  #page-main .pagination {
    width: 100%;
  }
  #page-main .pagination li a {
    padding: 4px 4px;
  }
  #page-main .paginacion_resultados {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  #page-main .pagination li a {
    padding: 4px 8px;
  }
}
@media screen and (max-width: 575.98px) {
  #page-main .pagination li a {
    padding: 4px 4px;
  }
}
/* sm */
@media screen and (max-width: 991.98px) {
  #search-filters-ppal {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    margin: 0 auto 0 auto;
  }
}
/*! BARRA DE HERRAMIENTAS SUPERIOR E INFERIOR
-------------------------------------------------*/
#page-main .barra_tools {
  padding-left: 0;
  padding-right: 0;
  margin-top: 0px;
}
#page-main .barra_tools.barra_bottom {
  margin-bottom: 15px;
}
#page-main .barra_tools.barra_bottom .navbar-default {
  margin-top: 0;
}
#page-main .barra_tools .navbar-brand {
  padding: 0px;
  border: 0px;
}
#page-main .barra_tools .navbar-brand .alert {
  margin-bottom: 0px;
  padding-top: 4px;
  padding-bottom: 4px;
}
#page-main .barra_tools .navbar-text {
  border: 1px solid #DDDDDD;
  padding: 0.3rem 0.3rem 0.5rem 0.5rem;
  border-radius: 5px 0px 0px 5px;
  background: #ced4da;
}
#page-main .barra_tools .navbar-nav li {
  border-top: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
}
#page-main .barra_tools .navbar-nav li:last-child {
  border-right: 1px solid #DDDDDD;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: #ced4da;
  display: flex;
}
#page-main .barra_tools .navbar-nav li.tipo_vista {
  border-right: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  background: #ced4da;
}
#page-main .barra_tools ul.navbar-nav {
  margin-right: 5px;
}
#page-main .barra_tools .pagination {
  margin: 0;
  padding: 6px 4px 6px 4px;
}
#page-main .barra_tools .pagination > li {
  margin: 1px;
}
#page-main .barra_tools .pagination > li > a,
#page-main .barra_tools .pagination > li > span,
#page-main .barra_tools .pagination > li > button {
  border: 0 none;
}
#page-main .barra_tools .pagination .navbar-btn.btn-sm {
  margin: 0;
  padding: 5px 12px 5px 12px;
}
#page-main .barra_tools .pagination .btn {
  font-size: 1.4rem;
  line-height: 1.3em;
}
#page-main .barra_tools .pagination .btn.num_pags {
  pointer-events: none;
}
#page-main .barra_tools .pagination .btn.num_pags .btn_titulo {
  position: relative;
  float: left;
  padding-top: 1px;
}
#page-main .barra_tools .pagination .btn_retornar .fa {
  position: relative;
}
#page-main .barra_tools .botonera li {
  border-right: 0;
  margin-right: 10px;
}
#page-main .barra_tools .botonera .btn {
  margin: 0;
  border-radius: 3px;
  box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.5);
}
#page-main .barra_tools .botonera .btn:hover,
#page-main .barra_tools .botonera .btn:focus {
  box-shadow: none;
}
#page-main .barra_tools .nav.navbar-nav li {
  border: 0 none;
}
#page-main .barra_tools .nav.navbar-nav li a {
  border-radius: 0;
  margin-right: 0;
  transition: none;
}
#page-main .barra_tools .nav.navbar-nav li a i {
  margin-right: 0;
}
#page-main .barra_tools .nav.navbar-nav li a .titulo {
  margin-left: 0;
  font-size: 0.7rem;
}
#page-main .barra_tools .nav.navbar-nav li.disabled a {
  color: #999 !important;
  background-color: white;
  border-color: #DDDDDD !important;
  opacity: 1;
}
#page-main .barra_tools .nav.navbar-nav li.disabled a:hover,
#page-main .barra_tools .nav.navbar-nav li.disabled a:active,
#page-main .barra_tools .nav.navbar-nav li.disabled a:focus {
  color: white;
  background-color: #DDDDDD !important;
}
#page-main .barra_tools .nav.navbar-nav li.disabled a .badge {
  background-color: white;
  color: #333333;
}
#page-main .barra_tools .nav.navbar-nav .dropdown-menu {
  min-width: 100%;
  border-radius: 0;
  padding-left: 6px;
  padding-right: 6px;
  /* .badge{position:absolute;right:10px} */
}
#page-main .barra_tools .nav.navbar-nav .dropdown-menu li {
  position: relative;
  float: left;
  clear: left;
  width: 100%;
  border: 0 none;
}
#page-main .barra_tools .nav.navbar-nav .dropdown-menu .badge {
  position: absolute;
  right: 4px;
  top: 6px;
  margin-left: 20px;
}
#page-main .barra_tools .nav.navbar-nav .dropdown-menu a {
  position: relative;
  float: left;
  width: 100%;
  min-width: 200px;
}
#page-main .barra_tools .nav.navbar-nav .dropdown-menu a .fa {
  position: relative;
  float: left;
  margin-right: 8px;
}
#page-main .barra_tools .nav.navbar-nav .dropdown-menu .impresion_elementos .fa {
  top: 1px;
}
#page-main .barra_tools .nav.navbar-nav.botonera li:last-child {
  margin-right: 0;
}
#page-main .barra_tools .cont_vistas .vista_activa {
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5);
  background-color: #DDDDDD;
  cursor: default;
}
#page-main .barra_tools .plantillas_select {
  position: relative;
  float: left;
  margin-top: 8px;
  margin-left: 8px;
}
#page-main .barra_tools .rating-md {
  font-size: 1rem !important;
}
/* sm */
@media screen and (max-width: 991.98px) {
  #page-main .barra_tools {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main .barra_tools .cont_iconos {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    background-color: transparent;
  }
  #page-main .barra_tools .cont_iconos .titulo_menu {
    display: none;
  }
  #page-main .barra_tools .cont_iconos .cont_btn_seleccionados {
    width: auto;
  }
  #page-main .barra_tools .cont_iconos .icono {
    font-size: 2.4rem;
  }
  #page-main .barra_tools .cont_iconos .btn-info.num_pags {
    font-size: 1.2rem;
  }
  #page-main .barra_tools .navbar-collapse {
    background-color: #EEEEEE;
  }
  #page-main .barra_tools .navbar-default {
    margin-top: 0;
    margin-bottom: 0;
  }
  #page-main .barra_tools .navbar-default .navbar-header {
    margin-bottom: 0;
    border-radius: 3px;
  }
  #page-main .barra_tools .navbar-default .navbar-brand {
    float: right;
    height: auto;
    margin-top: 2px;
    padding: 0;
  }
  #page-main .barra_tools .navbar-default .navbar-brand .label {
    position: relative;
    float: left;
    font-size: 0.6rem;
    line-height: 1em;
    background-color: #064061;
    color: #FFFFFF;
    text-transform: none;
    padding: 8px 15px 8px 15px;
  }
  #page-main .barra_tools .navbar-default .navbar-toggle {
    margin: 0;
  }
  #page-main .barra_tools .navbar-default .navbar-collapse {
    padding: 15px;
  }
  #page-main .barra_tools .botonera {
    text-align: center;
  }
  #page-main .barra_tools .botonera li {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
  }
  #page-main .barra_tools .cont_pagination {
    width: 100%;
  }
  #page-main .barra_tools .pagination {
    margin-top: 0;
    margin-bottom: 0;
  }
}
/* Small Devices, Tablets */
/* xs */
@media screen and (max-width: 767.98px) {
  #page-main .barra_tools .navbar-default .navbar-header {
    margin-left: 0;
    margin-right: 0;
  }
  #page-main .barra_tools .container > .navbar-header,
  #page-main .barra_tools .container-fluid > .navbar-header,
  #page-main .barra_tools .container > .navbar-collapse,
  #page-main .barra_tools .container-fluid > .navbar-collapse {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 575.98px) {
  #page-main .barra_tools {
    margin-top: 15px;
  }
}
@media screen and (max-width: 575.98px) {
  #page-main .barra_tools .cont_iconos {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main .barra_tools .cont_iconos .icono {
    font-size: 1.4rem;
  }
  #page-main .barra_tools .cont_iconos .btn-info.num_pags {
    font-size: 0.8rem;
  }
  #page-main .barra_tools .cont_iconos .pagination {
    padding-left: 0;
    padding-right: 0;
  }
}
/*! DESTACADOS Y ACTIVIDAD
-------------------------------------------------*/
.destacados {
  margin-top: 30px;
  margin-bottom: 30px;
}
.destacados h1 {
  text-transform: uppercase;
  margin-bottom: 8px;
  border-bottom: 4px solid #064061;
  font-size: 2.5rem;
  padding-bottom: 5px;
}
.destacados1 {
  padding: 0 15px 0 0;
}
.destacados2 {
  padding: 0 0 0 15px;
}
.destacados-container {
  padding-left: 15px;
}
.destacado {
  padding: 10px 10px 0 0;
}
.destacado h2 {
  background: #064061;
  margin: 0;
  padding: 5px;
  color: #FFFFFF;
  font-size: 0.6rem;
  text-transform: uppercase;
  text-align: center;
  border-top: 1px solid #FFFFFF;
}
.actividad-container {
  padding-left: 0;
  padding-right: 10px;
  margin-top: 10px;
}
.actividad {
  background: #FFFFFF;
  border-radius: 3px;
  border: 1px solid #DDDDDD;
  padding: 10px 5px;
  font-size: 0.8rem;
  height: 60px;
}
.actividad a:hover {
  color: #999999;
  text-decoration: none;
}
.act-text {
  padding-left: 20px;
}
.destacados-txt-container {
  float: left;
  margin-top: 10px;
}
.destacados-txt-container select,
.destacados-txt-container input {
  margin-bottom: 10px;
}
.destacado-txt {
  background: #FFFFFF;
  border-radius: 3px;
  border: 1px solid #DDDDDD;
  padding: 7px 5px;
  font-size: 0.8rem;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.destacado-txt a:hover {
  color: #999999;
  text-decoration: none;
}
@media (max-width: 1199.98px) {
  .destacados h1 {
    font-size: 1.4rem;
  }
}
@media (max-width: 991.98px) {
  .destacados {
    margin-top: 10px;
  }
  .destacados2 {
    padding: 0 15px 0 0;
  }
  .actividad {
    height: 55px;
  }
  .act-text {
    padding-top: 8px;
  }
}
@media (max-width: 767.98px) {
  .destacados h1 {
    font-size: 0.8rem;
  }
  .destacados1,
  .destacados2 {
    padding-left: 15px;
  }
  .act-text {
    padding-top: 0;
  }
}
/*! LISTA SECCIONES COMPLETA
-------------------------------------------------*/
.todas-secciones {
  margin-bottom: 30px;
}
.secciones {
  padding-left: 0;
  text-transform: uppercase;
  margin-bottom: 8px;
  border-bottom: 4px solid #064061;
  font-size: 2.5rem;
  padding-bottom: 5px;
}
.secciones h1 {
  font-size: 2.5rem;
}
.seccion1 {
  padding: 0 15px 0 0;
}
.seccion2 {
  padding: 0 15px 0 0;
}
.seccion3 {
  padding: 0 15px 0 0;
}
.seccion1 h1,
.seccion2 h1,
.seccion3 h1,
.seccion4 h1 {
  color: #454545;
  margin-bottom: 8px;
  font-size: 0.8rem;
  padding-bottom: 10px;
  font-weight: 700;
  margin-top: 5px;
  border-bottom: 1px solid #DDDDDD;
}
.seccion-menu ul {
  padding-left: 0;
  list-style: outside none none;
  margin: 5px 0;
}
.seccion-menu ul li a {
  color: #999999;
  font-size: 0.5rem;
}
.seccion-menu ul li a:hover {
  color: #454545;
}
.seccion-menu-title {
  font-weight: 700;
}
@media (max-width: 1199.98px) {
  .secciones h1 {
    font-size: 1.4rem;
  }
}
@media (max-width: 991.98px) {
  .todas-secciones .row {
    padding-left: 15px;
    padding-right: 15px;
  }
  .secciones h1 {
    font-size: 0.8rem;
  }
}
/*! AVISOS
-------------------------------------------------*/
.avisos {
  background: #f4f4f4;
  border-radius: 8px;
  margin-top: 50px;
  margin-bottom: 50px;
  border: 1px solid #DDDDDD;
  padding: 20px;
  text-align: center;
}
.avisos strong {
  font-size: 3rem;
}
.avisos button {
  background: #064061;
  color: #FFFFFF;
}
.aviso-titulo {
  font-size: 1.4rem;
  color: #454545;
}
@media (max-width: 767.98px) {
  .avisos strong {
    font-size: 1.4rem;
  }
}
/*! INTERIOR NAVEGACIÓN
-------------------------------------------------*/
.bc {
  margin-top: 5px;
  padding-left: 0;
}
.titpag h1 {
  font-size: 3rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 0;
}
.int-menu1 {
  margin-top: 22px;
}
.destacados-interior {
  margin-top: 10px;
}
@media (max-width: 991.98px) {
  .int-menu1 {
    padding-left: 0;
  }
}
@media (max-width: 767.98px) {
  .int-menu1,
  .breadcrumb {
    padding-left: 15px;
  }
  .int-menu1 {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .titpag {
    padding-left: 0;
  }
  .titpag h1 {
    font-size: 4.5rem;
    margin-top: 20px;
  }
}
/*! ARTE1
-------------------------------------------------*/
.slider-full {
  border-top: 1px solid #FFFFFF;
}
.slider-full-container {
  padding: 0;
}
.arte-items {
  margin-top: 30px;
}
/*! ARTE2
-------------------------------------------------*/
.arte-item {
  border: 1px solid #bbb;
  background: #fafafa;
  padding-bottom: 10px;
  margin-bottom: 30px;
  min-height: 360px;
}
.arte-item h1 {
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0;
  padding: 10px;
  height: 40px;
}
.arte-item dl {
  margin: 15px 0;
  font-size: 0.9rem;
}
.arte-item .dl-horizontal dt {
  clear: left;
  float: left;
  text-align: right;
  width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.arte-item .dl-horizontal dd {
  margin-left: 120px;
}
/*! ARTE3
-------------------------------------------------*/
.panoramica {
  margin-top: 20px;
  padding-left: 0;
  padding-right: 0;
}
.panoramica img {
  border: 1px solid #bbb;
}
.ficha-des {
  padding-left: 0;
  padding-right: 0;
  margin: 30px 0;
}
.ficha-mas {
  padding-left: 0;
  padding-right: 0;
}
.ficha-mas .panel-heading {
  font-size: 1.2rem;
}
.ficha-mas .panel-heading a:hover {
  color: #999999;
  text-decoration: none;
}
.ficha-res {
  padding-left: 0;
  padding-right: 0;
}
.ficha-res .panel-heading,
.ficha-res .ficha-extras .panel-heading {
  font-size: 1.2rem;
}
.ficha-extras {
  margin-left: -30px;
  margin-right: -30px;
}
.ficha-extras .panel-body {
  height: 230px;
}
.ficha-extras .dl-horizontal dt {
  clear: left;
  float: left;
  text-align: right;
  width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ficha-extras .dl-horizontal dd {
  margin-left: 120px;
}
.tag-limits {
  float: left;
  height: auto!important;
  min-height: 165px;
  padding: 0;
  position: relative;
  width: 150px;
  margin-left: 80px;
  margin-top: 20px;
}
@media (max-width: 1199.98px) {
  .tag-limits {
    width: 100px;
    margin-left: 40px;
  }
}
@media (max-width: 991.98px) {
  .tag-limits {
    margin-left: 180px;
    width: 900px;
  }
}
.tag-cloud {
  float: left;
  width: 300px;
  height: 300px;
  overflow: hidden !important;
}
.tags_container {
  text-align: left;
  overflow: hidden;
}
.tags_container .point {
  cursor: pointer;
  position: absolute;
  list-style: none;
}
.tags_container .point a {
  color: inherit;
  text-decoration: none;
}
.galeria {
  padding: 20px 0 10px 20px;
  text-align: center;
}
.thumb-item {
  background: none repeat scroll 0 0 #b4b4b4;
  float: left;
  height: 113px;
  margin: 0 20px 30px 0;
  overflow: hidden;
  position: relative;
  width: 169px;
}
.thumb-item img {
  max-width: 100%;
}
@media (max-width: 991.98px) {
  .thumb-item {
    margin: 0 5px 10px 0;
  }
}
@media (max-width: 767.98px) {
  .ficha-extras {
    margin-left: -15px;
    margin-right: -15px;
  }
  .ficha-mas,
  .ficha-des {
    padding-left: 15px;
    padding-right: 15px;
  }
  .panoramica img {
    border: none;
  }
}
/*! FOOTER
-------------------------------------------------*/
footer {
  position: relative;
  float: left;
  width: 100%;
  bottom: 0;
  padding: 0 0 0 0;
  font-size: 0.8rem;
  color: #8e8e8e;
  text-align: left;
}
footer .brand_info {
  width: 100%;
  max-width: 1670px;
}
/*! BOTONERA ENLACES PERSONALIZADA 
-------------------------------------------------*/
ul.nav.botoneraEnlaces {
  width: 115%;
}
.ColumnaGeneral {
  display: flex;
}
/*! BOTONERA FLOTANTE
-------------------------------------------------*/
.botonera_flotante {
  position: fixed;
  bottom: 50px;
  right: 15px;
  z-index: 100;
}
.botonera_flotante .boton {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  width: 40px;
  height: 40px;
  margin-right: 5px;
  line-height: 26px;
  border-radius: 50%;
  box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.75);
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  outline: none;
}
.botonera_flotante .boton i,
.botonera_flotante .boton .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.botonera_flotante .boton:hover,
.botonera_flotante .boton:active,
.botonera_flotante .boton:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
.botonera_flotante .boton:last-child {
  margin-right: 0;
}
/*!--------------------------------------- INTERIOR FONDOS -------------------------------------------*/
.main_bloque_standar {
  float: left;
  width: 100%;
  font-size: 0.7rem;
}
.main_bloque_standar .txt21 {
  font-weight: 700;
}
.main_bloque_standar .txt20 {
  color: #454545;
  font-weight: 700;
}
.main_bloque_standar_title {
  width: 100%;
  padding: 6px;
  line-height: 14px;
  background: #064061;
}
.main_bloque_standar_title h2 {
  margin: 0;
  font-size: 1.2rem;
  color: #FFFFFF;
}
.main_bloque_fondos_block {
  float: left;
  width: 100%;
}
.main_bloque_fondos_block h3 {
  font-size: 0.9rem;
}
.main_bloque_fondos_block ul {
  float: left;
  width: 100%;
  margin: 0;
  padding: 7px 0 7px 20px;
}
.main_bloque_fondos_block ul li {
  float: left;
  width: 100%;
  padding: 0 0 0 15px;
  line-height: 20px;
}
.filtrar_fondos_notariales {
  border: 1px solid #781351;
  margin: 5px;
  padding: 5px;
  font-family: open_sans_regular;
  font-size: 0.9em;
  /* Plugin archivos notariales Listado de fondos */
  /* Plugin archivos notariales Listado de archivos notariales */
}
.filtrar_fondos_notariales .Listado_fondos {
  margin: 5px;
  padding: 5px;
}
.filtrar_fondos_notariales .Listado_fondos label {
  float: left;
  margin-right: 20px;
}
.filtrar_fondos_notariales .Listado_fondos select {
  width: 300px;
}
.filtrar_fondos_notariales .Listado_fondos .fondos_ocultos {
  margin: 20px;
  padding: 10px;
}
.filtrar_fondos_notariales .Listado_fondos .fondos_ocultos .lista_fondos li {
  padding-left: 20px;
}
.filtrar_fondos_notariales .Listado_archivos {
  margin: 5px;
  padding: 5px;
}
.filtrar_fondos_notariales .Listado_archivos label {
  float: left;
  margin-right: 20px;
}
.filtrar_fondos_notariales .Listado_archivos table {
  width: 400px;
}
.filtrar_fondos_notariales .Listado_archivos .boton_archivo_notarial {
  color: red!important;
  text-decoration: underline !important;
}
.lista_fondos {
  float: left;
  margin: 15px 0;
}
.archmun_bloque_titulo {
  border-bottom: 1px solid #000;
  margin: 5px;
  font-family: open_sans_regular;
  font-size: 0.9em;
  font-weight: 700;
}
.archmun_bloque {
  margin: 10px;
  font-family: open_sans_regular;
  font-size: 0.9em;
}
.archmun_fondos_ocultos {
  margin: 20px;
}
.nota1 {
  color: #454545;
  border-bottom: 2px dotted #064061;
}
.nota2 {
  margin-bottom: 20px;
}
/*! HELPERS
-------------------------------*/
.aux-table th {
  color: #FFFFFF;
  border-right: 1px solid #FFFFFF;
  text-align: center;
  background: #064061 !important;
}
.aux-table td {
  text-align: center;
}
/*! carousel */
#quote-carousel {
  padding: 0 10px 30px;
  margin-top: 5px;
  /* Control buttons  */
  /* Previous button  */
  /* Next button  */
  /* Changes the position of the indicators */
}
#quote-carousel .carousel-control {
  background: none;
  color: #999999;
  font-size: 2.3em;
  text-shadow: none;
  margin-top: 30px;
}
#quote-carousel .carousel-control.left {
  left: -12px;
}
#quote-carousel .carousel-control.right {
  right: -12px !important;
}
#quote-carousel .carousel-indicators {
  right: 50%;
  top: auto;
  bottom: 0;
  margin-right: -19px;
  /* Changes the color of the indicators */
}
#quote-carousel .carousel-indicators li {
  background: silver;
}
#quote-carousel .carousel-indicators .active {
  background: #CCCCCC;
}
#quote-carousel img {
  width: 250px;
  height: 100px;
}
/* End carousel */
.item blockquote {
  border-left: none;
  margin: 0;
}
.item blockquote img {
  margin-bottom: 10px;
}
.item blockquote p:before {
  content: "\f10d";
  font-family: fontawesome;
  float: left;
  margin-right: 10px;
}
/*! TAGS
-------------------------------------------------*/
#cont_tags {
  position: relative;
  float: left;
}
#cont_tags h2 {
  font-size: 1.4rem;
  margin-top: 0;
  padding-left: 15px;
}
#cont_tags .tags {
  position: relative;
  float: left;
}
/* sm */
@media screen and (max-width: 991.98px) {
  #cont_tags {
    margin-top: 30px;
  }
  #cont_tags h2 {
    padding-right: 7px;
    padding-left: 7px;
  }
}
/* XS Portrait */
@media screen and (max-width: 575.98px) {
  #cont_tags {
    padding-left: 0;
    padding-right: 0;
  }
  #cont_tags .tags {
    padding-left: 7px;
    padding-right: 7px;
  }
}
/*! TAGCLOUD
-------------------------------------------------*/
/* MOD nube de etiquetas lateral izquierda — LEGACY DESACTIVADO
   Las reglas modernas BS5 viven inyectadas al final de styles.css
   y en _search_aside.less (chips tipo pill, escalado por rel="N").
   La regla previa `a.tag{color:transparent}` ocultaba el texto porque
   el plugin jQCloud lo "tapaba" con .jqcloud-word; ahora que jQCloud
   está desactivado el texto debe verse en azul corporativo.
.nube_tags{position:relative;float:left;width:100%;margin-bottom:20px;padding:0;background-color:@color_04;text-shadow:0 1px 1px rgba(0,0,0,.1);
	.box_titulo{position:relative;float:left;width:100%;padding:5px 0 5px 0;margin-bottom:8px;text-indent:.5em;border-bottom:1px solid @color_08;
		h5{margin-top:0;margin-bottom:0;font-size:1.2em;font-weight:bold;color:@color_fuente_00}
	}
	a.tag{color:transparent!important;text-shadow:none;}
	.tagcloud{position:relative;float:left;width:100%;height:auto;min-height:200px}
}
*/
/*! [app.generic.functions.js] fn FALLBACK_IMAGES
-------------------------------------------------*/
.cont_imagen_cargando {
  /* 	img_fallback
		imagen animada de 'cargando'
		https://loading.io/
		https://loading.io/spinner/bars/-progress-bar-facebook-loader
		https://loading.io/spinner/custom/95784/
	*/
  /* &:after{content:url('../images/ajax-loader.gif');position:absolute;font-size:8.2rem;width:1em;height:1em;top:0;right:0;bottom:0;left:0;display:inline-block;margin:auto;vertical-align:middle;} */
}
.cont_imagen_cargando:after {
  content: url('../images/ajax-loader.gif');
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/*! PAGINA INICIO doc_index [index.jsp]
-------------------------------------------------*/
/*! SLICK SLIDER
-------------------------------------------------*/
/* slick-slide MODS */
.slick-slider {
  /* .slick-arrow{position:absolute;z-index:8;top:0;width:42px;height:42px;opacity:0.8;overflow:hidden;background:transparent url("../images/slick_cursor.png") 0 0 no-repeat;cursor:pointer;
		&.slick-prev{transform:rotate(180deg);left:-50px}
		&.slick-next{right:-50px}
		&:hover,&:active,&:focus{opacity:1}
	} */
}
.slick-slider button.slick-arrow {
  background-color: transparent;
  border: 0;
  text-indent: -9999px;
  top: 27%;
}
.slick-slider .slick-list {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
.slick-slider .slick-list .slick-track {
  margin: auto;
}
.slick-slider .slick-list .slick-track .slick-slide {
  padding: 0 22px 0 22px;
  overflow: hidden;
  box-sizing: content-box;
}
.slick-slider .slick-list .slick-track .slick-slide .cont_imagen {
  position: relative;
  float: left;
  width: 100%;
}
.slick-slider .slick-list .slick-track .slick-slide .cont_imagen .image_slider {
  position: relative;
  display: block;
  float: none;
  width: 180px;
  height: 180px;
  margin: auto;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption {
  position: relative;
  float: left;
  width: 100%;
  padding: 10px 0;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption a {
  position: relative;
  float: left;
  width: 100%;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption a .name {
  position: relative;
  float: left;
  height: 56px;
  font-size: 1.4rem;
  line-height: 1.1em;
  font-style: italic;
  color: #808080;
  text-shadow: none;
  transition: color 0.3s ease 0s;
}
.slick-slider .slick-list .slick-track .slick-slide figcaption a:hover .name,
.slick-slider .slick-list .slick-track .slick-slide figcaption a:active .name,
.slick-slider .slick-list .slick-track .slick-slide figcaption a:focus .name {
  color: #454545;
}
/* /MODS */
/********************* /SLICK SLIDER ******************/
#page-main.doc_index {
  position: relative;
  float: none;
  display: block;
  clear: left;
  width: 100%;
  max-width: 100%;
  margin: auto auto 30px auto;
  background: #fff;
}
#page-main.doc_index .form-control {
  border-radius: 0!important;
}
#page-main.doc_index .form-control:focus {
  z-index: 10;
}
#page-main.doc_index #site-search-people .input-group-btn .btn,
#page-main.doc_index #site-search-otherdata .input-group-btn .btn {
  padding-top: 7px;
}
#page-main.doc_index .cont_home_elements {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page-main.doc_index .collections_container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page-main.doc_index .collections_container .cont_titulo {
  width: 100%;
  padding: 2rem;
  background-color: #f3f3f3;
  border-bottom: 4px solid #adb5bb;
}
#page-main.doc_index .collections_container .cont_titulo h2 {
  font-size: 2.6rem;
  font-weight: bold;
  padding: 0px 0px;
  margin: 0px 0px;
}
#page-main.doc_index .collections_container .cont_titulo h3 {
  font-size: 1.6rem;
  font-style: italic;
  font-weight: 500;
  padding: 2px 0px;
  margin: 0px 0px;
  color: #506ea7;
}
#page-main.doc_index .collections_container .cont_titulo h4 {
  font-size: 1.2rem;
  font-style: normal;
  padding: 2px 0px;
  margin: 0px 0px;
  color: #000;
  font-weight: bold;
}
#page-main.doc_index .collections_container .collections_featured {
  width: 100%;
  display: block;
  margin: auto;
  float: none;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box {
  display: inherit;
  width: 100%;
  float: left;
  margin-bottom: 0px;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-radius: 0px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_img {
  float: left;
  width: 35%;
  height: 360px;
  padding-bottom: 0px;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_img.cl_right {
  order: 2;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_img.cl_right .thumbnail {
  border-left: 1px solid #ddd;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_img.cl_left {
  order: 1;
  float: right;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_img.cl_left .thumbnail {
  border-right: 1px solid #ddd;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_img .thumbnail {
  width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 0;
  border: 0px;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_desc {
  float: inherit;
  width: 65%;
  padding: 3rem 4rem;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_desc.cl_right {
  order: 1;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_desc.cl_left {
  order: 2;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_desc h1 {
  font-size: 3rem;
  color: #525252;
  padding: 0px;
  margin: 0px;
  font-weight: bold;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .collections_featured_desc p {
  font-size: 1.6rem;
  color: #6c6c6c;
  text-align: justify;
  word-spacing: 1px;
  display: contents;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .formaBoton {
  margin: 20px 0px 0px 0px;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .formaBoton .btn {
  background-color: #456889;
  color: #fdf2fd;
}
#page-main.doc_index .collections_container .collections_featured .collections_featured_box .formaBoton .btn:hover {
  background-color: #5e6889;
  color: #f2f2f2;
}
.cont_customs .cont_colecciones .coleccion,
.cont_mosaico .cont_colecciones .coleccion,
.cont_sliders .cont_colecciones .coleccion,
.cont_paneles .cont_colecciones .coleccion,
.cont_social .cont_colecciones .coleccion {
  background-color: #fff;
}
.cont_customs .cont_colecciones .coleccion .cont_paginacion,
.cont_mosaico .cont_colecciones .coleccion .cont_paginacion,
.cont_sliders .cont_colecciones .coleccion .cont_paginacion,
.cont_paneles .cont_colecciones .coleccion .cont_paginacion,
.cont_social .cont_colecciones .coleccion .cont_paginacion {
  position: absolute;
  left: 0;
  bottom: 0;
  padding-bottom: 75px;
  padding-left: 70px;
  text-align: left;
}
.cont_customs .cont_colecciones .coleccion .cont_paginacion .botonera_pos,
.cont_mosaico .cont_colecciones .coleccion .cont_paginacion .botonera_pos,
.cont_sliders .cont_colecciones .coleccion .cont_paginacion .botonera_pos,
.cont_paneles .cont_colecciones .coleccion .cont_paginacion .botonera_pos,
.cont_social .cont_colecciones .coleccion .cont_paginacion .botonera_pos {
  position: relative;
  float: left;
  bottom: auto;
  width: auto;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.cont_customs .cont_colecciones .coleccion .cont_paginacion .botonera_pos li,
.cont_mosaico .cont_colecciones .coleccion .cont_paginacion .botonera_pos li,
.cont_sliders .cont_colecciones .coleccion .cont_paginacion .botonera_pos li,
.cont_paneles .cont_colecciones .coleccion .cont_paginacion .botonera_pos li,
.cont_social .cont_colecciones .coleccion .cont_paginacion .botonera_pos li {
  position: relative;
  float: left;
}
.cont_customs .cont_colecciones .coleccion .cont_paginacion .botonera_pos li button,
.cont_mosaico .cont_colecciones .coleccion .cont_paginacion .botonera_pos li button,
.cont_sliders .cont_colecciones .coleccion .cont_paginacion .botonera_pos li button,
.cont_paneles .cont_colecciones .coleccion .cont_paginacion .botonera_pos li button,
.cont_social .cont_colecciones .coleccion .cont_paginacion .botonera_pos li button {
  position: relative;
  float: left;
  width: 15px;
  height: 15px;
  padding: 0;
  margin-right: 9px;
  border: 3px solid #5876ba;
  border-radius: 50%;
  background: none;
  color: transparent;
}
.cont_customs .cont_colecciones .coleccion .cont_paginacion .botonera_pos li.active button,
.cont_mosaico .cont_colecciones .coleccion .cont_paginacion .botonera_pos li.active button,
.cont_sliders .cont_colecciones .coleccion .cont_paginacion .botonera_pos li.active button,
.cont_paneles .cont_colecciones .coleccion .cont_paginacion .botonera_pos li.active button,
.cont_social .cont_colecciones .coleccion .cont_paginacion .botonera_pos li.active button {
  background: #6d6f71;
}
.cont_customs .cont_colecciones .coleccion .cont_paginacion .boton_mas,
.cont_mosaico .cont_colecciones .coleccion .cont_paginacion .boton_mas,
.cont_sliders .cont_colecciones .coleccion .cont_paginacion .boton_mas,
.cont_paneles .cont_colecciones .coleccion .cont_paginacion .boton_mas,
.cont_social .cont_colecciones .coleccion .cont_paginacion .boton_mas {
  position: relative;
  float: left;
  color: #4d4e8c;
  font-size: 0.9rem;
  line-height: 1em;
  top: -2px;
  letter-spacing: 2px;
}
.cont_customs .cont_colecciones .colecciones_cont_slides,
.cont_mosaico .cont_colecciones .colecciones_cont_slides,
.cont_sliders .cont_colecciones .colecciones_cont_slides,
.cont_paneles .cont_colecciones .colecciones_cont_slides,
.cont_social .cont_colecciones .colecciones_cont_slides {
  position: relative;
  float: left;
  width: 100%;
}
.cont_customs .cont_colecciones .coleccion_slide,
.cont_mosaico .cont_colecciones .coleccion_slide,
.cont_sliders .cont_colecciones .coleccion_slide,
.cont_paneles .cont_colecciones .coleccion_slide,
.cont_social .cont_colecciones .coleccion_slide {
  position: relative;
  float: left;
  padding-left: 20px;
  padding-right: 20px;
  display: none;
  width: 100%;
}
.cont_customs .cont_colecciones .coleccion_slide.active,
.cont_mosaico .cont_colecciones .coleccion_slide.active,
.cont_sliders .cont_colecciones .coleccion_slide.active,
.cont_paneles .cont_colecciones .coleccion_slide.active,
.cont_social .cont_colecciones .coleccion_slide.active {
  display: block;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_img_back,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_img_back,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_img_back,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_img_back,
.cont_social .cont_colecciones .coleccion_slide .coleccion_img_back {
  position: absolute;
  width: 100%;
  height: auto;
  max-height: 400px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  overflow: hidden;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_img_back .coleccion_imagen,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_img_back .coleccion_imagen,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_img_back .coleccion_imagen,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_img_back .coleccion_imagen,
.cont_social .cont_colecciones .coleccion_slide .coleccion_img_back .coleccion_imagen {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_img_back .colecciones_fondo,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_img_back .colecciones_fondo,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_img_back .colecciones_fondo,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_img_back .colecciones_fondo,
.cont_social .cont_colecciones .coleccion_slide .coleccion_img_back .colecciones_fondo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 0px;
  height: 400px;
  color: #4d4e8c;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_formato,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_formato,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_formato,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_formato,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_formato {
  position: relative;
  float: left;
  width: 100%;
  font-family: raleway_bold;
  font-size: 5rem;
  margin: 0px;
  padding: 16px;
  margin-bottom: 80px;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo {
  position: relative;
  float: left;
  width: 100%;
  font-size: 1.4rem;
  background-color: #8e8e9273;
  margin: 0px;
  padding: 12px;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .titulo,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .titulo,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .titulo,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .titulo,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .titulo {
  position: relative;
  float: left;
  margin-right: 5px;
  font-family: raleway_regular;
  font-size: 1.3rem;
  text-transform: uppercase;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .fecha,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .fecha,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .fecha,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .fecha,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .fecha {
  position: relative;
  float: left;
  font-family: raleway_extralight;
  font-size: 2.2rem;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo a,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo a,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo a,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo a,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo a {
  color: #000;
}
.cont_customs .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_texto,
.cont_mosaico .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_texto,
.cont_sliders .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_texto,
.cont_paneles .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_texto,
.cont_social .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_texto {
  position: relative;
  float: left;
  max-width: 400px;
  font-family: raleway_regular;
  font-size: 0.7rem;
}
.cont_customs .cont_colecciones .cont_columna.col_izqda .colecciones_cont_slides,
.cont_mosaico .cont_colecciones .cont_columna.col_izqda .colecciones_cont_slides,
.cont_sliders .cont_colecciones .cont_columna.col_izqda .colecciones_cont_slides,
.cont_paneles .cont_colecciones .cont_columna.col_izqda .colecciones_cont_slides,
.cont_social .cont_colecciones .cont_columna.col_izqda .colecciones_cont_slides {
  border-right: 1px solid #808080;
}
.cont_customs .cont_colecciones .cont_columna.col_dcha .colecciones_cont_slides,
.cont_mosaico .cont_colecciones .cont_columna.col_dcha .colecciones_cont_slides,
.cont_sliders .cont_colecciones .cont_columna.col_dcha .colecciones_cont_slides,
.cont_paneles .cont_colecciones .cont_columna.col_dcha .colecciones_cont_slides,
.cont_social .cont_colecciones .cont_columna.col_dcha .colecciones_cont_slides {
  border-left: 1px solid #808080;
}
.cont_customs .slick-dots li,
.cont_mosaico .slick-dots li,
.cont_sliders .slick-dots li,
.cont_paneles .slick-dots li,
.cont_social .slick-dots li {
  width: 1em;
  font-size: 0.8rem;
  line-height: 1em;
  margin: 4px;
}
.cont_customs .slick-dots li button,
.cont_mosaico .slick-dots li button,
.cont_sliders .slick-dots li button,
.cont_paneles .slick-dots li button,
.cont_social .slick-dots li button {
  width: 1em;
  height: 1em;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1em;
  border: 2px solid #6d6f71;
  border-radius: 50%;
}
.cont_customs .slick-dots li button:before,
.cont_mosaico .slick-dots li button:before,
.cont_sliders .slick-dots li button:before,
.cont_paneles .slick-dots li button:before,
.cont_social .slick-dots li button:before {
  width: 1em;
  height: 1em;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1em;
  color: #6d6f71;
}
.cont_customs .slick-dots li button:focus:before,
.cont_mosaico .slick-dots li button:focus:before,
.cont_sliders .slick-dots li button:focus:before,
.cont_paneles .slick-dots li button:focus:before,
.cont_social .slick-dots li button:focus:before,
.cont_customs .slick-dots li button:hover:before,
.cont_mosaico .slick-dots li button:hover:before,
.cont_sliders .slick-dots li button:hover:before,
.cont_paneles .slick-dots li button:hover:before,
.cont_social .slick-dots li button:hover:before {
  color: #5a81a2;
  opacity: 1;
}
.cont_customs .slick-dots li.slick-active button:before,
.cont_mosaico .slick-dots li.slick-active button:before,
.cont_sliders .slick-dots li.slick-active button:before,
.cont_paneles .slick-dots li.slick-active button:before,
.cont_social .slick-dots li.slick-active button:before {
  width: 1.1em;
  height: 1.1em;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1.1em;
  color: #6d6f71;
  opacity: 1;
}
.cont_customs.doc_doc,
.cont_mosaico.doc_doc,
.cont_sliders.doc_doc,
.cont_paneles.doc_doc,
.cont_social.doc_doc {
  margin-top: 2rem;
  border-top: 3px solid #ddd;
}
.cont_customs.doc_doc .slidex.cont_slider_datos .cont_general_datos,
.cont_mosaico.doc_doc .slidex.cont_slider_datos .cont_general_datos,
.cont_sliders.doc_doc .slidex.cont_slider_datos .cont_general_datos,
.cont_paneles.doc_doc .slidex.cont_slider_datos .cont_general_datos,
.cont_social.doc_doc .slidex.cont_slider_datos .cont_general_datos {
  width: 100% !important;
  text-align: center;
}
.cont_customs.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_mosaico.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_sliders.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_paneles.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_social.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_icono {
  display: none;
}
.cont_customs.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_mosaico.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_sliders.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_paneles.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_social.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo {
  width: 100% !important;
}
.cont_customs .cont_sliders,
.cont_mosaico .cont_sliders,
.cont_sliders .cont_sliders,
.cont_paneles .cont_sliders,
.cont_social .cont_sliders {
  margin: 15px auto 0 auto;
  padding-bottom: 0;
  max-width: 1440px;
  width: 100%;
}
.cont_customs .cont_sliders .bloque_slider,
.cont_mosaico .cont_sliders .bloque_slider,
.cont_sliders .cont_sliders .bloque_slider,
.cont_paneles .cont_sliders .bloque_slider,
.cont_social .cont_sliders .bloque_slider {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  background-color: #EEEEEE;
}
.cont_customs .cont_sliders .bloque_slider:nth-child(even),
.cont_mosaico .cont_sliders .bloque_slider:nth-child(even),
.cont_sliders .cont_sliders .bloque_slider:nth-child(even),
.cont_paneles .cont_sliders .bloque_slider:nth-child(even),
.cont_social .cont_sliders .bloque_slider:nth-child(even) {
  background-color: #EEEEEE;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos,
.cont_sliders .cont_sliders .slidex.cont_slider_datos,
.cont_paneles .cont_sliders .slidex.cont_slider_datos,
.cont_social .cont_sliders .slidex.cont_slider_datos {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos {
  margin: 0px auto;
  overflow: auto;
  width: 40%;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono {
  float: left;
  width: 10%;
  text-align: right;
  padding-right: 5px;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono .icon_title,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono .icon_title,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono .icon_title,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono .icon_title,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono .icon_title {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  width: 1em;
  height: 1em;
  font-size: 2.2rem;
  line-height: 1em;
  color: #6d6f71;
  margin-top: 0px;
  margin-bottom: 0px;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo {
  float: left;
  width: 60%;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo .slider_titulo,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo .slider_titulo,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo .slider_titulo,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo .slider_titulo,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo .slider_titulo {
  position: relative;
  float: left;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 2.2rem;
  line-height: 1em;
  color: #6d6f71;
  word-wrap: break-word;
  margin-top: 0px;
  margin-bottom: 0px;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera {
  text-align: center;
  float: right;
  width: 30%;
  padding-left: 5px;
}
.cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera .btn,
.cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera .btn,
.cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera .btn,
.cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera .btn,
.cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding: 5px 5px;
  font-size: 1.2rem;
  line-height: 1.3em;
}
.cont_customs .cont_sliders .cont_carousel,
.cont_mosaico .cont_sliders .cont_carousel,
.cont_sliders .cont_sliders .cont_carousel,
.cont_paneles .cont_sliders .cont_carousel,
.cont_social .cont_sliders .cont_carousel {
  position: relative;
  float: left;
  width: 100%;
  padding-right: 0px;
}
.cont_customs .cont_sliders .cont_carousel .carousel,
.cont_mosaico .cont_sliders .cont_carousel .carousel,
.cont_sliders .cont_sliders .cont_carousel .carousel,
.cont_paneles .cont_sliders .cont_carousel .carousel,
.cont_social .cont_sliders .cont_carousel .carousel {
  position: relative;
  float: left;
  width: auto;
  max-width: 100%;
}
.cont_customs .cont_sliders .cont_carousel .carousel .slide,
.cont_mosaico .cont_sliders .cont_carousel .carousel .slide,
.cont_sliders .cont_sliders .cont_carousel .carousel .slide,
.cont_paneles .cont_sliders .cont_carousel .carousel .slide,
.cont_social .cont_sliders .cont_carousel .carousel .slide {
  position: relative;
  float: left;
}
.cont_customs .cont_sliders .cont_carousel .slick-slider,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider,
.cont_sliders .cont_sliders .cont_carousel .slick-slider,
.cont_paneles .cont_sliders .cont_carousel .slick-slider,
.cont_social .cont_sliders .cont_carousel .slick-slider {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-bottom: 0;
}
.cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow,
.cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow,
.cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow,
.cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow {
  position: absolute;
  z-index: 8;
  top: -20%;
  bottom: 0;
  margin: auto;
  width: 42px;
  height: 42px;
  opacity: 0.8;
  overflow: hidden;
  background: transparent url("../images/slick_cursor.png") center center no-repeat;
  cursor: pointer;
}
.cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
.cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
.cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
.cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev {
  transform: rotate(180deg);
  left: 0px;
}
.cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
.cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
.cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
.cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next {
  right: 0px;
}
.cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow:hover,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow:hover,
.cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow:hover,
.cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow:hover,
.cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow:hover,
.cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow:active,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow:active,
.cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow:active,
.cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow:active,
.cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow:active,
.cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow:focus,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow:focus,
.cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow:focus,
.cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow:focus,
.cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow:focus {
  opacity: 1;
}
.cont_customs .cont_sliders .cont_carousel .slick-slider .slick-dots,
.cont_mosaico .cont_sliders .cont_carousel .slick-slider .slick-dots,
.cont_sliders .cont_sliders .cont_carousel .slick-slider .slick-dots,
.cont_paneles .cont_sliders .cont_carousel .slick-slider .slick-dots,
.cont_social .cont_sliders .cont_carousel .slick-slider .slick-dots {
  position: relative;
  float: left;
  width: 100%;
  bottom: auto;
  margin-top: 15px;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_general_datos,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_general_datos,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_general_datos,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_general_datos,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_general_datos {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 100px;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont {
  position: relative;
  float: left;
  width: 100%;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono {
  text-align: center;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono .icon_title,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono .icon_title,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono .icon_title,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono .icon_title,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_icono .icon_title {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  width: 1em;
  height: 1em;
  font-size: 3rem;
  line-height: 1em;
  color: #454545;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo {
  text-align: center;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo .slider_titulo,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo .slider_titulo,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo .slider_titulo,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo .slider_titulo,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_titulo .slider_titulo {
  position: relative;
  float: left;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 4rem;
  color: #454545;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_datos p,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_datos p,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_datos p,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_datos p,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_datos p {
  margin-bottom: 0;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera {
  text-align: center;
  margin-top: 50px;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera .btn,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera .btn,
.cont_sliders .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera .btn,
.cont_paneles .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera .btn,
.cont_social .cont_sliders .cont_carousel .slick-list .cont_slider_datos .cont_botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track {
  float: left;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide {
  position: relative;
  float: left;
  margin: 0;
  padding: 0 2px 100% 2px;
  margin-bottom: -100%;
  overflow: hidden;
  /* 340x250 */
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide:last-child,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide:last-child,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide:last-child,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide:last-child,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide:last-child {
  margin-right: 0;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  margin: auto;
  padding: 0;
  text-align: center;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen {
  position: relative;
  display: block;
  float: left;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen .image_slider,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen .image_slider,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen .image_slider,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen .image_slider,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen .image_slider {
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover {
  text-decoration: none;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover .image_slider,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover .image_slider,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover .image_slider,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover .image_slider,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover .image_slider {
  opacity: 1;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption {
  position: relative;
  float: left;
  width: 100%;
  padding: 12px 12px 12px 12px;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont {
  position: relative;
  float: left;
  width: 100%;
  text-align: left;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo {
  position: relative;
  text-align: center;
  width: 100%;
  font-family: open_sans_light;
  font-size: 1.2rem;
  line-height: 1.3em;
  color: #454545;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace {
  position: relative;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 1.2rem;
  line-height: 1.3em;
  color: #000;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:hover,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:hover,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:hover,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:hover,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:hover,
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:focus,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:focus,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:focus,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:focus,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:focus {
  text-decoration: none;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .fig_title,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .fig_title,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .fig_title,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .fig_title,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .fig_title {
  position: relative;
  float: left;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 1.2rem;
  line-height: 1.3em;
  color: #000;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo + .cont_datos,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo + .cont_datos,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo + .cont_datos,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo + .cont_datos,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo + .cont_datos {
  margin-top: 5px;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos,
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p {
  text-align: center;
  margin: 0px auto;
  width: 100%;
  font-family: open_sans_light;
  font-size: 0.7rem;
  line-height: 1.2em;
  color: #555555;
  overflow: hidden;
  word-wrap: break-word;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p {
  margin-bottom: 5px;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen {
  position: relative;
  float: none;
  display: block;
  width: 100%;
  height: 150px;
  margin: auto;
  overflow: hidden;
  /*img{position:absolute;width:auto;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;display:block;
								&.mas_largo_centrada{left:50%;transform:translate(-50%,0) }
							}*/
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen img,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen img,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen img,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen img,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen img {
  width: auto;
  min-height: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono {
  position: absolute;
  bottom: 20px;
  left: 15%;
  display: block;
}
.cont_customs .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono .icono_slide,
.cont_mosaico .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono .icono_slide,
.cont_sliders .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono .icono_slide,
.cont_paneles .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono .icono_slide,
.cont_social .cont_sliders .cont_carousel .slick-list .slick-track .slick-slide .cont_icono .icono_slide {
  position: relative;
  float: left;
  font-size: 3rem;
  color: #FFFFFF;
}
@media screen and (max-width: 1199.98px) {
  .cont_customs .cont_sliders .cont_carousel .slick-list,
  .cont_mosaico .cont_sliders .cont_carousel .slick-list,
  .cont_sliders .cont_sliders .cont_carousel .slick-list,
  .cont_paneles .cont_sliders .cont_carousel .slick-list,
  .cont_social .cont_sliders .cont_carousel .slick-list {
    max-width: 1100px;
  }
}
@media screen and (max-width: 991.98px) {
  .cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos {
    width: 55%;
  }
  .cont_customs .cont_sliders .cont_carousel,
  .cont_mosaico .cont_sliders .cont_carousel,
  .cont_sliders .cont_sliders .cont_carousel,
  .cont_paneles .cont_sliders .cont_carousel,
  .cont_social .cont_sliders .cont_carousel {
    width: 100%;
  }
  .cont_customs .cont_sliders .cont_carousel .slick-list,
  .cont_mosaico .cont_sliders .cont_carousel .slick-list,
  .cont_sliders .cont_sliders .cont_carousel .slick-list,
  .cont_paneles .cont_sliders .cont_carousel .slick-list,
  .cont_social .cont_sliders .cont_carousel .slick-list {
    max-width: 700px;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos {
    width: 60%;
  }
  .cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
  .cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
  .cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
  .cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono,
  .cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_icono {
    width: 20%;
  }
  .cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
  .cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
  .cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
  .cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo,
  .cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_titulo {
    width: 80%;
  }
  .cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
  .cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
  .cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
  .cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera,
  .cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos .cont_botonera {
    width: 100%;
    margin-top: 12px;
  }
  .cont_customs .cont_sliders .cont_carousel .slick-list,
  .cont_mosaico .cont_sliders .cont_carousel .slick-list,
  .cont_sliders .cont_sliders .cont_carousel .slick-list,
  .cont_paneles .cont_sliders .cont_carousel .slick-list,
  .cont_social .cont_sliders .cont_carousel .slick-list {
    max-width: 500px;
  }
}
@media screen and (max-width: 575.98px) {
  .cont_customs .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_mosaico .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_sliders .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_paneles .cont_sliders .slidex.cont_slider_datos .cont_general_datos,
  .cont_social .cont_sliders .slidex.cont_slider_datos .cont_general_datos {
    width: 70%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .cont_customs .cont_sliders .cont_carousel,
  .cont_mosaico .cont_sliders .cont_carousel,
  .cont_sliders .cont_sliders .cont_carousel,
  .cont_paneles .cont_sliders .cont_carousel,
  .cont_social .cont_sliders .cont_carousel {
    padding-left: 0;
    padding-right: 0;
  }
  .cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
  .cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
  .cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
  .cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev,
  .cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-prev {
    left: 0;
    top: 20%;
  }
  .cont_customs .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
  .cont_mosaico .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
  .cont_sliders .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
  .cont_paneles .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next,
  .cont_social .cont_sliders .cont_carousel .slick-slider button.slick-arrow.slick-next {
    right: 0;
    top: 20%;
  }
  .cont_customs .cont_sliders .cont_carousel .slick-list,
  .cont_mosaico .cont_sliders .cont_carousel .slick-list,
  .cont_sliders .cont_sliders .cont_carousel .slick-list,
  .cont_paneles .cont_sliders .cont_carousel .slick-list,
  .cont_social .cont_sliders .cont_carousel .slick-list {
    max-width: 260px;
  }
}
.cont_customs .cont_paneles,
.cont_mosaico .cont_paneles,
.cont_sliders .cont_paneles,
.cont_paneles .cont_paneles,
.cont_social .cont_paneles {
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 15px 15px 0 0;
}
.cont_customs .cont_paneles .cont_panel,
.cont_mosaico .cont_paneles .cont_panel,
.cont_sliders .cont_paneles .cont_panel,
.cont_paneles .cont_paneles .cont_panel,
.cont_social .cont_paneles .cont_panel {
  padding-left: 15px;
}
.cont_customs .cont_paneles .cont_panel:first-child,
.cont_mosaico .cont_paneles .cont_panel:first-child,
.cont_sliders .cont_paneles .cont_panel:first-child,
.cont_paneles .cont_paneles .cont_panel:first-child,
.cont_social .cont_paneles .cont_panel:first-child {
  padding-left: 0;
}
.cont_customs .cont_paneles .cont_panel .panel,
.cont_mosaico .cont_paneles .cont_panel .panel,
.cont_sliders .cont_paneles .cont_panel .panel,
.cont_paneles .cont_paneles .cont_panel .panel,
.cont_social .cont_paneles .cont_panel .panel {
  margin-bottom: 15px;
}
.cont_customs .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_mosaico .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_sliders .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_paneles .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_social .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media {
  margin-top: 15px;
}
.cont_customs .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_mosaico .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_sliders .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_paneles .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_social .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
.cont_customs .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-body,
.cont_mosaico .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-body,
.cont_sliders .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-body,
.cont_paneles .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-body,
.cont_social .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-body,
.cont_customs .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_mosaico .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_sliders .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_paneles .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_social .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading {
  position: relative;
  float: left;
  width: 100%;
}
.cont_customs .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_mosaico .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_sliders .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_paneles .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading,
.cont_social .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading {
  margin-bottom: 0;
}
.cont_customs .cont_paneles .cont_panel .panel.panel_tipo_transparente .media,
.cont_mosaico .cont_paneles .cont_panel .panel.panel_tipo_transparente .media,
.cont_sliders .cont_paneles .cont_panel .panel.panel_tipo_transparente .media,
.cont_paneles .cont_paneles .cont_panel .panel.panel_tipo_transparente .media,
.cont_social .cont_paneles .cont_panel .panel.panel_tipo_transparente .media {
  position: relative;
  float: left;
  width: 100%;
  overflow: visible;
}
.cont_customs .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-body,
.cont_mosaico .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-body,
.cont_sliders .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-body,
.cont_paneles .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-body,
.cont_social .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-body {
  position: relative;
  float: left;
  width: 100%;
  overflow: visible;
}
.cont_customs .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading,
.cont_mosaico .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading,
.cont_sliders .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading,
.cont_paneles .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading,
.cont_social .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading {
  position: relative;
  float: left;
  width: 100%;
}
.cont_customs .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading .list-title,
.cont_mosaico .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading .list-title,
.cont_sliders .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading .list-title,
.cont_paneles .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading .list-title,
.cont_social .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading .list-title {
  position: relative;
  float: left;
  font-weight: bold;
  color: #282f48;
}
@media screen and (max-width: 1399.98px) {
  .cont_customs .cont_paneles,
  .cont_mosaico .cont_paneles,
  .cont_sliders .cont_paneles,
  .cont_paneles .cont_paneles,
  .cont_social .cont_paneles {
    padding-left: 15px;
  }
}
@media screen and (max-width: 991.98px) {
  .cont_customs .cont_sliders,
  .cont_mosaico .cont_sliders,
  .cont_sliders .cont_sliders,
  .cont_paneles .cont_sliders,
  .cont_social .cont_sliders {
    margin-top: 0;
  }
}
/*! PAGINA RESULTADOS DE BUSQUEDA doc_search / DETALLE DE REGISTRO doc_doc
-------------------------------------------------*/
@media screen and (max-width: 575.98px) {
  #page-main.doc_search .cont_principal {
    margin-top: 0;
  }
}
@media screen and (max-width: 575.98px) {
  #page-main.doc_search .cont_principal {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main.doc_search .cont_principal .columna.col_dcha {
    padding-left: 15px;
    padding-right: 15px;
  }
}
#page-main.doc_search #result_container.res_container.listado {
  position: relative;
  width: 100%;
}
#page-main.doc_search #result_container.res_container.listado .card-title {
  text-align: start;
  margin-left: 3%;
}
#page-main.doc_search #result_container.res_container.listado .card-title a.list-title {
  font-size: 1.1rem;
  color: #3f4d6d;
  font-weight: normal;
  text-decoration: unset;
}
#page-main.doc_search #result_container.res_container.listado .card-title a.list-title:hover {
  font-size: 1.1rem;
  color: #a77f00;
  text-decoration: unset;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch .list-principal .record-field .labelField {
  font-size: 0.8rem !important;
  font-weight: normal !important;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch .list-principal .record-field .textField {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #064061;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch .list-secondary .record-field .labelField {
  font-size: 0.8rem !important;
  font-weight: normal !important;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch .list-secondary .record-field .textField {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #064061;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch.list-link .record-field {
  display: flex;
  text-align: left;
  padding: 6px;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch.list-link .record-field .labelField {
  font-size: 0.8rem !important;
  font-weight: normal !important;
}
#page-main.doc_search #result_container.res_container.listado .resultSearch.list-link .record-field .textField {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #064061;
}
#page-main.doc_search #result_container.res_container.listado .card-body .resultSearch {
  padding-bottom: 16px;
}
#page-main.doc_search #result_container.res_container.listado .card-body .resultSearch.list-link {
  padding-top: 16px;
  border-top: 1px solid #ddd;
}
#page-main.doc_search #result_container.res_container.listado .card-body .resultSearch.list-link a.clase_tag {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 3px;
  text-decoration: unset;
  background: #dae8ed;
  color: #0b2a86;
}
#page-main.doc_search .ie8 #result_container.res_container.listado .media .media-heading a:hover,
#page-main.doc_search .ie9 #result_container.res_container.listado .media .media-heading a:hover {
  text-decoration: underline;
}
#page-main.doc_doc .col_izqda {
  padding-right: 12px !important;
}
#page-main.doc_doc .col_izqda .panel:last-child {
  border-bottom: 1px dashed #838383;
}
#page-main.doc_doc .col_dcha {
  padding-left: 0;
}
#page-main.doc_doc .col_dcha .barra_tools .navbar {
  margin-top: 0px;
}
@media screen and (max-width: 991.98px) {
  #page-main.doc_doc .col_dcha .barra_tools {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main.doc_doc .col_dcha .barra_tools.barra_bottom .navbar {
    margin-top: 0;
  }
}
#page-main.doc_doc .col_dcha .cont_migas_doc {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
#page-main.doc_doc .col_dcha .doc-metadata {
  position: relative;
  float: left;
  padding-top: 8px;
}
#page-main.doc_doc .col_dcha .doc-metadata .cont_titulo_doc {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .col_dcha .doc-metadata .cont_titulo_doc .titulo {
  position: relative;
  float: left;
  font-family: open_sans_bold;
  font-size: 1.2rem;
  color: #333333;
}
#page-main.doc_doc .col_dcha .panel.busqueda {
  padding-top: 15px;
  padding-bottom: 15px;
}
#page-main.doc_doc .col_dcha .panel .panel-body {
  padding: 0;
}
#page-main.doc_doc .col_dcha .panel .panel-body .cont_metadata {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .col_dcha .panel .panel-body .cont_metadata .panel.interno:last-child {
  margin-bottom: 0;
}
#page-main.doc_doc .col_dcha .cont_datos {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .col_dcha .cont_datos .doc-viewer {
  padding-left: 0;
  padding-right: 20px;
}
#page-main.doc_doc .col_dcha .cont_datos .doc-viewer img {
  width: 100%;
}
#page-main.doc_doc .col_dcha .cont_datos .doc-viewer .video {
  width: 100%;
}
#page-main.doc_doc .col_dcha .cont_datos .doc-metadata {
  padding: 0;
}
#page-main.doc_doc .col_dcha .cont_datos .doc-metadata .cont_titulo_doc {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 10px;
}
#page-main.doc_doc .col_dcha .cont_datos .doc-metadata .cont_titulo_doc .titulo {
  position: relative;
  float: left;
  width: 100%;
  font-size: 1.2rem;
  line-height: 1.5em;
  color: #333333;
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_doc .col_dcha .cont_datos .doc-viewer {
    padding-right: 0;
  }
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-primary h2,
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-secondary h2,
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-primary h3,
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-secondary h3 {
  font-size: 1.8rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-primary .notas_contenido,
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-secondary .notas_contenido {
  position: relative;
  float: left;
  padding-left: 0;
  padding-right: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-primary .notas_contenido .list-group,
#page-main.doc_doc .col_dcha .doc_metadatajsp .fields-secondary .notas_contenido .list-group {
  position: relative;
  float: left;
  clear: left;
  width: 100%;
  height: auto;
  max-height: 300px;
  overflow: auto;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel {
  margin-bottom: 0;
  margin-top: 10px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-heading .panel_heading_cont_title {
  padding-left: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group {
  position: relative;
  float: left;
  width: 100%;
  margin: 15px 0 0 0;
  padding: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group:last-child {
  margin-bottom: 15px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group .list-group_titulo {
  text-align: left;
  position: relative;
  float: left;
  width: 100%;
  padding: 5px;
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  color: #454545;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group-item {
  max-width: 100%;
  padding-right: 17px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group-item .titulo {
  text-decoration: none;
  position: relative;
  float: left;
  width: 100%;
  height: 1.3em;
  padding-left: 11px;
  padding-right: 20px;
  font-size: 0.7rem;
  line-height: 1.2em;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group-item:first-child {
  border-radius: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .panel-body .list-group-item:last-child {
  border-radius: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-links,
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-item,
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera,
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .bloque {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-links {
  padding: 5px 8px 15px 8px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-item {
  padding-top: 4px;
  padding-bottom: 4px;
  border-bottom: 1px dashed #838383;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera {
  color: #333333;
  line-height: 1.8em;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_titulo {
  position: relative;
  float: left;
  padding-right: 2.2rem;
  padding-left: 2.2rem;
  cursor: pointer;
  font-size: 1.4rem;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_titulo .nom_fichero {
  position: relative;
  float: left;
  padding-left: 3px;
  padding-right: 3px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_titulo .icono {
  position: absolute;
  top: 5px;
  width: 1.1em;
  font-size: 1.4rem;
  line-height: 1.2em;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_titulo .icono.icono_tipo {
  left: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_titulo .icono.btn_despliegue {
  right: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_titulo .icono.btn_despliegue:before {
  content: "\f055";
  font-family: fontawesome;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_botonera {
  position: relative;
  float: right;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_botonera .btn_min {
  position: relative;
  float: left;
  margin-right: 5px;
  padding: 3px;
  font-size: 1.2rem;
  line-height: 1em;
  color: #333333;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  transition: background-color 0.3s linear;
  cursor: pointer;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_botonera .btn_min:last-child {
  margin-right: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_botonera .btn_min:hover,
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .item_cabecera .item_botonera .btn_min:focus {
  background-color: #DDDDDD;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-item .bloque {
  display: none;
  padding-left: 3rem;
  border-left: 1px dashed #f2f2f2;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-item.desplegado .item_cabecera .item_titulo .icono.btn_despliegue:before {
  content: "\f056";
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder {
  padding-top: 4px;
  padding-bottom: 4px;
  width: 100%;
  clear: both;
  overflow: auto;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder .item_titulo_folder {
  position: relative;
  float: left;
  padding-left: 0rem;
  cursor: pointer;
  width: 100%;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder .item_titulo_folder > i {
  float: left;
  line-height: 1.4rem;
  padding: 4px 2px 2px 2px;
  font-size: 2rem;
  color: #5a81a2;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder .item_titulo_folder .nom_fichero {
  position: relative;
  float: left;
  padding-left: 3px;
  padding-right: 3px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder .item_titulo_folder .icono {
  position: absolute;
  top: 0;
  width: 1.1em;
  font-size: 1.4rem;
  line-height: 1.2em;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder .item_titulo_folder .icono.btn_despliegue {
  right: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-link-folder .item_titulo_folder .icono.btn_despliegue:before {
  content: "\f055";
  font-family: fontawesome;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .list-items {
  overflow: auto;
  width: 100%;
  height: auto;
  padding-left: 5%;
  font-size: 1.3rem;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .status_fail {
  color: red;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .status_fail .icono_tipo {
  color: red;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .pagination_doc_adjuntos {
  text-align: center;
  width: 100%;
  margin: 5px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno.documentos_adjuntos .panel-body .pagination_doc_adjuntos i {
  font-size: 0.5rem;
  margin: 5px;
  cursor: pointer;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .conjunto_de_items .list-group-item {
  position: relative;
  float: left;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-bottom: 5px;
  margin-right: 5px;
  padding: 5px 25px 5px 0;
  color: #FFFFFF;
  background-color: #064061;
  border: 1px solid #CCCCCC;
  border-radius: 0;
  box-shadow: 1px 1px 3px #EEEEEE;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .conjunto_de_items .list-group-item i {
  margin-top: 3px;
  margin-right: 4px;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .conjunto_de_items .list-group-item .btn_list-group-item {
  position: absolute;
  right: 0;
  height: 100%;
  margin: -5px 0 0 0;
  padding: 0 5px 0 5px;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #064061;
  border-radius: 0;
  border: 0;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel.interno .conjunto_de_items .list-group-item .btn_list-group-item i {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  font-size: 1.2rem;
  line-height: 1.2em;
}
#page-main.doc_doc .col_dcha,
#page-main.doc_doc .col_izqda {
  /* zona thumbnails plugin elastislider */
}
#page-main.doc_doc .col_dcha .thumbnail,
#page-main.doc_doc .col_izqda .thumbnail {
  height: 100%;
  width: 100%;
  padding: 0px;
  margin-bottom: 20px;
  line-height: 1.4rem;
  background-color: #fff;
  border: none;
  border-radius: none;
}
#page-main.doc_doc .col_dcha #rg-gallery,
#page-main.doc_doc .col_izqda #rg-gallery {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  /* MODO FULL SCREEN */
  /* /MODO FULL SCREEN */
}
#page-main.doc_doc .col_dcha #rg-gallery #carga_thumbs,
#page-main.doc_doc .col_izqda #rg-gallery #carga_thumbs {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin-top: 3px;
  margin-left: 10px;
}
#page-main.doc_doc .col_dcha #rg-gallery #carga_thumbs .fa-spinner,
#page-main.doc_doc .col_izqda #rg-gallery #carga_thumbs .fa-spinner {
  font-size: 1.5em;
}
#page-main.doc_doc .col_dcha #rg-gallery .num_items,
#page-main.doc_doc .col_izqda #rg-gallery .num_items {
  position: relative;
  float: left;
  margin-bottom: 5px;
  padding: 3px 5px 3px 5px;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #064061;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-view,
#page-main.doc_doc .col_izqda #rg-gallery .rg-view {
  position: relative;
  float: right;
  text-align: right;
  height: 30px;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-view a,
#page-main.doc_doc .col_izqda #rg-gallery .rg-view a {
  position: relative;
  display: block;
  width: auto;
  height: auto;
  margin-left: 10px;
  margin-right: auto;
  color: #DBDBDB;
  text-decoration: none;
  transition: color 0.3s linear;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-view a.selected,
#page-main.doc_doc .col_izqda #rg-gallery .rg-view a.selected,
#page-main.doc_doc .col_dcha #rg-gallery .rg-view a:hover,
#page-main.doc_doc .col_izqda #rg-gallery .rg-view a:hover {
  color: #454545;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-view a i,
#page-main.doc_doc .col_izqda #rg-gallery .rg-view a i {
  font-size: 1.8em;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs,
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper {
  position: relative;
  clear: left;
  float: left;
  display: block;
  width: 100%;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs {
  margin-bottom: 10px;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs .es-carousel-wrapper,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs .es-carousel-wrapper {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 115px;
  margin-bottom: 0;
  padding: 10px 27px;
  background-color: #101010;
  border-radius: 3px;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  display: block;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul {
  position: relative;
  float: left;
  height: 100%;
  height: 95px;
  padding: 0px;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul li,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul li {
  position: relative;
  float: left;
  display: block;
  height: 100%;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul li a,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul li a {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul li a img,
#page-main.doc_doc .col_izqda #rg-gallery .rg-thumbs .es-carousel-wrapper .es-carousel ul li a img {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper {
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.8);
  min-height: 100px;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption {
  color: #FFFFFF;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption .btn_downloadItem,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption .btn_downloadItem {
  position: relative;
  float: left;
  width: 35px;
  height: 33px;
  color: #DDDDDD;
  background-color: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.3s linear;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption .btn_downloadItem .fa.fa-download,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption .btn_downloadItem .fa.fa-download {
  font-size: 2rem;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption .btn_downloadItem:hover,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption .btn_downloadItem:hover {
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption p,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-wrapper .rg-caption-wrapper .rg-caption p {
  padding: 0;
}
#page-main.doc_doc .col_dcha #rg-gallery .img,
#page-main.doc_doc .col_izqda #rg-gallery .img {
  cursor: pointer;
}
#page-main.doc_doc .col_dcha #rg-gallery .icon,
#page-main.doc_doc .col_izqda #rg-gallery .icon {
  font-size: 67px;
  color: #E59B13;
  cursor: pointer;
}
#page-main.doc_doc .col_dcha #rg-gallery .rg-image-nav a,
#page-main.doc_doc .col_izqda #rg-gallery .rg-image-nav a {
  background-color: transparent;
}
#page-main.doc_doc .col_dcha #rg-gallery.gal_fullScreen,
#page-main.doc_doc .col_izqda #rg-gallery.gal_fullScreen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
#page-main.doc_doc .col_dcha #rg-gallery.gal_fullScreen .rg-view,
#page-main.doc_doc .col_izqda #rg-gallery.gal_fullScreen .rg-view {
  position: absolute;
  float: left;
  height: auto;
  padding: 8px 8px 8px 0px;
  background-color: #101010;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-left-color: transparent;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  z-index: 9999;
}
#page-main.doc_doc .col_dcha #rg-gallery.gal_fullScreen .rg-view a,
#page-main.doc_doc .col_izqda #rg-gallery.gal_fullScreen .rg-view a {
  float: left;
  clear: left;
  margin-top: 5px;
  margin-bottom: 5px;
}
#page-main.doc_doc .col_dcha #rg-gallery.gal_fullScreen .rg-image img,
#page-main.doc_doc .col_izqda #rg-gallery.gal_fullScreen .rg-image img {
  max-height: auto;
  max-width: auto;
  width: 100%;
  height: 100%;
}
#page-main.doc_doc .col_dcha #rg-gallery.gal_fullScreen .rg-image img.transitioned,
#page-main.doc_doc .col_izqda #rg-gallery.gal_fullScreen .rg-image img.transitioned {
  transition: all 0.3s ease-in-out;
}
#page-main.doc_doc .col_dcha #rg-gallery.gal_fullScreen #btn_downloadItem,
#page-main.doc_doc .col_izqda #rg-gallery.gal_fullScreen #btn_downloadItem {
  display: none;
}
#page-main.doc_doc .col_lat_derecha {
  padding: 12px;
  background-color: rgba(122, 135, 163, 0.85);
  border-radius: 6px;
  margin-top: 6px;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones {
  position: relative;
  height: auto;
  clear: both;
  overflow: auto;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .titulo_menu {
  border-bottom: 1px solid white;
  font-family: open_sans_regular;
  font-size: 1.1rem;
  color: white;
  display: block;
  width: 100%;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .cont_btn_seleccionados {
  float: left;
  width: 30%;
  margin-top: 12px;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .cont_btn_seleccionados .btn_icon {
  padding: 6px 10px 6px 10px;
  color: #31374fb8;
  font-size: 1rem;
  display: inline;
  margin: 0px;
  border: 1px solid #55555580;
  border-radius: 12px;
  background: #94a2b7;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .cont_btn_seleccionados .btn_icon:hover {
  color: #1c1c1c;
  background-color: #d0d0d0;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .cont_btn_seleccionados .btn_icon i:hover {
  color: #1c1c1c;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .cont_btn_seleccionados.cont_btn_bookmark-del {
  margin-top: 6px;
}
#page-main.doc_doc .col_lat_derecha .cont_menu_acciones .cont_btn_seleccionados.cont_btn_bookmark-del .btn_icon {
  padding: 5px 12px 5px 12px;
}
#page-main.doc_doc .col_lat_derecha .doc_share {
  position: relative;
  height: auto;
  clear: both;
  overflow: auto;
}
#page-main.doc_doc .col_lat_derecha .doc_share .titulo_menu {
  border-bottom: 1px solid white;
  font-family: open_sans_regular;
  font-size: 1.1rem;
  color: white;
  display: block;
  width: 100%;
}
#page-main.doc_doc .col_lat_derecha .doc_share .cont_btn_seleccionados {
  float: left;
  width: 30%;
  margin-top: 12px;
}
#page-main.doc_doc .col_lat_derecha .doc_share .cont_btn_seleccionados .btn_icon {
  padding: 6px 10px 6px 10px;
  color: #31374fb8;
  font-size: 1rem;
  display: inline;
  margin: 0px;
  border: 1px solid #55555580;
  border-radius: 12px;
  background: #94a2b7;
}
#page-main.doc_doc .col_lat_derecha .doc_share .cont_btn_seleccionados .btn_icon:hover {
  color: #1c1c1c;
  background-color: #d0d0d0;
}
#page-main.doc_doc .col_lat_derecha .doc_share .cont_btn_seleccionados .btn_icon i:hover {
  color: #1c1c1c;
}
#page-main.doc_doc .col_lat_derecha .list-record-social {
  position: relative;
  height: auto;
  clear: both;
  overflow: auto;
}
#page-main.doc_doc .col_lat_derecha .list-record-social .titulo_menu {
  border-bottom: 1px solid #2d5178;
  font-family: open_sans_regular;
  font-size: 1.1rem;
  color: #2d5178;
  display: block;
  width: 100%;
}
#page-main.doc_doc .col_lat_derecha .barra_tools {
  padding: 0px;
  margin: 0px;
  clear: both;
}
#page-main.doc_doc .col_lat_derecha .barra_tools .cont_acciones {
  padding: 0px;
}
#page-main.doc_doc .col_lat_derecha .barra_tools .cont_acciones .cont_pagination.pagination_info .pagination {
  padding: 6px 0px 0px 6px;
}
#page-main.doc_doc .col_lat_derecha .barra_tools .cont_acciones .cont_pagination.pagination_info .pagination .btn {
  padding: 8px 8px 8px 8px;
}
#page-main.doc_doc .col_lat_derecha .barra_tools .cont_acciones .cont_pagination.pagination_info .pagination .btn-info {
  padding: 8px 12px 8px 12px;
}
#page-main.doc_doc .col_lat_derecha .barra_tools .cont_acciones .cont_pagination.pagination_arrow .pagination {
  padding: 0px 0px 0px 0px;
}
#page-main.doc_doc .col_lat_derecha .barra_tools .cont_acciones .cont_pagination.pagination_arrow .pagination .btn {
  padding: 6px 6px 6px 6px;
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_doc #cont_principal .col_izqda .panel:last-child {
    border: 0;
  }
  #page-main.doc_doc #cont_principal .col_dcha .cont_datos {
    padding-right: 20px;
  }
}
/* Extra Small Devices, Phones */
/* XS Portrait */
@media screen and (max-width: 575.98px) {
  #page-main.doc_doc #cont_principal {
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
  }
  #page-main.doc_doc #cont_principal .col_dcha {
    margin-top: 0;
    padding-left: 15px;
    padding-right: 15px;
  }
  #page-main.doc_doc #cont_principal .col_dcha .cont_datos {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main.doc_doc #cont_principal .alert .alert_body p {
    text-align: left;
  }
}
/*! PAGINA DETALLE DEL REGISTRO doc_metadata.jsp
-------------------------------------------------*/
#page-main.doc_doc {
  /* [doc-people.jsp] [doc-metadata-people.jsp]*/
  /* desaparace la imagen de la columna izquierda y aparece en la dcha [doc-metadata-fondo.jsp] */
}
#page-main.doc_doc .doc_metadatajsp .doc-title {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
#page-main.doc_doc .doc_metadatajsp .doc-title .panel_titulo_botonera {
  position: relative;
  float: right;
  width: 100%;
  text-align: right;
  padding-left: 0;
  padding-right: 0;
}
#page-main.doc_doc .doc_metadatajsp .doc-title .panel_titulo_botonera .btn:last-child {
  margin-right: 0;
}
@media screen and (max-width: 575.98px) {
  #page-main.doc_doc .doc_metadatajsp .doc-title .panel_titulo_botonera .btn {
    width: 100%;
    text-align: center;
  }
  #page-main.doc_doc .doc_metadatajsp .doc-title .panel_titulo_botonera .btn .btn_titulo {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
  }
}
#page-main.doc_doc .doc_metadatajsp .fields-primary,
#page-main.doc_doc .doc_metadatajsp .fields-secondary {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .doc_metadatajsp .contenedor {
  position: relative;
  float: left;
  width: 100%;
  padding: 15px 20px 15px 20px;
}
#page-main.doc_doc .doc_metadatajsp .contenedor:nth-child(odd) {
  background-color: #ffffff;
  border-bottom: 1px solid #000;
  text-align: start;
}
#page-main.doc_doc .doc_metadatajsp .contenedor:nth-child(even) {
  background-color: #ffffff;
  border-bottom: 1px solid #000;
  text-align: start;
}
#page-main.doc_doc .doc_metadatajsp .contenedor h5 {
  color: #707070;
  margin-bottom: 5px;
  font-size: 0.6rem;
}
#page-main.doc_doc .doc_metadatajsp .contenedor .list-group {
  margin-bottom: 0;
}
#page-main.doc_doc .doc_metadatajsp .contenedor .list-group p {
  color: #333333;
  font-size: 0.6rem;
  margin: 0px 0px 0px 0px;
}
#page-main.doc_doc .doc_metadatajsp .list-group {
  margin-bottom: 10px;
}
#page-main.doc_doc .doc_metadatajsp .list-group:first-child {
  margin-top: 10px;
}
#page-main.doc_doc .doc_metadatajsp.metadata_fondo .cont_metadata {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .cont_imagen {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
#page-main.doc_doc .cont_imagen .vista_imagen {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 500px;
  margin-bottom: 15px;
}
#page-main.doc_doc .cont_imagen .vista_imagen .imagen {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 142px;
  min-height: 142px;
  max-width: 100%;
  height: auto;
  max-height: 600px;
  margin-bottom: 0;
}
#page-main.doc_doc .cont_imagen .vista_imagen_botonera {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_doc .cont_imagen .vista_imagen_botonera .btn_lanzador {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin-right: 0;
  font-weight: 700;
}
#page-main.doc_doc .cont_imagen .vista_imagen_botonera .btn_lanzador i {
  position: absolute;
  top: 7px;
  left: 10px;
  display: block;
}
#page-main.doc_doc .cont_imagen .vista_imagen_botonera .btn_lanzador .titulo {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 5px;
  line-height: 1.2em;
}
#page-main.doc_doc .col_izqda .cont_imagen {
  margin-bottom: 30px;
}
#page-main.doc_doc .col_dcha .contenedor {
  margin-top: 5px;
}
#page-main.doc_doc .col_dcha .text-muted {
  font-size: 0.5rem;
  line-height: 1.8em;
}
#page-main.doc_doc .col_dcha .cont_imagen {
  display: none;
  padding: 15px;
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_doc .col_izqda .cont_imagen {
    display: none;
  }
  #page-main.doc_doc .col_dcha .cont_imagen {
    display: block;
  }
}
#page-main.doc_doc .doc-tags .panel-heading,
#page-main.doc_doc .doc-comments .panel-heading {
  cursor: default;
}
#page-main.doc_doc.doc_fondo {
  /* [doc-fondo.jsp] [doc-metadata-fondo.jsp] */
  /* desaparece la imagen de la columna izquierda y aparece en la dcha [doc-metadata-fondo.jsp] */
}
#page-main.doc_doc.doc_fondo .cont_imagen_fondo {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
#page-main.doc_doc.doc_fondo .cont_imagen_fondo .thumb_fondo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 300px;
  margin: auto;
}
#page-main.doc_doc.doc_fondo .doc_stats {
  margin-top: 15px;
}
#page-main.doc_doc.doc_fondo .col_dcha .barra_tools .boton_permalink {
  display: none;
}
#page-main.doc_doc.doc_fondo .col_dcha .cont_imagen_fondo {
  display: none;
  padding: 15px;
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_doc.doc_fondo .col_izqda .cont_imagen_fondo {
    display: none;
  }
  #page-main.doc_doc.doc_fondo .col_izqda .doc_stats {
    margin-top: 0;
  }
  #page-main.doc_doc.doc_fondo .col_dcha .cont_imagen_fondo {
    display: block;
  }
}
/*! PAGINA RESULTADOS DETALLE DE REGISTRO .pintado_en_tabs .doc_doc
-------------------------------------------------*/
#page-main.doc_doc .tabs_cont_general {
  display: none;
}
.pintado_en_tabs #page-main.doc_doc .col_izqda {
  padding-right: 20px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .barra_tools {
  border-bottom: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .cont_migas_doc {
  margin-bottom: 5px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general {
  position: relative;
  float: left;
  width: 100%;
  display: block;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li {
  position: relative;
  float: left;
  padding: 10px 5px 5px 5px;
  width: 25%;
  height: 40px;
  text-align: center;
  background-color: #BFBFBF;
  border: 1px solid #EEEEEE;
  border-bottom: 0;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  cursor: pointer;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li .tab_titulo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: auto;
  max-width: 80%;
  font-family: raleway_bold;
  font-size: 0.7rem;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li .tab_badge {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  top: -0.5em;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li .tab_titulo + .tab_badge {
  margin-left: 3px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li.active {
  background-color: #EEEEEE;
  cursor: default;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li.active .tab_titulo {
  color: #373737;
}
@media screen and (max-width: 991.98px) {
  .pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_lista li {
    width: 100%;
    text-align: left;
    padding-left: 15px;
    padding-right: 15px;
  }
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .tabs_cont_vista {
  position: relative;
  float: left;
  width: 100%;
  padding: 15px;
  background-color: #EEEEEE;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_titulo_doc {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 15px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_titulo_doc .titulo {
  position: relative;
  float: left;
  font-family: open_sans_bold;
  font-size: 1.6rem;
  color: #454545;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros {
  padding-bottom: 15px;
  border-bottom: 2px solid #FFFFFF;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .cont_form-group {
  padding: 0 3px 0 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .form-group {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .control-component {
  padding-right: 5px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .control-component,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .input-group {
  position: relative;
  float: left;
  width: 100%;
  display: block;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .control-component .input-group .input-group-btn {
  height: auto;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .btn {
  position: relative;
  float: left;
  width: 100%;
  padding: 6px 12px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .btn.btn_envia_filtros {
  border-radius: 0;
  background-color: #CCCCCC;
  border: 1px solid #CCCCCC;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .contenedor_filtros .btn.btn_envia_filtros .titulo {
  margin-left: 0;
  font-weight: bold;
  color: #373737;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .cont_bloques {
  position: relative;
  float: left;
  width: 100%;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .signatura {
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 2px solid #FFFFFF;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .ejemplar_datos {
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 15px 0;
  padding: 0;
  list-style: none;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .ejemplar_datos li {
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .ejemplar_datos .ejemplar_titulo {
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 8px 0;
  padding: 0;
  font-size: 1.6rem;
  color: #454545;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .ejemplar_datos .titulo {
  position: relative;
  float: left;
  font-weight: bold;
  color: #373737;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .ejemplar_datos .dato {
  position: relative;
  float: left;
  margin-left: 5px;
  color: #373737;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 15px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default {
  background-color: #2c6280;
  color: #FFFFFF;
  border-color: transparent;
  color: #454545;
  border: 1px solid #CCCCCC;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default:hover,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default:active,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default:focus {
  background-color: #286293;
  color: #fff;
  border-color: transparent;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default.btn_saberMas {
  color: #FFFFFF;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default:hover,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default:active,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_izqda .cont_botonera .btn.btn-default:focus {
  color: #454545;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_dcha .control-label {
  color: #373737;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .cont_signaturas .blq_dcha .button_100pc .btn.dropdown-toggle {
  width: 100%;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-links,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-link-item,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .bloque {
  position: relative;
  float: left;
  width: 100%;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-links {
  padding: 5px 8px 15px 8px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-link-item {
  padding-top: 4px;
  padding-bottom: 4px;
  border-bottom: 1px dashed #838383;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera {
  color: #333333;
  line-height: 1.8em;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_titulo {
  position: relative;
  float: left;
  padding-right: 2.2rem;
  padding-left: 2.2rem;
  cursor: pointer;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_titulo .nom_fichero {
  position: relative;
  float: left;
  padding-left: 3px;
  padding-right: 10px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_titulo .icono {
  position: absolute;
  top: 0;
  width: 1.1em;
  font-size: 1.4rem;
  line-height: 1.3em;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_titulo .icono.icono_tipo {
  left: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_titulo .icono.btn_despliegue {
  right: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_titulo .icono.btn_despliegue:before {
  content: "\f055";
  font-family: fontawesome;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_botonera {
  position: relative;
  float: right;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_botonera .btn_min {
  position: relative;
  float: left;
  margin-right: 5px;
  padding: 3px;
  font-size: 1.2rem;
  line-height: 1em;
  color: #333333;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  transition: background-color 0.3s linear;
  cursor: pointer;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_botonera .btn_min:last-child {
  margin-right: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_botonera .btn_min:hover,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .item_cabecera .item_botonera .btn_min:focus {
  background-color: #DDDDDD;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-link-item .bloque {
  display: none;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-link-item.desplegado .item_cabecera .item_titulo .icono.btn_despliegue:before {
  content: "\f056";
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .status_fail {
  color: red;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .status_fail .icono_tipo {
  color: red;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-group-item {
  position: relative;
  float: left;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-bottom: 5px;
  margin-right: 5px;
  padding: 5px 25px 5px 0;
  color: #FFFFFF;
  background-color: #064061;
  border: 1px solid #CCCCCC;
  border-radius: 0;
  box-shadow: 1px 1px 3px #EEEEEE;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-group-item i {
  margin-top: 3px;
  margin-right: 4px;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-group-item .btn_list-group-item,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-group-item .btn_relation_authority_info {
  position: absolute;
  right: 0;
  height: 100%;
  margin: -5px 0 0 0;
  padding: 0 5px 0 5px;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #064061;
  border-radius: 0;
  border: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-group-item .btn_list-group-item i,
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .conjunto_de_items .list-group-item .btn_relation_authority_info i {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  font-size: 2.2rem;
  line-height: 1.2em;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .doc-metadata {
  position: relative;
  float: left;
  width: 100%;
  background-color: #EEEEEE;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .doc_metadatajsp {
  position: relative;
  float: left;
  width: 100%;
  background-color: #EEEEEE;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .doc_metadatajsp .contenedor {
  padding: 0;
  margin: 0;
  background-color: transparent;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .doc_metadatajsp .contenedor:nth-child(2n+1) {
  background-color: transparent;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .panel {
  border: 0;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .panel .panel-header {
  background-color: #EEEEEE;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .panel .panel-body {
  background-color: #EEEEEE;
}
.pintado_en_tabs #page-main.doc_doc .col_dcha .tabs_cont_general .social-layer {
  background-color: #EEEEEE;
  border: 0;
  border-radius: 0;
}
#page-main.doc_legal_warn h2 {
  font-size: 1.2rem;
  font-weight: bold;
  color: #6d869c;
}
/*! BOTONERA DE SOCIAL PARA COMPARTIR
-------------------------------------------------*/
/* [doc-people.jsp] */
#page-main .cont_jssocial {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 30px;
}
#page-main .cont_jssocial .jssocials-share {
  color: #707070;
  transition: all 0.3s linear;
  border: 1px solid #DDDDDD;
  border-radius: 0;
  margin: 0.8px;
  padding: 0px 0px;
  font-size: 0.8rem;
  background-color: #fff;
}
#page-main .cont_jssocial .jssocials-share a {
  color: #555555 !important;
}
#page-main .cont_jssocial .jssocials-share a:hover {
  background-color: #7b9add;
  border-color: #0e1c6b;
  color: #21545d;
}
#page-main .cont_jssocial .jssocials-share a:hover .icono {
  color: #FFFFFF;
}
#page-main .cont_jssocial .jssocials-share-label {
  display: none;
}
#page-main .cont_jssocial .jssocials-share-email .jssocials-share-link {
  background-color: transparent;
}
#page-main .cont_jssocial .jssocials-share-twitter .jssocials-share-link {
  background-color: transparent;
}
#page-main .cont_jssocial .jssocials-share-facebook .jssocials-share-link {
  background-color: transparent;
}
.iconoYoutube {
  zoom: 240%;
  margin: -2px 0px 0px 0px;
}
.socialFooter {
  margin-left: 14%;
}
/* vía discriminador se asocia la clase desktop y dispositivo al tag body. Estas aplicaciones sólo están disponibles en dispositivo, con lo que se ocultan al resto */
.desktop .jssocials-share-whatsapp,
.desktop .jssocials-share-telegram {
  display: none;
}
/*! Plugin bootstrap rating
	https://github.com/dreyescat/bootstrap-rating
-------------------------------------------------*/
.container_rating .icon {
  color: #e5e500;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}
.fa.fa-twitter {
  font-family: sans-serif;
}
.fa.fa-twitter::before {
  content: "𝕏";
  font-size: 1.2em;
}
/*! PAGINA RESULTADOS DE BUSQUEDA doc_doc [MOSAICO]
-------------------------------------------------*/
#page-main.doc_mosaic .col_dcha {
  padding-left: 0;
}
#result_container.res_container.mosaico {
  position: relative;
  float: left;
  width: 100%;
}
#result_container.res_container.mosaico .media-body {
  width: 100%;
}
#result_container.res_container.mosaico .cards {
  position: relative;
  float: left;
  width: 100%;
  margin-left: 0;
  text-align: center;
}
#result_container.res_container.mosaico .cards .item {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  display: inline-block !important;
  margin: 0.5%;
  width: 23.6%;
  min-width: 170px;
  padding-bottom: 5px;
  padding-top: 5px;
  border: 1px solid #555555;
  border-radius: 2px;
  box-shadow: none;
}
#result_container.res_container.mosaico .cards .item .item-count {
  position: absolute;
  z-index: 10;
  top: 3px;
  right: 3px;
  padding: 3px 5px 3px 5px;
  font-size: 1.1rem;
  color: #aaa;
  line-height: 1em;
  background-color: #FFFFFF;
  border-radius: 50%;
}
#result_container.res_container.mosaico .cards .item .media-object {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  height: 135px;
  margin-bottom: 1em;
  overflow: hidden;
  padding: 0;
  /* .thumbnail{.centrado;width:auto;max-width:100%;height:100%;margin:0 auto 0 auto;padding:0;border:0;outline:0;border-radius:0} */
}
#result_container.res_container.mosaico .cards .item .media-object .cont_thumbnail {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  padding: 4px;
  text-align: center;
}
#result_container.res_container.mosaico .cards .item .media-object .thumbnail {
  position: relative;
  display: inline-block;
  width: auto;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  border-radius: 0;
}
#result_container.res_container.mosaico .cards .item .media-heading {
  position: relative;
  float: left;
  width: 100%;
  /* ATENCION: El line-height y el height de esta capa afectan a la salida de la capa ellipsis [app.generic.functions.js -> parrafo_ellipsis_js]*/
}
#result_container.res_container.mosaico .cards .item .media-heading .parrafo_ellipsis_js {
  position: relative;
  float: left;
  width: 100%;
  height: 2.6em;
  font-size: 0.7rem;
  line-height: 1.3em;
  color: #999999;
  font-weight: bold;
  overflow: hidden;
}
#result_container.res_container.mosaico .cards .item .boxMoreInf {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 5px;
  text-align: left;
}
#result_container.res_container.mosaico .cards .item .boxMoreInf .item_moreInf {
  position: relative;
  float: left;
  width: 100%;
  height: auto;
  max-height: 2.6em;
  font-size: 0.7rem;
  line-height: 1.3em;
  margin-bottom: 3px;
}
#result_container.res_container.mosaico .cards .item .mosaic-record-social {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
#result_container.res_container.mosaico .cards .item .mosaic-record-social .icono {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  color: #707070;
}
#result_container.res_container.mosaico .cards .item .mosaic-record-social .icono:last-child {
  margin-right: 0;
}
#result_container.res_container.mosaico .cards .item .cont_selecciones {
  position: relative;
  float: right;
  clear: left;
  text-align: left;
}
#result_container.res_container.mosaico .cards .item .cont_selecciones:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1199.98px) {
  #result_container.res_container.mosaico .cards .item {
    width: 32%;
  }
}
@media screen and (max-width: 991.98px) {
  #result_container.res_container.mosaico .cards .item {
    width: 48%;
  }
}
@media screen and (max-width: 575.98px) {
  #result_container.res_container.mosaico .cards {
    margin-left: 0;
  }
  #result_container.res_container.mosaico .cards .item {
    width: 100%;
    margin-right: auto;
  }
}
#result_container.res_container.mosaico .barra_paginacion {
  display: inline-flex;
}
@media screen and (max-width: 575.98px) {
  #page-main.doc_mosaic .cont_principal {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main.doc_mosaic .cont_principal .col_dcha {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*! PAGINA RESULTADOS DE BUSQUEDA [listado y mosaico]
	BOTONES DE SELECCION IMPRESION Y CARRITO
-------------------------------------------------*/
/*! iconos social
-------------------------------------------------*/
.list-record-social .icono,
.mosaic-record-social .icono {
  position: relative;
  float: left;
  font-size: 0.8rem;
  line-height: 1.5em;
  margin-bottom: 3px;
  padding: 3px 8px 3px 8px;
  color: #333333;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  /* num visitas */
  /* num comentarios */
  /* puntuacion (media rating) */
}
.list-record-social .icono:before,
.mosaic-record-social .icono:before {
  position: relative;
  float: left;
  margin-right: 5px;
  font-family: fontawesome;
  font-size: 0.9rem;
  line-height: 1em;
  color: #707070;
}
.list-record-social .icono.record-visit:before,
.mosaic-record-social .icono.record-visit:before {
  content: "\f2bd";
  font-size: 1.2rem;
}
.list-record-social .icono.record-comments:before,
.mosaic-record-social .icono.record-comments:before {
  content: "\f0e6";
  font-size: 1.2rem;
}
.list-record-social .icono.record-score:before,
.mosaic-record-social .icono.record-score:before {
  content: "\f091";
  font-size: 1.2rem;
}
/*! selección impresión y carrito
-------------------------------------------------*/
/* input[type=checkbox]{margin:3px 3px 3px 4px;-webkit-appearance:checkbox;box-sizing:border-box;padding:1px;-webkit-rtl-ordering:logical;-webkit-user-select:text;cursor:pointer;} */
.cont_seleccion {
  position: relative;
  float: left;
  margin-right: 3px;
  padding: 3px 8px 3px 8px;
  border: 1px solid #CCCCCC;
  background-color: #FFFFFF;
  border-radius: 4px;
}
.cont_seleccion.cont_seleccion_carrito .label_impresion,
.cont_seleccion.cont_seleccion_impresion .label_impresion,
.cont_seleccion.cont_seleccion_loan .label_impresion {
  position: relative;
  float: left;
  display: block;
  margin: 0 3px 0 0;
  padding: 0;
  border: 0;
  background: none;
}
.cont_seleccion.cont_seleccion_carrito .label_impresion .icono,
.cont_seleccion.cont_seleccion_impresion .label_impresion .icono,
.cont_seleccion.cont_seleccion_loan .label_impresion .icono {
  font-size: 0.9rem;
  line-height: 1em;
  color: #707070;
}
.cont_seleccion.cont_seleccion_carrito .switchery-small,
.cont_seleccion.cont_seleccion_impresion .switchery-small,
.cont_seleccion.cont_seleccion_loan .switchery-small {
  position: relative;
  float: left;
  height: 16px;
  border-radius: 16px;
}
.cont_seleccion.cont_seleccion_carrito .switchery-small > small,
.cont_seleccion.cont_seleccion_impresion .switchery-small > small,
.cont_seleccion.cont_seleccion_loan .switchery-small > small {
  width: 15px;
  height: 15px;
  top: 0;
}
.cont_seleccion.cont_seleccion_carrito .switchery-small.switchery_true > small,
.cont_seleccion.cont_seleccion_impresion .switchery-small.switchery_true > small,
.cont_seleccion.cont_seleccion_loan .switchery-small.switchery_true > small {
  left: 17px;
}
.cont_seleccion.cont_seleccion_carrito .switchery-small.switchery_false > small,
.cont_seleccion.cont_seleccion_impresion .switchery-small.switchery_false > small,
.cont_seleccion.cont_seleccion_loan .switchery-small.switchery_false > small {
  left: 0;
}
/*! contenedor de botones varios
-------------------------------------------------*/
/* vista lista */
.botonera_varios {
  position: absolute;
  bottom: 0;
  right: 0;
}
.botonera_varios .btn_icon {
  position: relative;
  float: left;
  padding: 10px;
}
.botonera_varios .btn_icon .icono {
  position: relative;
  float: left;
  font-size: 1.4rem;
  line-height: 1em;
  color: #428dff;
}
/* vista mosaico */
.cont_selecciones .botonera_varios {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.cont_selecciones .botonera_varios .btn_icon {
  padding: 3px 10px 3px 10px;
}
/*! INPUT TAGS [doc-tags.jsp]
-------------------------------------------------*/
.tokenfield .token {
  border-radius: 3px!important;
}
.tokenfield .token .close {
  position: relative;
  top: -5px;
  font-size: 1.4rem;
  opacity: 0.8;
}
.tokenfield .token.valid {
  background-color: green;
  border: 1px solid green;
}
.tokenfield .token.valid .token-label,
.tokenfield .token.valid .close {
  color: #FFFFFF !important;
}
.tokenfield .token.invalid {
  background-color: red;
  border: 1px solid red;
}
.tokenfield .token.invalid .token-label,
.tokenfield .token.invalid .close {
  color: #FFFFFF !important;
}
.tokenfield .token.invalid.fail_server {
  background-color: orange;
  border: 1px solid orange;
}
.tokenfield .token.invalid.fail_server .token-label,
.tokenfield .token.invalid.fail_server .close {
  color: #000 !important;
}
.doc_tags .panel-body.cont_input_tags .input_tags {
  width: 100%;
}
.doc_tags .panel-body.cont_input_tags .tokenfield {
  width: 100%!important;
}
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead {
  width: auto;
}
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead .tt-input,
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead .tt-hint,
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead .tt-menu {
  height: auto;
}
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead .tt-input {
  padding: 0 12px 0 0;
}
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead .tt-menu {
  padding: 5px;
}
.doc_tags .panel-body.cont_input_tags .tokenfield .twitter-typeahead .tt-dataset {
  min-width: 0;
}
/*! ZONA COMENTARIOS doc-comments.jsp
-------------------------------------------------*/
#social-layer {
  padding-left: 0;
  padding-right: 0;
  border: 1px solid #DDDDDD;
  border-radius: 4px;
}
#social-layer .doc_comments,
#social-layer .comentarios_vacio {
  position: relative;
  float: left;
  width: 100%;
}
#social-layer .cont_informaciones {
  padding-left: 0;
  padding-right: 0;
}
#social-layer .comentarios_vacio {
  margin-bottom: 20px;
}
#social-layer .comentarios_vacio .cont_informaciones {
  padding-left: 15px;
  padding-right: 15px;
}
#social-layer .comentarios_vacio .botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
#social-layer .comentarios_vacio .botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.doc_commentsjsp {
  position: relative;
  float: left;
  width: 100%;
}
.doc_commentsjsp.vista_comentarios {
  padding: 15px;
  background-color: #f2f6fa;
  /* reset */
}
.doc_commentsjsp.vista_comentarios header {
  position: relative;
  float: left;
  width: 100%;
  border: 0;
  box-shadow: none;
  background-color: transparent;
}
.doc_commentsjsp.vista_comentarios a {
  background-color: none;
  transition: none;
}
.doc_commentsjsp.vista_comentarios .comments_heading {
  position: relative;
  float: left;
  width: 100%;
  display: block;
}
.doc_commentsjsp.vista_comentarios .comments_heading .titulo {
  position: relative;
  float: left;
  font-size: 2.5rem;
}
.doc_commentsjsp.vista_comentarios .comments_heading .titulo span {
  font-weight: bold;
}
.doc_commentsjsp.vista_comentarios .comments_heading .botonera {
  position: relative;
  float: right;
}
.doc_commentsjsp.vista_comentarios .comments_body {
  position: relative;
  float: left;
  width: 100%;
  display: block;
}
.doc_commentsjsp.vista_comentarios .comments_body .doc-comments {
  position: relative;
  float: left;
  width: 100%;
  padding: 0 !important;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario {
  position: relative;
  float: left;
  width: 100%;
  margin: 10px 0 10px 0;
  padding: 0 0 0 40px;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario .cont_comment {
  position: relative;
  float: left;
  width: 100%;
  background-color: #FFFFFF;
  padding: 4px;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header {
  position: relative;
  height: 37px;
  padding-left: 35px;
  line-height: 37px;
  background-color: #e8e8fc;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header .comment_user_link {
  position: relative;
  float: left;
  margin-left: -76px;
  margin-top: 10px;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header .comment_user_link figure {
  position: relative;
  float: left;
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 4px;
  background-color: #FFFFFF;
  border: 1px solid #f4f4f4;
  overflow: hidden;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header .comment_user_link figure img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  padding: 0;
  border: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  color: #FFFFFF;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header .comentario_user {
  font-weight: bold;
  color: #a5afc0;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header .comentario_fecha {
  display: inline;
  font-size: 0.85em;
  font-weight: bold;
  text-transform: uppercase;
  white-space: nowrap;
  color: #a5afc0;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario article {
  position: relative;
  float: left;
  width: 100%;
  padding: 20px 80px 30px 35px;
  line-height: 1.5em;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario article .comment_body {
  position: relative;
  float: left;
  width: 100%;
  word-wrap: break-word;
}
.doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario article .ordinal {
  position: absolute;
  right: 10px;
  bottom: 23px;
  color: #f4f5f7;
  font-size: 3.6rem;
  line-height: 1em;
}
.doc_commentsjsp.vista_comentarios footer {
  position: relative;
  display: inline-block;
  width: 100%;
  padding-bottom: 15px;
  text-align: center;
  border-bottom: 2px solid #FFFFFF;
}
.doc_commentsjsp.entrada_comentarios {
  padding: 0 15px 15px 15px;
  background-color: #f2f6fa;
  /* reset */
}
.doc_commentsjsp.entrada_comentarios header {
  border: 0;
  box-shadow: none;
  background-color: transparent;
}
.doc_commentsjsp.entrada_comentarios a {
  background-color: none;
  transition: none;
}
.doc_commentsjsp.entrada_comentarios header {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  margin-bottom: 30px;
}
.doc_commentsjsp.entrada_comentarios header h3 {
  font-size: 2.5rem;
}
.doc_commentsjsp.entrada_comentarios .entrada_comentarios_body {
  position: relative;
  width: 100%;
  display: inline-block;
}
.doc_commentsjsp.entrada_comentarios .entrada_comentarios_body textarea {
  resize: vertical;
  min-height: 90px;
}
.doc_commentsjsp.entrada_comentarios .entrada_comentarios_body .info_entrada .alert {
  margin-top: 15px;
  margin-bottom: 0;
}
.doc_commentsjsp.entrada_comentarios .entrada_comentarios_body .botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: right;
}
.doc_commentsjsp.entrada_comentarios .entrada_comentarios_body .botonera .btn_enviar {
  margin-left: 0;
}
.doc_commentsjsp .nuevo_comentario {
  background-color: #064061;
}
@media screen and (max-width: 575.98px) {
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario {
    padding-left: 0;
  }
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header {
    position: relative;
    float: left;
    width: 100%;
    padding: 5px;
    height: auto;
    line-height: auto;
    text-align: center;
  }
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header .comment_user_link {
    position: relative;
    float: left;
    width: 100%;
  }
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario header figure {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    top: auto;
    left: auto;
  }
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario article {
    padding: 5px;
  }
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario article .comment_body {
    margin-bottom: 18px;
  }
  .doc_commentsjsp.vista_comentarios .comments_body .bloque_comentario article .ordinal {
    right: 5px;
    bottom: 5px;
    font-size: 0.9rem;
    color: #d3d3d3;
  }
  .doc_commentsjsp.entrada_comentarios header {
    margin-bottom: 0;
  }
  .doc_commentsjsp.entrada_comentarios .entrada_comentarios_body .cont_textarea {
    padding-left: 0;
    padding-right: 0;
  }
}
/*! PAGINA RESULTADOS DE BUSQUEDA doc_doc [DETALLE DEL REGISTRO] filter-doc.jsp
-------------------------------------------------*/
.collapse_facets_context .parrafo_ellipsis_js.clase_00,
.collapse_facets_context .parrafo_ellipsis_js.clase_01,
.collapse_facets_context .parrafo_ellipsis_js.clase_02,
.collapse_facets_context .parrafo_ellipsis_js.clase_03,
.collapse_facets_context .parrafo_ellipsis_js.clase_04 {
  height: 1.1em;
  overflow: hidden;
}
.collapse_facets_context .elemento_seleccionado .icono {
  padding-left: 2px;
}
.collapse_facets_context .elemento_seleccionado .texto {
  text-decoration: underline;
}
/*! PAGINA MENSAJES [message.jsp]
-------------------------------------------------*/
#page-main.message_jsp .cont_informaciones {
  margin-bottom: 100px;
}
/*! PAGINAS LOGIN
-------------------------------------------------*/
.registerjsp .cont_panel_form,
.loginjsp .cont_panel_form,
.rememberuserjsp .cont_panel_form {
  text-align: center;
  overflow: hidden;
}
.registerjsp .cont_panel_form .panel,
.loginjsp .cont_panel_form .panel,
.rememberuserjsp .cont_panel_form .panel {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: 15px auto 60px auto;
  padding: 0;
  text-align: left;
}
.registerjsp .cont_panel_form .panel .cont_formulario,
.loginjsp .cont_panel_form .panel .cont_formulario,
.rememberuserjsp .cont_panel_form .panel .cont_formulario {
  padding-top: 15px;
}
.registerjsp .cont_panel_form .panel .form-control,
.loginjsp .cont_panel_form .panel .form-control,
.rememberuserjsp .cont_panel_form .panel .form-control {
  height: auto;
  border-radius: 2px;
  box-shadow: none;
}
.registerjsp .bootstrap-select.btn-group .dropdown-toggle,
.loginjsp .bootstrap-select.btn-group .dropdown-toggle,
.rememberuserjsp .bootstrap-select.btn-group .dropdown-toggle {
  min-width: 50%;
}
.registerjsp .cont_captcha,
.loginjsp .cont_captcha,
.rememberuserjsp .cont_captcha {
  margin-bottom: 20px;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}
.registerjsp .cont_captcha .contenedor,
.loginjsp .cont_captcha .contenedor,
.rememberuserjsp .cont_captcha .contenedor {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.registerjsp .cont_botonera,
.loginjsp .cont_botonera,
.rememberuserjsp .cont_botonera {
  text-align: center;
}
.registerjsp .cont_botonera .botonera,
.loginjsp .cont_botonera .botonera,
.rememberuserjsp .cont_botonera .botonera {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  padding: 15px;
  margin: auto;
}
@media screen and (max-width: 575.98px) {
  .registerjsp .cont_panel_form,
  .loginjsp .cont_panel_form,
  .rememberuserjsp .cont_panel_form,
  .registerjsp .cont_formulario,
  .loginjsp .cont_formulario,
  .rememberuserjsp .cont_formulario {
    padding-left: 0;
    padding-right: 0;
  }
  .registerjsp .cont_botonera .botonera,
  .loginjsp .cont_botonera .botonera,
  .rememberuserjsp .cont_botonera .botonera {
    padding-left: 0;
    padding-right: 0;
  }
}
/*! CAPA DE SELECCION DE ALERTAS
-------------------------------------------------*/
.cont_general_alertas {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 15px;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #eeeeff;
}
.cont_general_alertas h4 {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}
.cont_general_alertas .cont_bloque_alertas .col_cont_check,
.cont_general_alertas .cont_bloque_alertas .capa_despliegue,
.cont_general_alertas .cont_bloque_alertas .bloque_alertas {
  position: relative;
  float: left;
  width: 100%;
}
.cont_general_alertas .cont_bloque_alertas .col_cont_check {
  padding-bottom: 5px;
  margin-bottom: 0;
}
.cont_general_alertas .cont_bloque_alertas .col_cont_check.inicial.activo {
  border-bottom: 2px dashed #DDDDDD;
}
.cont_general_alertas .cont_bloque_alertas .bloque_alertas {
  border: 2px dashed #CCCCCC;
  border-radius: 4px;
}
.cont_general_alertas .cont_bloque_alertas .capa_despliegue {
  background-color: #ffeeee;
}
.cont_general_alertas .cont_bloque_alertas .control-label,
.cont_general_alertas .cont_bloque_alertas .input_check {
  position: relative;
  float: left;
}
.cont_general_alertas .cont_bloque_alertas .control-label {
  padding-right: 8px;
  max-width: 85%;
}
.cont_general_alertas .cont_bloque_alertas .control-label .titulo {
  position: relative;
  float: left;
  width: 100%;
}
.cont_general_alertas .cont_bloque_alertas .input_check {
  width: auto;
  display: none;
}
.cont_general_alertas .cont_bloque_alertas .switchery {
  top: 3px;
}
@media screen and (max-width: 1199.98px) {
  .cont_general_alertas .cont_bloque_alertas {
    width: 100%;
  }
}
/*! userinfo.jsp
-------------------------------------------------*/
.userinfojsp .cont_informaciones {
  position: relative;
  float: left;
  padding-left: 0;
  padding-right: 0;
}
.userinfojsp .cont_informaciones.first-child {
  padding-left: 15px;
  padding-right: 15px;
}
.userinfojsp .cont_informaciones .mensaje_validacion {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 15px;
}
.userinfojsp .cont_subida_avatar .alert {
  position: relative;
  float: left;
  width: 100%;
}
.userinfojsp .cont_subida_avatar .close {
  display: none;
}
.userinfojsp .cont_subida_avatar .alert_body {
  position: relative;
  float: left;
  width: 100%;
  overflow: hidden;
}
.userinfojsp .cont_subida_avatar .contenido {
  position: relative;
  float: left;
  width: 100%;
}
.userinfojsp .cont_subida_avatar .contenido .cont_avatar {
  position: relative;
  float: left;
  width: 100px;
  height: 100px;
}
.userinfojsp .cont_subida_avatar .contenido .cont_avatar .user-avatar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
}
.userinfojsp .cont_subida_avatar .contenido .cont_fileupload {
  position: relative;
  display: inline-block;
  margin-left: 15px;
}
.userinfojsp .cont_subida_avatar .contenido .cont_fileupload .fileupload-buttonbar {
  position: relative;
  float: left;
  width: 100%;
  text-align: left;
}
.userinfojsp .cont_subida_avatar .contenido .cont_fileupload .fileupload-buttonbar .label_file {
  position: relative;
  float: left;
}
.userinfojsp .cont_subida_avatar .contenido .cont_fileupload .fileupload-buttonbar .btn_subida_avatar {
  position: relative;
  float: left;
  clear: left;
}
@media screen and (max-width: 575.98px) {
  .userinfojsp .cont_subida_avatar .contenido {
    text-align: center;
  }
  .userinfojsp .cont_subida_avatar .contenido .cont_avatar {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
  }
  .userinfojsp .cont_subida_avatar .contenido .cont_fileupload {
    float: left;
    width: 100%;
    margin-left: 0;
    text-align: center;
  }
  .userinfojsp .cont_subida_avatar .contenido .cont_fileupload .fileupload-buttonbar .label_file {
    width: 100%;
    text-align: center;
  }
}
/*! PAGINAS USUARIOS [mediasearchjsp]...
-------------------------------------------------*/
.cont_general.tipo_mymediasearch {
  margin-bottom: 100px;
}
.cont_general.tipo_mymediasearch .page-header {
  margin-top: 0;
}
.cont_general.tipo_mymediasearch .col_izqda {
  font-size: 0.7rem;
  min-height: 600px;
}
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones {
  position: relative;
  float: left;
  width: 100%;
}
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones .lista_opciones {
  position: relative;
  float: left;
  width: 100%;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones .lista_opciones .item {
  position: relative;
  float: left;
  width: 100%;
  border-radius: 2px;
  padding: 1px;
}
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones .lista_opciones .item .item_enlace {
  position: relative;
  float: left;
  width: 100%;
  padding: 8px 16px 8px 16px;
  color: #333333;
  background-color: #FFFFFF;
  transition: none;
  transition: background-color 0.3s linear;
}
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones .lista_opciones .item .item_enlace:hover,
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones .lista_opciones .item .item_enlace:focus,
.cont_general.tipo_mymediasearch .col_izqda .cont_enlaces .cont_lista_opciones .lista_opciones .item .item_enlace.active {
  color: #FFFFFF;
  background-color: #064061;
}
@media screen and (max-width: 575.98px) {
  .cont_general.tipo_mymediasearch .col_izqda .cont_enlaces {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.cont_general.tipo_mymediasearch .col_dcha {
  font-size: 0.7rem;
  /* .cont_botonera{text-align:center;margin-top:20px;
			.botonera{position:relative;float:none; display:inline-block;
				.btn{position:relative;float:left;margin-right:8px;
					&:last-child{margin-right:0}
				}
			}
		} */
}
.cont_general.tipo_mymediasearch .col_dcha .titulo_bloque {
  position: relative;
  float: left;
  width: 100%;
}
.cont_general.tipo_mymediasearch .col_dcha .titulo_bloque .title-component {
  position: relative;
  float: left;
}
.cont_general.tipo_mymediasearch .col_dcha .listTable {
  position: relative;
  float: left;
  width: 100%;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general,
.cont_general.tipo_mymediasearch .col_dcha .dataTables_wrapper,
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_cabecera,
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_tabla,
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_footer {
  position: relative;
  float: left;
  width: 100%;
}
.cont_general.tipo_mymediasearch .col_dcha .table {
  position: relative;
  float: left;
  min-width: 100%;
  max-width: none;
  margin-bottom: 0;
  border-collapse: separate;
}
.cont_general.tipo_mymediasearch .col_dcha .table > thead > tr > th {
  font-family: open_sans_bold;
  white-space: nowrap;
  color: #FFFFFF;
  background-color: #064061;
  border-bottom: 0;
}
.cont_general.tipo_mymediasearch .col_dcha .table > thead > tr > th:focus {
  outline-offset: 0!important;
  outline-width: 2px!important;
  outline-style: dotted!important;
  outline-color: red !important;
}
.cont_general.tipo_mymediasearch .col_dcha th.col_acciones {
  text-align: center;
}
.cont_general.tipo_mymediasearch .col_dcha th.100pc {
  width: 100%;
}
.cont_general.tipo_mymediasearch .col_dcha th.95pc {
  width: 95%;
}
.cont_general.tipo_mymediasearch .col_dcha th.90pc {
  width: 90%;
}
.cont_general.tipo_mymediasearch .col_dcha th.85pc {
  width: 85%;
}
.cont_general.tipo_mymediasearch .col_dcha th.80pc {
  width: 80%;
}
.cont_general.tipo_mymediasearch .col_dcha th.75pc {
  width: 75%;
}
.cont_general.tipo_mymediasearch .col_dcha th.70pc {
  width: 70%;
}
.cont_general.tipo_mymediasearch .col_dcha th.65pc {
  width: 65%;
}
.cont_general.tipo_mymediasearch .col_dcha th.60pc {
  width: 60%;
}
.cont_general.tipo_mymediasearch .col_dcha th.55pc {
  width: 55%;
}
.cont_general.tipo_mymediasearch .col_dcha th.50pc {
  width: 50%;
}
.cont_general.tipo_mymediasearch .col_dcha th.45pc {
  width: 45%;
}
.cont_general.tipo_mymediasearch .col_dcha th.40pc {
  width: 40%;
}
.cont_general.tipo_mymediasearch .col_dcha th.35pc {
  width: 35%;
}
.cont_general.tipo_mymediasearch .col_dcha th.30pc {
  width: 30%;
}
.cont_general.tipo_mymediasearch .col_dcha th.25pc {
  width: 25%;
}
.cont_general.tipo_mymediasearch .col_dcha th.20pc {
  width: 20%;
}
.cont_general.tipo_mymediasearch .col_dcha th.15pc {
  width: 15%;
}
.cont_general.tipo_mymediasearch .col_dcha th.10pc {
  width: 10%;
}
.cont_general.tipo_mymediasearch .col_dcha th.5pc {
  width: 5%;
}
.cont_general.tipo_mymediasearch .col_dcha td {
  vertical-align: middle;
}
.cont_general.tipo_mymediasearch .col_dcha td .media-object {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.cont_general.tipo_mymediasearch .col_dcha td.cont_acciones {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  text-align: center;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn {
  position: relative;
  float: left;
  min-width: none;
  border-radius: 0;
  opacity: 0.6;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn:first-child {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn:last-child {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn:hover {
  opacity: 1;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn.btn_checks.active .icono:before {
  content: "\f077";
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .icono {
  position: relative;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_botonera_celda .icono.fa-external-link {
  top: 2px;
}
.cont_general.tipo_mymediasearch .col_dcha .lanzador {
  background-color: #EEEEEE;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .td_checks {
  padding: 0;
  border-top: 0;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .td_checks.abierto {
  border-top: 1px dotted #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  margin-bottom: -1px;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .td_checks .alert {
  margin-top: 8px;
  margin-bottom: 0;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .cont_cols {
  position: relative;
  float: left;
  width: 100%;
  padding: 8px;
  height: auto !important;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .col_cont_check {
  position: relative;
  float: left;
  width: 33.3%;
  padding: 5px 35px 5px 5px;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .col_cont_check .control-label {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 8px;
  padding-right: 8px;
  font-family: open_sans_regular;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .col_cont_check .control-label .titulo {
  position: relative;
  float: left;
  width: 100%;
  text-align: right;
}
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .col_cont_check .switchery,
.cont_general.tipo_mymediasearch .col_dcha .tr_checks .col_cont_check .table_check {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_cabecera .blq_a .bootstrap-select {
  width: auto;
  top: -3px;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_cabecera .blq_a .bootstrap-select .form-control {
  display: none;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_cabecera .blq_b {
  padding-right: 0;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_dataTables_cabecera .blq_b .dataTables_filter .form-control {
  width: 75%;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla {
  position: relative;
  float: left;
  width: 100%;
  padding-bottom: 15px;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general {
  /* &.despliegues_abiertos{
				.cont_dataTables_cabecera{
					.dataTables_length,.dataTables_filter{pointer-events:none}
				}
				.cont_dataTables_footer{
					.paginate_button{pointer-events:none}
				}
				.table{
					thead th{pointer-events:none}
				}
			} */
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_cabecera,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_footer {
  padding-top: 5px;
  padding-bottom: 5px;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_cabecera .blq_a,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_footer .blq_a {
  padding-left: 15px;
  padding-right: 0;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_cabecera .blq_b,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_footer .blq_b {
  padding-left: 0;
  padding-right: 15px;
  padding-top: 5px;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_cabecera .dataTables_length label,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general .cont_dataTables_footer .dataTables_length label {
  margin-bottom: 0;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos {
  /* se aplica mediante clase no accion en los elementos necesarios desde js */
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .cont_dataTables_cabecera,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .cont_dataTables_footer {
  background-color: #064061;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .cont_dataTables_cabecera .bootstrap-select > .dropdown-toggle,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .cont_dataTables_footer .bootstrap-select > .dropdown-toggle {
  background-color: #064061 !important;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .cont_dataTables_cabecera .pagination li a,
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .cont_dataTables_footer .pagination li a {
  background-color: #064061 !important;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .table thead th {
  background-color: #064061;
}
.cont_general.tipo_mymediasearch .col_dcha .cont_tabla_general.despliegues_abiertos .desactiva_accion {
  pointer-events: none;
}
@media screen and (max-width: 991.98px) {
  .cont_general.tipo_mymediasearch .col_dcha,
  .cont_general.tipo_mymediasearch .col_izqda {
    position: relative;
    float: left;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .cont_general.tipo_mymediasearch .col_izqda .list-group {
    position: relative;
    float: left;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_general.tipo_mymediasearch div.dataTables_wrapper div.dataTables_length,
  .cont_general.tipo_mymediasearch div.dataTables_wrapper div.dataTables_filter,
  .cont_general.tipo_mymediasearch div.dataTables_wrapper div.dataTables_info {
    text-align: left;
  }
  .cont_general.tipo_mymediasearch div.dataTables_wrapper div.dataTables_info {
    white-space: normal;
  }
}
@media screen and (max-width: 575.98px) {
  .cont_general.tipo_mymediasearch .col_izqda {
    padding-left: 0;
    padding-right: 0;
  }
  .cont_general.tipo_mymediasearch .titulo_bloque {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*! ERROR
-------------------------------------------------*/
.jumbotron.error-info {
  margin-top: 15px;
}
.jumbotron.error-info p {
  font-size: 0.9rem;
}
/*! MODALES
-------------------------------------------------*/
.modal.modal_50 .modal-dialog {
  width: 50%;
  max-width: 560px;
}
.modal.modal_60 .modal-dialog {
  width: 60%;
  max-width: 680px;
}
.modal.modal_70 .modal-dialog {
  width: 70%;
  max-width: 860px;
}
.modal.modal_80 .modal-dialog {
  width: 80%;
  max-width: 1024px;
}
.modal.modal_90 .modal-dialog {
  width: 90%;
  max-width: 1280px;
}
@media screen and (max-width: 1199.98px) {
  .modal.modal_50 .modal-dialog,
  .modal.modal_60 .modal-dialog,
  .modal.modal_70 .modal-dialog,
  .modal.modal_80 .modal-dialog,
  .modal.modal_90 .modal-dialog {
    max-width: none;
  }
}
@media screen and (max-width: 991.98px) {
  .modal.modal_50 .modal-dialog,
  .modal.modal_60 .modal-dialog,
  .modal.modal_70 .modal-dialog,
  .modal.modal_80 .modal-dialog,
  .modal.modal_90 .modal-dialog {
    width: 90%;
  }
}
.modal {
  text-align: center;
}
.modal .modal-dialog {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
.modal .bg-dlg-msearch {
  background-color: #064061;
}
.modal .modal-header,
.modal .modal-footer {
  position: relative;
  float: left;
  width: 100%;
  padding-right: 45px;
  padding-top: 8px;
  padding-bottom: 8px;
  text-align: left;
  background-color: #064061;
  /* paginacion modales */
}
.modal .modal-header .modal-title,
.modal .modal-footer .modal-title,
.modal .modal-header .modal_footer_titulo,
.modal .modal-footer .modal_footer_titulo {
  padding-top: 5px;
  padding-bottom: 5px;
  font-family: open_sans_bold;
  font-size: 1rem;
  line-height: 1.4em;
  color: #FFFFFF;
  text-shadow: none;
}
.modal .modal-header .blq,
.modal .modal-footer .blq {
  position: relative;
  float: left;
}
.modal .modal-header .bloque_01 .btn,
.modal .modal-footer .bloque_01 .btn {
  min-width: auto;
}
.modal .modal-header .modal_print_selectorPlantillas,
.modal .modal-footer .modal_print_selectorPlantillas,
.modal .modal-header .modal_print_titulo,
.modal .modal-footer .modal_print_titulo,
.modal .modal-header .modal_print_btn_imprimelo,
.modal .modal-footer .modal_print_btn_imprimelo,
.modal .modal-header .modal_print_botonera,
.modal .modal-footer .modal_print_botonera {
  position: relative;
  float: left;
  margin-right: 10px;
}
.modal .modal-header .btn,
.modal .modal-footer .btn {
  border-color: transparent;
  padding: 8px 16px 8px 16px;
  min-width: auto;
  background-color: #2c6280;
  color: #FFFFFF;
  /* C4 (AA): @semi_01→#2c6280, blanco 2.86:1→6.63:1 */
}
.modal .modal-header .btn:hover,
.modal .modal-footer .btn:hover,
.modal .modal-header .btn:active,
.modal .modal-footer .btn:active,
.modal .modal-header .btn:focus,
.modal .modal-footer .btn:focus {
  background-color: #286293;
  color: #fff;
  border-color: transparent;
}
.modal .modal-header .btn.btn_saberMas,
.modal .modal-footer .btn.btn_saberMas {
  color: #FFFFFF;
}
.modal .modal-header .btn.dropdown-toggle,
.modal .modal-footer .btn.dropdown-toggle {
  padding-right: 30px;
}
.modal .modal-header .btn.dropdown-toggle .caret:after,
.modal .modal-footer .btn.dropdown-toggle .caret:after {
  color: #FFFFFF;
}
.modal .modal-header .modal_print_selectorPlantillas .dropdown-menu .dropdown-item .icono,
.modal .modal-footer .modal_print_selectorPlantillas .dropdown-menu .dropdown-item .icono {
  margin-right: 8px;
}
.modal .modal-header .modal_print_botonera,
.modal .modal-footer .modal_print_botonera {
  margin-right: 0;
}
.modal .modal-header .modal_print_botonera .btn,
.modal .modal-footer .modal_print_botonera .btn {
  margin: 0;
  border-radius: 0;
  /*&.disabled{
					&:hover{background-color:@semi_01;color:@color_fuente_00}
				} */
}
.modal .modal-header .modal_print_botonera .btn.btn-info,
.modal .modal-footer .modal_print_botonera .btn.btn-info {
  margin: 0;
  transition: none;
  box-shadow: none;
  background-color: #0b3f62;
  color: #FFFFFF;
}
.modal .modal-header .modal_print_botonera .btn:first-child,
.modal .modal-footer .modal_print_botonera .btn:first-child {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  margin-right: 5px;
}
.modal .modal-header .modal_print_botonera .btn:last-child,
.modal .modal-footer .modal_print_botonera .btn:last-child {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  margin-left: 5px;
}
.modal .modal-header {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.modal .modal-header .btn-close {
  font-size: 1rem;
}
.modal .modal-footer {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.modal .modal-body {
  position: relative;
  float: left;
  width: 100%;
  min-height: 300px;
  font-size: 0.8rem;
  text-align: left;
  color: #333333;
}
.modal .modal-body .cont_mensaje {
  text-align: center;
  margin-top: 10%;
}
.modal .modal-body .cont_mensaje .mensaje {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  padding: 25px;
  border: 1px solid #DDDDDD;
  border-radius: 5px;
}
.modal .modal-body .nicescroll_tabs_ie_positional_hack {
  left: 15px!important;
  width: auto!important;
  right: 15px!important;
}
.modal .modal-body img.item {
  width: 100%;
}
.modal .modal-body .video-js {
  width: 100%;
  height: 100%;
}
.modal .modal-content {
  float: left;
  border-radius: 5px;
  width: 100%;
  /* con nicescroll */
  /* Small Devices, Tablets */
  /* xs */
}
.modal .modal-content .cont_tabs_pagination {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: -1px;
  overflow-x: hidden;
}
.modal .modal-content .nav.nav-tabs {
  position: relative;
  float: left;
  display: flex;
}
.modal .modal-content .nav.nav-tabs.pagination {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}
.modal .modal-content .nav.nav-tabs.pagination > li {
  position: relative;
  float: left;
  width: auto;
  margin: 0 3px 0 0;
}
.modal .modal-content .nav.nav-tabs.pagination > li > a,
.modal .modal-content .nav.nav-tabs.pagination > li > span {
  position: relative;
  float: left;
  display: block;
  margin: 0;
  padding: 6px 10px 6px 10px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #838383;
  color: #333333;
}
.modal .modal-content .nav.nav-tabs.pagination > li > a:hover,
.modal .modal-content .nav.nav-tabs.pagination > li > span:hover,
.modal .modal-content .nav.nav-tabs.pagination > li > a:focus,
.modal .modal-content .nav.nav-tabs.pagination > li > span:focus {
  background-color: #DDDDDD;
  color: #FFFFFF;
}
.modal .modal-content .nav.nav-tabs.pagination > .active > a,
.modal .modal-content .nav.nav-tabs.pagination > .active > span {
  background-color: rgba(122, 135, 163, 0.85);
  color: #454545;
  border-bottom-color: transparent;
}
.modal .modal-content .nav.nav-tabs.pagination > .active > a:hover,
.modal .modal-content .nav.nav-tabs.pagination > .active > span:hover,
.modal .modal-content .nav.nav-tabs.pagination > .active > a:focus,
.modal .modal-content .nav.nav-tabs.pagination > .active > span:focus {
  background-color: rgba(122, 135, 163, 0.85);
  color: #FFFFFF;
}
.modal .modal-content .tab-content {
  position: relative;
  float: left;
  width: 100%;
  min-height: 350px;
  padding-top: 30px;
  background-color: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.modal .modal-content .tab-content .tab-pane .col-0 {
  padding-left: 15px;
}
.modal .modal-content .tab-content .tab-pane .badge {
  position: relative;
  float: right;
  right: -5px;
  background-color: #444444;
  color: #0e0e0e;
  border: 1px solid grey;
}
.modal .modal-content .tab-content .tab-pane .list-group-item {
  position: relative;
  float: left;
  width: 100%;
  padding: 5px 15px 5px 15px;
  transition: background-color 0.3s linear;
}
.modal .modal-content .tab-content .tab-pane .list-group-item .fa {
  position: absolute;
  top: 0;
  left: 0;
  width: 29px;
  height: 100%;
  padding-left: 3px;
  padding-right: 3px;
  font-size: 0.8rem;
  line-height: 2.1em;
  color: #FFFFFF;
  background-color: #524f51;
  cursor: pointer;
  z-index: 1;
  transition: background-color 0.8s linear;
}
.modal .modal-content .tab-content .tab-pane .list-group-item .fa:hover {
  background-color: #000;
}
.modal .modal-content .tab-content .tab-pane .list-group-item button {
  position: relative;
  float: left;
  display: block;
  max-width: 84%;
  padding-top: 3px;
  padding-left: 19px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.5rem;
  line-height: 1.5em;
  color: #454545;
  background-color: transparent;
  border: 0;
  box-shadow: none;
}
.modal .modal-content .tab-content .tab-pane .list-group-item button:hover,
.modal .modal-content .tab-content .tab-pane .list-group-item button:active,
.modal .modal-content .tab-content .tab-pane .list-group-item button:focus {
  color: #064061;
}
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado {
  background-color: #EEEEEE;
  color: green;
}
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado button {
  text-decoration: none;
  font-weight: bold;
  color: green;
}
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado button:hover,
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado button:active,
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado button:focus {
  color: green;
}
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado .fa {
  color: green;
}
.modal .modal-content .tab-content .tab-pane .list-group-item.seleccionado .badge {
  background-color: green;
  color: yellow;
}
@media screen and (max-width: 767.98px) {
  .modal .modal-content .tab-content {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .modal .modal-content .tab-content .col-0 {
    padding-left: 0;
  }
  .modal .modal-content .tab-content .list-group {
    margin-bottom: 0;
    padding-left: 15px;
  }
}
.modal.modal_cruce_data .tab-content {
  text-align: center;
}
.modal.modal_cruce_data .capa_descripcion {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  left: -102%;
  background: #FFFFFF;
  box-shadow: 5px 0px 5px -1px #cccccc;
  /* pintado de datos */
}
.modal.modal_cruce_data .capa_descripcion .btn_cierra_info {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 3.2rem;
}
.modal.modal_cruce_data .capa_descripcion .contenedor {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 15px;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 30px;
  font-size: 0.6rem;
  line-height: 1.6em;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .titulo_contenedor {
  position: relative;
  float: left;
  margin-bottom: 15px;
  padding: 5px 10px 5px 10px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #333333;
  background-color: #EEEEEE;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 8px;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor .cont_titulo {
  position: relative;
  float: left;
  width: 100%;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor .cont_titulo .titulo {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 0;
  margin-bottom: 15px;
  margin-left: 15px;
  padding-bottom: 3px;
  color: #454545;
  border-bottom: 2px solid #064061;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor .campo {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 10px;
  padding-left: 20px;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor .campo .label {
  padding-top: 4px;
  font-size: inherit;
  text-align: left;
  color: #555555;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor .campo .dato .linea {
  position: relative;
  float: left;
  width: 100%;
}
.modal.modal_cruce_data .capa_descripcion .contenedor .bloque_contenedor .campo:last-child {
  margin-bottom: 20px;
}
.modal.modal_cruce_data .alert {
  position: relative;
  display: inline-block;
  width: 96%;
  text-align: left;
}
@media (max-width: 991.98px) {
  .modal.modal_cruce_data .modal-dialog.modal-lg {
    width: 95%;
  }
}
.modal.modal_ayuda .modal-footer {
  text-align: center;
}
/* Small Devices, Tablets */
/* xs */
@media screen and (max-width: 991.98px) {
  .modal .modal-header .blq,
  .modal .modal-footer .blq {
    margin-bottom: 5px;
    text-align: center;
  }
  .modal .modal-header .modal_print_btn_imprimelo,
  .modal .modal-footer .modal_print_btn_imprimelo,
  .modal .modal-header .modal_print_botonera,
  .modal .modal-footer .modal_print_botonera {
    float: none;
    display: inline-block;
  }
  .modal .modal-header .bloque_01 {
    width: 100%;
  }
}
/* Extra Small Devices, Phones */
/* XS Portrait */
@media screen and (max-width: 575.98px) {
  .modal {
    padding-left: 0!important;
  }
  .modal .modal-header,
  .modal .modal-footer {
    padding: 8px;
  }
  .modal .modal-header .bloque_00,
  .modal .modal-footer .bloque_00 {
    margin-bottom: 10px;
  }
  .modal .modal-header .modal_print_selectorPlantillas,
  .modal .modal-footer .modal_print_selectorPlantillas,
  .modal .modal-header .modal_print_titulo,
  .modal .modal-footer .modal_print_titulo {
    margin-right: 0;
    clear: left;
  }
  .modal .modal-header .modal_print_titulo,
  .modal .modal-footer .modal_print_titulo {
    text-align: left;
    margin-top: 8px;
  }
  .modal .modal-header .btn_title,
  .modal .modal-footer .btn_title {
    display: none;
  }
  .modal .modal-footer .bloque_00,
  .modal .modal-footer .bloque_01 {
    clear: left;
  }
  .modal .modal-footer .bloque_01 {
    width: 100%;
  }
}
/*! MODAL PDF
-------------------------------------------------*/
.modal.visor_pdf .modal-dialog {
  min-width: 545px;
}
.modal.visor_pdf .modal-content {
  margin-bottom: 100px;
}
.modal.visor_pdf .cont_pdf {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  height: 830px;
  background-color: #dadada;
}
@media screen and (max-width: 575.98px) {
  .modal.visor_pdf .modal-dialog {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 575.98px) {
  .modal.visor_pdf .modal-dialog {
    min-width: 305px;
    margin: 0;
  }
  .modal.visor_pdf .modal-body {
    padding-left: 1px;
    padding-right: 1px;
  }
}
/*! CARRITO [msearch.core.cart]
-------------------------------------------------*/
.modal.modal_carrito .btn:active,
.modal.modal_carrito .btn.active {
  box-shadow: none;
}
.modal.modal_carrito .modal-header .btn {
  opacity: 1;
}
.modal.modal_carrito .modal-body {
  overflow: hidden!important;
}
.modal.modal_carrito .modal-body .form-group {
  margin-bottom: 5px;
}
.modal.modal_carrito .modal-body .form-group .help-block {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 0;
  min-height: 1.1em;
}
.modal.modal_carrito .modal-body .media {
  border: 3px dashed #0b3f62;
  padding: 15px;
  border-radius: 10px;
  overflow: initial;
}
.modal.modal_carrito .modal-body .media .media-body {
  width: 100%;
  overflow: initial;
}
.modal.modal_carrito .modal-body .media .media-body .form_loan {
  padding-top: 4px;
  border-top: 3px solid #0b3f62;
  border-bottom: 3px solid #0b3f62;
  padding-bottom: 4px;
}
.modal.modal_carrito .modal-body .media .item_acciones {
  text-align: right;
}
.modal.modal_carrito .modal-body .media .cont_imagen {
  position: relative;
  float: left;
  width: 64px;
  height: 64px;
  text-align: center;
  overflow: hidden;
}
.modal.modal_carrito .modal-body .media .cont_imagen .thumbnail {
  position: absolute;
  top: -9999px;
  right: -9999px;
  bottom: -9999px;
  left: -9999px;
  min-width: 100%;
  min-height: 100%;
  margin: auto;
  padding: 0;
  border: 0;
  outline: 0;
  border-radius: 0;
}
.modal.modal_carrito .modal-body .media .cont_imagen .thumbnail.img_fallback {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
}
.modal.modal_carrito .modal-body .media .cont_imagen picture {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
}
.modal.modal_carrito .bloque {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 30px;
}
.modal.modal_carrito .bloque.form_list {
  left: 100%;
}
.modal.modal_carrito .bloque.form_list .alert {
  margin-top: 5px;
}
/*! MODAL PERMALINK
-------------------------------------------------*/
.modal.modal_permalink {
  /* Centrada (horizontal + vertical), sin el posicionamiento absoluto antiguo */
}
.modal.modal_permalink.show,
.modal.modal_permalink.in {
  display: flex!important;
  align-items: center;
}
.modal.modal_permalink .modal-dialog {
  max-width: 440px;
  width: 100%;
  margin: 1.75rem auto;
  opacity: 1;
}
.modal.modal_permalink .modal-content {
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.25);
}
.modal.modal_permalink .modal-header {
  background: #064061;
  border-bottom: 0;
  padding: 0.8rem 1.1rem;
}
.modal.modal_permalink .modal-header .modal-title {
  color: #fff;
  font-weight: 700;
}
.modal.modal_permalink .modal-header .bootbox-close-button,
.modal.modal_permalink .modal-header .close {
  color: #fff;
  opacity: 0.9;
  text-shadow: none;
}
.modal.modal_permalink .modal-body {
  min-height: auto;
  padding: 1.1rem 1.25rem 1.35rem;
}
.modal.modal_permalink .cont_permalink {
  display: block;
  width: 100%;
}
.modal.modal_permalink .permalink-intro {
  margin: 0 0 0.55rem;
  font-size: 0.9rem;
  color: #475569;
}
.modal.modal_permalink .permalink-row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}
.modal.modal_permalink .permalink-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 40px;
  padding: 0 0.7rem;
  font-size: 0.85rem;
  color: #0f2740;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
}
.modal.modal_permalink .permalink-input:focus {
  outline: none;
  border-color: #064061;
  box-shadow: 0 0 0 2px rgba(6, 64, 97, 0.15);
}
.modal.modal_permalink .permalink-copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 40px;
  padding: 0 0.9rem;
  font-size: 0.85rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  color: #fff;
  background: #064061;
  border: 1px solid #064061;
  border-radius: 7px;
  transition: background 0.15s, transform 0.05s;
}
.modal.modal_permalink .permalink-copy:hover {
  background: #042d44;
}
.modal.modal_permalink .permalink-copy:active {
  transform: translateY(1px);
}
.modal.modal_permalink .permalink-copy.copied {
  background: #15803d;
  border-color: #15803d;
}
.modal.modal_permalink .permalink-copy .fa {
  font-size: 0.9rem;
}
.modal.modal_permalink .permalink-feedback {
  min-height: 1.15rem;
  margin-top: 0.55rem;
  font-size: 0.82rem;
  color: #64748b;
}
.modal.modal_permalink .permalink-feedback.ok {
  color: #15803d;
  font-weight: 600;
}
.modal.modal_permalink .permalink-feedback .fa {
  margin-right: 0.2rem;
}
.modal.modal_permalink .permalink-qr {
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
  text-align: center;
}
.modal.modal_permalink .permalink-qr-box {
  display: inline-block;
  padding: 10px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  line-height: 0;
}
.modal.modal_permalink .permalink-qr-box canvas,
.modal.modal_permalink .permalink-qr-box img {
  display: block;
  width: 168px;
  height: 168px;
}
.modal.modal_permalink .permalink-qr small {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.78rem;
  color: #94a3b8;
}
/*! DESCRIPTORES
-------------------------------------------------*/
.modal.modal_descriptores .modal-dialog {
  width: auto;
  max-width: 80%;
}
.modal.modal_descriptores .modal-header {
  position: relative;
  float: left;
}
.modal.modal_descriptores .modal-body,
.modal.modal_descriptores .bootbox-body {
  position: relative;
  float: left;
}
.modal.modal_descriptores .modal-body {
  min-height: auto;
}
.modal.modal_descriptores .modal-footer {
  text-align: center!important;
}
.modal.modal_descriptores .modal-footer .btn,
.modal.modal_descriptores .modal-footer .btn-success,
.modal.modal_descriptores .modal-footer .btn-default {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin-left: 8px;
}
.modal.modal_descriptores .modal-footer .btn-success {
  border-color: #4cae4c;
}
/*! AVISO LEGAL
-------------------------------------------------*/
.modal.modal_aviso_legal .modal-dialog {
  width: 95%;
  max-width: 860px;
}
.modal.modal_aviso_legal .bootbox-body {
  position: relative;
  float: left;
  width: 100%;
}
.modal.modal_aviso_legal .bootbox-body .puntos_aviso_legal {
  position: relative;
  float: left;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 15px 5% 15px 5%;
}
.modal.modal_aviso_legal .bootbox-body .puntos_aviso_legal li {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  padding-top: 3px;
  padding-bottom: 3px;
  margin-bottom: 15px;
  font-size: 0.6rem;
}
.modal.modal_aviso_legal .bootbox-body .puntos_aviso_legal li .titulo {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 10px;
  padding-bottom: 3px;
  font-size: 1.2em;
  color: #454545;
  border-bottom: 2px solid #064061;
}
.modal.modal_aviso_legal .bootbox-body .puntos_aviso_legal li .descripcion {
  position: relative;
  float: left;
  width: 100%;
  padding-left: 25px;
  padding-right: 25px;
  font-size: 1em;
  line-height: 1.5em;
  color: #333333;
  text-align: justify;
}
/* Intento que el botón de búsqueda avanzada no se muestre y los filtros se pinten centrados */
.modal.modal_aviso_legal.cont_busqueda .busqueda .search-ppal .cont_grupo_filtros .btn_avanzada {
  display: none;
}
.modal.modal_aviso_legal .btn_avanzada {
  display: none;
}
/*! IMPRESION [msearch.core.printers.js]
-------------------------------------------------*/
.modal.modal_impresion .capa_loading {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}
.modal.modal_impresion .capa_loading .mensaje {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px 40px;
  background-color: #fff;
  color: #CCCCCC;
  border-radius: 5px;
}
.modal.modal_impresion .capa_loading .mensaje .icono {
  position: relative;
  float: left;
  font-size: 30px;
}
.modal.modal_impresion .capa_loading .mensaje .texto {
  position: relative;
  display: inline-block;
  font-size: 20px;
}
/*! ERROR error.jsp
-------------------------------------------------*/
.errorjsp .cont_informaciones {
  margin-top: 50px;
}
/*! PAGINA BÚSQUEDA AVANZADA doc_advanced
-------------------------------------------------*/
#page-main.doc_advanced {
  margin-bottom: 30px;
}
#page-main.doc_advanced .form-advanced {
  position: relative;
  float: left;
  display: block;
}
#page-main.doc_advanced .form-advanced .form-control {
  font-size: 0.8rem;
}
#page-main.doc_advanced .form-advanced label {
  text-align: left;
  font-size: 0.8rem;
  font-family: open_sans_regular;
  color: #4d5263;
}
#page-main.doc_advanced .form-advanced .input-group .btn_lanza_ayuda {
  padding: 11px;
}
#page-main.doc_advanced .panel .panel-body {
  padding-bottom: 0;
}
#page-main.doc_advanced .panel .panel-body .input-group span.twitter-typeahead,
#page-main.doc_advanced .panel .panel-body .bootstrap-select.btn-group .dropdown-toggle,
#page-main.doc_advanced .panel .panel-body .bootstrap-select.btn-group.fit-width .dropdown-toggle,
#page-main.doc_advanced .panel .panel-body .btn.dropdown-toggle,
#page-main.doc_advanced .panel .panel-body .dropdown-toggle,
#page-main.doc_advanced .panel .panel-body input,
#page-main.doc_advanced .panel .panel-body select {
  height: 40px;
  border-radius: 0;
}
#page-main.doc_advanced .panel .panel-body .plantillas_select select {
  height: 40px;
}
#page-main.doc_advanced .panel .panel-body .plantillas_select .bootstrap-select {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_advanced .panel .panel-body .plantillas_select .bootstrap-select .dropdown-toggle {
  width: 100%;
}
#page-main.doc_advanced .plantillas_select .bootstrap-select.btn-group {
  /* .dropdown-menu{max-width:80%;} */
}
#page-main.doc_advanced .footer_portlets,
#page-main.doc_advanced .panel .panel-footer {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}
#page-main.doc_advanced .footer_portlets .cont_select,
#page-main.doc_advanced .panel .panel-footer .cont_select {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  border-left: 1px solid #CCCCCC;
}
#page-main.doc_advanced .footer_portlets .cont_select .control-label,
#page-main.doc_advanced .panel .panel-footer .cont_select .control-label {
  position: relative;
  float: left;
  width: auto;
  padding-left: 20px;
  padding-right: 15px;
}
#page-main.doc_advanced .footer_portlets .cont_select .control-label .titulo,
#page-main.doc_advanced .panel .panel-footer .cont_select .control-label .titulo {
  position: relative;
  float: left;
  width: 100%;
  font-family: open_sans_regular;
  font-size: 0.8rem;
  color: #555555;
  font-weight: normal;
}
#page-main.doc_advanced .footer_portlets .cont_select .control-component,
#page-main.doc_advanced .panel .panel-footer .cont_select .control-component {
  position: relative;
  float: left;
}
#page-main.doc_advanced .footer_portlets .cont_select .control-component .bootstrap-select,
#page-main.doc_advanced .panel .panel-footer .cont_select .control-component .bootstrap-select {
  position: relative;
  float: left;
  width: 100%;
  background-color: transparent;
}
#page-main.doc_advanced .footer_portlets .cont_botonera,
#page-main.doc_advanced .panel .panel-footer .cont_botonera {
  position: relative;
  float: left;
}
#page-main.doc_advanced .footer_portlets .cont_botonera .btn,
#page-main.doc_advanced .panel .panel-footer .cont_botonera .btn {
  margin-left: 0;
  margin-right: 20px;
}
#page-main.doc_advanced .footer_portlets .btnSubmit,
#page-main.doc_advanced .panel .panel-footer .btnSubmit {
  text-shadow: 1px 1px 2px #000;
}
#page-main.doc_advanced .footer_portlets {
  margin-top: 40px;
  text-align: center;
}
#page-main.doc_advanced .footer_portlets .contenedor {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_advanced .panel .panel-footer .cont_botonera {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_botonera .btn {
    margin-left: 8px;
    margin-right: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select {
    float: left;
    padding-right: 2%;
    border-right: 1px solid #CCCCCC;
    border-left: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select .control-label {
    padding-left: 0;
  }
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_advanced .portlet {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 575.98px) {
  #page-main.doc_advanced .form-advanced {
    margin-top: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_botonera {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_botonera .btn {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    margin-right: 15px;
    margin-left: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_botonera .btn:last-child {
    margin-right: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select {
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 15px;
    border-right: 0;
    border-left: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select .control-label {
    padding-top: 8px;
  }
  #page-main.doc_advanced .footer_portlets {
    margin-top: -40px;
  }
  #page-main.doc_advanced .footer_portlets .contenedor {
    width: 100%;
  }
  #page-main.doc_advanced .footer_portlets .cont_select {
    float: left;
    width: 100%;
    margin-bottom: 15px;
    padding-right: 0;
    border-right: 0;
    border-left: 0;
  }
  #page-main.doc_advanced .footer_portlets .cont_select .control-label {
    padding-left: 0;
  }
  #page-main.doc_advanced .footer_portlets .cont_botonera {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
  }
  #page-main.doc_advanced .footer_portlets .cont_botonera .btn {
    position: relative;
    float: none;
    display: flex;
    flex-direction: column;
    margin-right: 15px;
    margin-left: 0;
  }
  #page-main.doc_advanced .footer_portlets .cont_botonera .btn:last-child {
    margin-right: 0;
  }
  #page-main.doc_advanced .panel .panel-footer,
  #page-main.doc_advanced .footer_portlets {
    text-align: left;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select,
  #page-main.doc_advanced .footer_portlets .cont_select {
    padding-right: 0;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select .control-label,
  #page-main.doc_advanced .footer_portlets .cont_select .control-label {
    width: 100%;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select .control-component,
  #page-main.doc_advanced .footer_portlets .cont_select .control-component {
    width: 100%;
  }
  #page-main.doc_advanced .panel .panel-footer .cont_select .control-component .bootstrap-select.btn-group .dropdown-toggle,
  #page-main.doc_advanced .footer_portlets .cont_select .control-component .bootstrap-select.btn-group .dropdown-toggle {
    width: 100%;
  }
}
/*! PAGINA DE COLECCIONES DOCUMENTALES (doc_collection.jsp)
-------------------------------------------------*/
#page-main.doc_collection .more-info {
  padding-left: 4rem;
}
#page-main.doc_collection .media img {
  max-width: 240px;
}
/*! ETIQUETAS TAG (index.jsp,search.jsp)
-------------------------------------------------*/
/* .clase_tag,#page-main .clase_tag{position:relative;float:left;display:block;padding:3px 6px 3px 3px;margin:0 3px 3px 0;font-size:@fuente_size_01;line-height:1.3em;text-decoration:none;border-radius:2px;background-color:#777;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);transition:background-color .3s linear;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);
	.fa{font-size:@fuente_size_01}
	&:hover,&:active,&:focus{color:#fff;background-color:@color_02}
} */
#page-main.doc_advanced .form-advanced .cont_tags {
  position: relative;
  float: left;
  width: 95%;
  margin-top: 15px;
  margin-left: 15px;
  padding: 15px 30px 15px 15px;
  border: 1px solid #EEEEEE;
  border-radius: 3px;
}
#page-main.doc_advanced .form-advanced .cont_tags .btn_borra_todos {
  position: absolute;
  top: 3px;
  right: 3px;
  cursor: pointer;
  transition: color 0.3s linear;
}
#page-main.doc_advanced .form-advanced .cont_tags .btn_borra_todos:hover {
  color: #454545;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  padding: 3px 15px 3px 15px;
  margin-right: 3px;
  margin-bottom: 3px;
  font-size: 0.6rem;
  word-wrap: break-word;
  background-color: #064061;
  color: #FFFFFF;
  transition: none;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .icono {
  position: relative;
  float: left;
  margin-right: 5px;
  margin-left: 5px;
  font-size: 0.8rem;
  line-height: 1.6em;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .tag_titulo {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  line-height: 1.5em;
  padding-top: 3px;
  padding-right: 3px;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .btn_borra_item {
  position: absolute;
  top: 3px;
  right: 3px;
  cursor: pointer;
  transition: color 0.3s linear;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .btn_borra_item:hover {
  background-color: greenyellow;
  color: #454545;
}
/*! MODAL AL PULSAR COMPARTIR [app.mymediasearch.js][myAlbumns.jsp]
-------------------------------------------------*/
.cont_modal_share {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cont_modal_share .modal_share_back {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
}
.cont_modal_share .modal_share {
  z-index: 20;
  min-width: 300px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.cont_modal_share .modal_share .modal_share_header {
  position: relative;
  float: left;
  width: 100%;
  background-color: #064061;
  color: #FFFFFF;
  font-weight: bold;
  padding: 8px 15px 8px 15px;
}
.cont_modal_share .modal_share .modal_share_body {
  position: relative;
  float: left;
  width: 100%;
  background-color: #FFFFFF;
  padding: 15px;
}
.cont_modal_share .modal_share .modal_share_body .cont_botonera {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}
/*! ACCESIBILIDAD
-------------------------------------------------*/
a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle:focus,
#page-main.doc_advanced .panel .panel-body .bootstrap-select.btn-group .dropdown-toggle:focus,
.form-control.bootstrap-select.btn-group .dropdown-toggle:focus,
a:active,
input:active,
select:active,
textarea:active,
button:active,
.cont_busqueda .busqueda .search-ppal .tipo_columnas .cont_select .filtro_select_busquedas .btn.dropdown-toggle:active,
#page-main.doc_advanced .panel .panel-body .bootstrap-select.btn-group .dropdown-toggle:active,
.form-control.bootstrap-select.btn-group .dropdown-toggle:active {
  outline-offset: 0!important;
  outline-width: 2px!important;
  outline-style: dotted!important;
  outline-color: red !important;
}
.grecaptcha-badge {
  display: none;
}
#page-main.doc_contact label {
  font-size: 1.2rem;
  color: #878787;
}
/*!
  MEDIA QUERIES
*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
  #quote-carousel {
    margin-bottom: 0;
    padding: 0 5px 30px;
  }
}
/* Small devices (tablets, up to 768px) */
/* xs */
@media screen and (max-width: 767.98px) {
  #quote-carousel .carousel-indicators {
    bottom: -20px !important;
  }
  #quote-carousel .carousel-indicators li {
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
  }
  #quote-carousel .carousel-indicators li.active {
    margin: 0 5px;
    width: 20px;
    height: 20px;
  }
}
/*!*****************************
	responsive area
********************************/
/* Extra:lg */
/* Large Devices, Wide Screens */
/* md */
/* Medium Devices, Desktops */
/* sm */
/* Small Devices, Tablets */
/* xs */
/* Extra Small Devices, Phones */
/* XS Portrait */
/* Custom, iPhone Retina */
/*
	pagina index
---------------------------------------------------- */
/*!
 *  @file        : _page_index.less
 *
 *  @description : Styles page index
 *  @license     : baratz
 *  @copyright   : 2021
 *
 *  @author      : http://www.baratz.es/
 *  @date        : 2021-03-09
 *
 *  @human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
 *  @human       : Xosé Manuel Paz Graña <xose_manuel.paz@baratz.es>
 *
 *
 ***************************/
#page-main.doc_index {
  position: relative;
  float: none;
  display: block;
  clear: left;
  width: 100%;
  max-width: 100%;
  margin: auto auto 0px auto;
  padding: 3rem;
  max-width: 1640px;
}
#page-main.doc_index .form-control {
  border-radius: 0!important;
}
#page-main.doc_index .form-control:focus {
  z-index: 10;
}
#page-main.doc_index #site-search-people .input-group-btn .btn,
#page-main.doc_index #site-search-otherdata .input-group-btn .btn {
  padding-top: 7px;
}
#page-main.doc_index .slidex.cont_slider_datos {
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
  border: 1px solid #f1f1f1;
  border-radius: 3px;
  background-image: linear-gradient(190deg, rgba(122, 135, 163, 0.85) 20%, white 90%) !important;
}
#page-main.doc_index .cont_general_datos {
  position: relative;
  float: left;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
}
#page-main.doc_index .cont_general_datos .cont_icono {
  position: relative;
  padding-right: 5px;
  display: none;
}
#page-main.doc_index .cont_general_datos .cont_icono .icon_title {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  width: 1em;
  height: 1em;
  font-size: 2.2rem;
  line-height: 1em;
  color: #6d6f71;
  margin-top: 0px;
  margin-bottom: 0px;
}
#page-main.doc_index .cont_general_datos .cont_titulo {
  position: relative;
}
#page-main.doc_index .cont_general_datos .cont_titulo .slider_titulo {
  position: relative;
  font-family: open_sans_bold;
  font-size: 2.2rem;
  line-height: 1em;
  text-align: left;
  color: black;
  word-wrap: break-word;
  margin-top: 0px;
  margin-bottom: 0px;
}
#page-main.doc_index .cont_general_datos .cont_botonera {
  position: absolute;
  right: 40px;
}
#page-main.doc_index .cont_general_datos .cont_botonera .btn {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding: 5px 10px 5px 10px;
  font-size: 1.4rem;
  line-height: 1.3em;
}
#page-main.doc_index .cont_colecciones .coleccion {
  background-color: #fff;
}
#page-main.doc_index .cont_colecciones .coleccion .cont_paginacion {
  position: absolute;
  left: 0;
  bottom: 0;
  padding-bottom: 75px;
  padding-left: 70px;
  text-align: left;
}
#page-main.doc_index .cont_colecciones .coleccion .cont_paginacion .botonera_pos {
  position: relative;
  float: left;
  bottom: auto;
  width: auto;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#page-main.doc_index .cont_colecciones .coleccion .cont_paginacion .botonera_pos li {
  position: relative;
  float: left;
}
#page-main.doc_index .cont_colecciones .coleccion .cont_paginacion .botonera_pos li button {
  position: relative;
  float: left;
  width: 15px;
  height: 15px;
  padding: 0;
  margin-right: 9px;
  border: 3px solid #5876ba;
  border-radius: 50%;
  background: none;
  color: transparent;
}
#page-main.doc_index .cont_colecciones .coleccion .cont_paginacion .botonera_pos li.active button {
  background: #6d6f71;
}
#page-main.doc_index .cont_colecciones .coleccion .cont_paginacion .boton_mas {
  position: relative;
  float: left;
  color: #4d4e8c;
  font-size: 0.9rem;
  line-height: 1em;
  top: -2px;
  letter-spacing: 2px;
}
#page-main.doc_index .cont_colecciones .colecciones_cont_slides {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_index .cont_colecciones .coleccion_slide {
  position: relative;
  float: left;
  padding-left: 20px;
  padding-right: 20px;
  display: none;
  width: 100%;
}
#page-main.doc_index .cont_colecciones .coleccion_slide.active {
  display: block;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_img_back {
  position: absolute;
  width: 100%;
  height: auto;
  max-height: 400px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  overflow: hidden;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_img_back .coleccion_imagen {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_img_back .colecciones_fondo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 0px;
  height: 400px;
  color: #4d4e8c;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_formato {
  position: relative;
  float: left;
  width: 100%;
  font-family: raleway_bold;
  font-size: 5rem;
  margin: 0px;
  padding: 16px;
  margin-bottom: 80px;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo {
  position: relative;
  float: left;
  width: 100%;
  font-size: 1.4rem;
  background-color: #8e8e9273;
  margin: 0px;
  padding: 12px;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .titulo {
  position: relative;
  float: left;
  margin-right: 5px;
  font-family: raleway_regular;
  font-size: 1.3rem;
  text-transform: uppercase;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo .fecha {
  position: relative;
  float: left;
  font-family: raleway_extralight;
  font-size: 2.2rem;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_titulo a {
  color: #000;
}
#page-main.doc_index .cont_colecciones .coleccion_slide .coleccion_contenido .coleccion_texto {
  position: relative;
  float: left;
  max-width: 400px;
  font-family: raleway_regular;
  font-size: 0.7rem;
}
#page-main.doc_index .cont_colecciones .cont_columna.col_izqda .colecciones_cont_slides {
  border-right: 1px solid #808080;
}
#page-main.doc_index .cont_colecciones .cont_columna.col_dcha .colecciones_cont_slides {
  border-left: 1px solid #808080;
}
#page-main.doc_index .cont_custom_collection h2 {
  position: relative;
  font-family: source_sans_pro_semibold;
  font-size: 2.2rem;
  line-height: 1em;
  text-align: center;
  color: #6d6f71;
  word-wrap: break-word;
  margin-top: 0px;
  margin-bottom: 4px;
  border-bottom: 3px solid #567999;
  padding-bottom: 2px;
}
#page-main.doc_index .slick-dots li {
  width: 1em;
  font-size: 0.8rem;
  line-height: 1em;
  margin: 4px;
}
#page-main.doc_index .slick-dots li button {
  width: 1em;
  height: 1em;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1em;
  border: 2px solid #6d6f71;
  border-radius: 50%;
}
#page-main.doc_index .slick-dots li button:before {
  width: 1em;
  height: 1em;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1em;
  color: #6d6f71;
}
#page-main.doc_index .slick-dots li button:focus:before,
#page-main.doc_index .slick-dots li button:hover:before {
  color: #4984c5;
  opacity: 1;
}
#page-main.doc_index .slick-dots li.slick-active button:before {
  width: 1.1em;
  height: 1.1em;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1.1em;
  color: #6d6f71;
  opacity: 1;
}
#page-main.doc_index .cont_sliders {
  margin: 0px auto 0px auto;
  padding-bottom: 0;
}
#page-main.doc_index .cont_sliders .bloque_slider {
  position: relative;
  float: left;
  width: 100%;
  display: block;
}
#page-main.doc_index .cont_sliders .bloque_slider:nth-child(even) {
  background-color: #EEEEEE;
}
#page-main.doc_index .cont_carousel {
  position: relative;
  margin: auto;
  padding-right: 0px;
}
#page-main.doc_index .cont_carousel .carousel {
  position: relative;
  float: left;
  width: auto;
  max-width: 100%;
}
#page-main.doc_index .cont_carousel .carousel .slide {
  position: relative;
  float: left;
}
#page-main.doc_index .cont_carousel .slick-slider {
  position: relative;
  float: left;
  width: 100%;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-bottom: 0;
}
#page-main.doc_index .cont_carousel .slick-slider button.slick-arrow {
  position: absolute;
  z-index: 8;
  top: -20%;
  bottom: 0;
  margin: auto;
  width: 42px;
  height: 42px;
  opacity: 0.8;
  overflow: hidden;
  background: transparent url("../images/slick_cursor.png") center center no-repeat;
  cursor: pointer;
}
#page-main.doc_index .cont_carousel .slick-slider button.slick-arrow.slick-prev {
  transform: rotate(180deg);
  left: 0px;
}
#page-main.doc_index .cont_carousel .slick-slider button.slick-arrow.slick-next {
  right: 0px;
}
#page-main.doc_index .cont_carousel .slick-slider button.slick-arrow:hover,
#page-main.doc_index .cont_carousel .slick-slider button.slick-arrow:active,
#page-main.doc_index .cont_carousel .slick-slider button.slick-arrow:focus {
  opacity: 1;
}
#page-main.doc_index .cont_carousel .slick-slider .slick-dots {
  position: relative;
  float: left;
  width: 100%;
  bottom: auto;
  margin-top: 15px;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide {
  position: relative;
  float: left;
  margin: 0;
  margin-bottom: -100%;
  overflow: hidden;
  margin: 0 auto;
  /* 340x250 */
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide:last-child {
  margin-right: 0;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure {
  position: relative;
  float: left;
  width: 100%;
  display: block;
  margin: auto;
  padding: 0;
  text-align: center;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen {
  position: relative;
  display: block;
  float: left;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen .image_slider {
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover {
  text-decoration: none;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure .enlace_imagen:hover .image_slider {
  opacity: 1;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption {
  position: relative;
  float: left;
  width: 100%;
  padding: 12px 12px 12px 12px;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont {
  position: relative;
  float: left;
  width: 100%;
  text-align: left;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo {
  position: relative;
  text-align: center;
  width: 100%;
  font-family: open_sans_light;
  font-size: 1.2rem;
  line-height: 1.3em;
  color: #454545;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace {
  position: relative;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 1.4rem;
  line-height: 1.3em;
  color: #000;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:hover,
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .enlace:focus {
  text-decoration: none;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo .fig_title {
  position: relative;
  float: left;
  width: 100%;
  font-family: open_sans_bold;
  font-size: 1.4rem;
  line-height: 1.3em;
  color: #000;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_titulo + .cont_datos {
  margin-top: 5px;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos,
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p {
  text-align: center;
  margin: 0px auto;
  width: 100%;
  font-family: open_sans_light;
  font-size: 0.7rem;
  line-height: 1.2em;
  color: #555555;
  overflow: hidden;
  word-wrap: break-word;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide figure figcaption .cont_datos p {
  margin-bottom: 5px;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen {
  position: relative;
  float: none;
  display: block;
  width: 100%;
  height: 150px;
  margin: auto;
  overflow: hidden;
  /*img{position:absolute;width:auto;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;display:block;
              &.mas_largo_centrada{left:50%;transform:translate(-50%,0) }
            }*/
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide .cont_imagen img {
  width: auto;
  min-height: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide .cont_icono {
  position: absolute;
  bottom: 20px;
  left: 15%;
  display: block;
}
#page-main.doc_index .cont_carousel .slick-list .slick-track .slick-slide .cont_icono .icono_slide {
  position: relative;
  float: left;
  font-size: 3rem;
  color: #FFFFFF;
}
@media screen and (max-width: 1199.98px) {
  #page-main.doc_index .cont_carousel .slick-list {
    max-width: 1100px;
  }
}
@media screen and (max-width: 991.98px) {
  #page-main.doc_index .cont_carousel {
    width: 100%;
  }
  #page-main.doc_index .cont_carousel .slick-list {
    max-width: 700px;
  }
}
@media screen and (max-width: 767.98px) {
  #page-main.doc_index .cont_carousel .slick-list {
    max-width: 500px;
  }
}
@media screen and (max-width: 575.98px) {
  #page-main.doc_index .cont_carousel {
    padding-left: 0;
    padding-right: 0;
  }
  #page-main.doc_index .cont_carousel .slick-slider button.slick-arrow.slick-prev {
    left: 0;
    top: 20%;
  }
  #page-main.doc_index .cont_carousel .slick-slider button.slick-arrow.slick-next {
    right: 0;
    top: 20%;
  }
  #page-main.doc_index .cont_carousel .slick-list {
    max-width: 260px;
  }
}
#page-main.doc_index .cont_paneles {
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 15px 15px 0 0;
}
#page-main.doc_index .cont_paneles .cont_panel {
  padding-left: 15px;
}
#page-main.doc_index .cont_paneles .cont_panel:first-child {
  padding-left: 0;
}
#page-main.doc_index .cont_paneles .cont_panel .panel {
  margin-bottom: 15px;
}
#page-main.doc_index .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media {
  margin-top: 15px;
}
#page-main.doc_index .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media,
#page-main.doc_index .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-body,
#page-main.doc_index .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_index .cont_paneles .cont_panel .panel .panel-body.lista_con_imagenes .media-heading {
  margin-bottom: 0;
}
#page-main.doc_index .cont_paneles .cont_panel .panel.panel_tipo_transparente .media {
  position: relative;
  float: left;
  width: 100%;
  overflow: visible;
}
#page-main.doc_index .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-body {
  position: relative;
  float: left;
  width: 100%;
  overflow: visible;
}
#page-main.doc_index .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading {
  position: relative;
  float: left;
  width: 100%;
}
#page-main.doc_index .cont_paneles .cont_panel .panel.panel_tipo_transparente .media-heading .list-title {
  position: relative;
  float: left;
  font-weight: bold;
  color: #282f48;
}
@media screen and (max-width: 1399.98px) {
  #page-main.doc_index .cont_paneles {
    padding-left: 15px;
  }
}
@media screen and (max-width: 991.98px) {
  #page-main.doc_index .cont_sliders {
    margin-top: 0;
  }
}
/*
	expo_virtual
---------------------------------------------------- */
/*!
 *  @file        : _expo_carousel.less
 *
 *  @description : Css modulo exposiciones virtuales
 *  @license     : baratz
 *  @copyright   : 2021
 *
 *  @author      : http://www.baratz.es/
 *  @date        : 2021-03-09
 *
 *  @human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
 *  @human       : Xosé Manuel Paz Graña <xose_manuel.paz@baratz.es>
 *
 *  @detail      : plugin slick-slider
 *                 https://kenwheeler.github.io/slick/
 *                 https://accessible360.github.io/accessible-slick/
 *
 *                 plugin panzoom
 *                 https://github.com/anvaka/panzoom
 *
 */
.zoomable_in {
  overflow: hidden;
}
.bg_carousel {
  background-color: #000;
}
#page-main.container.doc_expositions {
  display: block;
}
.doc_expositions {
  max-width: 100%!important;
  min-height: 100vh;
  font-size: 16px;
  /* Slick-slider no admite efectos out en los frames */
  /* https://github.com/kenwheeler/slick */
  /* https://animate.style/ */
}
.doc_expositions *:focus {
  outline-offset: 0!important;
  outline-width: 2px!important;
  outline-style: dotted!important;
  outline-color: red!important;
}
.doc_expositions .overlay {
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.doc_expositions .has-loader {
  position: absolute;
  font-size: 2rem;
}
.doc_expositions .has-loader:after {
  content: " ";
  position: absolute;
  display: block;
  z-index: 5;
  top: 50%;
  left: 50%;
  width: 3.5em;
  height: 3.5em;
  margin-left: -1.75em;
  margin-top: -1.75em;
  border: 0.5875em solid rgba(255, 255, 255, 0.2);
  border-left-color: #fff;
  border-radius: 50%;
  transform: translateZ(0);
  transition: opacity 0.4s;
  opacity: 0;
  animation: none;
}
.doc_expositions .has-loader.is-loading:after {
  opacity: 1;
  animation: spin 1.1s infinite linear;
}
.doc_expositions .btn_close {
  position: absolute;
  display: flex;
  z-index: 10;
  top: 15px;
  right: 15px;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  border: 3px solid #000000;
}
.doc_expositions .btn_close:hover,
.doc_expositions .btn_close:focus {
  background-color: #FFFFFF;
}
.doc_expositions .btn_close .icono {
  position: relative;
  width: 100%;
  height: 100%;
  /* icono cerrar zoomable */
}
.doc_expositions .btn_close .icono:before,
.doc_expositions .btn_close .icono:after {
  content: '';
  position: absolute;
  width: 5px;
  background-color: #000000;
  border-radius: 8px;
  transition: 300ms ease-in-out all;
}
.doc_expositions .btn_close .icono.icono_close_zoomable:before,
.doc_expositions .btn_close .icono.icono_close_zoomable:after {
  height: 25px;
  top: 4px;
}
.doc_expositions .btn_close .icono.icono_close_zoomable:before {
  left: -2px;
  transform: translateX(17px) rotate(-45deg);
}
.doc_expositions .btn_close .icono.icono_close_zoomable:after {
  right: -3px;
  transform: translateX(-17px) rotate(45deg);
}
.doc_expositions .btn_close[aria-expanded="true"] .icono:before,
.doc_expositions .btn_close[aria-expanded="true"] .icono:after {
  height: 25px;
  top: 4px;
}
.doc_expositions .btn_close[aria-expanded="true"] .icono:before {
  left: -2px;
  transform: translateX(17px) rotate(-45deg);
}
.doc_expositions .btn_close[aria-expanded="true"] .icono:after {
  right: -3px;
  transform: translateX(-17px) rotate(45deg);
}
.doc_expositions .btn_close[aria-expanded="false"] .icono:before,
.doc_expositions .btn_close[aria-expanded="false"] .icono:after {
  height: 18px;
  top: 9px;
}
.doc_expositions .btn_close[aria-expanded="false"] .icono:before {
  left: 9px;
  transform: rotate(-56deg);
}
.doc_expositions .btn_close[aria-expanded="false"] .icono:after {
  right: 9px;
  transform: rotate(56deg);
}
.doc_expositions .carousel_full_width {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  background-color: #000;
  color: #fff;
}
.doc_expositions .cont {
  position: relative;
  float: left;
  width: 100%;
}
.doc_expositions .cont.cont_datos_general {
  padding-left: 15px;
  padding-right: 55px;
  background-color: #FFFFFF;
  opacity: 0.9;
}
.doc_expositions .cont.cont_botonera {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  padding-top: 8px;
  padding-bottom: 8px;
}
.doc_expositions .cont.cont_sd_header {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
}
.doc_expositions .cont_expo_datos {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  color: #000000;
}
.doc_expositions .cont_expo_datos .collapse {
  position: relative;
  float: left;
  width: 100%;
  transition: height 1s ease;
}
.doc_expositions .cont_expo_datos .cont_titulo {
  font-family: open_sans_bold;
}
.doc_expositions .slick-slider {
  position: relative;
  z-index: 10;
}
.doc_expositions .slick-slider button.slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #000000;
  opacity: 0.6;
  transition: 300ms ease-in-out opacity;
  overflow: hidden;
}
.doc_expositions .slick-slider button.slick-arrow:before {
  content: "";
  position: absolute;
  left: 20px;
  top: 14px;
  padding: 13px;
  box-shadow: inset 2px -2px 0 1px #FFFFFF;
}
.doc_expositions .slick-slider button.slick-arrow.slick-prev {
  left: 15px;
}
.doc_expositions .slick-slider button.slick-arrow.slick-prev:before {
  transform: rotate(45deg);
}
.doc_expositions .slick-slider button.slick-arrow.slick-next {
  right: 15px;
}
.doc_expositions .slick-slider button.slick-arrow.slick-next:before {
  transform: rotate(225deg);
  left: 10px;
}
.doc_expositions .slick-slider button.slick-arrow:hover,
.doc_expositions .slick-slider button.slick-arrow:active,
.doc_expositions .slick-slider button.slick-arrow:focus {
  opacity: 1;
}
.doc_expositions .slick-slider button.slick-arrow.slick-disabled {
  background: #838383;
  cursor: not-allowed;
}
.doc_expositions .slick-slider button.slick-arrow.slick-disabled:hover,
.doc_expositions .slick-slider button.slick-arrow.slick-disabled:focus {
  opacity: 0.8;
}
.doc_expositions .slick-slider .slick-list {
  max-width: 100%;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide {
  padding: 0;
  /* */
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide > div {
  height: 100vh;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .cont_imagen {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .cont_imagen .image_full_width {
  position: absolute;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption {
  position: absolute;
  display: flex;
  flex-flow: row nowrap;
  bottom: 8%;
  width: auto;
  max-width: 90%;
  padding: 35px 15px 10px 15px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #FFFFFF;
  border: 1px solid gray;
  border-left: 0;
  border-top-right-radius: 10px;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption a {
  color: #FFFFFF;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption .cont_titulo {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 100%;
  padding-top: 5px;
  overflow: hidden;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption .cont_botonera {
  position: absolute;
  top: -30px;
  right: -10px;
  display: flex;
  flex-direction: row;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 5px;
  padding: 0;
  min-width: 30px;
  min-height: 30px;
  border-radius: 50px;
  background-color: #FFFFFF;
  color: #333333;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption .btn:last-child {
  margin-right: 0;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption .btn .icono {
  font-size: 1em;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption.figcaption_collapsed {
  overflow: hidden;
  height: 35px;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption.figcaption_collapsed .btn_figcaption_collapse .icono:before {
  content: "\f129";
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption h3 {
  margin-top: 10px;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption ul {
  padding-left: 20px;
  list-style-type: none;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption p {
  display: none;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption p:first-of-type {
  display: block;
}
@media screen and (max-width: 575.98px) {
  .doc_expositions .slick-slider .slick-list .slick-track .slick-slide .figcaption {
    max-width: 100%;
  }
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video {
  /* &::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;background-color:#000;opacity:.1;z-index:1;} */
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video .figcaption {
  bottom: 17%;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video .cont_video {
  position: absolute;
  display: flex;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video video,
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video iframe {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video video {
  width: 100%;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video .embed-player {
  border: 0;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_video[data-source="html"] .cont_video {
  display: block;
  height: 90vh;
}
.doc_expositions .slick-slider .slick-list .slick-track .slick-slide .item_audio .figcaption {
  bottom: 16%;
}
.doc_expositions .slide,
.doc_expositions figure {
  position: absolute;
  width: 100%;
  height: 100%;
}
.doc_expositions .fig_title,
.doc_expositions .fig_subtitle,
.doc_expositions .fig_credits,
.doc_expositions .fig_subpar {
  font-family: open_sans_semibold;
  word-break: break-word;
}
.doc_expositions .fig_title p,
.doc_expositions .fig_subtitle p,
.doc_expositions .fig_credits p,
.doc_expositions .fig_subpar p {
  font-family: open_sans_regular;
}
.doc_expositions .fig_title a,
.doc_expositions .fig_subtitle a,
.doc_expositions .fig_credits a,
.doc_expositions .fig_subpar a {
  color: #000;
  font-weight: bold;
}
.doc_expositions .audio_player {
  position: absolute;
  z-index: 90;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
}
.doc_expositions .audio_player.in_view {
  display: block;
}
.doc_expositions .audio_player .range {
  width: 100%;
  margin-top: -10px;
}
.doc_expositions .audio_player input[type=range] {
  width: 100%!important;
  background-color: transparent;
  -webkit-appearance: none;
  /* &::-ms-slider-thumb:active{height:38px;width:38px;margin-top:-18px;} */
  /* &::-moz-slider-thumb:active{height:38px;width:38px;margin-top:-18px;} */
}
.doc_expositions .audio_player input[type=range]:focus {
  outline: none;
}
.doc_expositions .audio_player input[type=range]:focus::-webkit-slider-runnable-track {
  background: #2D5178;
}
.doc_expositions .audio_player input[type=range]::-webkit-slider-thumb {
  height: 28px;
  width: 28px;
  margin-top: -10px;
  border-radius: 50px;
  background: #2D5178;
  cursor: pointer;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
  transition: all 0.2s;
  -webkit-appearance: none;
  /* background:transparent;border:transparent; */
  /* &:active{height:38px;width:38px;margin-top:-18px;} */
}
.doc_expositions .audio_player input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 8px;
  cursor: pointer;
  background: #2D5178;
}
.doc_expositions .audio_player input[type=range]::-ms-track {
  width: 100%;
  height: 8px;
  cursor: pointer;
  background: #2D5178;
  border-color: transparent;
  color: transparent;
}
.doc_expositions .audio_player input[type=range]::-ms-thumb {
  display: none;
  height: 28px;
  width: 28px;
  overflow: auto;
  border-radius: 50px;
  background: red;
  cursor: pointer;
  /* background:transparent;border:transparent; */
  /* box-shadow:0px 2px 5px rgba(0, 0, 0, 0.5); */
}
.doc_expositions .audio_player input[type=range]::-ms-fill-lower {
  width: 100%;
  height: 8px;
  cursor: pointer;
  background: #2D5178;
}
.doc_expositions .audio_player input[type=range]::-ms-fill-lower:focus {
  background: #2D5178;
}
.doc_expositions .audio_player input[type=range]::-ms-fill-upper {
  width: 100%;
  height: 8px;
  cursor: pointer;
  background: #2D5178;
}
.doc_expositions .audio_player input[type=range]::-ms-fill-upper:focus {
  background: #2D5178;
}
.doc_expositions .audio_player input[type=range]::-moz-range-thumb {
  display: none;
  height: 28px;
  width: 28px;
  border-radius: 50px;
  background: #2D5178;
  cursor: pointer;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
  /* background:transparent;border:transparent; */
}
.doc_expositions .audio_player input[type=range]::-moz-range-track {
  width: 100%;
  height: 8px;
  cursor: pointer;
  background: #2D5178;
}
.doc_expositions .audio_player .custom-thumb {
  position: absolute;
  top: -18px;
  width: 24px;
  height: 24px;
  left: 0;
  background-color: #2D5178;
  border-radius: 50%;
  box-shadow: inset 0 0 3px 0 #030609;
  cursor: pointer;
}
.doc_expositions .audio_player .custom-thumb:before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 12px;
  height: 12px;
  background-color: #2D5178;
  border-radius: 50%;
  box-shadow: 0 0 3px 0 #030609;
}
.doc_expositions .audio_player .tip {
  position: absolute;
  display: none;
  top: -70px;
  padding: 10px;
  font-weight: normal;
  font-size: 1em;
  color: #FFF;
  background: #2D5178;
  border-radius: 2px;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
}
.doc_expositions .audio_player .time,
.doc_expositions .audio_player .total-time {
  position: absolute;
}
.doc_expositions .audio_player .time p,
.doc_expositions .audio_player .total-time p {
  margin-bottom: 0;
  margin-top: 10px;
  font-weight: normal;
  font-size: 1.2em;
  color: #FFF;
}
.doc_expositions .audio_player .total-time {
  right: 4%;
}
@media screen and (max-width: 1199.98px) {
  .doc_expositions .audio_player .total-time {
    right: 8%;
  }
}
@media screen and (max-width: 575.98px) {
  .doc_expositions .audio_player .total-time {
    right: 15%;
  }
}
.doc_expositions .audio_player .time {
  left: 2%;
}
.doc_expositions .audio_player .botonera {
  position: absolute;
  top: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.doc_expositions .audio_player .botonera .btn_player_audio {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  margin-right: 5px;
  background-color: transparent;
  border: 0;
}
.doc_expositions .audio_player .botonera .btn_player_audio:last-child {
  margin-right: 0;
}
.doc_expositions .audio_player .botonera .btn_player_audio .icono {
  position: relative;
  cursor: pointer;
  color: #2D5178;
}
.doc_expositions .zoomable {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: none;
}
.doc_expositions .zoomable:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
.doc_expositions .zoomable .cont_botonera_panzoom {
  position: absolute;
  z-index: 100;
  top: 15px;
  right: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.doc_expositions .zoomable .cont_botonera_panzoom .btn_reset_zoomable {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin-right: 5px;
  font-size: 2rem;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  border: 3px solid #000000;
}
.doc_expositions .zoomable .cont_botonera_panzoom .btn_zoomable {
  position: relative;
  top: auto;
  right: auto;
  transition: 300ms ease-in-out background-color;
}
.doc_expositions .zoomable .cont_botonera_panzoom .btn_zoomable:hover,
.doc_expositions .zoomable .cont_botonera_panzoom .btn_zoomable:focus {
  background-color: #FFFFFF;
}
.doc_expositions .zoomable .zoomable_center {
  position: relative;
  float: left;
  z-index: 50;
  width: 100%;
  height: 100%;
}
.doc_expositions .zoomable img {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.doc_expositions .botonera_flotante.botonera_expo {
  position: fixed;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  bottom: 1%;
  right: 10px;
  z-index: 100;
}
.doc_expositions .botonera_flotante.botonera_expo .boton {
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 5px;
  text-decoration: none;
  outline: none;
  transition: all 0.3s ease-in-out;
  box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.75);
}
.doc_expositions .botonera_flotante.botonera_expo .boton i,
.doc_expositions .botonera_flotante.botonera_expo .boton .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
.doc_expositions .botonera_flotante.botonera_expo .boton:hover,
.doc_expositions .botonera_flotante.botonera_expo .boton:active,
.doc_expositions .botonera_flotante.botonera_expo .boton:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
.doc_expositions .botonera_flotante.botonera_expo .boton:last-child {
  margin-right: 0;
}
.doc_expositions .botonera_flotante.with_audio {
  bottom: 5px;
  right: 5px;
}
.doc_expositions .botonera_flotante.with_video {
  bottom: 8%;
}
.doc_expositions .botonera_flotante.in_fig_exp {
  bottom: 1%!important;
}
.doc_expositions .slick-dots {
  width: auto;
  max-width: 60%;
  display: flex!important;
  z-index: 100;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2%;
  margin: auto;
  padding-left: 20px;
  padding-right: 20px;
  overflow-x: auto;
  overflow-y: hidden;
}
.doc_expositions .slick-dots.with_audio {
  bottom: 9.5%;
}
.doc_expositions .slick-dots.with_video {
  bottom: 9%;
}
.doc_expositions .slick-dots li button {
  font-size: 16px;
  border: 1px solid #fff;
  border-radius: 50%;
}
.doc_expositions .slick-dots li button:before {
  top: 57%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.2em;
  color: #2D5178;
}
@media screen and (max-width: 575.98px) {
  .doc_expositions .slick-dots {
    max-width: 83%;
    left: 0;
    transform: none;
  }
}
.doc_expositions .figcaption_extension {
  position: relative;
  float: left;
  width: 100%;
  min-height: 100vh;
}
.doc_expositions .figcaption_extension .container_flex {
  position: relative;
  float: left;
  width: 100%;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  background-color: #fff;
}
.doc_expositions .figcaption_extension .content {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  width: 80%;
  padding: 30px 15px 30px 15px;
}
.doc_expositions .figcaption_extension .contenido {
  position: relative;
  float: left;
  width: 100%;
}
@keyframes ken-burns-in {
  0% {
    transform: scale(1);
  }
  to {
    transform: scale(1.3);
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.doc_expositions .InEffect_00 .cont_video,
.doc_expositions .InEffect_00 .cont_audio,
.doc_expositions .InEffect_00 figure,
.doc_expositions .InEffect_00 .figcaption {
  animation-fill-mode: both;
}
.doc_expositions .InEffect_00 figure,
.doc_expositions .InEffect_00 .cont_audio,
.doc_expositions .InEffect_00 .cont_video {
  animation-duration: 1s;
  animation-name: slideInUp;
}
.doc_expositions .InEffect_00 .figcaption {
  animation-duration: 0.3s;
  animation-delay: 1s;
  animation-name: slideInLeft;
}
.doc_expositions .InEffect_00 .cont_imagen {
  animation: ken-burns-in 8s 2s ease-in-out forwards;
}
.doc_expositions .InEffect_01 .cont_audio,
.doc_expositions .InEffect_01 .cont_video,
.doc_expositions .InEffect_01 figure,
.doc_expositions .InEffect_01 .figcaption {
  animation-fill-mode: both;
}
.doc_expositions .InEffect_01 figure,
.doc_expositions .InEffect_01 .cont_audio,
.doc_expositions .InEffect_01 .cont_video {
  animation-duration: 1s;
  animation-name: zoomInDown;
}
.doc_expositions .InEffect_01 .figcaption {
  animation-duration: 0.3s;
  animation-delay: 1s;
  animation-name: zoomInRight;
}
.doc_expositions .InEffect_02 .cont_audio,
.doc_expositions .InEffect_02 .cont_video,
.doc_expositions .InEffect_02 figure,
.doc_expositions .InEffect_02 .figcaption {
  animation-fill-mode: both;
}
.doc_expositions .InEffect_02 figure,
.doc_expositions .InEffect_02 .cont_audio,
.doc_expositions .InEffect_02 .cont_video {
  animation-duration: 1s;
  animation-name: slideInRight;
}
.doc_expositions .InEffect_02 .figcaption {
  animation-duration: 0.3s;
  animation-delay: 1s;
  animation-name: slideInUp;
}
.doc_expositions .InEffect_03 .cont_audio,
.doc_expositions .InEffect_03 .cont_video,
.doc_expositions .InEffect_03 figure,
.doc_expositions .InEffect_03 .figcaption {
  animation-fill-mode: both;
}
.doc_expositions .InEffect_03 figure,
.doc_expositions .InEffect_03 .cont_audio,
.doc_expositions .InEffect_03 .cont_video {
  animation-duration: 1s;
  animation-name: slideInDown;
}
.doc_expositions .InEffect_03 .figcaption {
  animation-duration: 0.3s;
  animation-delay: 1s;
  animation-name: zoomInLeft;
}
.doc_expositions .InEffect_03 .cont_imagen {
  animation: ken-burns-in 8s 2s ease-in-out forwards;
}
.ie11 .doc_expositions .cont_audio {
  position: absolute;
  bottom: 0;
  z-index: 200;
}
/*
	timelines
---------------------------------------------------- */
/*!
 *  @file        : _timelines.less
 *
 *  @description : Css módulo líneas de tiempo
 *  @license     : baratz
 *  @copyright   : 2021
 *
 *  @author      : http://www.baratz.es/
 *  @date        : 2021-03-09
 *
 *  @human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
 *  @human       : Xosé Manuel Paz Graña <xose_manuel.paz@baratz.es>
 */
.grecaptcha-badge {
  display: none !important;
}
.container-fluid.doc_timeline {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  min-height: 100%;
}
.container-fluid.doc_timeline .busqueda_back {
  display: none;
}
.container-fluid.doc_timeline *:focus {
  outline-offset: 0!important;
  outline-width: 2px!important;
  outline-style: dotted!important;
  outline-color: red!important;
}
#page-main.container.doc_timeline {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  max-width: none;
  height: 88vh;
  margin: 0 0 120px 0;
  padding: 0;
  font-size: 16px;
}
#page-main.container.doc_timeline .timeline_default {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
}
#page-main.container.doc_timeline .tl-timeline {
  overflow: visible;
}
#page-main.container.doc_timeline .tl-timeera .tl-timeera-content-container {
  width: 100% !important;
}
/*
	Mapas
---------------------------------------------------- */
/*!
 *  @file        : _maps.less
 *
 *  @description : Css módulo para mapas Lealeft
 *  @license     : baratz
 *  @copyright   : 2021
 *
 *  @author      : http://www.baratz.es/
 *  @date        : 2021-03-09
 *
 *  @human       : Jose Antonio Iglesias <jose_antonio.iglesias@baratz.es>
 *  @human       : Xosé Manuel Paz Graña <xose_manuel.paz@baratz.es>
 *
 *  @detail      : plugin Lealeft
 *                 https://leafletjs.com/
 */
.grecaptcha-badge {
  display: none !important;
}
.container-fluid.doc_maps {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  min-height: 100%;
}
.container-fluid.doc_maps .busqueda_back {
  display: none;
}
@media screen and (max-width: 991.98px) {
  #Header.posicion_absolute.header_h_200 + .cont_busqueda,
  #Header.posicion_absolute.header_h_200 + .cont_general,
  .doc_index #Header.posicion_absolute.header_h_200 + .cont_busqueda,
  .doc_index #Header.posicion_absolute.header_h_200 + .cont_general {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767.98px) {
  .cont_busqueda .busqueda .cont_migas {
    margin-top: 0;
  }
}
#page-main.container.doc_maps {
  position: relative;
  float: left;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
}
#page-main.container.doc_maps .d-none {
  display: none;
}
#page-main.container.doc_maps *:focus {
  outline-offset: 0!important;
  outline-width: 2px!important;
  outline-style: dotted!important;
  outline-color: red !important;
}
#page-main.container.doc_maps .cont_map_lealeft {
  position: relative;
  float: left;
  display: flex;
  width: 100%;
  min-height: 80vh;
  padding: 15px;
}
#page-main.container.doc_maps .ms_mapa {
  position: relative;
  z-index: 50;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
}
#page-main.container.doc_maps .cont_overlay_map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.3);
  cursor: pointer;
}
#page-main.container.doc_maps .cont_overlay_map .cont_message {
  position: relative;
  float: left;
  padding: 50px 25px 50px 25px;
  background-color: #fff;
  color: #333;
}
#page-main.container.doc_maps .cont_overlay_map .cont_message .btn_overlay {
  border: 0;
  background: transparent;
}
#page-main.container.doc_maps .cont_overlay_map .cont_message .message {
  margin: auto;
  line-height: 1em;
}
#page-main.container.doc_maps .leaflet-popup-content-wrapper,
#page-main.container.doc_maps .leaflet-popup-tip {
  border-radius: 3px;
}
#page-main.container.doc_maps .leaflet-container a.leaflet-popup-close-button {
  top: 3px;
  right: 3px;
  padding: 0;
}
#page-main.container.doc_maps .leaflet-popup-content p {
  margin: 8px 0;
}
#page-main.container.doc_maps .leaflet-popup-content .L_popup strong {
  display: block;
}
#page-main.container.doc_maps .leaflet-popup-content .L_popup img {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 160px;
  object-fit: cover;
  border-radius: 4px;
  margin-top: 0.4rem;
}
#page-main.container.doc_maps .marker_bounce {
  animation: marker_bounce 0.5s infinite linear;
}
@keyframes marker_bounce {
  0% {
    top: 0;
  }
  50% {
    top: -0.4em;
  }
  70% {
    top: -0.6em;
  }
  100% {
    top: 0;
  }
}
#page-main.container.doc_maps .botonera_flotante {
  display: none;
}
#page-main.container.doc_maps .botonera_flotante.botonera_maps {
  position: fixed;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  bottom: 1%;
  right: 10px;
  z-index: 100;
}
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton {
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  border-color: transparent;
  background-color: #2c6280 !important;
  color: #FFFFFF;
  /* C4 (AA): antes rgba(122,135,163,.85) → blanco 2.86:1; ahora #2c6280 (@clr-accent-dark) → 6.63:1 */
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 5px;
  text-decoration: none;
  outline: none;
  transition: all 0.3s ease-in-out;
  box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.75);
}
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton i,
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton .fa {
  color: #FFFFFF;
  margin: 7px 0px 0px 5px;
}
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton:hover,
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton:active,
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton:focus {
  background-color: #365165;
  color: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}
#page-main.container.doc_maps .botonera_flotante.botonera_maps .boton:last-child {
  margin-right: 0;
}
/* Renovación estética 2026-09-15: la plantilla del plugin Leaflet.sidebar
   pinta un bloque blanco plano con cabecera azul #0074d9 fija y, encima,
   cuando detecta un navegador "touch" (.leaflet-touch -- Playwright y buena
   parte de portátiles con pantalla táctil lo son) quita la sombra y la
   sustituye por un borde recto (ver leaflet-sidebar.css ~L153): resultado,
   una caja gris pegada al mapa sin ninguna relación visual con el resto del
   tema (tarjetas redondeadas, sombras suaves, paleta de _palette.less). Se
   re-skinea con los mismos tokens que el bloque de descubrimiento del home
   (_index_main.less) sin tocar la estructura/posicionamiento del plugin. */
.sidebar.sidebar-lealeft {
  bottom: 2%;
  background-color: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}
.sidebar.sidebar-lealeft.leaflet-touch {
  box-shadow: var(--shadow-md);
  border: 1px solid var(--clr-border-light);
}
.sidebar.sidebar-lealeft.collapsed {
  width: 44px;
}
.sidebar.sidebar-lealeft .sidebar-tabs {
  position: relative;
  float: left;
  width: 44px;
  background-color: var(--clr-bg-subtle);
}
.sidebar.sidebar-lealeft .sidebar-tabs > ul {
  width: 100%;
}
.sidebar.sidebar-lealeft .sidebar-tabs > li,
.sidebar.sidebar-lealeft .sidebar-tabs > ul > li {
  position: relative;
  float: left;
  padding: 4px;
  height: 44px;
  overflow: visible;
  background-color: transparent!important;
}
.sidebar.sidebar-lealeft .sidebar-tabs > li:hover,
.sidebar.sidebar-lealeft .sidebar-tabs > ul > li:hover {
  background-color: transparent!important;
}
.sidebar.sidebar-lealeft .sidebar-tabs > li > a,
.sidebar.sidebar-lealeft .sidebar-tabs > ul > li > a {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: normal;
  border-radius: var(--radius-sm);
  color: var(--clr-text-muted);
  transition: background-color 0.15s ease, color 0.15s ease;
}
.sidebar.sidebar-lealeft .sidebar-tabs > li:hover > a,
.sidebar.sidebar-lealeft .sidebar-tabs > ul > li:hover > a {
  background-color: var(--clr-bg-muted);
  color: var(--clr-accent-dark);
}
.sidebar.sidebar-lealeft .sidebar-tabs > li.active > a,
.sidebar.sidebar-lealeft .sidebar-tabs > ul > li.active > a {
  background-color: var(--clr-accent);
  color: #fff;
  box-shadow: var(--shadow-xs);
}
.sidebar.sidebar-lealeft.sidebar-left ~ .sidebar-map {
  margin-left: 0;
}
.sidebar.sidebar-lealeft.sidebar-left .sidebar-content {
  left: 44px;
}
.sidebar.sidebar-lealeft .sidebar-content {
  display: flex;
  flex-flow: row wrap;
  background-color: var(--clr-bg-card);
}
.sidebar.sidebar-lealeft .sidebar-content ul {
  position: relative;
  float: left;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.92rem;
}
.sidebar.sidebar-lealeft .sidebar-content ul li {
  position: relative;
  float: left;
  width: 100%;
}
.sidebar.sidebar-lealeft .sidebar-content ul li.li_point {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 6px 4px;
  border-bottom: 1px solid var(--clr-border-light);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.sidebar.sidebar-lealeft .sidebar-content ul li.li_point:hover {
  background-color: var(--clr-bg-muted);
}
.sidebar.sidebar-lealeft .sidebar-content ul li.li_point:last-child {
  border-bottom: 0;
}
.sidebar.sidebar-lealeft .sidebar-content ul p {
  margin: 0;
  color: var(--clr-text-muted);
  font-size: 0.78rem;
}
.sidebar.sidebar-lealeft .sidebar-content ul .btn_point {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--clr-bg-muted);
}
.sidebar.sidebar-lealeft .sidebar-content ul .btn_point svg {
  display: none;
}
.sidebar.sidebar-lealeft .sidebar-content ul .btn_point .icono {
  position: static;
  margin-top: 0;
  font-size: 10px;
  color: var(--clr-accent) !important;
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point .point_title {
  flex: 1 1 auto;
  min-width: 0;
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point .point_title > a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--clr-text-main);
  text-decoration: none;
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point .point_title > a:hover {
  color: var(--clr-accent);
  text-decoration: underline;
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point .point_title > a.point_title_ficha {
  display: inline-block;
  font-weight: 600;
  font-size: 0.78rem;
  color: var(--clr-primary);
  white-space: nowrap;
  margin-top: 0.15rem;
  text-decoration: none;
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point .point_title > a.point_title_ficha:hover {
  text-decoration: underline;
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 0.5rem;
  align-items: center;
  width: 100%;
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup strong {
  grid-column: 1;
  min-width: 0;
  overflow: hidden;
  font-weight: 600;
  font-size: 0.92rem;
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup strong a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup p {
  grid-column: 1;
  margin: 0;
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup img {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: var(--radius-sm);
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup .L_popup_ficha {
  margin-left: 0.3rem;
  color: var(--clr-primary);
  text-decoration: none;
  font-weight: 600;
}
.sidebar.sidebar-lealeft .sidebar-content ul .L_popup .L_popup_ficha:hover {
  text-decoration: underline;
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point.is-container .btn_point {
  background-color: rgba(180,83,9,.12);
}
.sidebar.sidebar-lealeft .sidebar-content ul .li_point.is-container .btn_point .icono {
  color: #b45309 !important;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane {
  position: relative;
  float: left;
  width: 100%;
  flex-flow: row wrap;
  align-items: flex-start;
  align-content: flex-start;
  padding: 0;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane.active {
  display: flex;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane header {
  position: relative;
  float: left;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  width: 100%;
  margin: 0;
  background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-mid));
  color: #fff;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane header .sidebar-pane_title {
  position: relative;
  float: left;
  line-height: 34px;
  margin: 0;
  padding-left: 15px;
  font-weight: 600;
  font-size: 1.05em;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane header .sidebar-close {
  width: 34px;
  height: 34px;
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: #fff;
  transition: background-color 0.15s ease;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane header .sidebar-close:hover {
  background-color: rgba(255, 255, 255, 0.16);
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .contenido {
  position: relative;
  float: left;
  width: 100%;
  padding: 12px 15px 15px 15px;
  color: var(--clr-text-body);
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_filter {
  position: relative;
  float: left;
  width: 100%;
  padding: 10px 15px 0 15px;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_filter__input {
  width: 100%;
  padding: 0.4rem 0.65rem;
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_filter__input:focus {
  outline: none;
  border-color: var(--clr-accent);
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_breadcrumb {
  position: relative;
  float: left;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 8px 15px 0 15px;
  font-size: 0.78rem;
  color: var(--clr-text-muted);
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_breadcrumb__back {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--clr-bg-muted);
  color: var(--clr-text-main);
  transition: background-color 0.15s ease;
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_breadcrumb__back:hover {
  background-color: var(--clr-border-light);
}
.sidebar.sidebar-lealeft .sidebar-content .sidebar-pane .listado_breadcrumb__path {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 1200px) {
  .sidebar.sidebar-lealeft .sidebar-content .sidebar-pane {
    min-width: 400px;
  }
}
.sidebar.sidebar-lealeft .sidebar_item .icono {
  position: relative;
  font-size: 19px;
}
@media screen and (max-width: 767.98px) {
  .sidebar.sidebar-lealeft {
    bottom: 0;
  }
  .sidebar.sidebar-lealeft.sidebar-left ~ .sidebar-map {
    margin-left: 44px;
  }
}
.footer-body .cont_map_lealeft {
  height: 300px;
  margin-top: 10px;
}
.footer-body .cont_map_lealeft .ms_mapa {
  position: relative;
  z-index: 50;
  float: left;
  display: block;
  width: 100%;
  height: 100%;
}
.footer-body .cont_map_lealeft .cont_overlay_map {
  position: absolute;
  float: left;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.3);
}
.footer-body .cont_map_lealeft .cont_overlay_map .cont_message {
  position: relative;
  float: left;
  padding: 50px 25px 50px 25px;
  background-color: #fff;
  color: #333;
}
.footer-body .cont_map_lealeft .cont_overlay_map .cont_message .message {
  margin: auto;
  line-height: 1em;
}
/*
	Bloques temáticos extraídos de _mods.less (Fase 4)
	Se cargan ANTES de _mods.less para que éste pueda seguir
	siendo la capa de override final del cliente.

	Orden:
	  1. Globals (typography, body, links, form base, select.seleccion, .bi)
	  2. Breadcrumb genérico (.main_breadcrumb)
	  3. Componentes de chrome (header, toolbar, filters, footer)
	  4. Páginas con hero / aside (index_hero, index_main, search_aside)
	  5. Componentes superpuestos (modals, alerts, results)
	  6. Páginas con layout propio (advanced_search, more_info,
	     static_pages, user_pages)
---------------------------------------------------- */
/*!
	@file        : _globals.less

	@description : Reglas globales que aplican a múltiples páginas:
	                  · GLOBAL PAGE: body, base typography, links
	                  · Form base: .form-horizontal, .input-group,
	                    .control-component, .custom-label, .custom-select,
	                    .hierarchical_component, .btn-default, .cont_btn_ayuda
	                  · select.seleccion (estilo unificado de select custom)
	                  · .bi icono SVG (footer.jsp <use>)
	                  · .es-carousel ul (carousel base)
	               Migrado desde _mods.less (Fase 4.14).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Notas:
	- Los design tokens (--clr-primary, --clr-accent, --radius-*,
	  --shadow-*, --font-base) viven en _palette.less. Para cambiar la
	  paleta del cliente, editar ese archivo.
---------------------------------------------------- */
/* ── Form base ─────────────────────────────────────────────── */
.form-horizontal .form-group {
  display: flex;
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}
.input-group .btn {
  margin: -1px 0px 4px 4px;
  border: 0.4px solid black;
}
.control-component {
  display: flex;
  justify-content: space-between !important;
  align-items: center;
}
.cont_btn_ayuda {
  margin-left: 10px;
}
.btn-default {
  border: 0.4px solid black;
  margin: -1px 0px 4px 4px;
}
.hierarchical_component {
  width: 100%;
}
.custom-label {
  font-size: 1rem;
  text-align: right;
  padding-right: 3%;
}
.form-horizontal .control-label {
  font-size: 1rem;
  text-align: right;
  padding-right: 3%;
}
.custom-select {
  font-size: 1rem;
}
/* ── select.seleccion (custom select unificado) ───────────── */
select.seleccion {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 6px;
}
select.seleccion option {
  background-color: #f0f0f0;
  color: #333333;
}
select.seleccion option:hover {
  background-color: #d0e3ff;
}
/* ── GLOBAL PAGE ───────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  font-family: var(--font-base);
  font-size: 0.9rem;
  color: var(--clr-text-body);
  background: var(--clr-bg-page);
  -webkit-font-smoothing: antialiased;
}
.fondo_e4e4e4 {
  background: var(--clr-bg-page) !important;
}
.base_header {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
a {
  color: var(--clr-accent);
  text-decoration: none;
}
a:hover {
  color: var(--clr-accent-dark);
  text-decoration: underline;
}
/* ── .bi icono SVG (footer.jsp usa <use class="bi">) ──────── */
.bi {
  vertical-align: -0.125em;
  fill: currentColor;
}
/* ── .es-carousel ul (base carousel) ──────────────────────── */
.es-carousel ul {
  width: 100% !important;
}
/*!
	@file        : _breadcrumb.less

	@description : Breadcrumb general (.main_breadcrumb), aplicado fuera
	               del aside oscuro: páginas estáticas, index y user pages.
	               Migrado desde _mods.less (Fase 4.14).

	@dependencies: _palette.less (variables --clr-*).

	Nota CRUCIAL: incluye `display: flex` en el <ol> y `display: inline-flex`
	en cada <li> para garantizar que se rendericen en una sola línea
	(varios temas BS5 los apilan vertical por defecto).

	Variantes específicas (sobrescritas vía cascada por archivos posteriores):
	- _search_aside.less: breadcrumb dentro del dark-blue aside
	- _static_pages.less: breadcrumb compacto blanco sobre azul (legal/policy/login/register)
	- _user_pages.less: breadcrumb dentro de cards (mybookmarks, etc.)
	- _index_main.less: breadcrumb del page-main del index (.doc_index)
---------------------------------------------------- */
.main_breadcrumb {
  background: var(--clr-bg-subtle);
  border-bottom: 1px solid var(--clr-border-light);
  padding: 0.55rem 1rem;
  min-height: 0;
}
.main_breadcrumb nav {
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
.main_breadcrumb .breadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.78rem;
  gap: 0.1rem;
  list-style: none !important;
  line-height: 1.4 !important;
}
.main_breadcrumb .breadcrumb-item {
  display: inline-flex !important;
  align-items: center;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--clr-text-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}
.main_breadcrumb .breadcrumb-item a {
  color: var(--clr-primary);
  text-decoration: none;
  padding: 0.2rem 0.45rem;
  border-radius: 4px;
  font-weight: 500;
  transition: background 0.12s, color 0.12s;
}
.main_breadcrumb .breadcrumb-item a:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-primary-mid);
  text-decoration: none;
}
.main_breadcrumb .breadcrumb-item.active {
  color: var(--clr-text-main);
  font-weight: 600;
  padding: 0.2rem 0.45rem;
}
.main_breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  color: var(--clr-text-light);
  padding: 0 0.25rem;
}
/*!
	@file        : _header.less

	@description : Header (#Header) y variantes de formato:
	                 fondo_transparente, posicion_absolute, header_h_200.
	               Migrado desde _mods.less (Fase 4.5).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura JSP (header-container.total.jsp):
	  <header id="Header" class="[fondo_transparente] [posicion_absolute] [header_h_200]">
	    .lgx.logo_00 / logo_01 (logos)
	    nav.navbar.navbar-light.bg-light
	      .navbar-collapse
	        .navbar-nav (links + user actions + language dropdown)

	Variantes (cons.MS_DESIGN_HEADER_FORMAT_TYPE):
	  • Formato I:   fondo_transparente posicion_absolute header_h_200
	  • Formato II:  fondo_transparente posicion_absolute
	  • Formato III: fondo_transparente header_h_200
	  • Formato IV:  posicion_absolute header_h_200      (default)

	Notas:
	- Otras reglas con #Header viven en su contexto:
	    · SEARCH FORM AREA (relación header ↔ cont_busqueda)
	    · RESPONSIVE ADJUSTMENTS (#Header .lgx.logo_01 hidden en sm)
	    · INDEX PAGE (.doc_index #Header)
---------------------------------------------------- */
/* ============================================================
   HEADER  — overrides styles.css legacy rules
   ============================================================ */
/*
  Key styles.css rules we must beat:
    #Header            { float:left; width:100% }
    .navbar            { background-color:transparent!important }  ← fine
    .navbar-nav        { flex-direction:column; margin:auto }
    .navbar-nav > li   { float:left }
    .navbar-nav li     { background:white!important; border-right:1px solid #DDD; width:100% }
    .navbar-nav li .btn{ width:100% }
*/
/* ── Outer header shell ─────────────────────────────────────── */
#Header {
  float: none !important;
  position: relative;
  z-index: 200;
  width: 100% !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-bottom: 2px solid var(--clr-border);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 0.55rem 1.25rem !important;
  text-align: left !important;
}
/* Header background images (handled by JS BACKFADE). Hasta 2026-08-13 esto
   ocultaba SIEMPRE la imagen de fondo del header fuera del index — ahora la
   resuelve el servidor por album+pagina+slot (header.jsp,
   response.getHeaderBackgroundImages(), ver Apariencia > Fondos por pagina /
   OpacBackgroundAlbumConfigManager): carrusel, fondo fijo, o el placeholder
   de siempre si nada aplica a esta pagina.

   Pero _core.less sigue ocultando el contenedor a secas — "#Header
   {.busqueda_back{display:none}}" — sin position/tamaño propios (solo el
   hero del index, en el OTRO contenedor #busqueda, los tenia). Sin este
   bloque, aun resolviendo bien el servidor, no se veia ninguna imagen (issue
   real, 2026-08-14): se levanta aqui, con el mismo patron de
   position:absolute+picture.active/oculto que ya usa el hero del index. */
#Header .busqueda_back {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
  overflow: hidden;
  float: none !important;
}
#Header .busqueda_back picture {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  float: none !important;
}
#Header .busqueda_back picture.oculto {
  display: none !important;
}
#Header .busqueda_back picture.active {
  display: block !important;
}
#Header .busqueda_back picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  float: none !important;
}
/* El resto del contenido del header (logos + nav) por encima del fondo. */
#Header .cont_header {
  position: relative;
  z-index: 1;
}
/* ── Inner layout ────────────────────────────────────────────── */
#Header .cont_header {
  width: 100%;
  max-width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
/* ── Logos ───────────────────────────────────────────────────── */
#Header .lgx {
  display: flex !important;
  align-items: center;
  flex-shrink: 0;
}
#Header .lgx img {
  display: block !important;
  max-height: 52px;
  width: auto;
  object-fit: contain;
  visibility: visible !important;
  opacity: 1 !important;
}
#Header .logo_00 {
  margin-right: 0.75rem;
}
#Header .logo_01 {
  opacity: 1 !important;
}
/* ── Navbar container ────────────────────────────────────────── */
#Header .cont_menu {
  display: flex !important;
  align-items: center;
  flex: 1 1 auto;
  justify-content: flex-end;
}
/* The <nav> element: transparent bg, remove Bootstrap bg-light */
#Header .navbar,
#Header nav.navbar.navbar-light.bg-light,
#Header nav.navbar.bg-light {
  --bs-navbar-color: var(--clr-primary);
  --bs-navbar-hover-color: var(--clr-accent);
  --bs-navbar-disabled-color: rgba(11, 63, 98, 0.38);
  --bs-navbar-active-color: var(--clr-accent);
  --bs-navbar-brand-color: var(--clr-primary);
  --bs-navbar-brand-hover-color: var(--clr-accent);
  --bs-navbar-toggler-border-color: var(--clr-border);
  background-color: transparent !important;
  background-image: none !important;
  padding: 0;
  width: 100%;
  justify-content: flex-end;
}
/* ── Hamburger button ────────────────────────────────────────── */
#Header .navbar-toggler {
  border-color: var(--clr-border) !important;
  color: var(--clr-primary);
  padding: 0.3rem 0.55rem;
}
#Header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2811%2c63%2c98%2c0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* ── Nav list: horizontal row ───────────────────────────────── */
#Header .navbar-nav,
#Header ul.navbar-nav.navStyle {
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin: 0 !important;
  padding: 0;
}
/* ── Nav items: remove white background and float ───────────── */
#Header .navbar-nav > li,
#Header .navbar-nav li,
#Header .navbar-nav .nav-item {
  float: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border-right: none !important;
  width: auto !important;
}
/* Buttons inside nav items: auto width */
#Header .navbar-nav li .btn,
#Header .navbar-nav .nav-item .btn {
  width: auto !important;
}
/* ── Nav links: dark text on white background ───────────────── */
#Header .navbar-nav .nav-item .nav-link,
#Header .navbar-nav .nav-item > a,
#Header .navbar-nav li > a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.32rem;
  color: var(--clr-primary) !important;
  font-size: 0.82rem;
  font-weight: 500;
  padding: 0.35rem 0.75rem !important;
  border-radius: var(--radius-sm);
  background: transparent;
  border: none;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
  line-height: 1.4;
  text-decoration: none !important;
}
#Header .navbar-nav .nav-item .nav-link:hover,
#Header .navbar-nav .nav-item > a:hover,
#Header .navbar-nav li > a:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
  text-decoration: none !important;
}
#Header .navbar-nav .nav-item .nav-link.active {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
  font-weight: 600;
}
/* Icon and label inside each link */
#Header .nav-link .icono,
#Header .nav-link .texto,
#Header .navbar-nav li > a .icono,
#Header .navbar-nav li > a .texto {
  color: inherit !important;
  display: inline !important;
  vertical-align: middle;
}
#Header .nav-link .icono,
#Header .navbar-nav li > a .icono {
  font-size: 0.85em;
}
/* ── User action buttons (solid accent background) ────────────
   Includes the language selector dropdown-toggle so it looks the same
   as Registro / Acceso / Cita previa (was inheriting the plain
   "transparent link" style from .nav-link). */
#Header #button-login,
#Header #button-register,
#Header #button-info,
#Header #button-mymediasearch,
#Header #button-citaprevia,
#Header #navbarDropdownMenuLink,
#Header .navbar-nav .nav-item.dropdown > .nav-link.dropdown-toggle {
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
}
#Header #button-login:hover,
#Header #button-register:hover,
#Header #button-info:hover,
#Header #button-mymediasearch:hover,
#Header #button-citaprevia:hover,
#Header #navbarDropdownMenuLink:hover,
#Header #navbarDropdownMenuLink:focus,
#Header .navbar-nav .nav-item.dropdown > .nav-link.dropdown-toggle:hover,
#Header .navbar-nav .nav-item.dropdown > .nav-link.dropdown-toggle:focus {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
  color: #fff !important;
}
#Header #button-login .icono,
#Header #button-login .texto,
#Header #button-register .icono,
#Header #button-register .texto,
#Header #button-info .icono,
#Header #button-info .texto,
#Header #button-mymediasearch .icono,
#Header #button-mymediasearch .texto,
#Header #button-citaprevia .icono,
#Header #button-citaprevia .texto,
#Header #navbarDropdownMenuLink .icono,
#Header #navbarDropdownMenuLink .texto,
#Header .navbar-nav .nav-item.dropdown > .nav-link.dropdown-toggle .icono,
#Header .navbar-nav .nav-item.dropdown > .nav-link.dropdown-toggle .texto {
  color: #fff !important;
}
/* Bootstrap caret ▼ — white triangle aligned next to the text */
#Header #navbarDropdownMenuLink::after,
#Header .navbar-nav .nav-item.dropdown > .nav-link.dropdown-toggle::after {
  border-top-color: #fff;
  margin-left: 0.35rem;
  vertical-align: middle;
}
/* Logout: solid red */
#Header #button-logout {
  background: #dc2626 !important;
  border: 1px solid #dc2626 !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
}
#Header #button-logout:hover {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #fff !important;
}
#Header #button-logout .icono,
#Header #button-logout .texto {
  color: #fff !important;
}
/* ── Language dropdown ───────────────────────────────────────── */
#Header .dropdown-menu.select_idioma {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: 0.4rem 0;
  min-width: 140px;
}
/* Dropdown items — clean, no borders/outlines in any state */
#Header .dropdown-menu.select_idioma .dropdown-item,
#Header .dropdown-menu.select_idioma .dropdown-item:hover,
#Header .dropdown-menu.select_idioma .dropdown-item:focus,
#Header .dropdown-menu.select_idioma .dropdown-item:focus-visible,
#Header .dropdown-menu.select_idioma .dropdown-item:active,
#Header .dropdown-menu.select_idioma .dropdown-item.active,
#Header .dropdown-menu.select_idioma .dropdown-item.show {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  padding: 0.4rem 0.9rem;
  border: 0 none !important;
  border-radius: 0 !important;
  outline: 0 none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
/* Default state */
#Header .dropdown-menu.select_idioma .dropdown-item {
  color: var(--clr-text-body) !important;
  background: transparent !important;
}
/* Hover / focus — soft muted bg, primary color */
#Header .dropdown-menu.select_idioma .dropdown-item:hover,
#Header .dropdown-menu.select_idioma .dropdown-item:focus,
#Header .dropdown-menu.select_idioma .dropdown-item:focus-visible {
  background-color: var(--clr-bg-muted) !important;
  color: var(--clr-primary) !important;
}
/* Active (clicked / current) — solid accent pill */
#Header .dropdown-menu.select_idioma .dropdown-item:active,
#Header .dropdown-menu.select_idioma .dropdown-item.active,
#Header .dropdown-menu.select_idioma .dropdown-item.selected {
  background-color: var(--clr-accent) !important;
  color: #fff !important;
}
/* Inner icon and badge inherit the link color */
#Header .dropdown-menu.select_idioma .dropdown-item i,
#Header .dropdown-menu.select_idioma .dropdown-item .fa,
#Header .dropdown-menu.select_idioma .dropdown-item .badge {
  color: inherit !important;
  background: transparent !important;
  border: 0 none !important;
}
#Header .dropdown-menu.select_idioma .badge {
  font-size: 0.6rem;
  margin-left: auto;
}
/* ── Mobile collapse panel ───────────────────────────────────── */
@media (max-width: 991.98px) {
  #Header .navbar-collapse {
    background: #f8fafc;
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    margin-top: 0.5rem;
    padding: 0.6rem 0.85rem;
    width: 100%;
  }
  #Header .navbar-nav,
  #Header ul.navbar-nav.navStyle {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.1rem;
    width: 100%;
  }
  #Header .navbar-nav .nav-item,
  #Header .navbar-nav li {
    width: 100% !important;
  }
  #Header .navbar-nav .nav-item .nav-link,
  #Header .navbar-nav .nav-item > a,
  #Header .navbar-nav li > a {
    width: 100%;
    border-radius: var(--radius-sm);
  }
}
/* â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�
   Header — Format modifiers
   (cons.MS_DESIGN_HEADER_FORMAT_TYPE = combinations of these 3)

   Combinations exposed in admin:
     • Formato I:   fondo_transparente posicion_absolute header_h_200
     • Formato II:  fondo_transparente posicion_absolute
     • Formato III: fondo_transparente header_h_200
     • Formato IV:  posicion_absolute header_h_200      (default)
   â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•�â•� */
/* ── 1) fondo_transparente — header without background ───────── */
#Header.fondo_transparente {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
/* Menu items get scrim for legibility over arbitrary backgrounds */
#Header.fondo_transparente .navbar-nav .nav-item .nav-link,
#Header.fondo_transparente .navbar-nav .nav-item > a,
#Header.fondo_transparente .navbar-nav li > a {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
#Header.fondo_transparente .navbar-nav .nav-item .nav-link:hover,
#Header.fondo_transparente .navbar-nav .nav-item > a:hover,
#Header.fondo_transparente .navbar-nav li > a:hover {
  background: rgba(0, 0, 0, 0.32);
  color: #ffffff !important;
}
#Header.fondo_transparente .nav-link .icono,
#Header.fondo_transparente .nav-link .texto,
#Header.fondo_transparente .navbar-nav li > a .icono,
#Header.fondo_transparente .navbar-nav li > a .texto {
  color: #ffffff !important;
}
/* User pills (login, register, etc.) — stronger scrim */
#Header.fondo_transparente #button-login,
#Header.fondo_transparente #button-register,
#Header.fondo_transparente #button-info,
#Header.fondo_transparente #button-mymediasearch,
#Header.fondo_transparente #button-citaprevia,
#Header.fondo_transparente #button-facebook {
  background: rgba(0, 0, 0, 0.28) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}
#Header.fondo_transparente #button-login:hover,
#Header.fondo_transparente #button-register:hover,
#Header.fondo_transparente #button-info:hover,
#Header.fondo_transparente #button-mymediasearch:hover,
#Header.fondo_transparente #button-citaprevia:hover,
#Header.fondo_transparente #button-facebook:hover {
  background: rgba(0, 0, 0, 0.45) !important;
  color: #ffffff !important;
}
/* Hamburger over transparent header */
#Header.fondo_transparente .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(0, 0, 0, 0.2);
}
#Header.fondo_transparente .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2c255%2c255%2c0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* Language dropdown trigger keeps white over transparent; menu stays light */
#Header.fondo_transparente .navbar-nav .dropdown-toggle {
  color: #ffffff !important;
}
/* ── 2) posicion_absolute — header floats over hero/aside ────── */
#Header.posicion_absolute {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  z-index: 200;
}
/* ── 3) header_h_200 — taller header with bigger logos
   styles.css legacy forces `height: 70px` on .posicion_absolute.header_h_200
   and .fondo_transparente.header_h_200 (it's actually absolute too),
   plus max-height:70px on .logo_00 and 50px on .logo_01. We override here. */
#Header.header_h_200,
#Header.posicion_absolute.header_h_200,
#Header.fondo_transparente.header_h_200 {
  height: auto !important;
  min-height: 100px !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  align-items: center;
}
#Header.header_h_200 .cont_header {
  min-height: 84px;
}
/* Beat #Header.header_h_200 .lgx.logo_00 { max-height:70px } and .logo_01:50px */
#Header.header_h_200 .lgx,
#Header.header_h_200 .lgx.logo_00,
#Header.header_h_200 .lgx.logo_01 {
  max-height: 84px !important;
}
#Header.header_h_200 .lgx img {
  max-height: 75px !important;
}
/* When header_h_200 + posicion_absolute (Formatos I and IV), the header
   floats absolute at ~100px tall — push the aside down by 100px so su
   contenido no se solape con el header. Se aplica también a las páginas
   "ligeras" (login, register, cita-previa, contact, legal-warn,
   policy-warn) — todas marcadas con .registerjsp en el aside.
   thesaurus/authority/doc-collection faltaban en esta lista (SI estan en
   las otras :is() de este fichero y de _search_aside.less, que comparten
   el mismo aside con formulario de busqueda completo) — el logo de 2
   lineas (nombre + subtitulo AHEB) se solapaba con la barra de busqueda
   en esas 3 paginas porque se quedaban con el margin-top:70px generico. */
#Header.posicion_absolute.header_h_200 ~ #cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .registerjsp, .doc_list, .doc_thesaurus, .doc_authority, .doc_collection) {
  margin-top: 100px !important;
}
/* Defeat styles.css legacy: when busqueda_back receives the classes
   .fondo_transparente.header_h_200, legacy applies `margin-top:70px` and
   pushes the hero image down by 70px, leaving an ugly gap. Cancel it. */
.cont_busqueda.doc_index .busqueda_back.fondo_transparente.header_h_200 {
  margin-top: 0 !important;
}
/* ── Responsive (consolidado desde _mods.less RESPONSIVE ADJUSTMENTS) ── */
@media (max-width: 575.98px) {
  #Header .lgx.logo_01 {
    display: none !important;
  }
  #Header .logo_01 {
    display: none !important;
  }
}
/* ============================================================
   Header — comportamiento navbar collapse en viewports < lg
   ============================================================
   - Hamburguesa siempre visible
   - Panel desplegable FLOTANTE anclado a la derecha (no empuja contenido)
   - Items en columna al desplegar
   - Texto azul corporativo si el header está en .fondo_transparente
============================================================ */
@media (max-width: 991.98px) {
  #Header .navbar-toggler {
    display: inline-block !important;
    margin-left: auto;
  }
  #Header .navbar-collapse:not(.show) {
    display: none !important;
  }
  #Header .navbar-collapse.show {
    display: block !important;
    position: absolute !important;
    top: 100%;
    left: auto !important;
    right: 0.5rem;
    width: auto;
    min-width: 220px;
    max-width: calc(100vw - 1rem);
    z-index: 1050;
    background: #ffffff;
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    padding: 0.6rem 0.85rem;
    margin-top: 0.25rem;
  }
  #Header .navbar-collapse.show .navbar-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
    gap: 0.25rem;
  }
  #Header .navbar-collapse.show .navbar-nav .nav-item {
    width: 100% !important;
  }
  /* Si el header está en modo .fondo_transparente, el overlay sigue blanco
     porque está bajo el header — texto en azul corporativo, sin scrim. */
  #Header.fondo_transparente .navbar-collapse.show .nav-link,
  #Header.fondo_transparente .navbar-collapse.show .navbar-nav li > a {
    color: var(--clr-primary) !important;
    text-shadow: none !important;
    background: transparent !important;
    border: 1px solid transparent !important;
  }
}
/*!
	@file        : _toolbar.less

	@description : Barra de herramientas profesional, paginación estilo
	               toolbar y total de registros (#page-main .barra_tools,
	               #page-main .pagination, #page-main .total-registros).
	               Migrado desde _mods.less (Fase 4.2).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Origen: header-container.total.jsp y resultados de búsqueda.
---------------------------------------------------- */
/**
xmpaz.default <<header-container.total.jsp>>
**/
/* ==============================
   Toolbar profesional
   ============================== */
#page-main .barra_tools {
  display: flex;
  align-items: center;
  /* R2: antes flex-wrap:nowrap + overflow-x:auto provocaba un scroll interno
	   que RECORTABA las etiquetas a anchos intermedios (~1200px): se leía "nprim",
	   "Carrito" cortado, etc. Ahora se permite envolver: los botones bajan a una
	   segunda fila SOLO cuando no caben (a anchos amplios siguen en una línea),
	   así nunca se corta texto. La barra deja de necesitar scroll horizontal. */
  flex-wrap: wrap;
  overflow-x: visible;
  row-gap: 8px;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  margin: 0 0 12px 0;
  background: #f8fafc;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  box-sizing: border-box;
}
#page-main .barra_tools .navbar,
#page-main .barra_tools .navbar-collapse,
#page-main .barra_tools .container-fluid {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  /* R2: envolver en vez de recortar/scroll */
  min-width: 0;
  gap: 8px;
  width: 100%;
  padding: 0;
  margin: 0;
  background: transparent !important;
  border: 0;
}
#page-main .barra_tools .navbar-nav,
#page-main .barra_tools .pagination {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  /* R2: envolver en vez de recortar/scroll */
  gap: 4px;
  margin: 0;
  padding: 0;
}
#page-main .barra_tools .navbar-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  margin: 0;
  padding: 0 12px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  color: #1e293b;
  background: #e2e8f0 !important;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  white-space: nowrap;
  box-sizing: border-box;
}
#page-main .barra_tools .navbar-nav > li,
#page-main .barra_tools .pagination > li {
  display: inline-flex;
  align-items: center;
  height: 34px;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box;
}
#page-main .barra_tools .navbar-nav > li > a,
#page-main .barra_tools .navbar-nav > li > button,
#page-main .barra_tools .pagination > li > a,
#page-main .barra_tools .pagination > li > button,
#page-main .barra_tools .btn,
#page-main .barra_tools .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  min-width: 38px;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 10px !important;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  color: #1e293b !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
  overflow: hidden;
}
#page-main .barra_tools .navbar-nav > li > a.btn_icon,
#page-main .barra_tools .navbar-nav > li > a.nav-link {
  width: 38px;
  padding: 0 !important;
  position: relative;
}
#page-main .barra_tools .icono,
#page-main .barra_tools .fa,
#page-main .barra_tools i {
  /* Solo reseteamos top/bottom — dejamos libre left/right para que las
	   utility classes de Bootstrap (me-2, ms-2, mx-X) funcionen y separen
	   icono ↔ texto en botones tipo "<i class='fa me-2'></i><span>Texto</span>" */
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: 1rem;
  line-height: 1;
  color: inherit !important;
}
/* Para botones flex (dropdown-toggle, dropdown-item con d-flex) damos un
   gap nativo además del me-2 — así también funciona si el JSP no lo lleva */
#page-main .barra_tools .btn.d-flex,
#page-main .barra_tools button.d-flex,
#page-main .barra_tools .dropdown-toggle.d-flex,
#page-main .barra_tools .dropdown-menu .dropdown-item.d-flex {
  gap: 0.4rem;
}
/* ── Dropdown menu de la toolbar (selector de orden y similares) ─── */
#page-main .barra_tools .dropdown-menu {
  min-width: 240px;
  margin-top: 0.35rem !important;
  padding: 0.35rem 0 !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.15) !important;
  z-index: 1050;
}
#page-main .barra_tools .dropdown-menu li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 none !important;
  /* mata `style="border:0px"` y separadores legacy */
  background: transparent !important;
  list-style: none;
  width: auto !important;
}
#page-main .barra_tools .dropdown-menu .dropdown-item,
#page-main .barra_tools .dropdown-menu .dropdown-item:hover,
#page-main .barra_tools .dropdown-menu .dropdown-item:focus,
#page-main .barra_tools .dropdown-menu .dropdown-item:focus-visible,
#page-main .barra_tools .dropdown-menu .dropdown-item:active,
#page-main .barra_tools .dropdown-menu .dropdown-item.active {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0.5rem 0.9rem !important;
  font-size: 0.82rem !important;
  font-weight: 500;
  line-height: 1.3 !important;
  border: 0 none !important;
  border-radius: 0 !important;
  outline: 0 none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.12s, color 0.12s;
}
/* Default — texto cuerpo, fondo transparente */
#page-main .barra_tools .dropdown-menu .dropdown-item {
  color: var(--clr-text-body) !important;
  background: transparent !important;
}
/* Hover / focus — pill suave */
#page-main .barra_tools .dropdown-menu .dropdown-item:hover,
#page-main .barra_tools .dropdown-menu .dropdown-item:focus,
#page-main .barra_tools .dropdown-menu .dropdown-item:focus-visible {
  color: var(--clr-primary) !important;
  background: var(--clr-bg-muted) !important;
}
/* Activa — opción seleccionada actualmente, pill primary */
#page-main .barra_tools .dropdown-menu .dropdown-item.active,
#page-main .barra_tools .dropdown-menu .dropdown-item:active,
#page-main .barra_tools .dropdown-menu .dropdown-item[aria-checked="true"] {
  color: #ffffff !important;
  background: var(--clr-primary) !important;
  font-weight: 600;
}
/* Iconos heredan el color del item */
#page-main .barra_tools .dropdown-menu .dropdown-item .fa,
#page-main .barra_tools .dropdown-menu .dropdown-item .icono,
#page-main .barra_tools .dropdown-menu .dropdown-item i {
  color: inherit !important;
  flex: 0 0 auto;
}
#page-main .barra_tools .dropdown-menu .dropdown-item .flex-grow-1 {
  flex: 1 1 auto !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* "asc"/"desc" badge sutil al final del item */
#page-main .barra_tools .dropdown-menu .dropdown-item small,
#page-main .barra_tools .dropdown-menu .dropdown-item .text-muted {
  font-size: 0.68rem !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  background: var(--clr-bg-muted);
  color: var(--clr-text-muted) !important;
  flex-shrink: 0;
}
/* En el item activo el badge invierte para mantener legibilidad */
#page-main .barra_tools .dropdown-menu .dropdown-item.active small,
#page-main .barra_tools .dropdown-menu .dropdown-item.active .text-muted,
#page-main .barra_tools .dropdown-menu .dropdown-item:active small {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff !important;
}
/* ── btn_imprimir_todos — badge "todos" como notificación esquina ──
   El JSP renderiza:
     <a class="btn_icon print-btn btn_imprimir_todos nav-link">
       <i class="icono fa fa-bars"></i>
       <span class="badge rounded-pill badge-notification bg-primary">todos</span>
     </a>
   El badge en línea hacía el botón enorme. Lo sacamos a la esquina
   superior-derecha como un dot de notificación con la palabra. */
#page-main .barra_tools .btn_imprimir_todos {
  position: relative !important;
  overflow: visible;
}
#page-main .barra_tools .btn_imprimir_todos .badge,
#page-main .barra_tools .btn_imprimir_todos .badge-notification {
  position: absolute !important;
  top: -6px;
  right: -8px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0.1rem 0.4rem !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #ffffff !important;
  background: var(--clr-accent) !important;
  border: 2px solid var(--clr-bg-card) !important;
  border-radius: 999px !important;
  box-shadow: var(--shadow-xs);
  pointer-events: none;
  white-space: nowrap;
  z-index: 5;
}
/* Asegura que el icono fa-bars quede bien centrado dentro del botón */
#page-main .barra_tools .btn_imprimir_todos .icono,
#page-main .barra_tools .btn_imprimir_todos .fa {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
/* ── Star-rating (control nativo BS5, sustituye plugin Krajee legacy)
   Markup que produce msearch.core.social.js dentro de .valoraciones_usuario:
     <div class="star-rating" data-value="N" data-readonly="...">
        <button class="star-rating__btn is-filled?"><i class="fa fa-star/fa-star-o"></i></button> x5
     </div>
     <span class="rating_cifra label">N</span>
   ────────────────────────────────────────────────────────────── */
.valoraciones_usuario {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
}
.star-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  line-height: 1;
}
.star-rating .star-rating__btn {
  background: transparent;
  border: 0;
  padding: 2px 3px;
  margin: 0;
  cursor: pointer;
  color: #d1d5db;
  /* gris claro (estrella vacía) */
  font-size: 1rem;
  line-height: 1;
  transition: color 0.12s ease-in-out, transform 0.08s ease;
}
.star-rating .star-rating__btn:hover,
.star-rating .star-rating__btn.is-hover,
.star-rating .star-rating__btn.is-filled {
  color: #f59e0b;
  /* dorado, igual semánticamente que --clr-warn */
}
.star-rating .star-rating__btn:active {
  transform: scale(0.92);
}
.star-rating .star-rating__btn:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
  border-radius: 4px;
}
.star-rating.is-readonly .star-rating__btn {
  cursor: default;
  pointer-events: none;
}
.star-rating .star-rating__btn .fa {
  font-size: 1.1rem;
}
.valoraciones_usuario .rating_cifra {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--clr-text-body, #374151);
  background: var(--clr-bg-subtle, #f3f4f6);
  border: 1px solid var(--clr-border-light, #e5e7eb);
  border-radius: var(--radius-sm, 4px);
  padding: 0.15rem 0.5rem;
  line-height: 1.3;
  white-space: nowrap;
}
/* Variante dentro de la toolbar (más compacta) */
#page-main .barra_tools .valoraciones_usuario .star-rating__btn .fa {
  font-size: 0.95rem;
}
#page-main .barra_tools .valoraciones_usuario .rating_cifra {
  font-size: 0.7rem;
  padding: 0.1rem 0.4rem;
}
#page-main .barra_tools a:hover,
#page-main .barra_tools button:hover,
#page-main .barra_tools .btn:hover,
#page-main .barra_tools .dropdown-toggle:hover {
  color: #ffffff !important;
  background: var(--clr-primary) !important;
  border-color: var(--clr-primary) !important;
}
#page-main .barra_tools .btn_disabled,
#page-main .barra_tools .disabled {
  opacity: 0.5;
  pointer-events: none;
}
#page-main .barra_tools .badge-selection-to-cart,
#page-main .barra_tools .badge-selection-to-loan,
#page-main .barra_tools .badge-selection-to-print {
  position: absolute;
  top: -6px;
  right: -6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1;
  color: #ffffff;
  background: #dc2626 !important;
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-sizing: border-box;
}
/* Evita que grupos largos rompan el ancho */
#page-main .barra_tools .cont_menu_carrito,
#page-main .barra_tools .cont_menu_loans {
  flex-shrink: 0;
}
/* Textos recortados dentro de botones */
#page-main .barra_tools .btn,
#page-main .barra_tools .dropdown-toggle,
#page-main .barra_tools .navbar-text,
#page-main .barra_tools .navbar-nav > li > a,
#page-main .barra_tools .navbar-nav > li > button {
  min-width: 38px;
  max-width: 200px;
  overflow: hidden;
}
#page-main .barra_tools .btn_title,
#page-main .barra_tools .btn_titulo,
#page-main .barra_tools .titulo,
#page-main .barra_tools .filter-option,
#page-main .barra_tools .dropdown-toggle span {
  display: inline-block;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
/* Badges fuera del botón */
#page-main .barra_tools .navbar-nav > li > a.btn_icon,
#page-main .barra_tools .navbar-nav > li > a.nav-link {
  overflow: visible;
}
#page-main .barra_tools .badge-selection-to-cart,
#page-main .barra_tools .badge-selection-to-loan,
#page-main .barra_tools .badge-selection-to-print {
  top: -8px;
  right: -8px;
  z-index: 5;
}
/* Badge tipo contador para selector "Todos" */
#page-main .barra_tools .badge-all-selection,
#page-main .barra_tools .badge-todos {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  min-width: 18px;
  padding: 0 6px;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1;
  color: #ffffff;
  background: #2563eb;
  border-radius: 999px;
  box-sizing: border-box;
}
/* Evita estilo botón azul completo */
#page-main .barra_tools .btn_all_selection,
#page-main .barra_tools .btn-todos {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  min-width: auto !important;
  height: auto !important;
  box-shadow: none !important;
}
/**
xmpaz.default <<header-container.total.jsp>>
**/
/* ==============================
   Paginación estilo toolbar
   ============================== */
#page-main .pagination_container,
#page-main .cont_pagination,
#page-main nav[aria-label="Pagination"] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 14px 0;
}
#page-main .pagination {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px 8px;
  margin: 0;
  list-style: none;
  background: #f8fafc;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
#page-main .pagination > li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}
#page-main .pagination > li > a,
#page-main .pagination > li > span,
#page-main .pagination > li > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  min-width: 34px;
  padding: 0 10px;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  color: #1e293b;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
/* Hover */
#page-main .pagination > li > a:hover,
#page-main .pagination > li > button:hover {
  color: #ffffff;
  background: #2563eb;
  border-color: #1d4ed8;
}
/* Página activa */
#page-main .pagination > .active > a,
#page-main .pagination > .active > span,
#page-main .pagination > li.active > a,
#page-main .pagination > li.active > span {
  color: #ffffff !important;
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.12);
}
/* Deshabilitados */
#page-main .pagination > .disabled > a,
#page-main .pagination > .disabled > span,
#page-main .pagination > li.disabled > a,
#page-main .pagination > li.disabled > span {
  opacity: 0.45;
  pointer-events: none;
  background: #f1f5f9;
  color: #64748b;
}
/* Flechas/iconos */
#page-main .pagination i,
#page-main .pagination .fa {
  font-size: 0.9rem;
  line-height: 1;
}
/* Texto largo recortado */
#page-main .pagination > li > a,
#page-main .pagination > li > span {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ==============================
   Total de registros ATL
   ============================== */
#page-main .total-registros,
#page-main .total_records,
#page-main .search_total_results,
#page-main .cont_total_records {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 0 14px;
  margin: 8px 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
  background: #f8fafc;
  border: 1px solid #d8dee9;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
/* Número */
#page-main .total-registros strong,
#page-main .total_records strong,
#page-main .search_total_results strong,
#page-main .cont_total_records strong,
#page-main .total-registros .num,
#page-main .total_records .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 20px;
  padding: 0 8px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  color: #ffffff;
  background: #2563eb;
  border-radius: 999px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}
/* Texto descriptivo */
#page-main .total-registros span,
#page-main .total_records span,
#page-main .search_total_results span,
#page-main .cont_total_records span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Variante alineada con paginación */
#page-main .pagination + .total-registros,
#page-main .pagination + .total_records {
  margin-top: 10px;
}
/* ============================================================
   Fix BS3 → BS5 — navbar-collapse en toolbars
   ============================================================
   En _core.less:1562 hay una regla heredada de Bootstrap 3:
     .navbar-collapse.collapse { display: none !important }
     .navbar-collapse.collapse.in { display: block !important }
   BS3 usaba .in para "panel abierto"; BS5 usa .show. El primer rule
   hace que el panel SIEMPRE esté oculto, incluso cuando BS5 añade .show
   al hacer click. Síntoma: la barra "se abre y se cierra inmediatamente".
   Aquí cubrimos el caso .show para que BS5 funcione correctamente.
   Aplica a la navbar del toolbar (#srcHeader) y cualquier otra navbar
   con collapse en el OPAC.
============================================================ */
@media (max-width: 991.98px) {
  body .navbar-collapse.collapse.show,
  body nav .navbar-collapse.collapse.show {
    display: block !important;
  }
  /* Para navbars con .navbar-expand-X, BS5 usa flex cuando expandido. */
  body nav.navbar.navbar-expand-lg .navbar-collapse.collapse.show,
  body nav.navbar.navbar-expand-md .navbar-collapse.collapse.show,
  body nav.navbar.navbar-expand-sm .navbar-collapse.collapse.show {
    display: flex !important;
    flex-basis: 100%;
    flex-grow: 1;
    align-items: stretch;
  }
  /* Toolbar de acciones (.barra_tools) en col_dcha — search, mosaic y doc:
     apila los items verticalmente y oculta labels (solo iconos). El
     toolbar tiene muchos botones (carrito, imprimir, exportar, compartir,
     ordenar, etc.) y agrupados horizontalmente desbordan. */
  /* Padding interno: el navbar-toggler y los items no quedan pegados al
     borde izquierdo del card. */
  #page-main #cont_principal .barra_tools,
  #page-main #cont_principal .barra_tools > nav.navbar,
  #page-main #cont_principal .barra_tools .navbar.navbar-expand-lg {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  #page-main #cont_principal .barra_tools .navbar-collapse,
  #page-main #cont_principal .barra_tools .navbar-collapse.collapse.show {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #page-main #cont_principal .barra_tools .navbar-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
  }
  #page-main #cont_principal .barra_tools .nav-item,
  #page-main #cont_principal .barra_tools .navbar-nav > li {
    width: 100% !important;
    float: none !important;
  }
  /* Anular utility classes de Bootstrap que ponen margenes laterales a los
     <li> de la navbar — en mobile (column) no queremos esos desplazamientos
     porque rompen el centrado. Cubre ms-2 (margin-start), me-2 (margin-end)
     y mx-N (margenes horizontales). */
  #page-main #cont_principal .barra_tools .navbar-nav > li.ms-1,
  #page-main #cont_principal .barra_tools .navbar-nav > li.ms-2,
  #page-main #cont_principal .barra_tools .navbar-nav > li.ms-3,
  #page-main #cont_principal .barra_tools .navbar-nav > li.ms-auto,
  #page-main #cont_principal .barra_tools .navbar-nav > li.me-1,
  #page-main #cont_principal .barra_tools .navbar-nav > li.me-2,
  #page-main #cont_principal .barra_tools .navbar-nav > li.me-3,
  #page-main #cont_principal .barra_tools .navbar-nav > li.me-auto,
  #page-main #cont_principal .barra_tools .navbar-nav > li.mx-1,
  #page-main #cont_principal .barra_tools .navbar-nav > li.mx-2,
  #page-main #cont_principal .barra_tools .navbar-nav > li.mx-3,
  #page-main #cont_principal .barra_tools .navbar-nav > li.mx-auto {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  #page-main #cont_principal .barra_tools .nav-item .nav-link,
  #page-main #cont_principal .barra_tools .navbar-nav > li > a,
  #page-main #cont_principal .barra_tools .navbar-nav > li > a.btn_icon,
  #page-main #cont_principal .barra_tools .navbar-nav > li > a.nav-link,
  #page-main #cont_principal .barra_tools .navbar-nav > li > a.btn_icon.nav-link,
  #page-main #cont_principal .barra_tools .navbar-nav > li > button,
  #page-main #cont_principal .barra_tools .navbar-nav > li > .btn,
  #page-main #cont_principal .barra_tools .navbar-nav > li > .dropdown-toggle {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0.5rem 0.75rem !important;
  }
  /* Ocultar labels (texto / titulo / btn_search_titulo / navbar-text) —
     sólo iconos. */
  #page-main #cont_principal .barra_tools .nav-link .texto,
  #page-main #cont_principal .barra_tools .nav-link .titulo,
  #page-main #cont_principal .barra_tools .nav-link .btn_search_titulo,
  #page-main #cont_principal .barra_tools .nav-link span:not(.icono):not(.icon):not(.badge):not(.fa),
  #page-main #cont_principal .barra_tools .btn .texto,
  #page-main #cont_principal .barra_tools .btn .titulo,
  #page-main #cont_principal .barra_tools .btn .btn_search_titulo,
  #page-main #cont_principal .barra_tools .navbar-text {
    display: none !important;
  }
  /* El icono queda libre (sin float, sin margins propios). El centrado lo
     da el `justify-content: center` del flex padre (.nav-link / .btn). */
  #page-main #cont_principal .barra_tools .nav-link .icono,
  #page-main #cont_principal .barra_tools .nav-link .icon,
  #page-main #cont_principal .barra_tools .nav-link i,
  #page-main #cont_principal .barra_tools .btn .icono,
  #page-main #cont_principal .barra_tools .btn .icon,
  #page-main #cont_principal .barra_tools .btn i {
    float: none !important;
    margin: 0 !important;
    font-size: 1.1rem;
  }
}
/*!
	@file        : _filters.less

	@description : Estilos de la columna de filtros (facetas) en
	               páginas de búsqueda, mosaic, doc, advanced y more-info.
	               Migrado desde _mods.less (Fase 4.7).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura interna (en orden de cascada — el último gana):

	1. Bloque legacy "Facetas / filtros de búsqueda"
	   #page-main .col_izqda { ... } — selectores especificidad 1,2,N

	2. Bloque legacy "Facetas: corrección visual final"
	   #page-main .col_izqda .titulo, etc. — corrección visual

	3. Bloque actual "SEARCH PAGE — FILTER COLUMN"
	   #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced,
	   .doc_more_info) .col_izqda — especificidad 1,3,N (gana)

	Los bloques 1 y 2 quedan dominados por el 3 vía especificidad.
	Se mantienen aquí para no romper escenarios donde #page-main
	no tenga ninguna de las clases de página listadas.
---------------------------------------------------- */
/* ==============================
   Facetas / filtros de búsqueda
   ============================== */
#page-main .col_izqda {
  padding-right: 18px;
}
/* Tarjeta general del bloque de filtros */
#page-main .col_izqda .boxFilter,
#page-main .col_izqda .panel.panel-default.panel_collapse {
  float: none !important;
  width: 100%;
  margin: 0 0 14px 0;
  padding: 0;
  background: #ffffff;
  border: 1px solid #d8dee9;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}
/* Cabecera del filtro */
#page-main .col_izqda .boxFilter .box_header,
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  float: none !important;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 0 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #0b3f62, #0f5d8f) !important;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
}
/* Título — texto base */
#page-main .col_izqda .boxFilter .title-component,
#page-main .col_izqda .panel_heading_title,
#page-main .col_izqda .panel_titulo {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.82rem !important;
  font-weight: 800;
  line-height: 1.2;
  color: #ffffff !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Icono abrir/cerrar */
#page-main .col_izqda .cursor_despliegue,
#page-main .col_izqda .panel_heading_title_collapse .icono,
#page-main .col_izqda .panel_heading_title_collapse .icono_derecha {
  color: #ffffff !important;
  opacity: 0.9;
}
/* Cuerpo */
#page-main .col_izqda .boxFilter .box_body,
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-body {
  float: none !important;
  width: 100%;
  padding: 10px;
  background: #f8fafc;
  border: 0;
  box-sizing: border-box;
}
/* Listas */
#page-main .col_izqda .boxFilter .list-group,
#page-main .col_izqda .panel.panel-default .list-group,
#page-main .col_izqda .boxFilter ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  float: none !important;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Item */
#page-main .col_izqda .boxFilter .list-group-item,
#page-main .col_izqda .panel.panel-default .list-group .list-group-item,
#page-main .col_izqda .boxFilter ul li {
  position: relative;
  float: none !important;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  height: auto !important;
  margin: 0;
  padding: 0;
  color: #334155;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  box-sizing: border-box;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
#page-main .col_izqda .boxFilter .list-group-item:hover,
#page-main .col_izqda .panel.panel-default .list-group .list-group-item:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
/* Enlace de faceta */
#page-main .col_izqda .facet-links {
  display: flex !important;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  color: #334155 !important;
  text-decoration: none;
  box-sizing: border-box;
}
/* Checkbox/switchery/icono */
#page-main .col_izqda .cont_check {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  margin-right: 8px;
}
/* Texto */
#page-main .col_izqda .facet-links .cont_titulo,
#page-main .col_izqda .facet-links .titulo,
#page-main .col_izqda .list-group-item .cont_titulo {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none !important;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
  color: #334155;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Number as a colored pill badge (when tipo_badge is active) */
#page-main .col_izqda .facet-links .badge,
#page-main .col_izqda .list-group-item .badge {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 24px;
  height: 20px;
  margin-left: auto;
  padding: 0 7px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  color: #ffffff !important;
  background: #2563eb !important;
  border: 0 !important;
  border-radius: 999px;
  box-sizing: border-box;
}
/* Number as plain "(N)" text (when tipo_cifra is active) — subtle muted look */
#page-main .col_izqda .facet-links .cifra,
#page-main .col_izqda .list-group-item .cifra {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  display: inline !important;
  margin-left: auto;
  padding: 0;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
  color: var(--clr-text-muted) !important;
  background: transparent !important;
  border: 0 !important;
  flex-shrink: 0;
}
/* MS_DESIGN_FACET_DATA_TYPE — show the right number element per variant:
   • tipo_badge → show .badge, hide .cifra
   • tipo_cifra → show .cifra, hide .badge */
#page-main .col_izqda .list-group.tipo_badge .list-group-item .cifra {
  display: none !important;
}
#page-main .col_izqda .list-group.tipo_cifra .list-group-item .badge {
  display: none !important;
}
/* Seleccionado */
#page-main .col_izqda .list-group-item.item_seleccionado,
#page-main .col_izqda .list-group-item.active {
  background: #eff6ff !important;
  border-color: #2563eb !important;
  box-shadow: inset 3px 0 0 #2563eb;
}
#page-main .col_izqda .list-group-item.item_seleccionado .cont_titulo,
#page-main .col_izqda .list-group-item.active .cont_titulo {
  color: #0f172a !important;
  font-weight: 800;
}
/* Panel "Similar tipo documental" (facet_root_ms_doctype) — bug real
   (2026-08-16): sus filas son <a class="list-group-item filter-doc">
   envolviendo un <h5 class="list-group-item-heading"> DIRECTAMENTE, sin el
   <div class="facet-links"> que trae el padding interno (línea ~150) en el
   resto de facetas — y sin nada que achique el <h5> nativo del navegador
   (20px, margen 8px), muy por encima de la densidad del resto de paneles
   (~12.5px aquí arriba). El :not(:has(.facet-links)) evita duplicar el
   padding en el panel hermano "Contexto actual" (mismo .list-group-item
   .filter-doc, pero CON .facet-links) — ese ya recibe su padding de la
   regla de la línea 150 y no necesita nada más. */
#page-main .col_izqda .list-group-item.filter-doc:not(:has(.facet-links)) {
  padding: 7px 10px;
}
#page-main .col_izqda .list-group-item.filter-doc .list-group-item-heading {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: #334155 !important;
  margin: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Switchery compacto dentro de facetas */
#page-main .col_izqda .switchery {
  width: 32px !important;
  height: 18px !important;
  margin: 0;
  border-radius: 999px;
  box-shadow: none !important;
}
#page-main .col_izqda .switchery > small {
  width: 14px !important;
  height: 14px !important;
  top: 1px !important;
  border-radius: 999px;
}
#page-main .col_izqda .switchery.switchery_true > small {
  left: 16px !important;
}
#page-main .col_izqda .switchery.switchery_false > small {
  left: 1px !important;
}
/* ── Facet item layouts (MS_DESIGN_FACET_FORMAT_TYPE) ───────────
   The JSP always renders: <li> { .cont_check + .facet-links{.cont_cifra.ant + .cont_titulo + .cont_cifra.pos} }.
   Each format toggles which sub-parts are visible. */
/* tipo_check_texto_dato: check ✓ | ant ✗ | titulo ✓ | pos ✓ */
#page-main .col_izqda .list-group.tipo_check_texto_dato .cont_cifra.ant {
  display: none !important;
}
/* tipo_check_dato_texto: check ✓ | ant ✓ | titulo ✓ | pos ✗ */
#page-main .col_izqda .list-group.tipo_check_dato_texto .cont_cifra.pos {
  display: none !important;
}
/* tipo_check_texto: check ✓ | ant ✗ | titulo ✓ | pos ✗ (no number at all) */
#page-main .col_izqda .list-group.tipo_check_texto .cont_cifra.ant,
#page-main .col_izqda .list-group.tipo_check_texto .cont_cifra.pos {
  display: none !important;
}
/* tipo_texto_dato: check ✗ | ant ✗ | titulo ✓ | pos ✓ (no check, number after) */
#page-main .col_izqda .list-group.tipo_texto_dato .cont_check,
#page-main .col_izqda .list-group.tipo_texto_dato .cont_cifra.ant {
  display: none !important;
}
/* tipo_dato_texto: check ✗ | ant ✓ | titulo ✓ | pos ✗ (no check, number before) */
#page-main .col_izqda .list-group.tipo_dato_texto .cont_check,
#page-main .col_izqda .list-group.tipo_dato_texto .cont_cifra.pos {
  display: none !important;
}
/* Footer/paginación interna de filtros */
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-footer {
  padding: 8px 10px;
  background: #ffffff;
  border-top: 1px solid #e2e8f0;
}
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-footer .btn {
  height: 30px;
  min-width: 34px;
  padding: 0 10px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #1e293b !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
/* Responsive */
@media (max-width: 767.98px) {
  #page-main .col_izqda {
    padding-right: 0;
    margin-bottom: 14px;
  }
  #page-main .col_izqda .boxFilter,
  #page-main .col_izqda .panel.panel-default.panel_collapse {
    border-radius: 12px;
  }
  #page-main .col_izqda .boxFilter .box_body,
  #page-main .col_izqda .panel.panel-default.panel_collapse .panel-body {
    padding: 8px;
  }
}
/* ==============================
   Facetas: corrección visual final
   ============================== */
/* Cabecera "Resultados de búsqueda" */
#page-main .col_izqda > .titulo,
#page-main .col_izqda .titulo_general,
#page-main .col_izqda .cont_titulo,
#page-main .col_izqda .title-search-results {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 14px 0;
  padding: 18px 20px;
  color: #0f172a;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid #d8dee9;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  box-sizing: border-box;
}
#page-main .col_izqda > .titulo i,
#page-main .col_izqda .titulo_general i,
#page-main .col_izqda .cont_titulo i,
#page-main .col_izqda .title-search-results i {
  font-size: 1.4rem;
  color: #0b3f62;
}
#page-main .col_izqda > .titulo h2,
#page-main .col_izqda > .titulo h3,
#page-main .col_izqda .titulo_general h2,
#page-main .col_izqda .titulo_general h3,
#page-main .col_izqda .cont_titulo h2,
#page-main .col_izqda .cont_titulo h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: #334155;
}
/* Panel filtro */
#page-main .col_izqda .panel.panel-default.panel_collapse {
  margin-bottom: 16px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #d8dee9;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
/* Header del panel */
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-heading {
  min-height: 46px;
  padding: 0 16px;
  background: linear-gradient(135deg, #0b3f62, #0f5d8f) !important;
  border-radius: 0;
}
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_title,
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_title_collapse,
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_titulo {
  font-size: 0.82rem !important;
  font-weight: 800;
  color: #ffffff !important;
}
/* Cuerpo */
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-body {
  padding: 10px;
  background: #ffffff;
}
/* Lista sin aspecto de tabla rota */
#page-main .col_izqda .list-group {
  gap: 7px;
}
/* Item faceta */
#page-main .col_izqda .list-group .list-group-item {
  min-height: 38px;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
}
/* Enlace */
#page-main .col_izqda .list-group .list-group-item .facet-links {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 8px;
  min-height: 38px;
  padding: 7px 10px;
}
/* Texto */
#page-main .col_izqda .facet-links .cont_titulo {
  display: block;
  min-width: 0;
  max-width: 100% !important;
  font-size: 0.76rem;
  font-weight: 700;
  color: #334155;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Evita doble contador: ocultamos .cifra y dejamos solo .badge */
#page-main .col_izqda .facet-links .cifra,
#page-main .col_izqda .list-group-item .cifra {
  display: none !important;
}
/* Badge contador único */
#page-main .col_izqda .facet-links .badge,
#page-main .col_izqda .list-group-item .badge {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 20px;
  padding: 0 8px;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  color: #ffffff !important;
  background: #2563eb !important;
  border: 0 !important;
  border-radius: 999px;
  box-shadow: none;
}
/* Switch */
#page-main .col_izqda .cont_check {
  width: 34px;
  min-width: 34px;
  margin: 0;
}
#page-main .col_izqda .switchery {
  width: 34px !important;
  height: 18px !important;
  background: #94a3b8 !important;
}
#page-main .col_izqda .switchery > small {
  width: 16px !important;
  height: 16px !important;
  top: 0 !important;
  left: 0 !important;
}
#page-main .col_izqda .switchery.switchery_true {
  background: #2563eb !important;
}
#page-main .col_izqda .switchery.switchery_true > small {
  left: 16px !important;
}
/* Footer paginación interna del filtro */
#page-main .col_izqda .panel.panel-default.panel_collapse .panel-footer {
  padding: 10px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}
/* Resetea la paginación interna para que no herede la global */
#page-main .col_izqda .panel-footer .pagination,
#page-main .col_izqda .panel-footer .navbar-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
#page-main .col_izqda .panel-footer .pagination > li,
#page-main .col_izqda .panel-footer .navbar-nav > li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
}
#page-main .col_izqda .panel-footer .pagination > li > a,
#page-main .col_izqda .panel-footer .pagination > li > span,
#page-main .col_izqda .panel-footer .navbar-nav > li > a,
#page-main .col_izqda .panel-footer .navbar-nav > li > span,
#page-main .col_izqda .panel-footer .navbar-nav > li > button,
#page-main .col_izqda .panel-footer .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  min-width: 36px;
  max-width: 120px;
  padding: 0 10px !important;
  margin: 0 !important;
  font-size: 0.72rem;
  font-weight: 800;
  color: #334155 !important;
  background: #ffffff !important;
  border: 1px solid #d8dee9 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#page-main .col_izqda .panel-footer .btn.cont_label,
#page-main .col_izqda .panel-footer .pagination .num_pags {
  min-width: 110px;
  color: #64748b !important;
  background: #f1f5f9 !important;
  pointer-events: none;
}
#page-main .col_izqda .panel-footer .disabled a,
#page-main .col_izqda .panel-footer .disabled span,
#page-main .col_izqda .panel-footer .btn.disabled,
#page-main .col_izqda .panel-footer .btn[disabled] {
  opacity: 0.45;
  pointer-events: none;
  color: #94a3b8 !important;
  background: #f8fafc !important;
}
/* Hover solo en botones activos */
#page-main .col_izqda .panel-footer li:not(.disabled) > a:hover,
#page-main .col_izqda .panel-footer li:not(.disabled) > button:hover {
  color: #ffffff !important;
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
}
/* Elimina bordes redondeados heredados raros */
#page-main .col_izqda .panel-footer li:first-child a,
#page-main .col_izqda .panel-footer li:last-child a {
  border-radius: 9px !important;
}
/* ============================================================
   SEARCH PAGE â€” FILTER COLUMN  (#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda)
   ============================================================
   COMPLETE REPLACEMENT of existing facet styles (lines 919-1440).
   Higher specificity (1,3,N with :is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) prefix vs 1,2,N) wins.

   Goal: clean, compact, scannable list of filter facets matching
   the rest of the design system (white cards, accent badges,
   primary-color headers, pill-style controls).
*/
/* Outer column */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda {
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
/* "Resultados de bÃºsqueda" portlet header (hero-style card) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general {
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  margin: 0 0 0.25rem 0 !important;
  padding: 0.65rem 0.9rem !important;
  width: 100% !important;
  float: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general .cont_titulo {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  float: none !important;
  position: static !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general .cont_icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  flex-shrink: 0;
  float: none !important;
  position: static !important;
  padding: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general .cont_icono .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general .cont_icono .fa {
  color: #fff !important;
  font-size: 0.9rem !important;
  margin: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general .cont_texto {
  flex: 1 1 auto;
  min-width: 0;
  float: none !important;
  position: static !important;
  padding: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general h1,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general h2,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .portlet.titulo_general h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1.25 !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-style: normal !important;
}
/* Facet panel card */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_tipo_transparente.panel_collapse,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}
/* Panel heading */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .box_header {
  background: var(--clr-bg-subtle) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  min-height: 0;
  float: none !important;
  border-radius: 0 !important;
  display: block !important;
}
/* The collapse-toggle anchor inside the heading â€” flex row that fills the
   entire panel-heading. Layout: [icon] Â· [title fills middle] Â· [chevron at right]
   Highest specificity I can write so styles.css can never override.            */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_title_collapse,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading .panel_heading_title_collapse,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading > a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading > button,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda a.panel_heading_title_collapse {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
  gap: 0.6rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.55rem 1rem !important;
  /* comfortable horizontal padding */
  margin: 0 !important;
  background: transparent !important;
  border: 0 none !important;
  border-radius: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  color: var(--clr-primary) !important;
  cursor: pointer;
  position: relative !important;
  float: none !important;
  font-family: inherit !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.12s;
  line-height: 1.25 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading > a:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading > button:hover {
  background: var(--clr-bg-muted) !important;
}
/* Title row (h2.panel_heading_cont_title) â€” flex-grows to fill space between
   the (absolute-broken-out) filter icon and the chevron at the right.        */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_cont_title,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default .panel-heading .panel_heading_cont_title,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_heading_cont_title,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_heading_cont_title.con_icono {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  flex: 1 1 auto !important;
  flex-grow: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  /* kills .con_icono { padding-left:25px } */
  background: transparent !important;
  border: 0 none !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  position: static !important;
  cursor: pointer;
  order: 1;
}
/* Filter icon â€” sized to match text, muted color (not strong accent) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_cont_title .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_cont_title > .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_cont_title > i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_heading_cont_title .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_heading_cont_title > .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_heading_cont_title > i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-muted) !important;
  font-size: 0.85rem !important;
  line-height: 1 !important;
  flex-shrink: 0;
  margin: 0 !important;
  padding: 0 !important;
  width: auto;
  height: auto;
  opacity: 0.85;
  vertical-align: middle;
  position: static !important;
  float: none !important;
}
/* Title text — readable dark navy on light header (beats older 1,5,0 rule).
   NOTE: this targets ONLY .panel_titulo and .panel_heading_title (the actual
   text spans). It must NOT target .panel_heading_title_collapse (the <a>
   wrapper) — that one needs to stay display:flex / width:100% per the
   "anchor wrapper" rule above. Including it here would shrink the anchor
   and cause icon+title+caret to apelotonarse en el centro. */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_title,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel-default.panel_collapse .panel-heading .panel_heading_title_collapse .panel_titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .panel_heading_title {
  display: inline-flex !important;
  align-items: center;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: 0;
  line-height: 1.2 !important;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: auto !important;
  height: auto !important;
  float: none !important;
  border: 0 none !important;
  background: transparent !important;
  text-align: left !important;
  position: static !important;
  vertical-align: middle;
}
/* Collapse chevron â€” wrapper span sits at the right edge of the flex row.
   styles.css already provides the glyph via .cursor_despliegue .icono:after
   { content:"\f068" } open / { content:"\f067" } collapsed â€” so we only fix
   positioning, never add our own glyph (avoid duplicate icons). */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .icono_derecha,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .cursor_despliegue {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-muted) !important;
  background: transparent !important;
  border: none !important;
  flex-shrink: 0;
  flex-grow: 0;
  font-size: 0.75rem;
  line-height: 1 !important;
  float: none !important;
  vertical-align: middle;
  order: 99;
  /* always last in the flex row */
}
/* Inner <i class="icono"> â€” break out of styles.css { position:absolute; top:0; right:0 } */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .icono_derecha .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .icono_derecha .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .icono_derecha > i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .cursor_despliegue .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .cursor_despliegue .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .cursor_despliegue > i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading .panel_heading_title_collapse .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-heading .panel_heading_title_collapse > .icono_derecha .icono {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-muted) !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
  border: none !important;
  vertical-align: middle;
}
/* The :after pseudo-element from styles.css carries the actual chevron glyph
   â€” make sure it stays in flow (not absolutely positioned by some legacy rule) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .icono_derecha .icono::after,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-heading .cursor_despliegue .icono::after {
  position: static !important;
  display: inline-block;
  font-family: "FontAwesome", "Font Awesome 5 Free", fontawesome !important;
  font-style: normal;
  font-weight: 900;
  color: inherit !important;
}
/* Panel body */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-body,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .box_body {
  padding: 0.35rem 0.35rem !important;
  margin: 0 !important;
  background: var(--clr-bg-card) !important;
  border: none !important;
  width: 100% !important;
  float: none !important;
}
/* Facet item list */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-body .list-group,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .list-group,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul {
  display: flex !important;
  flex-direction: column;
  gap: 1px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  float: none !important;
}
/* Single facet item â€” flat row with hover, no individual borders.
   Selectors include .filter-facets explicitly so every container
   variation in the JSP is covered, and we kill border + outline +
   box-shadow at every state (rest, hover, focus, active, selected). */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group .list-group-item,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda li.filter-facets,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul li {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 none transparent !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  outline: none !important;
  float: none !important;
  position: relative;
  overflow: visible !important;
  font-size: 0.78rem;
  line-height: 1.25 !important;
  color: var(--clr-text-body);
  transition: background 0.12s;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group .list-group-item:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda li.filter-facets:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul li:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group .list-group-item:focus,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets:focus {
  background: var(--clr-bg-muted) !important;
  border: 0 none transparent !important;
  border-width: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Check / switchery / icon area on the left */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .cont_check {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px !important;
  min-width: 28px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 0 0 0.4rem !important;
  flex-shrink: 0;
  float: none !important;
  background: transparent !important;
}
/* MS_DESIGN_FACET_CHECK_TYPE — toggle which check element is visible:
   • tipo_switchery → show .switchery, hide the fa-square/check-square icon
   • tipo_icono     → show the icon, hide the .switchery toggle               */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group.tipo_switchery .list-group-item .cont_check .icono.fa-square,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group.tipo_switchery .list-group-item .cont_check .icono.fa-check-square {
  display: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group.tipo_icono .list-group-item .cont_check .switchery {
  display: none !important;
}
/* Visible icon (when tipo_icono is active) — muted check glyph */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .cont_check .icono {
  color: var(--clr-text-muted);
  font-size: 0.9rem;
}
/* When the facet is selected (.item_seleccionado), the icon switches from
   fa-square to fa-check-square; tint it accent so the choice stands out */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group.tipo_icono .list-group-item.item_seleccionado .cont_check .icono.fa-check-square {
  color: var(--clr-accent) !important;
}
/* Facet link row â€” anchor â€” completely borderless at every state */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda a.facet-links,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .filter-facets .facet-links {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  padding: 0.2rem 0.5rem 0.2rem 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  color: var(--clr-text-body) !important;
  background: transparent !important;
  border: 0 none transparent !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  width: auto !important;
  line-height: 1.25 !important;
  position: static !important;
  float: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda a.facet-links:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links:focus,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda a.facet-links:focus,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links:active {
  text-decoration: none !important;
  color: var(--clr-accent) !important;
  background: transparent !important;
  border: 0 none transparent !important;
  border-width: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Facet title text */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links .cont_titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links .titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links .enlace {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100% !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: inherit !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  border: none !important;
}
/* Hide the duplicate "(N)" number, keep only the badge */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links .cifra,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .cifra {
  display: none !important;
}
/* Single count badge on the right */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .facet-links .badge,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item .badge {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 28px;
  height: 18px;
  padding: 0 0.45rem !important;
  margin: 0 !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: var(--clr-text-body) !important;
  /* C6 (AA): --clr-text-muted (#64748b, 4.34:1) → --clr-text-body (#334155, 9.45:1) sobre --clr-bg-muted */
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  float: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item:hover .badge {
  color: var(--clr-text-body) !important;
  background: #fff !important;
  border-color: var(--clr-border) !important;
}
/* Selected (filtering) facet item */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.item_seleccionado,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.active {
  background: rgba(37, 99, 235, 0.08) !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.item_seleccionado .facet-links,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.active .facet-links {
  color: var(--clr-accent-dark) !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.item_seleccionado .cont_titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.active .cont_titulo {
  color: var(--clr-accent-dark) !important;
  font-weight: 600 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.item_seleccionado .badge,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.active .badge {
  color: #fff !important;
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
}
/* Switchery (compact pill toggle) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery {
  width: 26px !important;
  height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background-color: #cbd5e1 !important;
  border-color: #cbd5e1 !important;
  box-shadow: none !important;
  position: relative !important;
  display: inline-block !important;
  cursor: pointer;
  float: none !important;
  flex-shrink: 0;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery > small {
  width: 12px !important;
  height: 12px !important;
  top: 1px !important;
  left: 1px !important;
  background: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
  position: absolute !important;
  transition: left 0.15s;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery.switchery_true,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery_true {
  background-color: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery.switchery_true > small,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery_true > small {
  left: 13px !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery.switchery_false,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .switchery_false {
  background-color: #cbd5e1 !important;
  border-color: #cbd5e1 !important;
}
/* Panel footer â€” sort & paginate buttons */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel.panel_collapse .panel-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.4rem 0.5rem !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  position: static !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer nav {
  margin: 0;
  padding: 0;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .pagination,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .ms-pager-component,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .navbar-nav {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.25rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  float: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .pagination > li,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .ms-pager-component > li {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  flex-shrink: 0;
  float: none !important;
}
/* "1 a 5 de 12" label cell â€” flex item that vertically + horizontally centers its text */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .li_cont_label,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .label_datos,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer li[id*="pager-info"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  width: auto !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 0.4rem !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
  vertical-align: middle;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .pagination_label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.68rem !important;
  color: var(--clr-text-muted) !important;
  font-weight: 500;
  line-height: 1 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  vertical-align: middle;
}
/* All footer buttons (page-link, btn, btn_paginacion, btn_ordenacion) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn-default,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button.btn,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .ms-component-pager,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn_paginacion,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn_ordenacion {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-body) !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
  float: none !important;
  vertical-align: middle;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button.btn:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link:hover i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn:hover i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button.btn:hover i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link:hover .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link:hover .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn:hover .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn:hover .fa {
  color: #fff !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .disabled .page-link,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .disabled .btn,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .disabled button.btn,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn[disabled],
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .li_cont_button.disabled .page-link,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .li_cont_button.disabled .btn {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-border-light) !important;
  color: var(--clr-text-light) !important;
  pointer-events: none;
  opacity: 0.55;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .disabled i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .li_cont_button.disabled i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .disabled .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .disabled .fa {
  color: var(--clr-text-light) !important;
}
/* Footer button icons â€” explicit dark color, beats Bootstrap btn-default and any global .icon white rule */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .page-link .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer .btn .fa,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button i,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button .icon,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button .icono,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .panel-footer button .fa {
  color: var(--clr-text-body) !important;
  font-size: 0.85rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  background: transparent !important;
  border: none !important;
  width: auto;
  height: auto;
}
/* â”€â”€ Bookmarks / sponsored / tag-cloud side cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter.lista_bookmarks,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter.nube_tags {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .box_header {
  background: var(--clr-bg-subtle) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  padding: 0.55rem 0.85rem !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .box_header .title-component {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  background: transparent !important;
  border: none !important;
  font-family: inherit !important;
  text-transform: none !important;
  width: 100% !important;
  float: none !important;
  text-align: left !important;
}
/* Bookmark links list */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul.bookmark {
  padding: 0.35rem 0.55rem 0.55rem !important;
  margin: 0 !important;
  list-style: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul.bookmark li {
  border: none !important;
  border-radius: 0 !important;
  padding: 0.25rem 0 !important;
  background: transparent !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  min-height: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul.bookmark li:last-child {
  border-bottom: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul.bookmark .arrowList {
  color: var(--clr-text-light);
  flex-shrink: 0;
  font-size: 0.85rem;
  font-style: normal;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul.bookmark a.enlace {
  color: var(--clr-text-main) !important;
  text-decoration: none;
  font-size: 0.78rem;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter ul.bookmark a.enlace:hover {
  color: var(--clr-accent) !important;
  text-decoration: underline;
}
/* Tag cloud */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .tagcloud {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.3rem;
  padding: 0.55rem 0.85rem 0.85rem !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  float: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .tagcloud a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .tagcloud .tag {
  display: inline-flex;
  align-items: center;
  background: var(--clr-bg-muted);
  border: 1px solid var(--clr-border-light);
  border-radius: 999px;
  color: var(--clr-text-body) !important;
  padding: 0.2rem 0.65rem;
  font-size: 0.72rem;
  text-decoration: none;
  line-height: 1.3;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
  float: none !important;
  position: static !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .tagcloud a:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .boxFilter .tagcloud .tag:hover {
  background: var(--clr-accent);
  color: #fff !important;
  border-color: var(--clr-accent);
}
/* "+ Mostrar mÃ¡s" facets-pagination button */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .facets-pagination {
  text-align: center;
  padding: 0.35rem 0.55rem;
  border-top: 1px solid var(--clr-border-light);
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .facet-more {
  background: transparent;
  border: 1px solid var(--clr-accent);
  color: var(--clr-accent);
  padding: 0.25rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: 0.72rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .facet-more:hover {
  background: var(--clr-accent);
  color: #fff;
}
/* Responsive: stack columns on small screens */
@media (max-width: 991.98px) {
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda {
    gap: 0.6rem;
  }
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .barra_paginacion {
    padding: 0.45rem 0.65rem !important;
    font-size: 0.76rem;
  }
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li > a,
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination .page-link {
    min-width: 28px;
    height: 28px;
    padding: 0 0.35rem !important;
    font-size: 0.72rem;
  }
}
/*!
	@file        : _footer.less

	@description : Footer principal (.footerBack) y sub-footer corporativo
	               (.footerInfo2). Layout en 3 columnas: logo+register,
	               contact info+links, social icons+map iframe.
	               Migrado desde _mods.less (Fase 4.4).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura JSP (footer.jsp):
	  <footer.footerBack>
	    .cajaFooter#1 (logo + register button)
	    .cajaFooter#2 (contact info + utility links)
	    .cajaFooter#3 (social icons + map iframe)
	  <footer.footerInfo2>
	    .brand_info (Albadoc · mediaSearch · version · record count)

	Notas:
	- Las 2 reglas responsive .footerBack / .footerInfo2 dentro del bloque
	  RESPONSIVE ADJUSTMENTS de _mods.less se quedan ahí porque su @media
	  abarca también otros componentes (col_dcha, cont_busqueda).
---------------------------------------------------- */
/* ============================================================
   FOOTER â€” modern, clean, simple
   ============================================================
   Structure (footer.jsp):
     <footer.footerBack>
       .cajaFooter#1 (logo + register button)
       .cajaFooter#2 (contact info + utility links)
       .cajaFooter#3 (social icons + map iframe)
     <footer.footerInfo2>
       .brand_info (Albadoc · mediaSearch · version · record count)
*/
/* Wrap container â€” push the footer to the bottom of the page */
footer.footer,
.pie {
  margin-top: auto;
  flex-shrink: 0;
  width: 100%;
}
/* MS_DESIGN_FOOTER_FORMAT — when "personalizado" is selected the JSP
   includes only custom_footer.jsp (no .footerBack). Style the placeholder
   so it stays consistent with the OPAC look until the customer overrides
   custom_footer.jsp with their own HTML. */
footer.footer:not(:has(.footerBack)),
.pie:not(:has(.footerBack)) {
  background: var(--clr-primary) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  padding: 2rem 1.5rem !important;
  text-align: center;
  border-top: 3px solid var(--clr-accent);
  box-shadow: inset 0 3px 0 0 var(--clr-accent);
}
footer.footer:not(:has(.footerBack)) > p,
.pie:not(:has(.footerBack)) > p {
  margin: 0;
  padding: 1rem 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
  font-style: italic;
  letter-spacing: 0.02em;
}
/* â”€â”€ Main footer body (.footerBack) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Beats styles.css's gradient `background-image: linear-gradient(...) !important`.
   position:relative + extra padding-bottom reserves room for the absolutely-
   positioned full-width links bar (.botoneraEnlaces) at the bottom. */
.footerBack {
  background: var(--clr-primary) !important;
  background-image: none !important;
  background-color: var(--clr-primary) !important;
  color: rgba(255, 255, 255, 0.78);
  padding: 2.5rem 2rem 4rem !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  /* Subtle accent stripe at the very top edge */
  box-shadow: inset 0 3px 0 0 var(--clr-accent);
}
/* Bootstrap row negative-gutter reset (footer uses .row) */
.footerBack.row,
.footerBack {
  --bs-gutter-x: 0;
}
/* Each footer column â€” flex column, fill space evenly */
.footerBack .cajaFooter {
  display: flex !important;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0 1.25rem !important;
  margin: 0 !important;
  position: static !important;
  flex: 1 1 220px;
  min-width: 0;
}
/* Column 1: logo + register button */
.footerBack .pie_logo {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
  position: static !important;
  transform: none !important;
  margin: 0;
  padding: 0;
}
.footerBack .pie_logo .cont_logo {
  display: flex;
  align-items: center;
}
.footerBack .imgLogo00 {
  max-height: 56px;
  width: auto;
  filter: brightness(0) invert(1);
  /* render any logo as solid white */
  opacity: 0.92;
}
/* ms.design.footer.logo.style = logo_color_original (Config. de componentes >
   Apariencia): logos con colores propios (escudos, blasones) pierden todo su
   color con el filtro de arriba, pensado para logos simples de un solo trazo
   sin version blanca propia. Con esta clase se conserva el color original. */
.footerBack .imgLogo00.logo-color-original {
  filter: none;
  opacity: 1;
}
/* ms.design.footer.logo.width = logo_ancho_completo (Config. de componentes > Apariencia):
   en vez del tamano natural (max-height:56px de arriba), ocupa el 80% del
   ancho de .pie_logo (contenedor real, no auto-sizado por contenido — el
   width:80% aqui es un valor definido, asi que el flex-item no se encoge a
   su contenido pese al align-items:flex-start del padre) con hueco a los
   lados via margin. max-height se relaja (no se elimina del todo, por si el
   logo es muy vertical) para dejar que la imagen crezca con el ancho. */
.footerBack .imgLogo00.logo-full-width {
  width: 80%;
  max-width: 80%;
  max-height: 140px;
  margin: 0 10%;
}
.footerBack .textoCopy {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55);
  margin: 0;
  line-height: 1.4;
}
/* Register button (column 1) */
.footerBack .footer_register {
  margin: 0;
  padding: 0;
}
.footerBack .footer_register .btn,
.footerBack .footer_register a.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 500;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.footerBack .footer_register .btn:hover,
.footerBack .footer_register a.btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  color: #fff !important;
}
.footerBack .footer_register .btn .fa,
.footerBack .footer_register .btn i {
  color: inherit;
  font-size: 0.85rem;
}
/* Section heading (h1.tituloFooter) â€” small all-caps label */
.footerBack .tituloFooter,
h1.tituloFooter {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 0 0.65rem !important;
  padding: 0 0 0.4rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  font-family: inherit !important;
  line-height: 1.2;
}
/* Column 2: contact info â€” modern card-style rows with icon badges */
.footerBack .colCentral {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 0.55rem;
}
/* Each contact row: small icon badge on the left + content on the right */
.footerBack .colCentral .nav-item,
.footerBack .colCentral li.nav-item {
  display: flex !important;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  line-height: 1.4;
}
/* Icon badge â€” circular pill, FontAwesome glyph injected via pseudo-element.
   Default is a map-marker (used for address + any subpar custom item).
   :has() picks the right icon for phone, fax, email.

   El default tenía background rgba(255,255,255,.08) + color accent (azul) — sobre
   el fondo azul del footer apenas se distinguía. Subimos la opacidad del fondo
   y usamos blanco para el icono, así contrasta sin necesidad de hover. */
.footerBack .colCentral .nav-item::before {
  content: "\f041";
  /* fa-map-marker (address / fallback) */
  font-family: "FontAwesome", "Font Awesome 5 Free", "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin-top: 1px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.92);
  text-align: center;
  line-height: 1;
  transition: background 0.15s, color 0.15s;
}
.footerBack .colCentral .nav-item:has(.telefono_title)::before {
  content: "\f095";
  /* fa-phone */
}
.footerBack .colCentral .nav-item:has(.fax_title)::before {
  content: "\f1ac";
  /* fa-fax */
}
.footerBack .colCentral .nav-item:has(.email_title)::before {
  content: "\f0e0";
  /* fa-envelope */
}
.footerBack .colCentral .nav-item:hover::before {
  background: var(--clr-accent);
  color: #fff;
}
/* Content area beside the icon */
.footerBack .colCentral .nav-item > a,
.footerBack .colCentral .nav-item > .contCentral {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.4;
  word-break: break-word;
}
/* .contCentral inner pair: small uppercase label + value below */
.footerBack .colCentral .contCentral {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.05rem;
}
/* Label (telefono_title, fax_title, email_title, subpars_X_title) */
.footerBack .colCentral .contCentralTit,
.footerBack .colCentral .telefono_title,
.footerBack .colCentral .fax_title,
.footerBack .colCentral .email_title,
.footerBack .colCentral [class*="_title"] {
  display: block !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  line-height: 1.2 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
/* Value (telefono, fax, email, address text, contCentralCont2) */
.footerBack .colCentral .contCentralCont,
.footerBack .colCentral .contCentralCont2,
.footerBack .colCentral .telefono,
.footerBack .colCentral .fax,
.footerBack .colCentral .email {
  display: inline-block !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  text-decoration: none;
}
/* Address (single <a> with no inner .contCentral) â€” full block */
.footerBack .colCentral .nav-item > a.contCentralCont {
  display: block !important;
  flex-direction: row;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.45 !important;
}
/* Hover: tinted text on links and the email anchor */
.footerBack .colCentral a,
.footerBack .colCentral .nav-link {
  text-decoration: none !important;
  transition: color 0.15s;
}
.footerBack .colCentral a:hover,
.footerBack .colCentral .nav-link:hover,
.footerBack .colCentral .nav-item:hover .contCentralCont,
.footerBack .colCentral .nav-item:hover .contCentralCont2 {
  color: #fff !important;
}
.footerBack .colCentral a.email:hover,
.footerBack .colCentral a.contCentralCont:hover {
  text-decoration: underline !important;
}
/* Utility link bar (.botoneraEnlaces) â€” LIFTED out of column 2 to span the
   full footer width as a global links banner pinned to the bottom of
   .footerBack. The DOM still has it nested inside .cajaFooter, but
   position:absolute + the parent's position:relative + reserved
   padding-bottom keep it visually free of the columns above. */
.footerBack .botoneraEnlaces,
.footerBack nav.botoneraEnlaces,
.footerBack ul.botoneraEnlaces {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0.8rem 2rem !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 1.5rem;
  background: rgba(0, 0, 0, 0.18);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  z-index: 2;
  box-sizing: border-box;
}
.footerBack .itemNavEnlace {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  position: relative;
}
/* Subtle dot separator between links — use Unicode escape for the
   middle dot (U+00B7) so it doesn't depend on the file encoding.
   Symmetric margin so the dot floats centered between both links. */
.footerBack .itemNavEnlace + .itemNavEnlace::before {
  content: '\00B7';
  color: rgba(255, 255, 255, 0.3);
  margin: 0 0.9rem;
  font-weight: 700;
  pointer-events: none;
}
.footerBack .itemNavEnlace a,
.footerBack .itemNavEnlace .nav-link {
  display: inline-block;
  padding: 0 !important;
  font-size: 0.76rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 0.15s;
  line-height: 1.4;
  white-space: nowrap;
}
.footerBack .itemNavEnlace a:hover,
.footerBack .itemNavEnlace .nav-link:hover {
  color: #fff !important;
  text-decoration: underline;
}
/* Column 3: social icons */
.footerBack .socialFooter,
.socialFooter {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  /* beats styles.css `margin-left: 14% !important` */
  margin-left: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.footerBack .socialFooter li {
  margin: 0 !important;
  padding: 0 !important;
}
.footerBack .socialFooter li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.footerBack .socialFooter li a:hover {
  background: var(--clr-accent);
  color: #fff !important;
  transform: translateY(-1px);
}
/* Icono del album de sistema SOCIAL_RRSS (subido por el admin, o el SVG
   moderno bundled que ImageManager.getStaticImageDefault sirve por defecto
   para cada red — ver AlbumManager.createSocialDefaultDetail): mismo hueco
   de 18x18 que ya ocupa el fallback inline (.bi de abajo). filter en blanco
   igual que .imgLogo00 (el logo del pie): fuerza cualquier icono, tenga los
   colores que tenga, a silueta blanca solida y consistente con el resto del
   pie — object-fit:contain evita que se deforme si la proporcion subida no es 1:1. */
.footerBack .socialFooter .social-icon-custom {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.footerBack .socialFooter .bi {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
/* Map (column 3, optional) */
.footerBack .cont_mapa {
  margin-top: 0.85rem;
  padding: 0 !important;
  width: 100%;
  max-width: 100%;
  display: block;
}
.footerBack .cont_mapa .enlace,
.footerBack .cont_mapa a {
  display: block;
  width: 100%;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.footerBack .cont_mapa iframe.mapaFooter {
  display: block;
  width: 100% !important;
  height: 200px !important;
  border: none !important;
  filter: grayscale(0.2) brightness(0.95);
}
.footerBack .cont_mapa img.g_maps {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
}
/* â”€â”€ Corporate sub-footer (.footerInfo2) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* "Albadoc · mediaSearch · version · record count" strip */
footer.footerInfo2,
.footerInfo2 {
  background: rgba(0, 0, 0, 0.22) !important;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.72rem;
  padding: 0.65rem 1.5rem !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1rem;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
/* The .brand_info div is positioned absolutely by Bootstrap utility classes â€”
   reset to in-flow flex so it lays out cleanly on every screen */
.brand_info,
footer.footerInfo2 .brand_info {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1rem;
  position: static !important;
  transform: none !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100%;
  border: none !important;
}
.brand_info > div,
.brand_info > .col-md-4 {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  width: auto !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.18);
  padding-left: 1rem !important;
}
.brand_info > div:first-child,
.brand_info > .col-md-4:first-child {
  border-left: none !important;
  padding-left: 0 !important;
}
/* Albadoc link */
.urlAlbadoc {
  display: inline-flex;
  align-items: center;
  margin: 0 !important;
  font-size: 0.72rem !important;
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color 0.15s;
}
.urlAlbadoc:hover {
  color: #fff !important;
  text-decoration: none !important;
}
.brand_info .urlAlbadoc + .urlAlbadoc,
.brand_info .text-white-50.urlAlbadoc {
  font-weight: 400;
  color: rgba(255, 255, 255, 0.55) !important;
}
/* "X registros / Última actualización" info on the right */
.brand_info .text-white-50,
.footerInfo2 .text-white-50 {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 0.72rem;
  font-weight: 400;
}
.brand_info .text-white-50 i,
.footerInfo2 .text-white-50 i {
  font-style: normal;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.78);
}
/* â”€â”€ Responsive â€” stack on small screens â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 767.98px) {
  /* Reserve a bit more bottom padding because the global links bar wraps */
  .footerBack {
    padding: 1.75rem 1rem 5.5rem !important;
  }
  .footerBack .cajaFooter {
    padding: 0 !important;
    margin-bottom: 1.25rem !important;
    flex: 1 1 100%;
  }
  .footerBack .cajaFooter:last-child {
    margin-bottom: 0 !important;
  }
  /* Global links bar â€” keep absolute positioning, just adjust spacing */
  .footerBack .botoneraEnlaces,
  .footerBack nav.botoneraEnlaces,
  .footerBack ul.botoneraEnlaces {
    padding: 0.65rem 1rem !important;
    gap: 0.15rem 1rem;
  }
  .footerBack .itemNavEnlace + .itemNavEnlace::before {
    margin: 0 0.6rem;
  }
  .footerBack .cont_mapa iframe.mapaFooter {
    height: 180px !important;
  }
  footer.footerInfo2 {
    padding: 0.55rem 1rem !important;
  }
  .brand_info {
    gap: 0.25rem 0.5rem;
  }
  .brand_info > div,
  .brand_info > .col-md-4 {
    border-left: none !important;
    padding-left: 0 !important;
    width: 100% !important;
    justify-content: center;
  }
}
/* â”€â”€ Misc footer quality fixes â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* footerInfo2 bottom bar */
.footerInfo2 {
  background: rgba(0, 0, 0, 0.22) !important;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  padding: 0.65rem 2rem !important;
  text-align: center;
}
/* Keep nav items in footer horizontal (not Bootstrap column) */
.footerBack .nav.flex-column .nav-item {
  width: 100%;
}
/* Bootstrap row negative margin reset inside the footer */
.footerBack.row {
  --bs-gutter-x: 0;
}
/* ── Responsive (consolidado desde _mods.less RESPONSIVE ADJUSTMENTS) ── */
@media (max-width: 767.98px) {
  .footerBack {
    padding: 1.5rem 1rem 0.75rem !important;
  }
  .footerInfo2 {
    padding: 0.5rem 1rem !important;
  }
}
/*!
	@file        : _index_hero.less

	@description : Hero aside del index (.doc_index #busqueda):
	                  contenedor, imagen de fondo (.busqueda_back),
	                  textos centrales (titulo + subtitulo + cuerpo),
	                  formulario de búsqueda (.search-ppal),
	                  variantes dos_columnas / busqueda_componente_simple|multiple.
	               Migrado desde _mods.less (Fase 4.6).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura JSP (index.jsp):
	  <aside id="cont_busqueda" class="doc_index">
	    <div id="busqueda">
	      <div class="busqueda_back">      ← imagen + scrim
	        <picture>...</picture>
	      </div>
	      <div class="cont_central">
	        <div class="cont_textos">
	          <div class="cont_titulo">titulo / subtitulo</div>
	          <div class="cont_cuerpo">  ← párrafos descriptivos</div>
	          <div class="cont_botonera">
	            <a class="btn_saberMas">...</a>
	          </div>
	        </div>
	      </div>
	      <div class="busqueda search-ppal">
	        <form>...</form>
	      </div>
	    </div>
	  </aside>

	Notas:
	- El contenido principal del index (.doc_index #page-main, custom_collections,
	  cont_paneles, cont_sliders, cont_social, etc.) sigue en _mods.less hasta
	  fases posteriores.
	- El SEARCH FORM AREA del aside en páginas de resultados
	  (:is(.doc_search, .doc_mosaic, ...) #busqueda) NO está aquí — es otro
	  bloque distinto que sigue en _mods.less.
---------------------------------------------------- */
/* ============================================================
   INDEX PAGE — HERO ASIDE  (index.jsp — doc_index)
   ============================================================ */
/*
  styles.css legacy problems we must override explicitly:
    · .cont_busqueda            { float:left; background:#fff }
    · .cont_busqueda .busqueda  { float:left; height:100% }
    · .busqueda_back            { display:none }
    · .search-ppal .cont_busquedas { width:90%; max-width:740px; margin:auto }
    · .search-ppal .cont_input  { float:right; height:55px; padding-right:180px }
    · .search-ppal .cont_input .botonera_search { position:absolute; width:180px }
    · .search-ppal .cont_input .input-group-addon { float:left; height:45px }

  All overrides use the ID #busqueda (specificity 1,x,0) or #cont_busqueda
  so they win over .cont_busqueda .busqueda (0,2,0) without needing !important
  on most properties — only used where styles.css itself has !important.

  JS in index.jsp sets margin-top = header.offsetHeight when header is absolute.
*/
/* ── 1. ASIDE wrapper ──────────────────────────────────────── */
#cont_busqueda.doc_index {
  float: none !important;
  /* beats .cont_busqueda { float:left } */
  position: relative !important;
  width: 100% !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible;
  /* must be visible — hidden clips typeahead/dropdowns */
  /* margin-top controlled dynamically by syncAside() in index.jsp */
}
/* ── 2. #busqueda: the hero container ──────────────────────── */
#busqueda {
  /* Reset floats from .cont_busqueda .busqueda { float:left; height:100% } */
  float: none !important;
  height: auto !important;
}
.doc_index #busqueda {
  position: relative;
  width: 100% !important;
  min-height: 62vh;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: visible;
  /* must be visible — hidden clips typeahead/dropdown menus */
}
/* ── 3. .busqueda_back: the background image layer ─────────── */
/* styles.css hides ALL .busqueda_back with display:none — show it here */
.doc_index #busqueda .busqueda_back {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
  overflow: hidden;
  float: none !important;
}
/* Gradient scrim so content text is always readable */
.doc_index #busqueda .busqueda_back::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(160deg, rgba(11, 63, 98, 0.55) 0%, rgba(0, 0, 0, 0.52) 100%);
  z-index: 1;
}
/* <picture> children of .busqueda_back fill it completely */
.doc_index #busqueda .busqueda_back picture {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  float: none !important;
}
.doc_index #busqueda .busqueda_back picture.oculto {
  display: none !important;
}
.doc_index #busqueda .busqueda_back picture.active {
  display: block !important;
}
.doc_index #busqueda .busqueda_back picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  float: none !important;
}
/* ── 4. Content above the background ──────────────────────── */
/* Every direct child of #busqueda except .busqueda_back sits above it */
.doc_index #busqueda > *:not(.busqueda_back) {
  position: relative;
  z-index: 2;
  width: 100%;
  float: none !important;
}
/* ── 5. Welcome / central text ─────────────────────────────── */
/*
  Use #busqueda (ID = 100pts) to beat styles.css specificity of 0,5,0 on all
  cont_central / cont_titulo / subtitulo / cont_botonera rules.
*/
.doc_index #busqueda .cont_central {
  /* padding-top fijo (2.5rem, igual que siempre): es el propio "lienzo" del
     radial-gradient de abajo, afinado para esa altura de caja. El espaciado
     configurable (--ms-hero-extra-top, ms.design.index.hero.spacing) se aplica
     como MARGIN, no como padding: así toda la caja (con su halo ya afinado
     dentro) se desplaza en bloque hacia abajo, sin recalcular ni desproporcionar
     el degradado. Por defecto 0 = igual que antes de esta opcion. */
  padding: 2.5rem 1.5rem 1rem;
  margin: 0 auto;
  margin-top: var(--ms-hero-extra-top, 0px);
  text-align: center;
  max-width: 860px;
  width: auto !important;
  float: none !important;
  /* C3 (AA garantizado): además del scrim de .busqueda_back::after (que basta con
     imágenes oscuras pero NO si el cliente pone una imagen clara), añadimos un halo
     oscuro SUAVE detrás del propio contenido, que se desvanece a transparente antes
     de los bordes (sin caja dura). En el peor caso (imagen 100% blanca) el centro
     queda a rgba(0,0,0,.55) → texto blanco 4.76:1 (AA); apilado con el overlay de la
     imagen sube muy por encima. En imágenes oscuras solo profundiza levemente.
     Fijo a propósito (NO ligado a --ms-hero-overlay-max ni al espaciado): da
     contraste al texto siempre, independientemente de cuánto se oscurezca el
     resto de la imagen o de cuánto se separe la caja del header (eso ya lo
     resuelve el margin-top de arriba, moviendo el halo en bloque con el resto). */
  background: radial-gradient(ellipse 130% 118% at 50% 42%, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.32) 46%, rgba(0, 0, 0, 0) 78%);
}
/* cont_textos: flex column so all children stack */
.doc_index #busqueda .cont_textos {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  float: none !important;
  height: auto !important;
  padding: 0 !important;
}
/* cont_titulo: flex column, strip legacy aliceblue border + background */
.doc_index #busqueda .cont_titulo {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5rem;
  width: 100% !important;
  float: none !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0.75rem;
  text-align: center !important;
}
/* titulo: force block, strip float so subtitulo goes below */
.doc_index #busqueda .cont_titulo .titulo {
  display: block !important;
  float: none !important;
  width: 100% !important;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 700;
  color: #fff !important;
  line-height: 1.2;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  margin: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
}
/* subtitulo: force block below titulo, thin separator */
.doc_index #busqueda .cont_titulo .subtitulo {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  font-size: clamp(0.88rem, 2vw, 1.1rem);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.38);
  margin: 0 !important;
  padding-top: 0.5rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
  text-align: center !important;
  font-family: inherit !important;
  text-decoration: none !important;
}
/* cont_cuerpo body text */
.doc_index #busqueda .cont_cuerpo .texto {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
/* cont_botonera: strip any legacy border/background, inline-block */
.doc_index #busqueda .cont_botonera {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  float: none !important;
  width: auto !important;
  display: inline-block !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
/* btn_saberMas: single clean border, no expansion on hover */
.doc_index #busqueda .cont_botonera .btn_saberMas {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  color: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.88rem;
  padding: 0.5rem 1.4rem !important;
  text-decoration: none !important;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
  outline: none !important;
  box-shadow: none !important;
  width: auto !important;
  transform: none !important;
}
.doc_index #busqueda .cont_botonera .btn_saberMas:hover,
.doc_index #busqueda .cont_botonera .btn_saberMas:focus,
.doc_index #busqueda .cont_botonera .btn_saberMas:active {
  background: rgba(255, 255, 255, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  color: #fff !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  width: auto !important;
  transform: none !important;
  padding: 0.5rem 1.4rem !important;
}
/* ── 5b. dos_columnas — editorial 2-column layout ──────────── */
/*
   When .cont_central has class .dos_columnas, switch from the default
   stacked single column to a 2-column grid: title on the left (right-
   aligned, against a vertical divider) and body+button on the right
   (left-aligned). Collapses to single column on mobile.

   styles.css legacy rules to beat (specificity 0,5,0 = 50):
     .cont_busqueda.doc_index .cont_central.dos_columnas        — flex column, max-width 850px
     .cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos    — float left
     .cont_busqueda.doc_index .cont_central.dos_columnas .cont_titulo    — width 50%, padding-right 38px, text-align right
     .cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .titulo
                                                                — font-family open_sans_bold, 3.6rem, color #fefefe
     .cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .subtitulo
                                                                — font-size 1rem, color cadetblue, blink
     .cont_busqueda.doc_index .cont_central.dos_columnas .cont_textos .cont_cuerpo
                                                                — float right, width 50%, padding 38px, border-left 2px white
     .cont_busqueda.doc_index .cont_central.dos_columnas ... .cont_botonera
                                                                — width 100%, border-bottom 3px white .5
   We win with #busqueda (1 ID = 100pts) in every selector.
*/
.doc_index #busqueda .cont_central.dos_columnas {
  max-width: 980px !important;
  width: auto !important;
  /* margin-left/right (no el shorthand "margin"): "margin:0 auto" resetearia a 0
     el margin-top de --ms-hero-extra-top puesto en la regla base .cont_central. */
  margin-left: auto !important;
  margin-right: auto !important;
}
.doc_index #busqueda .cont_central.dos_columnas .cont_textos {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
  flex-direction: initial !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  float: none !important;
}
/* Col 1 — title block: aligned right, padded against the divider */
.doc_index #busqueda .cont_central.dos_columnas .cont_titulo {
  display: block !important;
  float: none !important;
  width: 100% !important;
  padding: 0.5rem 1.75rem 0.5rem 0.5rem !important;
  margin: 0 !important;
  text-align: right !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}
.doc_index #busqueda .cont_central.dos_columnas .cont_titulo .titulo {
  display: block !important;
  float: none !important;
  width: 100% !important;
  text-align: right !important;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: #ffffff !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.1;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  margin: 0 !important;
}
.doc_index #busqueda .cont_central.dos_columnas .cont_titulo .subtitulo {
  display: block !important;
  float: none !important;
  width: 100% !important;
  text-align: right !important;
  font-size: clamp(0.85rem, 1.6vw, 1rem);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.82) !important;
  font-family: inherit !important;
  text-decoration: none !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.38);
  margin: 0.4rem 0 0 !important;
  padding: 0 !important;
  border: none !important;
}
/* Col 2 — body block: aligned left, vertical divider on the left edge */
.doc_index #busqueda .cont_central.dos_columnas .cont_cuerpo {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  padding: 0.5rem 0.5rem 0.5rem 1.75rem !important;
  margin: 0 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-bottom: none !important;
  text-align: left !important;
}
.doc_index #busqueda .cont_central.dos_columnas .cont_cuerpo .texto {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  text-align: left !important;
  margin: 0 0 0.9rem !important;
  font-family: inherit !important;
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.doc_index #busqueda .cont_central.dos_columnas .cont_cuerpo .cont_botonera {
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: 0 !important;
}
/* Mobile (<768px): collapse to single column, swap divider to top */
@media (max-width: 767.98px) {
  .doc_index #busqueda .cont_central.dos_columnas .cont_textos {
    grid-template-columns: 1fr !important;
  }
  .doc_index #busqueda .cont_central.dos_columnas .cont_titulo,
  .doc_index #busqueda .cont_central.dos_columnas .cont_titulo .titulo,
  .doc_index #busqueda .cont_central.dos_columnas .cont_titulo .subtitulo {
    text-align: center !important;
    padding-right: 0.5rem !important;
  }
  .doc_index #busqueda .cont_central.dos_columnas .cont_cuerpo {
    border-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding: 1rem 0.5rem 0.5rem !important;
    margin-top: 1rem !important;
    text-align: center !important;
  }
  .doc_index #busqueda .cont_central.dos_columnas .cont_cuerpo .texto,
  .doc_index #busqueda .cont_central.dos_columnas .cont_cuerpo .cont_botonera {
    text-align: center !important;
  }
}
/* ── 5c. busqueda_componente_simple vs _multiple ───────────── */
/*
   The form HTML is identical in both variants — only difference is what
   the .botonera_search > .dropdown contains:
     • simple   → dropdown only contains a redundant submit button
     • multiple → dropdown contains additional field-filter <select>s
   In simple mode we hide the dropdown entirely so the bar collapses to
   a clean [ input | 🔍 lupa ] pair. In multiple it stays as
   [ input | ☰ sliders | 🔍 lupa ].
   Applies in both the index hero and the header bar (search/mosaic/doc/advanced). */
/* Boost specificity to beat:
   • .doc_index #busqueda .cont_input .botonera_search .dropdown { display:flex !important }   (140)
   • :is(.doc_search,...) .search-ppal .botonera_search .dropdown { display:flex !important }  (40)  */
.doc_index #busqueda .cont_input.busqueda_componente_simple .botonera_search .dropdown,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info) .search-ppal .cont_input.busqueda_componente_simple .botonera_search .dropdown {
  display: none !important;
}
/* ── 6. Search form inside the hero ────────────────────────── */
/*
  styles.css rules to beat (specificity .cont_busqueda .busqueda .search-ppal "¦ = 0,3-5,0):
    .search-ppal            { position:relative; display:block; text-align:center; z-index:10 }
    .cont_busquedas         { float:none; display:flex; flex-direction:column; margin:auto;
                               width:90%; max-width:740px }
    .cont_input             { position:relative; float:right; width:100%; height:55px;
                               margin-bottom:0; padding-right:180px }
    .botonera_search        { position:absolute; top:0; width:180px; height:100%; border:2px solid "¦ }
    .input-group-addon      { position:relative; float:left; height:45px; "¦ }
  We win with #busqueda (ID = 100pts) in every selector.
*/
/* search-ppal root — make it a full-width flex column centred */
.doc_index #busqueda #search-ppal,
.doc_index #busqueda .search-ppal {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  width: 100% !important;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 1.5rem 1.5rem;
  text-align: left;
  z-index: 10;
  float: none !important;
}
/* The form itself should be full width */
.doc_index #busqueda #site-search {
  width: 100% !important;
}
/* cont_busquedas — full width, no max-width cap from styles.css */
.doc_index #busqueda .cont_busquedas {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
/* cont_input — flex row [input | buttons], NOT float:right / height:55px */
.doc_index #busqueda .cont_input {
  position: relative !important;
  float: none !important;
  display: flex !important;
  align-items: stretch;
  width: 100% !important;
  height: auto !important;
  min-height: 48px;
  padding-right: 0 !important;
  margin-bottom: 0;
  background: #fff;
  border-radius: var(--radius-md);
  overflow: visible;
  /* must be visible — overflow:hidden clips typeahead/dropdown menus */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22);
}
/* Text input — fills available width */
.doc_index #busqueda .cont_input > .form-control,
.doc_index #busqueda .cont_input > #q {
  flex: 1 1 auto !important;
  min-width: 0;
  float: none !important;
  width: auto !important;
  height: 48px !important;
  border: none !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-size: 0.95rem;
  padding: 0.5rem 1.1rem;
  box-shadow: none !important;
  color: var(--clr-text-main);
}
.doc_index #busqueda .cont_input > .form-control::placeholder,
.doc_index #busqueda .cont_input > #q::placeholder {
  color: var(--clr-text-light);
}
/* twitter-typeahead wrapper injected by typeahead.js around #q */
.doc_index #busqueda .cont_input .twitter-typeahead {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
  min-width: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
/* Actual input and ghost hint inside typeahead */
.doc_index #busqueda .cont_input .tt-input,
.doc_index #busqueda .cont_input .tt-hint {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 48px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  padding: 0.5rem 1.1rem !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--clr-text-main) !important;
}
.doc_index #busqueda .cont_input .tt-hint {
  color: var(--clr-text-light) !important;
}
.doc_index #busqueda .cont_input .tt-input:focus {
  box-shadow: none !important;
  outline: none !important;
}
/* botonera_search — static flex child, NOT position:absolute / width:180px */
.doc_index #busqueda .cont_input .botonera_search {
  position: static !important;
  float: none !important;
  display: flex !important;
  align-items: stretch;
  width: auto !important;
  height: auto !important;
  border: none !important;
  border-radius: 0;
  flex-shrink: 0;
}
/* Dropdown wrapper inside botonera */
.doc_index #busqueda .cont_input .botonera_search .dropdown {
  position: relative !important;
  float: none !important;
  display: flex !important;
  align-items: stretch;
  width: auto !important;
  height: auto !important;
}
/* Sliders / field-selector button */
.doc_index #busqueda .cont_input .input-group-addon.seleccion {
  position: static !important;
  float: none !important;
  display: flex !important;
  align-items: center;
  width: auto !important;
  height: 48px !important;
  padding: 0 0.9rem !important;
  background: #fff !important;
  border: none !important;
  border-left: 1px solid var(--clr-border-light) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #475569 !important;
  font-size: 0.88rem;
  opacity: 1 !important;
  transition: background 0.15s, color 0.15s;
}
.doc_index #busqueda .cont_input .input-group-addon.seleccion:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-primary) !important;
}
/* Force icon to be visible (dark) — beats any global .icono/white overrides */
.doc_index #busqueda .cont_input .input-group-addon.seleccion i,
.doc_index #busqueda .cont_input .input-group-addon.seleccion .fa,
.doc_index #busqueda .cont_input .input-group-addon.seleccion .icono {
  color: #475569 !important;
  font-size: 1rem !important;
  margin: 0 !important;
}
/* Submit (magnifier) button — right-end: rounded on right side
   Use the corporate primary blue (suave Albadoc) instead of the
   bright accent — the bright #2563eb was visually too brusque next
   to the soft cream backgrounds. */
.doc_index #busqueda .cont_input .input-group-addon.lupa.btn_componente_simple {
  position: static !important;
  float: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: auto !important;
  height: 48px !important;
  padding: 0 1.2rem !important;
  background-color: var(--clr-primary) !important;
  border: none !important;
  border-color: transparent !important;
  border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 600;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background 0.15s;
}
.doc_index #busqueda .cont_input .input-group-addon.lupa.btn_componente_simple:hover,
.doc_index #busqueda .cont_input .input-group-addon.lupa.btn_componente_simple:focus {
  background-color: var(--clr-primary-mid) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
/* Fix icon margin set with !important in styles.css */
.doc_index #busqueda .cont_input .input-group-addon.lupa.btn_componente_simple .fa,
.doc_index #busqueda .cont_input .input-group-addon.lupa.btn_componente_simple i {
  color: #fff !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
}
/* Dropdown menu for field selects inside the hero (seleccion button) */
.doc_index #busqueda .dropdown-menu {
  position: absolute !important;
  z-index: 1050 !important;
  background: #fff !important;
  border-radius: var(--radius-md);
  border: 1px solid var(--clr-border);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);
  padding: 0.5rem 0;
  font-size: 0.84rem;
  min-width: 220px;
}
.doc_index #busqueda .dropdown-menu .form-group {
  padding: 0.4rem 0.75rem;
  margin: 0;
}
.doc_index #busqueda .dropdown-menu label {
  color: var(--clr-text-body);
  font-size: 0.8rem;
}
.doc_index #busqueda .dropdown-menu select.form-control {
  font-size: 0.84rem;
}
.doc_index #busqueda .dropdown-menu .dropdown_botonera {
  padding: 0.4rem 0.75rem;
  border-top: 1px solid var(--clr-border-light);
  margin-top: 0.25rem;
}
/* Twitter typeahead suggestion list */
.doc_index #busqueda .tt-menu,
.doc_index #busqueda .tt-dropdown-menu {
  position: absolute !important;
  z-index: 1050 !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 100% !important;
  background: #fff !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16) !important;
  padding: 0.3rem 0 !important;
  font-size: 0.9rem;
  max-height: 320px;
  overflow-y: auto;
}
.doc_index #busqueda .tt-suggestion {
  padding: 0.45rem 1rem;
  cursor: pointer;
  color: var(--clr-text-body);
}
.doc_index #busqueda .tt-suggestion:hover,
.doc_index #busqueda .tt-suggestion.tt-cursor {
  background: var(--clr-bg-muted);
  color: var(--clr-accent);
}
.doc_index #busqueda .tt-empty-message {
  padding: 0.6rem 1rem;
  color: var(--clr-text-light);
  font-size: 0.84rem;
}
/* ── Filter row (tipo_en_linea) on index — match the .tipo_columnas
   look (32px translucent pill row) so both options are visually coherent */
.doc_index #busqueda .tipo_en_linea {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0.5rem;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0.65rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  box-sizing: border-box;
}
/* When group_checks.enabled = false, JSP renders just the advanced
   button with .justify-content-end — keep that behaviour */
.doc_index #busqueda .tipo_en_linea.justify-content-end {
  justify-content: flex-end !important;
}
/* Filter group container — translucent pill that fills the row */
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros,
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros.tipo_checks_boton {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  height: 32px;
  min-height: 32px;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: var(--radius-sm);
  overflow: hidden;
  float: none !important;
  position: relative;
  transition: background 0.15s, border-color 0.15s;
}
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.6);
}
/* Inner check row — flex row of filter chips */
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros .cont_checks {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  text-align: left !important;
}
/* Each filter option: inline chip with thin right divider */
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  height: 100%;
  margin: 0 !important;
  padding: 0 0.75rem !important;
  flex: 0 0 auto;
  width: auto !important;
  white-space: nowrap;
  cursor: pointer;
  float: none !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
  transition: background 0.15s;
  position: relative;
}
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group:last-child {
  border-right: none !important;
}
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
/* Hide the actual radio input (legacy uses .oculto, we belt-and-braces) */
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group > input[type="radio"].oculto,
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group > input[type="radio"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute;
  opacity: 0;
}
/* Filter labels (works on <button> and <label>) */
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros.tipo_checks_boton .control-label,
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros.tipo_checks_boton label.control-label,
.doc_index #busqueda .tipo_en_linea .cont_grupo_filtros.tipo_checks_boton button.control-label {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.78rem !important;
  font-weight: 500;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  float: none !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  line-height: 1 !important;
  white-space: nowrap;
  outline: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
/* Switchery dot indicator before the label — small white dot */
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group .switchery {
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group .switchery > small {
  display: none !important;
}
.doc_index #busqueda .tipo_en_linea .cont_checks .form-group .switchery.switchery_true {
  background: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.5);
}
/* Advanced search button — same pill style as in tipo_columnas */
.doc_index #busqueda .tipo_en_linea .btn_avanzada {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  flex: 0 0 auto;
  height: 32px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.78rem !important;
  padding: 0 0.85rem !important;
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1 !important;
  outline: none !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  transition: background 0.18s, border-color 0.18s;
}
.doc_index #busqueda .tipo_en_linea .btn_avanzada:hover,
.doc_index #busqueda .tipo_en_linea .btn_avanzada:focus {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
.doc_index #busqueda .tipo_en_linea .btn_avanzada .icono,
.doc_index #busqueda .tipo_en_linea .btn_avanzada .titulo,
.doc_index #busqueda .tipo_en_linea .btn_avanzada > i,
.doc_index #busqueda .tipo_en_linea .btn_avanzada > .fa {
  color: inherit !important;
  background: transparent !important;
  text-shadow: none !important;
  position: static !important;
  font-size: inherit !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center;
}
/* ── tipo_columnas: two-column filter row ──────────────────── */
/* Beats styles.css: .cont_busqueda .busqueda .search-ppal .tipo_columnas { display:table; max-width:740px; padding:0 20px } (0,4,0) */
.doc_index #busqueda .tipo_columnas {
  display: flex !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0.6rem 0 0 !important;
  padding: 0 !important;
}
.doc_index #busqueda .tipo_columnas .cont_columns {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 0.75rem;
}
/* Equal-width columns, stretch to match each other's height */
.doc_index #busqueda .tipo_columnas .col {
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: stretch !important;
  min-width: 0;
  padding: 0 !important;
}
/* Left column — unwrap form-group nesting into a single flex stretch */
.doc_index #busqueda .tipo_columnas .col_izqda .form-group,
.doc_index #busqueda .tipo_columnas .col_izqda .cont_select,
.doc_index #busqueda .tipo_columnas .col_izqda .filtro_select_busquedas {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Select: compact 32px height (the search bar above is 48px, but this filter
   row is secondary so we keep it lower-profile) */
.doc_index #busqueda .tipo_columnas .col_izqda select.form-control,
.doc_index #busqueda .tipo_columnas .col_izqda select.seleccion {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(255,255,255,0.75)' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.7rem center !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0 1.85rem 0 0.7rem !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  /* Beat legacy: .tipo_columnas .cont_select select { top: 3px } */
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.doc_index #busqueda .tipo_columnas .col_izqda select.form-control:hover,
.doc_index #busqueda .tipo_columnas .col_izqda select.seleccion:hover {
  background-color: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}
.doc_index #busqueda .tipo_columnas .col_izqda select.form-control option,
.doc_index #busqueda .tipo_columnas .col_izqda select.seleccion option {
  background: #fff !important;
  color: var(--clr-text-body) !important;
}
/* ── Filtro de rango de años (form_busqueda.jsp, field.searchRangeYear) ─────
   Mismo look que .tipo_en_linea/.tipo_columnas (pill translucida), pero con
   layout propio porque son dos inputs + "y" en vez de un select/checks. */
.doc_index #busqueda .filtro_rango_anyos {
  align-items: center !important;
  gap: 0.6rem;
}
.doc_index #busqueda .filtro_rango_anyos_label {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.78rem !important;
  font-weight: 500;
  white-space: nowrap;
  margin: 0 !important;
}
.doc_index #busqueda .filtro_rango_anyos .form-group.range {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
}
.doc_index #busqueda .filtro_rango_anyos_y {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.78rem !important;
}
.doc_index #busqueda .filtro_rango_anyos input.datepicker-year {
  width: 96px !important;
  height: 32px !important;
  padding: 0 0.7rem !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.78rem !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.doc_index #busqueda .filtro_rango_anyos input.datepicker-year::placeholder {
  color: rgba(255, 255, 255, 0.55) !important;
}
.doc_index #busqueda .filtro_rango_anyos input.datepicker-year:hover,
.doc_index #busqueda .filtro_rango_anyos input.datepicker-year:focus {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  outline: none !important;
}
@media (max-width: 575.98px) {
  .doc_index #busqueda .filtro_rango_anyos {
    flex-wrap: wrap;
    justify-content: center;
  }
}
/* Right column — button fills column fully */
.doc_index #busqueda .tipo_columnas .col_dcha {
  display: flex !important;
}
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  flex: 1 1 auto !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.78rem !important;
  padding: 0 0.85rem !important;
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.18s, border-color 0.18s;
  /* Beat legacy: .tipo_columnas .btn:not(.dropdown-toggle){margin-top:3px} */
  margin: 0 !important;
  position: static !important;
  top: auto !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada:hover,
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada:focus {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada .icono,
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada .titulo,
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada > i,
.doc_index #busqueda .tipo_columnas .col_dcha .btn_avanzada > .fa {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  color: inherit !important;
  font-size: inherit !important;
  vertical-align: middle;
}
/* ── 7. Scroll-down indicator ──────────────────────────────── */
.doc_index #busqueda .cont_botonera_centrada {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  padding: 0.75rem 0 1.75rem;
  float: none !important;
  width: 100% !important;
}
.doc_index #busqueda .cont_botonera_centrada .deslize_text {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.72rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.doc_index #busqueda .cont_botonera_centrada .btn_desplace {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s;
  animation: idxBounce 2s ease-in-out infinite;
}
.doc_index #busqueda .cont_botonera_centrada .btn_desplace:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  color: #fff;
  animation-play-state: paused;
}
/* btn-down_01 (noicon variant) — "scroll mouse" pill with animated inner dot
   Override .btn_desplace defaults (40Ã—40 circle, bounce) with higher
   specificity, and replace the outer bounce with an inner dot animation. */
.doc_index #busqueda .cont_botonera_centrada .btn-down_01 {
  width: 26px !important;
  height: 42px !important;
  border-radius: 14px !important;
  padding: 7px 0 0 !important;
  margin-top: 1.75rem;
  /* breathing room from .deslize_text */
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
  animation: none !important;
  /* inner dot animates instead */
}
.doc_index #busqueda .cont_botonera_centrada .btn-down_01 .boton {
  display: block;
  width: 4px;
  height: 8px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.88);
  animation: idxScrollDot 1.6s ease-in-out infinite;
}
.doc_index #busqueda .cont_botonera_centrada .btn-down_01:hover .boton {
  animation-play-state: paused;
  background: #ffffff;
}
@keyframes idxBounce {
  0%,
  100% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(6px);
    opacity: 0.6;
  }
}
@keyframes idxScrollDot {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  60% {
    transform: translateY(15px);
    opacity: 0.25;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* ── 8. Header-type variants (CSS fallback; JS sets exact value) */
.doc_index #Header.posicion_absolute ~ #cont_busqueda {
  margin-top: var(--header-height, 0px);
}
/* ── 9. Responsive ─────────────────────────────────────────── */
@media (max-width: 767.98px) {
  .doc_index #busqueda {
    min-height: 55vh;
  }
  /* Móvil: siempre espaciado compacto, sin importar ms.design.index.hero.spacing
     (pantalla pequeña, no sobra sitio para separarlo más del header). */
  .doc_index #busqueda .cont_central {
    padding: 1.75rem 1rem 0.75rem;
    margin-top: 0 !important;
  }
  .doc_index #busqueda #search-ppal,
  .doc_index #busqueda .search-ppal {
    padding: 0 0.75rem 1rem;
  }
  .doc_index #busqueda .cont_botonera_centrada {
    padding: 0.5rem 0 1.25rem;
  }
}
@media (max-width: 575.98px) {
  .doc_index #busqueda {
    min-height: 48vh;
  }
  .doc_index #busqueda .cont_input .input-group-addon.lupa.btn_componente_simple .btn_search_titulo {
    display: none;
  }
}
/* ============================================================
   form_busqueda.jsp en < lg — apilar verticalmente todos los hijos
   ============================================================
   Aplica tanto al hero del index (.doc_index #busqueda) como al área de
   búsqueda en search/mosaic (#cont_busqueda):
     - cont_central.dos_columnas a una sola columna
     - search-ppal y form#site-search al ancho completo
     - tipo_en_linea: hijos en columna, ancho completo
     - tipo_columnas: cont_columns y col_izqda/col_dcha en columna y al 100%
============================================================ */
@media (max-width: 991.98px) {
  #busqueda .cont_central.dos_columnas,
  #cont_busqueda .cont_central.dos_columnas {
    display: block !important;
    flex-direction: column !important;
  }
  #busqueda .search-ppal,
  #busqueda .busqueda.search-ppal,
  #cont_busqueda .search-ppal {
    width: 100% !important;
    max-width: 100% !important;
  }
  #busqueda form#site-search > *,
  #cont_busqueda form#site-search > * {
    width: 100% !important;
    max-width: 100% !important;
  }
  #busqueda .tipo_en_linea,
  #cont_busqueda .tipo_en_linea {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    width: 100% !important;
  }
  #busqueda .tipo_en_linea > *,
  #cont_busqueda .tipo_en_linea > * {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  #busqueda .tipo_columnas,
  #busqueda .tipo_columnas.d-flex,
  #cont_busqueda .tipo_columnas,
  #cont_busqueda .tipo_columnas.d-flex {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  #busqueda .tipo_columnas .cont_columns,
  #busqueda .tipo_columnas .cont_columns.d-flex,
  #cont_busqueda .tipo_columnas .cont_columns,
  #cont_busqueda .tipo_columnas .cont_columns.d-flex {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.5rem;
  }
  #busqueda .tipo_columnas .col,
  #busqueda .tipo_columnas .col_izqda,
  #busqueda .tipo_columnas .col_dcha,
  #cont_busqueda .tipo_columnas .col,
  #cont_busqueda .tipo_columnas .col_izqda,
  #cont_busqueda .tipo_columnas .col_dcha {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
  }
  #busqueda .tipo_columnas select.seleccion,
  #busqueda .tipo_columnas .filtro_select_busquedas,
  #busqueda .tipo_columnas .btn_avanzada,
  #cont_busqueda .tipo_columnas select.seleccion,
  #cont_busqueda .tipo_columnas .filtro_select_busquedas,
  #cont_busqueda .tipo_columnas .btn_avanzada {
    width: 100% !important;
    justify-content: center;
  }
}
/* En xs además, refinamos los botones individuales y los radios. */
@media (max-width: 575.98px) {
  #busqueda .tipo_en_linea .btn,
  #busqueda .tipo_en_linea .btn_avanzada,
  #cont_busqueda .tipo_en_linea .btn,
  #cont_busqueda .tipo_en_linea .btn_avanzada {
    width: 100% !important;
    justify-content: center;
  }
  #busqueda .cont_grupo_filtros .cont_checks,
  #cont_busqueda .cont_grupo_filtros .cont_checks {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.35rem !important;
  }
  #busqueda .cont_grupo_filtros .cont_checks .form-group,
  #cont_busqueda .cont_grupo_filtros .cont_checks .form-group {
    width: 100% !important;
  }
}
/* ============================================================
   INDEX BACKGROUND MODES — controlled by admin param
   ms.design.index.background.type. JSP applies one of:
     .bg-mode-tipo_estandar   (default — no overrides)
     .bg-mode-tipo_parallax
     .bg-mode-tipo_hero_pleno
     .bg-mode-tipo_fade_scroll
   on the outer .container-fluid.doc_index wrapper.
   ============================================================ */
/* ── HERO PLENO 100vh ─────────────────────────────────────── */
/* Imagen sigue confinada al hero, pero éste ocupa la pantalla entera. */
.bg-mode-tipo_hero_pleno.doc_index {
  min-height: 100vh;
}
.bg-mode-tipo_hero_pleno .doc_index #busqueda {
  min-height: 100vh;
}
/* ── PARALLAX + FADE-SCROLL: comparten layout fixed ───────── */
/* Sacamos .busqueda_back del flujo absolute del hero y lo fijamos al
   viewport. El contenido del hero queda flotando encima por el
   z-index ya existente (`#busqueda > *:not(.busqueda_back) { z-index:2 }`). */
.bg-mode-tipo_parallax,
.bg-mode-tipo_fade_scroll {
  /* Scrim global: el ::after del .busqueda_back ya cubre toda la imagen
     porque ahora la imagen es full-viewport. Mantenemos el gradiente
     existente sin cambios — sólo aseguramos que no escape de la imagen. */
  /* Wrapper y main transparentes para dejar ver la imagen detrás. */
  /* Secciones translúcidas: cada bloque de cont_home_elements lleva un
     panel blanco con algo de transparencia para legibilidad pero dejando
     entrever la imagen entre tarjeta y tarjeta. */
  /* El breadcrumb ya tiene fondo propio en styles.css legacy; lo dejamos
     intacto. */
  /* Footer opaco, visible al llegar al final del scroll. La regla del
     footer ya viene con su fondo en _footer.less; sólo aseguramos que
     queda por encima de la imagen fija. */
}
.bg-mode-tipo_parallax .doc_index #busqueda .busqueda_back,
.bg-mode-tipo_fade_scroll .doc_index #busqueda .busqueda_back {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 0;
  /* La opacidad la modula JS en modo fade-scroll vía --bg-opacity */
  opacity: var(--bg-opacity, 1);
  /* Suaviza la transición cuando JS ajusta la opacidad */
  transition: opacity 0.15s linear;
  will-change: opacity;
  pointer-events: none;
}
.bg-mode-tipo_parallax .doc_index #busqueda .busqueda_back::after,
.bg-mode-tipo_fade_scroll .doc_index #busqueda .busqueda_back::after {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.bg-mode-tipo_parallax.doc_index,
.bg-mode-tipo_fade_scroll.doc_index,
.bg-mode-tipo_parallax .doc_index #page-main,
.bg-mode-tipo_fade_scroll .doc_index #page-main {
  background: transparent !important;
}
.bg-mode-tipo_parallax .doc_index .cont_home_elements > div,
.bg-mode-tipo_fade_scroll .doc_index .cont_home_elements > div {
  background: rgba(255, 255, 255, 0.88);
  border-radius: 8px;
  margin-bottom: 1.5rem;
  /* El padding interno ya viene dado por cada bloque; respetamos. */
}
.bg-mode-tipo_parallax footer.footer,
.bg-mode-tipo_fade_scroll footer.footer {
  position: relative;
  z-index: 2;
}
/* ── FADE-SCROLL: respetar prefers-reduced-motion ─────────── */
/* Si el usuario pide menos animación, fijamos opacity:1 y desactivamos
   la transición — la imagen queda visible siempre (igual que parallax). */
@media (prefers-reduced-motion: reduce) {
  .bg-mode-tipo_fade_scroll .doc_index #busqueda .busqueda_back {
    opacity: 1 !important;
    transition: none !important;
  }
}
/*!
	@file        : _index_main.less

	@description : Contenido principal del index (.doc_index #page-main):
	                  · header/footer tweaks específicos del index
	                  · cont_migas / cont_home_elements
	                  · custom collections (cont_custom_collection)
	                  · sliders / carrouseles (cont_sliders, .bloque_slider)
	                  · panels — listings (cont_paneles, cont_panel)
	                  · social — tag clouds & bookmarks (cont_social)
	                  · grid & mosaico (cont_grid, cont_mosaico)
	                  · expositions / timelines / maps (cont_expositions)
	                  · responsive (<md)
	               Migrado desde _mods.less (Fase 4.6b).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*),
	               _index_hero.less (hermano: hero aside del mismo .doc_index).

	Estructura JSP (index.jsp):
	  <header id="Header">             ← _header.less + tweaks aquí
	  <aside id="cont_busqueda">       ← _index_hero.less
	  <main id="page-main" class="doc_index">
	    .cont_migas
	    .cont_home_elements
	      .cont_custom_collection
	      .cont_paneles
	      .cont_sliders
	      .cont_social
	      .cont_grid / .cont_mosaico
	      .cont_expositions
	  <footer>                          ← _footer.less
---------------------------------------------------- */
/* ============================================================
   INDEX PAGE — HEADER / FOOTER SPECIFIC TWEAKS
   ============================================================ */
/*
  On the index page the header sits above a full-bleed dark hero.
  We add a stronger bottom shadow so the two dark areas are clearly
  separated even when both share a similar hue.
*/
.doc_index #Header {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
  border-bottom-color: var(--clr-accent) !important;
}
/* Hero gradient starts lighter at the very top so the header edge is visible.
   --ms-hero-overlay-max (0..1) fija la opacidad del punto mas oscuro (100%, abajo);
   los stops de arriba se calculan como fraccion de ese maximo para conservar la
   misma FORMA de degradado a cualquier intensidad. Variable inyectada por index.jsp
   desde ms.design.index.background.overlay (Config. de componentes > Apariencia);
   valor por defecto .6 = comportamiento identico al de antes de esta opcion. */
.doc_index #busqueda .busqueda_back::after {
  background: linear-gradient(to bottom, rgba(5, 25, 45, calc(var(--ms-hero-overlay-max, 0.6) * 0.42)) 0%, rgba(5, 25, 45, calc(var(--ms-hero-overlay-max, 0.6) * 0.92)) 35%, rgba(0, 0, 0, var(--ms-hero-overlay-max, 0.6)) 100%) !important;
}
/* ── footer.footer wrapper (index.jsp uses <footer class="footer">) ── */
footer.footer {
  /* Ensure the footer wraps correctly whether it has .pie or not */
  width: 100%;
  margin-top: 0;
  flex-shrink: 0;
}
/* index.jsp outer container needs to be a flex column so footer always sticks below content */
.doc_index {
  display: flex;
  flex-direction: column;
  min-height: 60vh;
}
.doc_index #page-main.doc_index {
  flex: 1 0 auto;
}
/* ============================================================
   INDEX PAGE — MAIN CONTENT  (#page-main / cont_migas / cont_home_elements)
   ============================================================
   styles.css legacy rules to beat (we use .doc_index #page-main paths
   for specificity 1,2,N which beats 0,4-6,N from styles.css):

   .cont_busqueda.doc_index .busqueda .cont_migas {
     display:table; background:rgba(122,135,163,.85);
     border:2px solid #0b3f62; border-radius:6px; margin-top:5% }
   .breadcrumb>li { float:left }
   .breadcrumb li a { color:midnightblue }
   .panel>.panel-heading { float:left; width:100% }
   .panel.panel-default.panel_tipo_transparente .panel-heading {
     background:#EEEEEE; color:#FFF }                        ← white-on-white
   .cont_sliders .bloque_slider { background:#EEEEEE; float:left }
   #page-main.doc_index .cont_custom_collection h2 {
     font-size:2.2rem; color:#6d6f71; border-bottom:3px solid #567999 }
*/
/* ── #page-main wrapper ────────────────────────────────────── */
.doc_index #page-main {
  padding-top: 1rem;
  padding-bottom: 2.5rem;
}
/* ── BREADCRUMB ────────────────────────────────────────────── */
/* Reset legacy heavy-box .cont_migas + compact modern look */
.doc_index #page-main .cont_migas {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  float: none !important;
}
.doc_index #page-main .main_breadcrumb {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--clr-border-light);
  padding: 0.45rem 0 0.5rem !important;
  margin: 0;
}
.doc_index #page-main .main_breadcrumb nav {
  margin: 0;
  padding: 0;
  line-height: 1;
}
.doc_index #page-main .main_breadcrumb ol.breadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.78rem;
  list-style: none;
  line-height: 1;
}
.doc_index #page-main .main_breadcrumb .breadcrumb-item {
  float: none !important;
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}
.doc_index #page-main .main_breadcrumb .breadcrumb-item a {
  color: var(--clr-accent) !important;
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}
.doc_index #page-main .main_breadcrumb .breadcrumb-item a:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-accent-dark) !important;
  text-decoration: none;
}
.doc_index #page-main .main_breadcrumb .breadcrumb-item.active {
  color: var(--clr-text-body) !important;
  font-weight: 500;
  padding: 0.15rem 0.35rem;
}
.doc_index #page-main .main_breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  color: var(--clr-text-light);
  padding: 0 0.15rem;
  float: none !important;
}
/* ── HOME ELEMENTS CONTAINER ───────────────────────────────── */
/* styles.css already sets display:flex; flex-direction:column on this; we just
   normalize spacing, widths and unit margins. */
.doc_index #page-main .cont_home_elements {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100%;
  gap: 2rem;
  padding: 0.5rem 0 1.5rem;
}
.doc_index #page-main .cont_home_elements > div {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* ── Universal section title (h1/h2 + slider_titulo) ───────── */
.doc_index #page-main .cont_home_elements h1.slider_titulo,
.doc_index #page-main .cont_home_elements h2.slider_titulo,
.doc_index #page-main .cont_home_elements h3.slider_titulo,
.doc_index #page-main .cont_home_elements .slider_titulo {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0;
  text-align: left !important;
  word-wrap: normal;
}
/* ============================================================
   CUSTOM COLLECTIONS  (cont_custom_collection)
   ============================================================ */
.doc_index #page-main .cont_custom_collection {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  /* 20px / 24px — bordes del bloque */
  box-shadow: var(--shadow-xs);
  margin: 0 0 1.5rem;
}
/* <section id="custom_collection"> hereda el padding del .cont_custom_collection
   padre. Antes había aquí padding:0 !important + margin:0 !important que dejaba
   las cabeceras pegadas al borde del .cont_custom_collection cuando éste cargaba
   sin padding. Lo dejamos sin padding propio para que el padding del padre sea
   el ÚNICO origen de aire interior y se vea similar al .bloque_slider. */
.doc_index #page-main .cont_custom_collection > #custom_collection,
.doc_index #page-main .cont_custom_collection > section.custom_collection_1 {
  padding: 0;
  margin: 0;
}
.doc_index #page-main .cont_custom_collection h2 {
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 0 0.45rem 0 !important;
  border-bottom: 2px solid var(--clr-accent) !important;
  text-align: left !important;
  font-family: inherit !important;
  display: inline-block !important;
  line-height: 1.3 !important;
  word-wrap: normal !important;
}
.doc_index #page-main .cont_custom_collection .row {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: 0 !important;
}
.doc_index #page-main .cont_custom_collection #custom_collection_important,
.doc_index #page-main .cont_custom_collection #custom_collection_others {
  flex: 1 1 360px;
  padding: 0 !important;
  max-width: 100%;
}
.doc_index #page-main .cont_custom_collection .main_item,
.doc_index #page-main .cont_custom_collection .other_item {
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 0.85rem;
  margin-bottom: 0.75rem;
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
}
.doc_index #page-main .cont_custom_collection .main_item:hover,
.doc_index #page-main .cont_custom_collection .other_item:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
  border-color: var(--clr-accent);
}
.doc_index #page-main .cont_custom_collection .main_item .title a,
.doc_index #page-main .cont_custom_collection .other_item .title a {
  color: var(--clr-primary) !important;
  font-weight: 600;
  text-decoration: none;
  font-size: 1rem;
}
.doc_index #page-main .cont_custom_collection .main_item .title a:hover,
.doc_index #page-main .cont_custom_collection .other_item .title a:hover {
  color: var(--clr-accent) !important;
  text-decoration: none;
}
.doc_index #page-main .cont_custom_collection .image {
  margin: 0.55rem 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.doc_index #page-main .cont_custom_collection .image img,
.doc_index #page-main .cont_custom_collection .image .thumbnail {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}
.doc_index #page-main .cont_custom_collection .description p {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--clr-text-body);
  margin: 0.35rem 0 0;
}
/* ============================================================
   SLIDERS / CARROUSELS  (cont_sliders, .bloque_slider)
   ============================================================ */
.doc_index #page-main .cont_sliders {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.doc_index #page-main .cont_sliders .bloque_slider {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md);
  padding: 1.1rem 1.4rem;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
  display: block !important;
  box-shadow: var(--shadow-xs);
}
/* Slider header — patrón "facetas/doc_doc panel-heading":
   fondo blanco, border-bottom 1px subtle, padding compacto, título primary .85rem.
   Override agresivo del legacy _page_index.less .slidex.cont_slider_datos
   (que mete background-image: linear-gradient !important). */
.doc_index #page-main .cont_sliders .bloque_slider .cont_slider_datos,
.doc_index #page-main .cont_sliders .bloque_slider .slidex.cont_slider_datos,
.doc_index #page-main .cont_sliders .bloque_slider header.cont_slider_datos {
  background: var(--clr-bg-card) !important;
  background-image: none !important;
  border: 0 none !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  border-radius: 0 !important;
  padding: 0.5rem 1rem !important;
  margin: 0 0 0.85rem !important;
  text-align: left !important;
  position: relative;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0.5rem !important;
  position: relative !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: left !important;
  justify-content: flex-start !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos .cont {
  position: relative;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos .cont_icono {
  flex-shrink: 0;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos .cont_icono .icon_title {
  color: var(--clr-accent) !important;
  font-size: 1rem !important;
  margin: 0 !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos .cont_titulo {
  flex: 1 1 auto !important;
  min-width: 0;
  position: static !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos .cont_botonera {
  position: static !important;
  right: auto !important;
  flex-shrink: 0;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_titulo .slider_titulo,
.doc_index #page-main .cont_sliders .bloque_slider .slider_titulo {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 none !important;
  font-family: inherit !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  float: none !important;
  width: auto !important;
  word-wrap: normal !important;
}
.doc_index #page-main .cont_sliders .cont_botonera {
  margin: 0;
  padding: 0;
  float: none !important;
  width: auto !important;
  display: inline-block;
}
.doc_index #page-main .cont_sliders .cont_botonera .btn {
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  color: #fff !important;
  font-size: 0.8rem !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none;
  margin: 0;
}
.doc_index #page-main .cont_sliders .cont_botonera .btn:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
  color: #fff !important;
}
/* Slider tile (figure inside the carousel)
   ---------------------------------------------------------------------------
   IMPORTANTE — preservar el alto de la capa padre durante la inicialización
   de Swiper. Antes de que swiper monte el .swiper-wrapper en horizontal, el
   contenedor podría colapsar (height=0) y producir un parpadeo. Para evitarlo:
   • .cont_carousel reserva un min-height base (240px).
   • Cada .slide_card / figure tiene aspect-ratio fijo (1 / 1) — el alto se
     conserva incluso si las imagenes aún no han cargado.
   • .carousel.oculto sigue oculto pero NO se sale del flujo (opacity solo).
   • .carousel:not(.swiper-initialized) limita height para que los slides
     apilados (visualmente invisibles por visibility:hidden) no estiren la
     página antes del init. */
.doc_index #page-main .cont_sliders .cont_carousel {
  width: 100%;
  min-height: 240px;
  /* placeholder hasta que swiper monte la pista */
  position: relative;
  /* anchor de .swiper-button-prev/-next y scrollbar */
  padding: 0 44px;
  /* hueco lateral para flechas (36px) */
}
/* Mientras NO esté inicializado swiper, los slides están apilados
   verticalmente (Swiper aún no ha aplicado el flex-row al .swiper-wrapper).
   Ocultamos el contenedor para evitar parpadeo. */
.doc_index #page-main .cont_sliders .cont_carousel .carousel:not(.swiper-initialized) {
  max-height: 240px;
  overflow: hidden;
  visibility: hidden;
}
.doc_index #page-main .cont_sliders .cont_carousel .carousel.oculto {
  opacity: 0;
  visibility: hidden;
}
.doc_index #page-main .cont_sliders .cont_carousel .carousel.swiper-initialized {
  opacity: 1;
  visibility: visible;
  max-height: none;
  overflow: hidden;
  /* clipea slides fuera del viewport del carrusel */
  transition: opacity 0.35s ease;
}
/* swiper-wrapper actúa como track flex; swiper-bundle.min.css ya lo monta. */
.doc_index #page-main .cont_sliders .cont_carousel .swiper-wrapper {
  align-items: stretch;
}
.doc_index #page-main .cont_sliders .cont_carousel .swiper-slide {
  height: auto;
  display: flex !important;
  /* las cards se estiran */
}
.doc_index #page-main .cont_sliders .cont_carousel .swiper-slide .slide_card,
.doc_index #page-main .cont_sliders .cont_carousel .swiper-slide > figure {
  width: 100%;
  display: flex;
  flex-direction: column;
}
/* ── Swiper arrows + scrollbar ────────────────────────────────────
   Diseño:
   - Botones 36×36 circulares blancos con borde fino y sombra.
   - El CHEVRON lo pinta Swiper vía su ::after (font swiper-icons,
     embebida en swiper-bundle.min.css). NO añadimos nuestro ::before,
     porque al hacerlo se ven 2 flechas (la nuestra + la de Swiper).
   - Tamaño del chevron controlado por --swiper-navigation-size (18px).
     Swiper también deriva width/height del botón de esa var; lo
     anulamos forzando 36×36 con !important.
   - Los .swiper-button-prev/-next viven como HIJOS directos de
     .cont_carousel (no dentro del .swiper), para que el overflow:hidden
     del .swiper no los recorte.
   - .cont_carousel ya tiene position:relative + padding lateral 44px
     (definidos arriba, donde se monta el contenedor). */
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel {
  --swiper-navigation-size: 18px;
  /* tamaño del chevron de Swiper */
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .carousel.swiper {
  position: static !important;
  /* anchor de los buttons es .cont_carousel */
  padding-top: 6px;
  /* respiro arriba para la sombra del hover */
  padding-bottom: 20px;
  /* separación de 20px hasta el scrollbar */
  margin: 0;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel > .swiper-button-prev,
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel > .swiper-button-next {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: 50% !important;
  background-color: var(--clr-bg-card) !important;
  background-image: none !important;
  color: var(--clr-primary) !important;
  cursor: pointer;
  z-index: 10 !important;
  box-shadow: var(--shadow-sm) !important;
  opacity: 1 !important;
  overflow: hidden !important;
  /* asegura que ningún hijo asome */
  text-indent: 0 !important;
  transform: translateY(-50%) !important;
  transition: background 0.18s, color 0.18s, border-color 0.18s, box-shadow 0.18s, transform 0.18s;
  display: flex !important;
  align-items: center;
  justify-content: center;
  /* IMPORTANTE: no ponemos font-size aquí. Swiper aplica font-size al ::after
     con var(--swiper-navigation-size). Si lo seteamos a 0 en el botón, hereda
     0 al ::after y la flecha desaparece. */
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel > .swiper-button-prev {
  left: 4px !important;
  right: auto !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel > .swiper-button-next {
  right: 4px !important;
  left: auto !important;
}
/* NO pintamos nuestro propio chevron via ::before — Swiper ya lo pinta con
   su font swiper-icons en ::after (content:'prev'/'next' mapeado a glifos).
   Si dibujáramos ::before, se verían DOS flechas superpuestas. */
/* Asegurar que el chevron de Swiper queda centrado sobre el botón blanco. */
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-prev::after,
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-next::after {
  font-size: var(--swiper-navigation-size) !important;
  color: inherit !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-variant: normal !important;
  font-weight: 700 !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-prev:hover,
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-next:hover {
  background-color: var(--clr-accent) !important;
  color: #fff !important;
  border-color: var(--clr-accent) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-50%) scale(1.06) !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-prev:focus-visible,
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-next:focus-visible {
  outline: 2px solid var(--clr-accent);
  outline-offset: 2px;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-disabled {
  opacity: 0.3 !important;
  cursor: default;
  pointer-events: none;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-button-disabled:hover {
  background-color: var(--clr-bg-card) !important;
  color: var(--clr-primary) !important;
  border-color: var(--clr-border) !important;
  box-shadow: var(--shadow-sm) !important;
  transform: translateY(-50%) !important;
}
/* Scrollbar — barrita arrastrable bajo el carrusel. El carrusel tiene
   padding-bottom:20px arriba, así que el scrollbar queda separado ~20px
   del borde inferior de las cards. */
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar,
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: relative !important;
  display: block !important;
  margin: 0 auto !important;
  /* el aire viene del padding-bottom del .swiper */
  width: 60% !important;
  max-width: 240px !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: var(--clr-border-light) !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  z-index: 1 !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar-drag {
  background: var(--clr-accent) !important;
  border-radius: 2px !important;
  cursor: grab !important;
  transition: background 0.2s ease;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar-drag:active {
  cursor: grabbing !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar:hover .swiper-scrollbar-drag {
  background: var(--clr-accent-dark, var(--clr-accent)) !important;
}
/* ============================================================
   CARRUSEL / SLIDERS — modernización hero-style (carruselslider.jsp)
   ------------------------------------------------------------
   Cards con imagen a sangre + figcaption en overlay con gradiente
   de legibilidad, hover con zoom + ligera oscuridad, header de
   sección bold + barra de acento animada, sliders de columnas
   como grid 2-col responsive con contenido sobre la imagen.
   Skeleton (ms-skel) integrado vía _image_skeleton.jsp.
   ============================================================ */
/* ── Header de sección ───────────────────────────────────── */
.doc_index #page-main .cont_sliders .bloque_slider {
  margin: 1rem 0 1.5rem;
}
.doc_index #page-main .cont_sliders .bloque_slider > header.cont_slider_datos {
  margin-bottom: 0.85rem;
  padding-bottom: 0.55rem;
  border-bottom: 2px solid var(--clr-border-light);
  position: relative;
}
.doc_index #page-main .cont_sliders .bloque_slider > header.cont_slider_datos::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 40px;
  height: 2px;
  background: var(--clr-accent);
  transition: width 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.doc_index #page-main .cont_sliders .bloque_slider:hover > header.cont_slider_datos::after,
.doc_index #page-main .cont_sliders .bloque_slider:focus-within > header.cont_slider_datos::after {
  width: 68px;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_general_datos {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
/* Bloque cuadrado de icono. Hay CSS legacy en _page_index.less que tira de
   .cont_icono con float/width:auto, así que forzamos width igual a height
   con !important y flex-basis fija para que ningún padre flex/grid lo
   comprima horizontalmente. */
.doc_index #page-main .cont_sliders .bloque_slider .cont_icono {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px;
  max-width: 34px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(30, 99, 208, 0.14), rgba(30, 99, 208, 0.05));
  color: var(--clr-accent);
  flex: 0 0 34px;
  box-sizing: border-box;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_icono .icon_title,
.doc_index #page-main .cont_sliders .bloque_slider .cont_icono .fa {
  font-size: 0.95rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .slider_titulo {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary) !important;
  letter-spacing: -0.005em;
  line-height: 1.2;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_botonera {
  margin-left: auto;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_botonera .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.9rem !important;
  border-radius: 8px !important;
  font-size: 0.85rem !important;
  border: 1px solid var(--clr-border-light) !important;
  background: var(--clr-bg-card) !important;
  color: var(--clr-text-body) !important;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_botonera .btn:hover,
.doc_index #page-main .cont_sliders .bloque_slider .cont_botonera .btn:focus-visible {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
  outline: none;
}
/* (Las reglas de aire vertical y separación del scrollbar en .carousel.swiper
   se gestionan en el bloque "Swiper arrows + scrollbar" más arriba. Aquí
   sólo recordamos que el gutter horizontal entre slides lo da Swiper con
   spaceBetween:12 — ver $.msearch.swiperSlider en jquery.mediasearch.js.) */
/* ── Cards del carrusel (figure.slide_card) ──────────────── */
.doc_index #page-main .cont_sliders figure,
.doc_index #page-main .cont_sliders .slide_card {
  position: relative;
  display: block;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: var(--clr-bg-muted);
  /* placeholder neutro detrás de la img */
  border: 1px solid var(--clr-border-light);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
  transition: box-shadow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.25s ease;
}
.doc_index #page-main .cont_sliders figure:hover,
.doc_index #page-main .cont_sliders .slide_card:hover,
.doc_index #page-main .cont_sliders .slide_card:focus-within {
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.13);
  border-color: var(--clr-accent);
}
/* Stretched link cubre toda la card. */
.doc_index #page-main .cont_sliders .slide_card .slide_card_stretched {
  position: absolute;
  inset: 0;
  z-index: 5;
  border-radius: inherit;
  background: transparent;
  text-decoration: none;
}
.doc_index #page-main .cont_sliders .slide_card .slide_card_stretched:focus-visible {
  outline: 2px solid var(--clr-accent);
  outline-offset: 2px;
}
/* Indicador de esquina (decorativo, aparece en hover). */
.doc_index #page-main .cont_sliders .slide_card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 30px 30px 0;
  border-color: transparent var(--clr-accent) transparent transparent;
  opacity: 0;
  transform: translate(6px, -6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 4;
  pointer-events: none;
}
.doc_index #page-main .cont_sliders .slide_card:hover::before,
.doc_index #page-main .cont_sliders .slide_card:focus-within::before {
  opacity: 1;
  transform: translate(0, 0);
}
/* Imagen ocupa toda la card. Aspect-ratio 1:1 → ~20% más bajas que el 4/5
   anterior, dejan respirar la rejilla y casan mejor con thumbnails y
   portadas que suelen venir en cuadrado o paisaje. */
.doc_index #page-main .cont_sliders figure .cont_imagen,
.doc_index #page-main .cont_sliders .slide_card .cont_imagen {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--clr-bg-muted);
}
/* Single-slide: cuando sólo hay una card, el carrusel ocupa todo el ancho
   (Swiper lo monta con slidesPerView:1, sin loop/arrows/dots — ver
   app.index.js). El aspect-ratio pasa a 21/9 para evitar una imagen
   gigantescamente alta a anchos de 1200-1400px. Si se prefiere algo menos
   extremo se puede usar 16/9, pero 21/9 da un look más "hero banner". */
.doc_index #page-main .cont_sliders .cont_carousel.single-slide .carousel.swiper,
.doc_index #page-main .cont_sliders .cont_carousel.single-slide {
  padding: 0 !important;
}
.doc_index #page-main .cont_sliders .cont_carousel.single-slide figure .cont_imagen,
.doc_index #page-main .cont_sliders .cont_carousel.single-slide .slide_card .cont_imagen {
  aspect-ratio: 21 / 9;
}
/* En móvil reducimos a 16/9 para no perder altura útil. */
@media (max-width: 768px) {
  .doc_index #page-main .cont_sliders .cont_carousel.single-slide figure .cont_imagen,
  .doc_index #page-main .cont_sliders .cont_carousel.single-slide .slide_card .cont_imagen {
    aspect-ratio: 16 / 9;
  }
}
/* Caption del single-slide: más espacio interior, tipografía algo mayor
   porque ahora la card es banner. */
.doc_index #page-main .cont_sliders .cont_carousel.single-slide figcaption {
  padding: 3.5rem 1.5rem 1.25rem;
}
.doc_index #page-main .cont_sliders .cont_carousel.single-slide figcaption .fig_title {
  font-size: 1.15rem !important;
  -webkit-line-clamp: 3;
}
.doc_index #page-main .cont_sliders .cont_carousel.single-slide figcaption .cont_datos p {
  font-size: 0.85rem !important;
  -webkit-line-clamp: 3;
}
.doc_index #page-main .cont_sliders figure .cont_imagen a,
.doc_index #page-main .cont_sliders .slide_card .cont_imagen a {
  display: block;
  width: 100%;
  height: 100%;
}
.doc_index #page-main .cont_sliders figure .cont_imagen img,
.doc_index #page-main .cont_sliders .slide_card .image_slider {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Sin transform/filter en hover: el scale+brightness combinados con el
     overflow:hidden y el gradiente del figcaption generaban artefactos
     (bordes que se "revelaban" al ampliar, oscurecimiento doble cuando el
     gradiente ya oscurece la zona baja). El hover lo lleva ahora el borde
     y la sombra de la card. */
}
/* Apaga el shimmer del skeleton legacy cuando is-broken (el ::before del
   bloque "SKELETON SHIMMER" más abajo tiene mayor especificidad que el
   del partial ms-skel, así que sin esto seguiría animando bajo el icono). */
.doc_index #page-main .cont_sliders .cont_imagen.is-broken::before,
.doc_index #page-main .cont_sliders .coleccion_img_back.is-broken::before {
  animation: none !important;
  background: transparent !important;
  opacity: 0 !important;
}
/* Figcaption en OVERLAY al pie con gradiente de legibilidad.
   Gradiente más suave (.78 en lugar de .92) para que la imagen siga
   leyéndose por debajo del texto sin "ahogarse" en negro. */
.doc_index #page-main .cont_sliders figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  padding: 1.75rem 0.9rem 0.85rem;
  color: #fff;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.42) 50%, rgba(15, 23, 42, 0.78) 100%);
  pointer-events: none;
  transition: padding 0.3s ease, background 0.3s ease;
}
.doc_index #page-main .cont_sliders .slide_card:hover figcaption,
.doc_index #page-main .cont_sliders .slide_card:focus-within figcaption {
  padding-bottom: 1rem;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.52) 50%, rgba(15, 23, 42, 0.88) 100%);
}
.doc_index #page-main .cont_sliders figcaption .cont_titulo,
.doc_index #page-main .cont_sliders .cont_carousel figure figcaption .cont_titulo,
.doc_index #page-main .cont_sliders .cont_carousel .slide_card figcaption .cont_titulo {
  width: 100% !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  position: static !important;
  float: none !important;
  line-height: 1.25;
}
.doc_index #page-main .cont_sliders figcaption .fig_title,
.doc_index #page-main .cont_sliders .cont_carousel figure figcaption .cont_titulo .fig_title,
.doc_index #page-main .cont_sliders .cont_carousel .slide_card figcaption .cont_titulo .fig_title,
.doc_index #page-main .cont_sliders .cont_carousel figure figcaption .cont_titulo .enlace,
.doc_index #page-main .cont_sliders .cont_carousel .slide_card figcaption .cont_titulo .enlace {
  color: #fff !important;
  font-family: inherit !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.005em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}
.doc_index #page-main .cont_sliders figcaption .cont_datos {
  margin-top: 0.25rem;
}
.doc_index #page-main .cont_sliders figcaption .cont_datos p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.74rem !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: inherit !important;
  text-align: left !important;
}
/* ── Sliders en columnas (col_izqda / col_dcha) ──────────── */
.doc_index #page-main .cont_sliders .cont_colecciones {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0.75rem 0 1.25rem;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
/* Single-slider: si sólo hay UN collection_slider, ocupa todo el ancho.
   El :only-child detecta el caso a nivel CSS sin tocar el JSP. */
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child {
  grid-column: 1 / -1;
}
/* En el modo full-width subimos el aspect-ratio a 21/9 para no perder altura
   útil y damos respiro al contenido — pasa de "thumbnail con etiqueta" a
   "hero banner con título destacado". */
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_slide {
  aspect-ratio: 21 / 9;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_contenido {
  padding: 1.75rem 1.75rem 1.5rem;
  max-width: 60%;
  /* no estiramos el texto a sangre completa */
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_titulo .titulo {
  font-size: 1.5rem;
  -webkit-line-clamp: 3;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_titulo .fecha {
  font-size: 0.9rem;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_texto {
  font-size: 0.95rem;
  -webkit-line-clamp: 3;
  margin-top: 0.25rem;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_formato {
  font-size: 0.82rem;
  letter-spacing: 0.12em;
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_sliders .cont_colecciones {
    grid-template-columns: 1fr;
  }
  .doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_slide {
    aspect-ratio: 16 / 9;
  }
  .doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_contenido {
    max-width: 100%;
    padding: 1.25rem 1.1rem 1.1rem;
  }
  .doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_titulo .titulo {
    font-size: 1.2rem;
  }
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider,
.doc_index #page-main .cont_sliders .cont_colecciones .cont_columna {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  /* permite que el item de grid encoja por debajo de su min-content (evita overflow horizontal en movil) */
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  flex: initial;
}
.doc_index #page-main .cont_sliders .cont_colecciones .colecciones_cont_slides {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: var(--clr-bg-muted);
  border: 1px solid var(--clr-border-light);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
  transition: box-shadow 0.35s ease, border-color 0.25s ease;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:hover .colecciones_cont_slides,
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:focus-within .colecciones_cont_slides {
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
  border-color: var(--clr-accent);
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_slide {
  display: none !important;
  position: relative !important;
  aspect-ratio: 16 / 9;
  overflow: hidden !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  max-height: none !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_slide.active {
  display: block !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_img_back {
  position: absolute !important;
  inset: 0;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  background: var(--clr-bg-muted);
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_img_back img,
.doc_index #page-main .cont_sliders .coleccion_img_back img.coleccion_imagen {
  /* El legacy en _page_index.less usa el mixin .centra_vh (position:absolute
     + top/left:50% + transform:translate(-50%,-50%)) para centrar la img.
     Lo neutralizamos con position absolute top/left 0 + transform none. */
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  display: block !important;
  transform: none !important;
}
/* El span .colecciones_fondo del markup se reaprovecha como overlay.
   Gradiente más opaco al pie (.85) para que el texto blanco se lea siempre,
   pero suave hasta el 50% para que la mitad superior de la imagen siga
   limpia. Vignette ligero en los lados con un radial sutil para focalizar. */
.doc_index #page-main .cont_sliders .cont_colecciones .colecciones_fondo {
  position: absolute !important;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.12) 35%, rgba(15, 23, 42, 0.55) 70%, rgba(15, 23, 42, 0.85) 100%), radial-gradient(ellipse at top right, rgba(15, 23, 42, 0) 30%, rgba(15, 23, 42, 0.25) 100%) !important;
  z-index: 1;
  pointer-events: none;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_contenido,
.doc_index #page-main .cont_sliders .coleccion_contenido {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2;
  width: auto !important;
  height: auto !important;
  padding: 1rem 0.95rem 0.9rem !important;
  margin: 0 !important;
  float: none !important;
  color: #fff;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_formato,
.doc_index #page-main .cont_sliders .coleccion_formato {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #fff;
  margin: 0 0 0.5rem;
  padding: 0.2rem 0.55rem;
  background: rgba(30, 99, 208, 0.85);
  border-radius: 4px;
  font-family: inherit;
  text-shadow: none;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_formato a,
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_formato .enlace {
  color: inherit;
  text-decoration: none;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_titulo,
.doc_index #page-main .cont_sliders .coleccion_titulo {
  margin: 0 0 0.4rem;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_titulo .enlace_imagen {
  color: #fff !important;
  text-decoration: none;
  display: block;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_titulo .titulo,
.doc_index #page-main .cont_sliders .coleccion_titulo .titulo {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
  letter-spacing: -0.005em;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_titulo .fecha,
.doc_index #page-main .cont_sliders .coleccion_titulo .fecha {
  display: block;
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.88);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_texto,
.doc_index #page-main .cont_sliders .coleccion_texto {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.82rem;
  line-height: 1.4;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
/* Slider con TEXTO ESTÁTICO: el resumen/descripción de la colección se limita a 3 líneas
   (override del clamp general de 2). Clase añadida por carruselslider.jsp en modo estático. */
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_texto.coleccion_texto_static {
  -webkit-line-clamp: 3;
}
/* Dots del cont_paginacion (inyectados dinámicamente por
   app.index.js#BACKFADE_COLECCION cuando hay >1 slide). El CSS legacy en
   _page_index.less los coloca con padding-bottom:75px + padding-left:70px y
   float:left, lo que ahora descoloca todo. Los re-estilamos como una píldora
   centrada al pie del slider, sobre la imagen, en color blanco con el thumb
   activo en acento. */
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0.65rem !important;
  top: auto !important;
  z-index: 4;
  transform: translateX(-50%);
  width: auto !important;
  padding: 0.3rem 0.55rem !important;
  margin: 0 !important;
  background: rgba(15, 23, 42, 0.35);
  border-radius: 999px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion .botonera_pos {
  position: relative !important;
  display: flex !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  gap: 0.35rem;
  bottom: auto !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion .botonera_pos li {
  position: relative !important;
  display: inline-flex !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion .botonera_pos li button {
  position: relative !important;
  display: inline-block !important;
  float: none !important;
  width: 16px !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.45) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: pointer;
  transition: background 0.2s ease, width 0.2s ease;
}
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion .botonera_pos li button:hover {
  background: rgba(255, 255, 255, 0.8) !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion .botonera_pos li.active button {
  background: #fff !important;
  width: 24px !important;
}
/* .boton_mas dentro de cont_paginacion: queda fuera (el otro .boton_mas en
   esquina ya lo manejamos abajo). Ocultamos esta variante duplicada. */
.doc_index #page-main .cont_sliders .cont_colecciones .cont_paginacion .boton_mas {
  display: none !important;
}
/* Botón "+" del related-slider: píldora circular flotante en esquina. */
.doc_index #page-main .cont_sliders .boton_mas {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  bottom: auto;
  z-index: 6;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--clr-accent) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.18);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.doc_index #page-main .cont_sliders .boton_mas:hover,
.doc_index #page-main .cont_sliders .boton_mas:focus-visible {
  background: var(--clr-accent) !important;
  color: #fff !important;
  transform: scale(1.1);
  outline: none;
  text-decoration: none;
}
/* ── Animación sutil de entrada ──────────────────────────── */
@keyframes ms-slide-fadein {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.doc_index #page-main .cont_sliders .slide_card,
.doc_index #page-main .cont_sliders .cont_colecciones .colecciones_cont_slides {
  animation: ms-slide-fadein 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
@media (prefers-reduced-motion: reduce) {
  .doc_index #page-main .cont_sliders .slide_card,
  .doc_index #page-main .cont_sliders .cont_colecciones .colecciones_cont_slides {
    animation: none;
  }
  .doc_index #page-main .cont_sliders .bloque_slider > header.cont_slider_datos::after {
    transition: none;
  }
}
/* ============================================================
   PANELS — listings (cont_paneles, cont_panel)
   ============================================================ */
.doc_index #page-main .cont_paneles {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: stretch;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_paneles .cont_panel {
  flex: 1 1 320px;
  max-width: 100%;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
}
/* Card panel — unified card style across all panel types */
.doc_index #page-main .cont_paneles .cont_panel .panel,
.doc_index #page-main .cont_paneles .cont_panel .panel.panel-default,
.doc_index #page-main .cont_paneles .cont_panel .panel.panel-default.panel_tipo_transparente {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  float: none !important;
  transition: box-shadow 0.18s, border-color 0.18s, transform 0.18s;
}
.doc_index #page-main .cont_paneles .cont_panel .panel:hover {
  box-shadow: var(--shadow-sm);
  border-color: var(--clr-accent) !important;
}
/* Panel heading: limpio, consistente con los demás bloques (slider/grid/mosaico).
   Sin gradiente oscuro — fondo de la card + border-bottom acento + título primary. */
.doc_index #page-main .cont_paneles .cont_panel .panel-heading,
.doc_index #page-main .cont_paneles .cont_panel .panel.panel_tipo_transparente .panel-heading {
  background: transparent !important;
  color: var(--clr-primary) !important;
  padding: 0.85rem 1rem 0.6rem !important;
  border: none !important;
  border-bottom: 2px solid var(--clr-accent) !important;
  border-radius: 0 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-heading .panel_heading_cont_title {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  cursor: default;
  background: transparent !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-heading .icon,
.doc_index #page-main .cont_paneles .cont_panel .panel-heading .fa,
.doc_index #page-main .cont_paneles .cont_panel .panel-heading .panel_heading_cont_title .fa {
  color: var(--clr-accent) !important;
  font-size: 1.1rem;
  position: static !important;
  float: none !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-heading .panel_heading_title {
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  letter-spacing: 0;
  font-family: inherit !important;
  text-transform: none !important;
  float: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Panel body */
.doc_index #page-main .cont_paneles .cont_panel .panel-body {
  flex: 1 1 auto;
  padding: 0.65rem 1rem !important;
  background: transparent !important;
  font-size: 0.85rem;
  color: var(--clr-text-body) !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media {
  display: flex !important;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--clr-border-light);
  margin: 0;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media:last-child {
  border-bottom: none;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left {
  float: none !important;
  flex-shrink: 0;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left .cont_imagen {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--clr-bg-muted);
  border: 1px solid var(--clr-border-light);
  padding: 0 !important;
  margin: 0 !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-body {
  flex: 1 1 auto;
  min-width: 0;
  float: none !important;
  width: auto !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-heading {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  float: none !important;
  width: auto !important;
  color: var(--clr-text-main) !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-heading a,
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-heading .list-title {
  color: var(--clr-text-main) !important;
  text-decoration: none;
  display: block;
  float: none !important;
  width: auto !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-heading a:hover {
  color: var(--clr-accent) !important;
  text-decoration: underline;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-body .related_list_subtitle {
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  margin: 0.2rem 0 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Panel footer with action button */
.doc_index #page-main .cont_paneles .cont_panel .panel-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.65rem 1rem !important;
  float: none !important;
  width: 100% !important;
  text-align: center;
  margin: 0 !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .cont_botonera {
  margin: 0;
  padding: 0;
  float: none !important;
  width: 100% !important;
  display: flex;
  justify-content: center;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .panel_pager {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  display: flex;
  justify-content: center;
  float: none !important;
  width: auto !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .panel_pager li {
  width: auto !important;
  float: none !important;
  display: inline-flex !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .btn,
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .btn-default {
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  color: #fff !important;
  font-size: 0.8rem !important;
  padding: 0.4rem 1rem !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
  margin: 0 !important;
}
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .btn:hover,
.doc_index #page-main .cont_paneles .cont_panel .panel-footer .btn-default:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
  color: #fff !important;
}
/* ============================================================
   SOCIAL — tag clouds & bookmarks
   ============================================================ */
.doc_index #page-main .cont_social {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.doc_index #page-main .cont_social .boxFilterIndex {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  margin: 0 !important;
  box-shadow: var(--shadow-xs);
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_social .tagcloud {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_social .tagcloud a {
  background: var(--clr-bg-muted);
  border: 1px solid var(--clr-border-light);
  border-radius: 999px;
  color: var(--clr-text-body) !important;
  padding: 0.25rem 0.8rem;
  font-size: 0.78rem;
  text-decoration: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  display: inline-flex;
  align-items: center;
  line-height: 1.3;
  float: none !important;
}
.doc_index #page-main .cont_social .tagcloud a:hover {
  background: var(--clr-accent);
  border-color: var(--clr-accent);
  color: #fff !important;
}
.doc_index #page-main .cont_social #accordion-bookmarks {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_social #accordion-bookmarks h3 {
  margin: 0 !important;
  padding: 0.65rem 1rem !important;
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
  border: none !important;
  font-family: inherit !important;
}
.doc_index #page-main .cont_social #accordion-bookmarks h3 span {
  color: #fff !important;
}
.doc_index #page-main .cont_social #accordion-bookmarks .acdCont {
  list-style: none;
  margin: 0 !important;
  padding: 0.5rem 1rem !important;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_social #accordion-bookmarks .acdCont li {
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--clr-border-light);
  float: none !important;
  width: 100% !important;
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}
.doc_index #page-main .cont_social #accordion-bookmarks .acdCont li:last-child {
  border-bottom: none;
}
.doc_index #page-main .cont_social #accordion-bookmarks .acdCont .arrowList {
  color: var(--clr-text-light);
  font-size: 0.9rem;
  flex-shrink: 0;
}
.doc_index #page-main .cont_social #accordion-bookmarks .acdCont a.list-title {
  color: var(--clr-text-main) !important;
  text-decoration: none;
  font-size: 0.85rem;
  flex: 1 1 auto;
  min-width: 0;
}
.doc_index #page-main .cont_social #accordion-bookmarks .acdCont a.list-title:hover {
  color: var(--clr-accent) !important;
  text-decoration: underline;
}
.doc_index #page-main .cont_social #accordion-bookmarks .facets-pagination {
  text-align: center;
  padding: 0.5rem;
  border-top: 1px solid var(--clr-border-light);
}
.doc_index #page-main .cont_social #accordion-bookmarks .facet-more {
  background: transparent;
  border: 1px solid var(--clr-accent);
  color: var(--clr-accent);
  padding: 0.3rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
  cursor: pointer;
}
.doc_index #page-main .cont_social #accordion-bookmarks .facet-more:hover {
  background: var(--clr-accent);
  color: #fff;
}
/* ============================================================
   GRID — Bento mosaico CSS Grid asimétrico con overlay hover
   ============================================================ */
.doc_index #page-main .cont_grid {
  display: flex !important;
  flex-direction: column;
  gap: 2rem;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_grid .grid_collection {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow-xs);
}
.doc_index #page-main .cont_grid .grid_collection_header {
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--clr-accent);
  padding-bottom: 0.6rem;
}
.doc_index #page-main .cont_grid .grid_collection_title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--clr-primary);
  margin: 0;
}
.doc_index #page-main .cont_grid .grid_collection_subtitle {
  font-size: 0.9rem;
  color: var(--clr-text-body);
  margin: 0.25rem 0 0;
  font-weight: 500;
}
.doc_index #page-main .cont_grid .grid_collection_summary {
  font-size: 0.8rem;
  color: var(--clr-text-muted);
  margin: 0.15rem 0 0;
}
/* Bento — CSS Grid auto-flow:dense con item destacado cada 6 */
.doc_index #page-main .cont_grid .grid_bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 180px;
  grid-auto-flow: dense;
  gap: 0.75rem;
}
.doc_index #page-main .cont_grid .grid_bento_item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--clr-bg-muted);
  box-shadow: var(--shadow-xs);
  text-decoration: none;
  isolation: isolate;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.doc_index #page-main .cont_grid .grid_bento_item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}
.doc_index #page-main .cont_grid .grid_bento_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease, filter 0.25s ease;
}
.doc_index #page-main .cont_grid .grid_bento_item:hover .grid_bento_img {
  transform: scale(1.07);
  filter: brightness(0.65);
}
.doc_index #page-main .cont_grid .grid_bento_meta {
  position: absolute;
  inset: auto 0 0 0;
  padding: 0.8rem 1rem;
  color: #fff;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.55) 55%, rgba(15, 23, 42, 0) 100%);
  transform: translateY(35%);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.25s ease;
  z-index: 1;
}
.doc_index #page-main .cont_grid .grid_bento_item:hover .grid_bento_meta,
.doc_index #page-main .cont_grid .grid_bento_item:focus-visible .grid_bento_meta {
  transform: translateY(0);
  opacity: 1;
}
.doc_index #page-main .cont_grid .grid_bento_label {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.doc_index #page-main .cont_grid .grid_bento_cta {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.25rem;
  font-size: 0.8rem;
  color: #fff;
  opacity: 0.9;
}
/* Bento — patrón de tamaños asimétrico repetido cada 8 items */
.doc_index #page-main .cont_grid .grid_bento_item_1,
.doc_index #page-main .cont_grid .grid_bento_item_9 {
  grid-column: span 2;
  grid-row: span 2;
}
.doc_index #page-main .cont_grid .grid_bento_item_4,
.doc_index #page-main .cont_grid .grid_bento_item_12 {
  grid-row: span 2;
}
.doc_index #page-main .cont_grid .grid_bento_item_7,
.doc_index #page-main .cont_grid .grid_bento_item_15 {
  grid-column: span 2;
}
@media (max-width: 960px) {
  .doc_index #page-main .cont_grid .grid_bento {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 160px;
  }
  .doc_index #page-main .cont_grid .grid_bento [class*="grid_bento_item_"] {
    grid-column: auto;
    grid-row: auto;
  }
  .doc_index #page-main .cont_grid .grid_bento_item_1,
  .doc_index #page-main .cont_grid .grid_bento_item_9 {
    grid-column: span 2;
  }
}
@media (max-width: 480px) {
  .doc_index #page-main .cont_grid .grid_bento {
    grid-template-columns: 1fr;
  }
  .doc_index #page-main .cont_grid .grid_bento_item_1,
  .doc_index #page-main .cont_grid .grid_bento_item_9 {
    grid-column: auto;
  }
  .doc_index #page-main .cont_grid .grid_bento_meta {
    transform: translateY(0);
    opacity: 1;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.35) 100%);
  }
}
/* ============================================================
   MOSAICO — Featured collection (alternating image/desc layout)
   ============================================================ */
.doc_index #page-main .cont_mosaico {
  display: flex !important;
  flex-direction: column;
  gap: 2rem;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
.doc_index #page-main .cont_mosaico .collections_container {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1.5rem 1.5rem 1.75rem;
  box-shadow: var(--shadow-xs);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.doc_index #page-main .cont_mosaico .collections_container > .cont_titulo {
  width: 100%;
  padding: 0 0 0.6rem;
  background: transparent !important;
  border-bottom: 2px solid var(--clr-accent);
  margin-bottom: 1.25rem;
}
.doc_index #page-main .cont_mosaico .collections_container > .cont_titulo h2 {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-family: inherit !important;
}
.doc_index #page-main .cont_mosaico .collections_container > .cont_titulo h3 {
  font-size: 0.9rem;
  color: var(--clr-text-body);
  font-weight: 500;
  margin: 0.2rem 0 0;
}
.doc_index #page-main .cont_mosaico .collections_container > .cont_titulo h4 {
  font-size: 0.8rem;
  color: var(--clr-text-muted);
  font-weight: 400;
  margin: 0.15rem 0 0;
}
.doc_index #page-main .cont_mosaico .collections_container .separador {
  display: none;
}
/* ============================================================
   TEXTO LIBRE — bloque printFormat=TEXT_BLOCK (texto.jsp)
   ============================================================
   .cont_texto_libre reutiliza .collections_container (flex column,
   align-items:center — de ahi el width:100% explicito en .texto_libre_header
   y .cont_titulo, si no un flex-item se encoge a su tamano de contenido).
   Titulo mas pequeno/centrado/sutil que el de .cont_mosaico (pedido
   explicitamente para este bloque, no tocar el de mosaico). */
.doc_index #page-main .cont_texto_libre {
  /* 75% del ancho de #page-main, centrado (deja hueco a izq/dcha). */
  max-width: 75%;
  margin: 0 auto 2rem;
}
.doc_index #page-main .cont_texto_libre .texto_libre_header {
  width: 100%;
  margin: 0 0 1rem;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.doc_index #page-main .cont_texto_libre .texto_libre_header img {
  display: block;
  width: 100%;
  max-height: 320px;
  object-fit: cover;
}
.doc_index #page-main .cont_texto_libre .cont_titulo {
  width: 100%;
  padding: 0 0 0.6rem;
  background: transparent !important;
  border-bottom: 1px solid var(--clr-border-light);
  margin-bottom: 1.25rem;
  text-align: center;
}
.doc_index #page-main .cont_texto_libre .cont_titulo h2 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-family: inherit !important;
}
.doc_index #page-main .cont_texto_libre .separador {
  display: none;
}
.doc_index #page-main .cont_texto_libre .texto_libre_body {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--clr-text-main);
  /* Preserva saltos de linea y tabuladores tal cual se escribieron en el
     textarea de la traduccion (bodyText se pinta como texto plano, sin
     pasar por ningun editor de rich-text que los convierta a <br>/<p>). */
  white-space: pre-wrap;
}
.doc_index #page-main .cont_texto_libre .texto_libre_body p:last-child {
  margin-bottom: 0;
}
.doc_index #page-main .cont_mosaico .collections_featured {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}
.doc_index #page-main .cont_mosaico .collections_featured_box {
  display: grid !important;
  grid-template-columns: minmax(0, 38%) 1fr;
  gap: 0;
  align-items: stretch;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin: 0 !important;
  float: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.doc_index #page-main .cont_mosaico .collections_featured_box:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
  border-color: var(--clr-accent);
}
.doc_index #page-main .cont_mosaico .collections_featured_box.is_right {
  grid-template-columns: 1fr minmax(0, 38%);
}
.doc_index #page-main .cont_mosaico .collections_featured_box.is_right .collections_featured_img {
  order: 2;
}
.doc_index #page-main .cont_mosaico .collections_featured_box.is_right .collections_featured_desc {
  order: 1;
}
.doc_index #page-main .cont_mosaico .collections_featured_img {
  width: auto !important;
  height: auto !important;
  min-height: 260px;
  padding: 0 !important;
  overflow: hidden;
  background: var(--clr-bg-muted);
}
.doc_index #page-main .cont_mosaico .collections_featured_img .collections_featured_link {
  display: block;
  width: 100%;
  height: 100%;
}
.doc_index #page-main .cont_mosaico .collections_featured_img .thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  transition: transform 0.45s ease;
}
.doc_index #page-main .cont_mosaico .collections_featured_box:hover .thumbnail {
  transform: scale(1.04);
}
.doc_index #page-main .cont_mosaico .collections_featured_desc {
  width: auto !important;
  padding: 1.5rem 1.75rem !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.doc_index #page-main .cont_mosaico .collections_featured_desc .tituloCaja {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary) !important;
  padding: 0 !important;
  margin: 0 0 0.65rem !important;
  line-height: 1.25;
}
.doc_index #page-main .cont_mosaico .collections_featured_desc .contenidoCaja {
  font-size: 0.95rem !important;
  color: var(--clr-text-body) !important;
  line-height: 1.55;
  margin: 0 0 1rem !important;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: left;
  word-spacing: normal;
}
.doc_index #page-main .cont_mosaico .collections_featured_desc .formaBoton {
  margin: 0;
}
.doc_index #page-main .cont_mosaico .collections_featured_desc .formaBoton .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  padding: 0.5rem 1.1rem !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
.doc_index #page-main .cont_mosaico .collections_featured_desc .formaBoton .btn:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
  transform: translateX(2px);
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_mosaico .collections_featured_box,
  .doc_index #page-main .cont_mosaico .collections_featured_box.is_right {
    grid-template-columns: 1fr;
  }
  .doc_index #page-main .cont_mosaico .collections_featured_box.is_right .collections_featured_img {
    order: 1;
  }
  .doc_index #page-main .cont_mosaico .collections_featured_box.is_right .collections_featured_desc {
    order: 2;
  }
  .doc_index #page-main .cont_mosaico .collections_featured_img {
    min-height: 220px;
  }
  .doc_index #page-main .cont_mosaico .collections_featured_desc {
    padding: 1.1rem 1.2rem !important;
  }
}
/* ============================================================
   CUSTOM COLLECTION — modernizada (cc_grid / cc_card)
   ============================================================ */
/* Contenedor: aire horizontal y vertical respecto al borde del viewport y
   respecto a los bloques adyacentes (sliders/grid). Antes el bloque iba
   pegado al borde y se confundía con el carrusel de abajo. */
.doc_index #page-main .cont_custom_collection {
  padding: 1.5rem 1rem 1.75rem;
  margin: 0 0 1.5rem;
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_custom_collection {
    padding: 1rem 0.75rem 1.25rem;
  }
}
.doc_index #page-main .cont_custom_collection .cc_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_custom_collection .cc_grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
/* Header de cada columna (Colección principal / Otras colecciones).
   Diseño limpio: icono inline en acento (sin "caja" de fondo, evita el efecto
   boxy), título bold del mismo tamaño que los headers de los sliders,
   separador inferior fino que cruza toda la columna (no sólo la barra de
   acento corta — que descompensaba la composición).
   La barrita de acento se mueve sutilmente al hover de toda la columna como
   gesto de invitación. */
.doc_index #page-main .cont_custom_collection .cc_section_header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.9rem;
  padding: 0 0 0.55rem;
  border-bottom: 1px solid var(--clr-border-light);
}
.doc_index #page-main .cont_custom_collection .cc_section_header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 48px;
  height: 2px;
  background: var(--clr-accent);
  transition: width 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.doc_index #page-main .cont_custom_collection .cc_col:hover .cc_section_header::after,
.doc_index #page-main .cont_custom_collection .cc_col:focus-within .cc_section_header::after {
  width: 84px;
}
.doc_index #page-main .cont_custom_collection .cc_section_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 0;
  background: transparent;
  border-radius: 0;
  color: var(--clr-accent);
  flex: 0 0 auto;
}
.doc_index #page-main .cont_custom_collection .cc_section_icon .fa {
  font-size: 1rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  color: inherit !important;
}
.doc_index #page-main .cont_custom_collection .cc_section_title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  letter-spacing: -0.005em;
  line-height: 1.2;
  text-align: left !important;
  font-family: inherit !important;
}
.doc_index #page-main .cont_custom_collection .cc_main,
.doc_index #page-main .cont_custom_collection .cc_others {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.doc_index #page-main .cont_custom_collection .cc_card {
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.doc_index #page-main .cont_custom_collection .cc_card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
  border-color: var(--clr-accent);
}
.doc_index #page-main .cont_custom_collection .cc_card_link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.doc_index #page-main .cont_custom_collection .cc_card_image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--clr-bg-muted);
  overflow: hidden;
}
.doc_index #page-main .cont_custom_collection .cc_card_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.doc_index #page-main .cont_custom_collection .cc_card:hover .cc_card_image img {
  transform: scale(1.05);
}
.doc_index #page-main .cont_custom_collection .cc_card_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(30, 86, 135, 0) 0%, rgba(30, 86, 135, 0.25) 100%);
  pointer-events: none;
}
.doc_index #page-main .cont_custom_collection .cc_card_main .cc_card_image {
  aspect-ratio: 4 / 3;
}
.doc_index #page-main .cont_custom_collection .cc_card_body {
  padding: 0.85rem 1.05rem 1rem;
}
.doc_index #page-main .cont_custom_collection .cc_card_title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--clr-primary);
  margin: 0 0 0.35rem;
  line-height: 1.3;
}
.doc_index #page-main .cont_custom_collection .cc_card_main .cc_card_title {
  font-size: 1.25rem;
}
.doc_index #page-main .cont_custom_collection .cc_card_desc {
  font-size: 0.85rem;
  color: var(--clr-text-body);
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.doc_index #page-main .cont_custom_collection .cc_card_more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.65rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--clr-accent);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: gap 0.2s ease;
}
.doc_index #page-main .cont_custom_collection .cc_card:hover .cc_card_more {
  gap: 0.65rem;
  color: var(--clr-accent-dark);
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_custom_collection .cc_grid {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   SKELETON SHIMMER — placeholder mientras las imágenes cargan
   ----------------------------------------------------------------------------
   Estrategia robusta: el shimmer es un pseudo-elemento ::before DETRÁS de
   la img (z-index 1 vs 2). La img siempre es visible — cuando termina de
   pintarse, simplemente tapa el shimmer. Si la img tarda, se ve el efecto
   por debajo. Si JS no llega a marcar .is-loaded, la imagen sigue
   visible igualmente (la animación CSS sigue corriendo bajo la img, sin
   coste visible).
   La clase .is-loaded (la añade SKELETON_LOADER en app.index.js) sólo
   desactiva la animación una vez la imagen confirma su evento load → no
   es load-blocking de la imagen.
   ============================================================ */
@keyframes ms-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.doc_index #page-main .cont_sliders .cont_imagen,
.doc_index #page-main .cont_sliders .coleccion_img_back,
.doc_index #page-main .cont_custom_collection .cc_card_image,
.doc_index #page-main .cont_grid .grid_bento_item,
.doc_index #page-main .cont_mosaico .collections_featured_img,
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left .cont_imagen {
  position: relative;
  background-color: var(--clr-bg-muted);
}
.doc_index #page-main .cont_sliders .cont_imagen::before,
.doc_index #page-main .cont_sliders .coleccion_img_back::before,
.doc_index #page-main .cont_custom_collection .cc_card_image::before,
.doc_index #page-main .cont_grid .grid_bento_item::before,
.doc_index #page-main .cont_mosaico .collections_featured_img::before,
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left .cont_imagen::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--clr-bg-muted);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.65) 50%, rgba(255, 255, 255, 0) 100%);
  background-size: 200% 100%;
  background-repeat: no-repeat;
  background-position: 200% 0;
  animation: ms-skeleton-shimmer 1.4s ease-in-out infinite;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
/* La img / link contenedor de img va por encima del shimmer */
.doc_index #page-main .cont_sliders .cont_imagen > *,
.doc_index #page-main .cont_sliders .coleccion_img_back > *,
.doc_index #page-main .cont_custom_collection .cc_card_image > *,
.doc_index #page-main .cont_grid .grid_bento_item > *,
.doc_index #page-main .cont_mosaico .collections_featured_img > *,
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left .cont_imagen > * {
  position: relative;
  z-index: 1;
}
/* Una vez que JS marca .is-loaded → escondemos el shimmer */
.doc_index #page-main .cont_sliders .cont_imagen.is-loaded::before,
.doc_index #page-main .cont_sliders .coleccion_img_back.is-loaded::before,
.doc_index #page-main .cont_custom_collection .cc_card_image.is-loaded::before,
.doc_index #page-main .cont_grid .grid_bento_item.is-loaded::before,
.doc_index #page-main .cont_mosaico .collections_featured_img.is-loaded::before,
.doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left .cont_imagen.is-loaded::before {
  opacity: 0;
  animation: none;
}
/* Reduce motion → sin animación, pero igualmente el fondo muted reserva el alto */
@media (prefers-reduced-motion: reduce) {
  .doc_index #page-main .cont_sliders .cont_imagen::before,
  .doc_index #page-main .cont_sliders .coleccion_img_back::before,
  .doc_index #page-main .cont_custom_collection .cc_card_image::before,
  .doc_index #page-main .cont_grid .grid_bento_item::before,
  .doc_index #page-main .cont_mosaico .collections_featured_img::before,
  .doc_index #page-main .cont_paneles .cont_panel .panel-body .media-left .cont_imagen::before {
    animation: none;
    background-image: none;
  }
}
/* ============================================================
   EXPOSITIONS / TIMELINES / MAPS
   ============================================================ */
.doc_index #page-main .cont_expositions {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow-xs);
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
/* ============================================================
   Responsive — under 767px
   ============================================================ */
@media (max-width: 767.98px) {
  .doc_index #page-main .cont_home_elements {
    gap: 1.25rem;
    padding: 0.25rem 0 1rem;
  }
  .doc_index #page-main .cont_paneles {
    gap: 1rem;
  }
  .doc_index #page-main .cont_paneles .cont_panel {
    flex: 1 1 100%;
  }
  .doc_index #page-main .cont_custom_collection {
    padding: 1rem;
  }
  .doc_index #page-main .cont_custom_collection .cc_grid {
    gap: 1rem;
  }
  .doc_index #page-main .cont_sliders .bloque_slider {
    padding: 1rem;
  }
  .doc_index #page-main .cont_sliders .cont_colecciones .cont_columna {
    flex: 1 1 100%;
  }
  .doc_index #page-main .cont_sliders .cont_carousel {
    min-height: 260px;
  }
}
/* ============================================================
   LISTA MUNICIPIOS — mapa interactivo con .mapael / .mapTooltip
   ============================================================
   Origen: includes_footer.jsp (líneas 61-180), solo se cargaba en index.
   ============================================================ */
#page-main.doc_index .lista_municipios .mapael .map {
  background-color: #fff;
  margin-bottom: 10px;
  position: relative;
}
#page-main.doc_index .lista_municipios .mapael .mapTooltip {
  position: absolute;
  background-color: #474c4b;
  moz-opacity: 0.7;
  opacity: 0.7;
  filter: alpha(opacity=70);
  border-radius: 10px;
  padding: 10px;
  z-index: 1000;
  max-width: 200px;
  display: none;
  font-size: 1.8rem;
  color: #fff;
}
#page-main.doc_index .lista_municipios .lista_municipios_heading {
  position: relative;
  float: none;
  display: inline-block;
  text-align: center;
  width: 100%;
}
#page-main.doc_index .lista_municipios .lista_municipios_heading .panel_heading_title {
  position: relative;
  width: 100%;
  height: 2em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: 'raleway_regular';
  font-size: 2rem;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  color: rgba(30, 55, 113, 0.92157);
}
@media screen and (min-width: 576px) {
  #page-main.doc_index .turn_mobile .lista_municipios .lista_municipios_heading .panel_heading_title {
    display: none !important;
  }
}
#page-main.doc_index .lista_municipios .cont_tabs_pagination .nav-tabs {
  border-bottom: 0px;
  margin: 20px 10px 20px 10px !important;
  text-align: center;
}
#page-main.doc_index .lista_municipios .cont_tabs_pagination .nav-tabs.pagination {
  display: inline-block !important;
  padding-left: 0 !important;
  border-radius: 4px !important;
  width: 100% !important;
}
#page-main.doc_index .lista_municipios .cont_tabs_pagination .nav-tabs.pagination li {
  font-size: 1.2rem !important;
  display: inline-block;
  float: none;
}
#page-main.doc_index .lista_municipios .tab-content {
  float: left;
}
#page-main.doc_index .lista_municipios .tab-content li {
  font-size: 1.4rem;
  border: 1px solid #325e81;
  background-color: #fff;
  padding: 5px 10px;
  color: #fff;
  font-family: 'raleway_regular,open_sans_bold';
  margin-top: 5px;
  border-radius: 4px;
  cursor: pointer;
}
#page-main.doc_index .lista_municipios .tab-content li:hover,
#page-main.doc_index .lista_municipios .tab-content li:focus {
  background-color: #DDDDDD;
  color: #1d7dbe;
}
#page-main.doc_index .lista_municipios .areaLegend {
  position: absolute;
  bottom: 60px;
  left: 60px;
}
@media screen and (max-width: 1199.98px) {
  #page-main.doc_index .lista_municipios .tab-content {
    width: 30% !important;
  }
}
@media screen and (max-width: 991.98px) {
  #page-main.doc_index .lista_municipios .tab-content {
    width: 25% !important;
  }
  #page-main.doc_index .lista_municipios .tab-content li {
    font-size: 1.2rem;
  }
}
@media (max-width: 991.98px) {
  #page-main.doc_index .lista_municipios .tab-content {
    width: 100% !important;
    float: none;
  }
  #page-main.doc_index .lista_municipios .tab-content li {
    font-size: 1.3rem;
  }
  #page-main.doc_index .lista_municipios .lista_municipios_heading .panel_heading_title {
    width: 80%;
    font-size: 2rem;
  }
}
/* es-carousel (también estaba en el bloque inline) */
.es-carousel ul {
  width: 100% !important;
}
/* ============================================================
   BLOQUE FINAL DE OVERRIDES (orden tarde = gana en la cascada)
   ------------------------------------------------------------
   Estas reglas existen también más arriba en el fichero, pero
   se mantenían en conflicto con bloques legacy de _page_index.less
   y _core.less importados antes. Al ponerlas AQUÍ al final del
   _index_main.less garantizamos que ganen el orden de cascada
   (a igual especificidad gana la regla que aparece después).

   Resuelve 3 cosas concretas que se reportaron rotas:
     1) Cabeceras de custom_collection pegadas al borde.
     2) Carrusel y swiper-scrollbar sin separación vertical.
     3) Slider SERIES (cont_colecciones) invisible al volver
        al .less desde el bloque inline.
   ============================================================ */
/* ── 1) Custom collection: padding en el contenedor padre y en la
   <section> hija, para que las cabeceras "Colección principal" y
   "Otras colecciones" queden inset 16-24px de los bordes. */
.doc_index #page-main .cont_custom_collection {
  padding: 1.5rem 1.5rem 1.75rem !important;
  margin: 0.5rem 0 1.5rem !important;
}
.doc_index #page-main .cont_custom_collection > #custom_collection,
.doc_index #page-main .cont_custom_collection > section.custom_collection_1 {
  padding: 24px !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_custom_collection {
    padding: 1.25rem 1rem 1.5rem !important;
  }
}
/* ── 2) Gap vertical entre el carrusel y el swiper-scrollbar.
   El usuario reportó que la barra queda PEGADA al pie del carrusel.
   Forzamos un padding-bottom de 20px en el .carousel.swiper para
   abrir espacio. El scrollbar queda como hermano abajo con margen 0. */
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .carousel.swiper {
  padding-top: 16px !important;
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar,
.doc_index #page-main .cont_sliders .bloque_slider .cont_carousel .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: relative !important;
  display: block !important;
  margin: 0 auto !important;
  width: 60% !important;
  max-width: 240px !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: var(--clr-border-light) !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
}
/* ── 3) Slider SERIES (cont_colecciones) — visible y full-width single.
   En la captura anterior con <style> inline funcionaba; al pasar al .less
   se "perdía". Causa: el mixin .centra_vh del legacy aplica
   position:absolute + top/left:50% + transform:translate(-50%,-50%) a la
   img, lo que colapsa el slide visualmente. Y sin min-height de fallback,
   si aspect-ratio falla, el slide queda en 0px.

   Reglas con !important + selector con #page-main para ganar especificidad
   sobre el legacy. min-height como fallback robusto. */
.doc_index #page-main .cont_sliders .cont_colecciones {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0.75rem 0 1.25rem !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_sliders .cont_colecciones {
    grid-template-columns: 1fr !important;
  }
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider,
.doc_index #page-main .cont_sliders .cont_colecciones .cont_columna {
  position: relative !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  /* permite que el item de grid encoja por debajo de su min-content (evita overflow horizontal en movil) */
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child {
  grid-column: 1 / -1 !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .colecciones_cont_slides {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border-light) !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05) !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_slide {
  display: none !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 220px !important;
  /* fallback si aspect-ratio no aplica */
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  max-height: none !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_slide.active {
  display: block !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_slide {
  aspect-ratio: 21 / 9 !important;
  min-height: 300px !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_img_back {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  background: var(--clr-bg-muted) !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_img_back img,
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_img_back img.coleccion_imagen {
  /* Reset del mixin .centra_vh del legacy + cover sobre el wrapper. */
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  display: block !important;
  transform: none !important;
  /* anula translate(-50%,-50%) del .centra_vh */
}
.doc_index #page-main .cont_sliders .cont_colecciones .colecciones_fondo {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.12) 35%, rgba(15, 23, 42, 0.55) 70%, rgba(15, 23, 42, 0.85) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .coleccion_contenido {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  padding: 1.2rem 1.25rem 1.1rem !important;
  margin: 0 !important;
  float: none !important;
  color: #fff !important;
  z-index: 2 !important;
}
.doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_contenido {
  padding: 1.75rem 1.75rem 1.5rem !important;
  max-width: 60% !important;
}
@media (max-width: 768px) {
  .doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_slide {
    aspect-ratio: 16 / 9 !important;
    min-height: 220px !important;
  }
  .doc_index #page-main .cont_sliders .cont_colecciones .collection_slider:only-child .coleccion_contenido {
    max-width: 100% !important;
    padding: 1.25rem 1.1rem 1.1rem !important;
  }
}
/* ============================================================
   DISCOVERY BLOCK — exposiciones / timelines / mapas (2026-05-28)
   ============================================================
   Reemplaza el viejo bloque `slider_tipo_01` con un patron grid +
   tarjetas (.disc-card) y, en el caso de timelines, una "tira"
   horizontal scrollable (.disc-strip) que refuerza la metafora
   temporal sin necesitar carrusel JS.

   Acentos por seccion via custom property --disc-tint, sobre-
   escrita por los modificadores .disc-section--{exhibitions|
   timelines|maps}. Sigue el design system (--clr-*, --radius-*,
   --shadow-*) y los breakpoints @bp-*.
   ============================================================ */
.doc_index #page-main .cont_expositions {
  /* el wrapper ya viene como card en el bloque previo; refinamos
     padding interno para que las secciones tengan aire propio */
  padding: 1.5rem 1.5rem 2rem !important;
}
.disc-section {
  --disc-tint: #3a7ca5;
  --disc-tint-soft: rgba(58,124,165,.10);
  --disc-tint-strong: #2c6280;
  position: relative;
  display: block;
  margin: 0;
  padding: 1.5rem 0;
}
.disc-section + .disc-section,
.disc-section + .disc-embed-maps {
  border-top: 1px dashed var(--clr-border-light);
  margin-top: 0.5rem;
}
/* Tintes por tipo */
.disc-section--exhibitions {
  --disc-tint: #3a7ca5;
  --disc-tint-soft: rgba(58,124,165,.10);
  --disc-tint-strong: #2c6280;
}
.disc-section--timelines {
  --disc-tint: #b45309;
  /* ambar profundo */
  --disc-tint-soft: rgba(180,83,9,.10);
  --disc-tint-strong: #92400e;
}
.disc-section--maps {
  --disc-tint: #0f766e;
  /* esmeralda */
  --disc-tint-soft: rgba(15,118,110,.10);
  --disc-tint-strong: #115e59;
}
/* ----- Header de seccion ----- */
.disc-section__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-left: 0.25rem;
}
.disc-section__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--radius-md);
  background: var(--disc-tint-soft);
  color: var(--disc-tint);
  font-size: 1.4rem;
  box-shadow: inset 0 0 0 1px var(--disc-tint-soft);
}
.disc-section__icon .fa {
  line-height: 1;
}
.disc-section__title-wrap {
  flex: 1 1 auto;
  min-width: 0;
}
.disc-section__title {
  margin: 0 0 0.15rem !important;
  font-size: 1.5rem !important;
  line-height: 1.2 !important;
  font-weight: 700;
  color: var(--clr-text-main);
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  border-bottom: 0 !important;
  /* evita el border-bottom heredado */
  padding-bottom: 0 !important;
  text-align: left !important;
}
.disc-section__subtitle {
  margin: 0;
  font-size: 0.9rem;
  color: var(--clr-text-muted);
  line-height: 1.4;
}
.disc-section__count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 1.75rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  background: var(--disc-tint);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
/* ----- Grid de tarjetas ----- */
.disc-section__grid {
  display: grid;
  /* auto-fit (no auto-fill): las columnas vacías colapsan y las tarjetas se
     ESTIRAN para llenar todo el ancho de la fila (sin hueco a la derecha),
     igual que el mosaico horizontal / diseño de referencia. El tope de ancho
     por tarjeta NO va aqui -- se probo minmax(240px, min(1fr, 320px)) y
     Chromium no lo respeta en el paso de "stretch" de fr cuando sobran pocas
     tarjetas: con 1 sola exposicion/mapa la tarjeta ocupaba igualmente el
     100% del ancho (comprobado 2026-09-15). El tope real esta desacoplado
     del grid, en .disc-card (max-width + margin-inline:auto, ver mas abajo),
     que funciona indistintamente de como el grid decida estirar la pista. */
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.disc-section--has-featured .disc-section__grid {
  /* En desktop con >=4 columnas, el primero (con .disc-card--featured)
     ocupa 2x2 para crear una jerarquia visual */
  grid-auto-flow: dense;
}
@media (min-width: 992px) {
  .disc-section--has-featured .disc-section__grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .disc-section--has-featured .disc-card--featured {
    grid-column: span 2;
    grid-row: span 2;
  }
}
/* ----- Tarjeta ----- */
.disc-card {
  position: relative;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-xs);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.disc-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--disc-tint);
}
/* Tope real de ancho por tarjeta (ver comentario en .disc-section__grid):
   desacoplado de la pista del grid porque min(1fr, 320px) en minmax()/
   grid-auto-columns no se respeta de forma fiable (ni en .disc-section__grid
   ni en .disc-strip, comprobado 2026-09-15). Con bastantes tarjetas la pista
   ya mide <=320px y esto no hace nada (max-width no reduce lo que ya es mas
   pequeño); con pocas, la tarjeta se centra dentro de una pista mas ancha en
   vez de estirarse a comerse todo el hueco. No aplica a la destacada
   (2x2, necesita el ancho completo de su hueco).*/
.disc-card:not(.disc-card--featured) {
  max-width: 320px;
  width: 100%;
  margin-inline: auto;
}
.disc-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none !important;
}
.disc-card__link:hover,
.disc-card__link:focus {
  text-decoration: none !important;
  color: inherit;
}
.disc-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--clr-bg-muted);
}
/* Red de seguridad: independientemente del aspect-ratio o de cuanto se
   estire la columna, la imagen nunca crece mas alla de esto. No se aplica
   a la tarjeta destacada (.disc-card--featured), que en desktop SI necesita
   llenar la altura de su hueco 2x2 (ver mas abajo, height:100%). */
.disc-card:not(.disc-card--featured) .disc-card__media {
  max-height: 320px;
}
.disc-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.disc-card:hover .disc-card__media img {
  transform: scale(1.04);
}
.disc-card__media::after {
  /* gradient inferior para asegurar legibilidad del chip */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
}
.disc-card__chip {
  position: absolute;
  left: 0.75rem;
  bottom: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.6rem;
  background: rgba(255, 255, 255, 0.92);
  color: var(--disc-tint-strong);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}
.disc-card__chip .fa {
  font-size: 0.8rem;
}
.disc-card__body {
  flex: 1 1 auto;
  padding: 0.9rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.disc-card__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--clr-text-main);
  /* Limita a 2 lineas para no romper la altura del card */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.disc-card__summary {
  margin: 0;
  font-size: 0.85rem;
  color: var(--clr-text-body);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* CTA como BOTÓN sólido (estructura alineada con el mosaico de tarjetas /
   diseño de referencia): en vez de un enlace de texto, una píldora rellena
   con el acento de la sección (--disc-tint). */
.disc-card__cta {
  margin-top: 0.75rem;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1.15rem;
  background: var(--disc-tint);
  color: #fff;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.01em;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.disc-card:hover .disc-card__cta {
  background: var(--disc-tint-strong);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.disc-card__cta .fa {
  font-size: 0.8rem;
}
/* Tarjeta destacada: imagen mas alta + body mas generoso */
.disc-card--featured .disc-card__media {
  aspect-ratio: 4 / 3;
}
@media (min-width: 992px) {
  .disc-card--featured .disc-card__media {
    aspect-ratio: auto;
    height: 100%;
    min-height: 320px;
  }
  .disc-card--featured .disc-card__body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    padding: 1.25rem 1.5rem 1.4rem;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.55) 65%, rgba(15, 23, 42, 0) 100%);
    color: #fff;
  }
  .disc-card--featured .disc-card__title {
    color: #fff;
    font-size: 1.45rem;
    -webkit-line-clamp: 3;
  }
  .disc-card--featured .disc-card__summary {
    color: rgba(255, 255, 255, 0.88);
    -webkit-line-clamp: 2;
  }
  .disc-card--featured .disc-card__cta {
    color: #fff;
  }
  .disc-card--featured:hover .disc-card__cta {
    color: #fff;
  }
  .disc-card--featured .disc-card__chip {
    top: 0.75rem;
    bottom: auto;
  }
}
/* Mapas: el aire a ambos lados con pocos elementos (1-2) ya lo da el tope de
   .disc-card (max-width:320px + margin-inline:auto, ver .disc-section__grid)
   -- la tarjeta se centra dentro de su propia pista sin necesitar tocar el
   grid. Aqui solo queda pedido explicito: sin efecto hover -- es informativo
   (localizar sobre el territorio),
   no un enlace de "seguir explorando" como exposiciones/lineas de tiempo. */
.disc-section--maps .disc-card:hover {
  transform: none;
  box-shadow: var(--shadow-xs);
  border-color: var(--clr-border-light);
}
.disc-section--maps .disc-card:hover .disc-card__media img {
  transform: none;
}
.disc-section--maps .disc-card:hover .disc-card__cta {
  background: var(--disc-tint);
  transform: none;
  box-shadow: none;
}
/* ----- Strip horizontal (timelines) ----- */
.disc-strip {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  /* minmax(260px, 1fr): las tarjetas se ESTIRAN para llenar todo el ancho
     cuando caben (sin hueco a la derecha) y, si hay demasiadas, respetan el
     mínimo de 260px y la tira hace scroll horizontal. El tope de 320px por
     tarjeta (para que 1-2 elementos no se coman todo el ancho) NO va aqui:
     min(1fr, 320px) invalidaba la propiedad entera en Chromium (computed
     grid-auto-columns caia a "auto", comprobado 2026-09-15) -- va en
     .disc-card, desacoplado de la pista (ver ese comentario). */
  grid-auto-columns: minmax(260px, 1fr);
  gap: 1rem;
  padding: 0.5rem 0.25rem 1.25rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--disc-tint) transparent;
}
.disc-strip::-webkit-scrollbar {
  height: 8px;
}
.disc-strip::-webkit-scrollbar-track {
  background: transparent;
}
.disc-strip::-webkit-scrollbar-thumb {
  background: var(--disc-tint);
  border-radius: 999px;
}
.disc-card--strip {
  scroll-snap-align: start;
  flex-shrink: 0;
}
.disc-card--strip .disc-card__media {
  aspect-ratio: 4 / 3;
}
/* "Eje" temporal: linea fina detras de la tira */
.disc-section--timelines {
  position: relative;
}
.disc-strip__rail {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1rem;
  height: 2px;
  background: linear-gradient(to right, transparent 0%, var(--disc-tint-soft) 8%, var(--disc-tint) 50%, var(--disc-tint-soft) 92%, transparent 100%);
  pointer-events: none;
  opacity: 0.5;
  display: none;
  /* hidden por defecto; uncoment si se quiere realzar */
}
/* ----- Embed maps wrapper ----- */
.disc-embed-maps {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px dashed var(--clr-border-light);
}
.disc-embed-maps__item {
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1rem;
  margin-bottom: 1.25rem;
}
.disc-embed-maps__item:last-child {
  margin-bottom: 0;
}
/* ----- Responsive ----- */
@media (max-width: 767.98px) {
  .doc_index #page-main .cont_expositions {
    padding: 1rem 1rem 1.25rem !important;
  }
  .disc-section {
    padding: 1rem 0;
  }
  .disc-section__header {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  .disc-section__icon {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.1rem;
  }
  .disc-section__title {
    font-size: 1.25rem !important;
  }
  .disc-section__subtitle {
    font-size: 0.82rem;
  }
  .disc-section__grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
  }
  .disc-strip {
    grid-auto-columns: minmax(220px, 240px);
  }
  .disc-card__body {
    padding: 0.75rem 0.85rem 0.85rem;
  }
  .disc-card__title {
    font-size: 0.95rem;
  }
  .disc-card__summary {
    font-size: 0.8rem;
    -webkit-line-clamp: 2;
  }
}
@media (max-width: 575.98px) {
  .disc-section__grid {
    grid-template-columns: 1fr 1fr;
  }
}
/* ============================================================
   doc-collection.jsp — vista de COLECCIÓN modernizada
   (/ms-opac/doc-collection/?idCollection=N).

   Markup .dc-* (ver doc-collection.jsp) sobre el design system
   del tema (--clr-*, --radius-*, --shadow-*) y breakpoints @bp-*.
   ============================================================ */
.doc_collection {
  /* Neutraliza el marco Bootstrap-3 de .thumbnail en nuestras imágenes
     (mantenemos la clase .thumbnail porque el fallback de error global
     en app.generic.functions.js sólo actúa sobre img.thumbnail). */
  /* ---------- Hero ---------- */
  /* ---------- Header de la sección de búsquedas ---------- */
  /* ---------- Grid de tarjetas ---------- */
}
.doc_collection .dc-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  padding: 0.5rem 0 1.5rem;
}
.doc_collection .dc-hero__img,
.doc_collection .dc-card__img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: cover;
  display: block;
}
.doc_collection .dc-hero {
  position: relative;
  display: flex;
  min-height: 300px;
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  background: #0f172a;
  box-shadow: var(--shadow-md, 0 10px 30px rgba(15, 23, 42, 0.14));
}
.doc_collection .dc-hero__media {
  position: absolute;
  inset: 0;
}
.doc_collection .dc-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.2) 0%, rgba(15, 23, 42, 0.55) 55%, rgba(15, 23, 42, 0.92) 100%);
}
.doc_collection .dc-hero__content {
  position: relative;
  z-index: 2;
  margin-top: auto;
  width: 100%;
  padding: 2.25rem 2.25rem 1.9rem;
  color: #fff;
}
.doc_collection .dc-hero__title {
  margin: 0 0 0.55rem;
  padding: 0;
  border: 0;
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}
.doc_collection .dc-hero__desc {
  margin: 0 0 0.4rem;
  max-width: 72ch;
  font-size: 1.02rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
}
.doc_collection .dc-hero__summary {
  margin: 0;
  max-width: 78ch;
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}
.doc_collection .dc-section__header {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin: 0 0 1.1rem;
}
.doc_collection .dc-section__icon {
  flex: 0 0 auto;
  width: 2.6rem;
  height: 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md, 12px);
  background: var(--clr-accent, #1e63d0);
  color: #fff;
  font-size: 1.15rem;
}
.doc_collection .dc-section__titles {
  flex: 1 1 auto;
  min-width: 0;
}
.doc_collection .dc-section__title {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--clr-text-main, #0f172a);
}
.doc_collection .dc-section__subtitle {
  margin: 0.1rem 0 0;
  font-size: 0.88rem;
  color: var(--clr-text-muted, #64748b);
}
.doc_collection .dc-section__count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.1rem;
  height: 1.7rem;
  padding: 0 0.6rem;
  border-radius: 999px;
  background: var(--clr-accent, #1e63d0);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
}
.doc_collection .dc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.1rem;
}
.doc_collection .dc-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--clr-bg-card, #fff);
  border: 1px solid var(--clr-border-light, #e2e8f0);
  border-radius: var(--radius-md, 12px);
  box-shadow: var(--shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.05));
  color: inherit;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.doc_collection .dc-card:hover,
.doc_collection .dc-card:focus-visible {
  box-shadow: var(--shadow-md, 0 10px 24px rgba(15, 23, 42, 0.12));
  transform: translateY(-3px);
  border-color: var(--clr-accent, #1e63d0);
  text-decoration: none;
  outline: none;
}
.doc_collection .dc-card:hover .dc-card__cta i,
.doc_collection .dc-card:focus-visible .dc-card__cta i {
  transform: translateX(3px);
}
.doc_collection .dc-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #eef0f3;
}
.doc_collection .dc-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1 1 auto;
  padding: 0.9rem 1rem 1rem;
}
.doc_collection .dc-card__title {
  margin: 0 0 0.15rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--clr-text-main, #0f172a);
}
.doc_collection .dc-card__meta {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--clr-text-muted, #64748b);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.doc_collection .dc-card__cta {
  margin-top: auto;
  padding-top: 0.65rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--clr-accent, #1e63d0);
}
.doc_collection .dc-card__cta i {
  transition: transform 0.15s ease;
}
/* ---------- Responsive ---------- */
@media (max-width: 767.98px) {
  .doc_collection .dc-hero {
    min-height: 220px;
  }
  .doc_collection .dc-hero__content {
    padding: 1.3rem 1.3rem 1.15rem;
  }
  .doc_collection .dc-grid {
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 0.8rem;
  }
}
/* El aside #cont_busqueda.doc_collection usa AHORA el mismo estilo de
   búsqueda que search/mosaic/doc/advanced (ver _search_aside.less, que ya
   incluye .doc_collection en sus :is(...)). Por eso se eliminó el bloque de
   breadcrumb "aside claro" que aquí compensaba: el breadcrumb hereda el
   estilo oscuro común. */
/*!
	@file        : _search_aside.less

	@description : Aside de búsqueda (#cont_busqueda) en páginas de resultado:
	                  search.jsp     (.doc_search)
	                  mosaic.jsp     (.doc_mosaic)
	                  doc.jsp        (.doc_doc)
	                  advanced.jsp   (.doc_advanced)
	                  more-info.jsp  (.doc_more_info)
	               Migrado desde _mods.less (Fase 4.12).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura JSP común:
	  <aside id="cont_busqueda" class="bloque doc_search|doc_mosaic|...">
	    .main_breadcrumb              ← breadcrumb sobre fondo azul
	    .busqueda.search-ppal
	      <form id="site-search">
	        .cont_busquedas
	          .form-group.cont_input
	            <input #q>
	            .twitter-typeahead    ← typeahead.js wrapper
	          .botonera_search
	            field-selector dropdown
	            submit (lupa)
	          tipo_en_linea filter row (chips de filtros activos)
	          tipo_columnas mode

	Notas:
	- Estilos legacy de styles.css que se sobrescriben:
	    .cont_busqueda.bloque { margin-top:70px }
	    .cont_busqueda { background:#fff; float:left }
	    .cont_busqueda .busqueda { float:left; height:100% }
	    .search-ppal .cont_busquedas { width:90%; max-width:740px }
	- El hero del index (.doc_index #busqueda) está en _index_hero.less
	  con selectores distintos.
	- Override del header float (#Header.posicion_absolute ~ #cont_busqueda)
	  vive aquí porque es la relación header ↔ aside.
---------------------------------------------------- */
/* ============================================================
   SEARCH FORM AREA  (search.jsp — doc_search)
   ============================================================
   styles.css legacy rules to beat:
     .cont_busqueda.bloque { margin-top:70px }       ← the gap below header
     .bloque { margin-top:15px; padding:0 15px }
     .cont_busqueda { background:#fff; float:left }
     .cont_busqueda .busqueda { float:left; height:100% }
     .cont_busqueda .busqueda .search-ppal .cont_busquedas { width:90%; max-width:740px }
     .main_breadcrumb { background: ... } from our own .main_breadcrumb rule
*/
/* ── Aside wrapper: glue it to the header, dark blue panel ── */
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority),
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority).bloque {
  float: none !important;
  /* beats .cont_busqueda { float:left } */
  background: var(--clr-primary) !important;
  padding: 1rem 1.5rem 0.9rem !important;
  /* tighter top padding */
  margin: 0 !important;
  /* beats .cont_busqueda.bloque { margin-top:70px } */
  width: 100% !important;
  position: relative;
  overflow: visible;
  /* allow dropdowns / typeahead to escape */
}
/* If header is absolute, push aside down by header height (CSS fallback).
   Incluye .registerjsp para login/register/cita-previa/contact/legal/policy. */
#Header.posicion_absolute ~ #cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority, .registerjsp) {
  margin-top: var(--header-height, 70px) !important;
}
/* Páginas mymediasearch + perfil/error/oauth: NO tienen <aside id="cont_busqueda">,
   por lo que <main #page-main> queda directamente bajo el Header absolute
   y se solapan migas + título. Las empujamos por margin-top. */
#Header.posicion_absolute ~ #page-main.tipo_mymediasearch,
#Header.posicion_absolute ~ #page-main:is(.userinfojsp, .rememberuserjsp,
                                          .updatejsp, .update2jsp,
                                          .updatepasswordjsp, .oauth2Infojsp,
                                          .errorjsp, .alertsOpacjsp) {
  margin-top: var(--header-height, 70px) !important;
}
#Header.posicion_absolute.header_h_200 ~ #page-main.tipo_mymediasearch,
#Header.posicion_absolute.header_h_200 ~ #page-main:is(.userinfojsp, .rememberuserjsp,
                                                        .updatejsp, .update2jsp,
                                                        .updatepasswordjsp, .oauth2Infojsp,
                                                        .errorjsp, .alertsOpacjsp) {
  margin-top: 100px !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda {
  float: none !important;
  height: auto !important;
  max-width: 900px;
  margin: 0 auto;
  position: static;
  overflow: visible;
}
/* Fondo fijo/carrusel del formulario de busqueda (Apariencia > Fondos por
   pagina) en este aside "compacto" (sin hero, altura automatica — a
   diferencia de .doc_index, que tiene su propio bloque en _index_hero.less).
   .busqueda_back{width:100%;height:100%} de _core.less no puede resolver un
   100% contra un ancestro de altura auto: el navegador cae a la altura
   intrinseca de la imagen, y como el aside necesita overflow:visible (para
   los desplegables del formulario) esa imagen se ve por encima/debajo de
   toda la pagina en vez de quedar contenida (issue real, 2026-08-14).
   inset:0 fija el tamano al del aside YA resuelto (por su contenido en
   flujo, que no incluye este fondo absoluto), sin depender de porcentajes.

   #busqueda se deja position:static (2026-08-14b) para que .busqueda_back
   (position:absolute, inset:0, hijo de #busqueda) tome como containing
   block a #cont_busqueda (posicionado, ancho 100% = la franja azul) en vez
   de a #busqueda (max-width:900px, centrado) — si no, el fondo solo cubria
   los 900px del buscador y no toda la franja. Como consecuencia el fondo
   pasa a cubrir tambien la altura del breadcrumb (hermano de #busqueda
   dentro de #cont_busqueda): ver regla .main_breadcrumb/.cont_migas mas
   abajo, que gana position:relative + z-index:1 para no quedar tapada. */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda .busqueda_back {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  z-index: 0;
  overflow: hidden !important;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda .busqueda_back picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda .busqueda_back picture.oculto {
  display: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda .busqueda_back picture.active {
  display: block !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda .busqueda_back picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  float: none !important;
}
/* El formulario/breadcrumb reales por encima del fondo (ya tenian z-index
   propio en algunos casos — aqui se deja explicito por claridad). */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #busqueda > *:not(.busqueda_back) {
  position: relative;
  z-index: 1;
}
/* Reset .no_iconos extra search-ppal padding for a tighter look */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .busqueda.no_iconos .search-ppal {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#search-ppal,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal {
  width: 100%;
  position: relative;
  z-index: 5;
}
/* cont_busquedas — full width, no max-width cap from styles.css */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_busquedas {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
  float: none !important;
}
/* ── Unified search bar (white pill — matches index.jsp) ──── */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input {
  position: relative !important;
  display: flex !important;
  align-items: stretch;
  width: 100% !important;
  height: auto !important;
  min-height: 48px;
  padding-right: 0 !important;
  margin-bottom: 0 !important;
  background: #fff;
  border-radius: var(--radius-md);
  overflow: visible;
  /* allow typeahead / dropdown menus */
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.22);
  float: none !important;
}
/* Text input fills available width — round its left side to match the
   container's border-radius (overflow:visible doesn't clip children, so
   we must round the input itself or it shows as a rectangle on the left). */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input > .form-control,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input > #q {
  flex: 1 1 auto !important;
  min-width: 0;
  width: auto !important;
  height: 48px !important;
  border: none !important;
  border-radius: var(--radius-md) 0 0 var(--radius-md) !important;
  background: #fff !important;
  font-size: 0.95rem;
  color: var(--clr-text-main);
  padding: 0.5rem 1.1rem;
  box-shadow: none !important;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input > .form-control:focus,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input > #q:focus {
  outline: none;
  box-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input > .form-control::placeholder,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input > #q::placeholder {
  color: var(--clr-text-light);
}
/* twitter-typeahead wrapper — match container's left rounding */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input .twitter-typeahead {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
  min-width: 0;
  background: transparent !important;
  border: none !important;
  border-radius: var(--radius-md) 0 0 var(--radius-md) !important;
  box-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input .tt-input,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input .tt-hint {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 48px !important;
  border: none !important;
  border-radius: var(--radius-md) 0 0 var(--radius-md) !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  padding: 0.5rem 1.1rem !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--clr-text-main) !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input .tt-hint {
  color: var(--clr-text-light) !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .form-group.cont_input .tt-input:focus {
  box-shadow: none !important;
  outline: none !important;
}
/* Button area */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .botonera_search {
  position: static !important;
  display: flex !important;
  align-items: stretch;
  flex-shrink: 0;
  margin: 0 !important;
  gap: 0;
  width: auto !important;
  height: auto !important;
  border: none !important;
  border-radius: 0;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .botonera_search .dropdown {
  position: relative !important;
  display: flex !important;
  align-items: stretch;
  width: auto !important;
  float: none !important;
}
/* Field-selector (sliders icon) — visible dark icon */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn.seleccion,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-default.dropdown-toggle.seleccion,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.seleccion {
  position: static !important;
  display: flex !important;
  align-items: center;
  background: #fff !important;
  border: none !important;
  border-left: 1px solid var(--clr-border-light) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #475569 !important;
  font-size: 0.88rem;
  height: 48px;
  padding: 0 0.9rem !important;
  white-space: nowrap;
  opacity: 1 !important;
  transition: background 0.15s, color 0.15s;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn.seleccion:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-default.dropdown-toggle.seleccion:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.seleccion:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-primary) !important;
}
/* Force icon dark — beats any .icono/btn-default white inheritance */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn.seleccion i,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn.seleccion .fa,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn.seleccion .icono,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.seleccion i,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.seleccion .fa,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.seleccion .icono {
  color: #475569 !important;
  font-size: 1rem !important;
  margin: 0 !important;
}
/* Submit (magnifier) — right-end pill
   Use the corporate primary blue (suave Albadoc) just like the index
   form, so search/mosaic/doc/advanced stay visually consistent. */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn_componente_simple.lupa,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal button[type="submit"].lupa,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.lupa.btn_componente_simple {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  background-color: var(--clr-primary) !important;
  border: none !important;
  border-color: transparent !important;
  border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
  color: #fff !important;
  height: 48px !important;
  width: auto !important;
  padding: 0 1.2rem !important;
  font-size: 0.9rem !important;
  font-weight: 600;
  line-height: 1 !important;
  box-shadow: none !important;
  white-space: nowrap;
  transition: background 0.15s;
  flex-shrink: 0;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn_componente_simple.lupa:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal button[type="submit"].lupa:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .input-group-addon.lupa.btn_componente_simple:hover {
  background-color: var(--clr-primary-mid) !important;
  box-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn_componente_simple.lupa .icono,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn_componente_simple.lupa i,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn_componente_simple.lupa .btn_search_titulo {
  color: #fff !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
}
/* Móvil: el home (_index_hero.less) ya oculta el texto "Buscar" del botón
   de la lupa por debajo de @bp-sm-max (queda solo el icono, con sitio de
   sobra para el input). Aquí (mismo botón, otro contexto) nunca se ocultaba,
   así que el input quedaba reducido a ~180px con el placeholder cortado
   (bug real, 2026-08-16). Se replica el mismo comportamiento del home. */
@media (max-width: 575.98px) {
  :is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn_componente_simple.lupa .btn_search_titulo {
    display: none;
  }
}
/* Dropdown menu for field selects (seleccion button) */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .dropdown-menu {
  position: absolute !important;
  z-index: 1050 !important;
  background: #fff !important;
  border-radius: var(--radius-md);
  border: 1px solid var(--clr-border);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);
  padding: 0.5rem 0;
  font-size: 0.84rem;
  min-width: 220px;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .dropdown-menu .form-group {
  padding: 0.4rem 0.75rem;
  margin: 0;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .dropdown-menu label {
  color: var(--clr-text-body);
  font-size: 0.8rem;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .dropdown-menu .dropdown-item:hover {
  background: var(--clr-bg-muted);
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .dropdown_botonera {
  padding: 0.4rem 0.75rem 0.3rem;
  border-top: 1px solid var(--clr-border-light);
  margin-top: 0.3rem;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .dropdown_botonera .btn {
  width: 100%;
  justify-content: center;
  font-size: 0.84rem;
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
/* Twitter typeahead suggestion list */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tt-menu,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tt-dropdown-menu {
  position: absolute !important;
  z-index: 1050 !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 100% !important;
  background: #fff !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16) !important;
  padding: 0.3rem 0 !important;
  font-size: 0.9rem;
  max-height: 320px;
  overflow-y: auto;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tt-suggestion {
  padding: 0.45rem 1rem;
  cursor: pointer;
  color: var(--clr-text-body);
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tt-suggestion:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tt-suggestion.tt-cursor {
  background: var(--clr-bg-muted);
  color: var(--clr-accent);
}
/* ── Filter row (tipo_en_linea) — full-width elegant pill bar ──
   Matches the tipo_columnas design: single 32px-tall translucent
   white pill at 100% width, with the .cont_grupo_filtros taking
   most of the row and the .btn_avanzada anchored at the right. */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_en_linea {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0.5rem;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0.65rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  float: none !important;
  box-sizing: border-box;
  /* Beat legacy: background-image:linear-gradient(190deg,#4984c5,#94b1c3),
                  border-bottom-left-radius:5px, border-bottom-right-radius:5px */
  background: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
}
/* When group_checks.enabled = false, the JSP renders just the advanced
   button with .justify-content-end — keep that behaviour. */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_en_linea.justify-content-end {
  justify-content: flex-end !important;
}
/* Filter group container: full-width pill that grows beside btn_avanzada
   Fondo OSCURO (no blanco translúcido): este aside puede llevar como banner
   una foto oscura (buen contraste con el .12 blanco original) o una
   ilustración/plano clara (p.ej. clientes con banners de línea sobre fondo
   claro) — con banner claro, blanco-sobre-blanco deja el texto casi
   invisible. Un cristal oscuro (negro translúcido) da contraste fiable de
   partida con CUALQUIER imagen de fondo, clara u oscura (bug real, 2026-08-16). */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros.tipo_checks_boton {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
  width: auto !important;
  height: 32px;
  min-height: 32px;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: var(--radius-sm);
  overflow: hidden;
  float: none !important;
  position: relative;
  transition: background 0.15s, border-color 0.15s;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros:hover {
  background: rgba(0, 0, 0, 0.55);
  border-color: rgba(255, 255, 255, 0.6);
}
/* Inner check row — flex of filter chips */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros .cont_checks {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}
/* Each filter option: clickable inline chip with a thin divider on the right */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  height: 100%;
  margin: 0 !important;
  padding: 0 0.75rem !important;
  flex: 0 0 auto;
  width: auto !important;
  white-space: nowrap;
  cursor: pointer;
  float: none !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
  transition: background 0.15s;
  position: relative;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group:last-child {
  border-right: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
/* Hide the legacy radio input (it's just a hidden form control) */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group > input[type="radio"].oculto,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group > input[type="radio"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute;
  opacity: 0;
}
/* Filter labels (the visible text — works on both <button> and <label>) */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros.tipo_checks_boton .control-label,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros.tipo_checks_boton label.control-label,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros.tipo_checks_boton button.control-label {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.78rem !important;
  font-weight: 500;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  float: none !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  line-height: 1 !important;
  white-space: nowrap;
  outline: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_grupo_filtros.tipo_checks_boton .titulo {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  background: transparent !important;
  border: none !important;
  text-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
/* Selected option: highlight the chip + bold label (uses :has() — modern browsers) */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group:has(.switchery_true) {
  background: rgba(255, 255, 255, 0.18) !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group:has(.switchery_true) .control-label,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .form-group:has(.switchery_true) .titulo {
  color: #fff !important;
  font-weight: 600 !important;
}
/* Compact switchery indicator — small dot on the left of each chip */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery {
  width: 18px !important;
  height: 10px !important;
  min-width: 18px;
  margin: 0 !important;
  padding: 0 !important;
  background-color: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  position: relative;
  display: inline-block;
  flex-shrink: 0;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery > small {
  width: 8px !important;
  height: 8px !important;
  top: 0 !important;
  left: 0 !important;
  background: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  position: absolute !important;
  transition: left 0.15s;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery_true,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery.switchery_true {
  background-color: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  box-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery_true > small {
  left: 8px !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery_false,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .cont_checks .switchery.switchery_false {
  background-color: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
/* Advanced search button (matches index hero btn_saberMas style)
   Fondo oscuro por la misma razon que .cont_grupo_filtros arriba: con un
   banner claro, el blanco-sobre-blanco original dejaba el boton practica-
   mente invisible (bug real, 2026-08-16). Nota: NO es hermano de
   .cont_grupo_filtros con un fondo compartido, asi que necesita su propio
   fondo oscuro explicito. */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  height: 32px;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.78rem;
  font-weight: 500;
  background: rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0 0.85rem !important;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.18s, border-color 0.18s;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada:focus,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada:active {
  background: rgba(0, 0, 0, 0.55) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  color: #fff !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada .icono,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada .titulo,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada > i,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .btn-opaqued.btn_avanzada > .fa {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  color: inherit !important;
  font-size: inherit !important;
  vertical-align: middle;
}
/* ── Columns mode (tipo_columnas) — index style ────────────── */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0.65rem 0 0 !important;
  padding: 0 !important;
  float: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .cont_columns {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 0.75rem;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col {
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: stretch !important;
  min-width: 0;
  padding: 0 !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_izqda .form-group,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_izqda .cont_select,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_izqda .filtro_select_busquedas {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas select.seleccion,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas select.form-control {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(0, 0, 0, 0.45) !important;
  /* fondo oscuro: mismo bug que .btn_avanzada/.cont_grupo_filtros */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(255,255,255,0.75)' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.7rem center !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0 1.85rem 0 0.7rem !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
  /* Beat legacy: .tipo_columnas .cont_select select { top: 3px } */
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas select.seleccion option {
  background: #fff !important;
  color: var(--clr-text-body) !important;
}
/* Right column — advanced-search button matching the .doc_index look */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha {
  display: flex !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  flex: 1 1 auto !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(0, 0, 0, 0.45) !important;
  /* fondo oscuro: mismo bug que .btn-opaqued.btn_avanzada arriba */
  border-radius: var(--radius-sm) !important;
  font-size: 0.78rem !important;
  padding: 0 0.85rem !important;
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1 !important;
  outline: none !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  transition: background 0.18s, border-color 0.18s;
  /* Beat legacy: .tipo_columnas .btn:not(.dropdown-toggle){margin-top:3px} */
  position: static !important;
  top: auto !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada:hover,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada:focus {
  background: rgba(0, 0, 0, 0.55) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada .icono,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada .titulo,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada > i,
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .search-ppal .tipo_columnas .col_dcha .btn_avanzada > .fa {
  color: inherit !important;
  background: transparent !important;
  text-shadow: none !important;
  position: static !important;
  font-size: inherit !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center;
}
/* ── Breadcrumb inside the dark-blue aside ───────────────────
   En search/mosaic/doc/advanced el breadcrumb va dentro del aside azul.
   Forzamos `display: flex` en el <ol.breadcrumb> y en cada <li> para
   que TODO ocupe una sola línea (el bug previo: sin display:flex los
   <li> caían como block y cada miga ocupaba su propia línea).
   Texto blanco translucido + activo en blanco fuerte + separador `/`.

   OJO (bug real, 2026-08-16): main-breadcrumb.jsp ya NO envuelve el
   breadcrumb en ningún `.cont_migas` (solo <div class="main_breadcrumb">
   directo) — esta regla vivía antes sobre esa clase muerta y nunca llegaba
   a aplicarse. #busqueda ya no es positioned (ver arriba, 2026-08-14b):
   .busqueda_back ahora cubre toda la altura de #cont_busqueda, incluida
   esta franja del breadcrumb (que es HERMANO de #busqueda, no descendiente
   — el `#busqueda > *:not(.busqueda_back){position:relative;z-index:1}` de
   más arriba tampoco lo alcanza). Con fondo transparent y sin z-index
   propio, el texto quedaba pintado por delante (los nodos de texto en
   flujo pintan antes que los descendientes posicionados) pero la caja
   opaca de fondo no podía competir con la imagen absolute — de ahí que
   antes pareciera "casi bien" (se leía el texto) pero cualquier intento de
   darle un fondo propio no se viera. position:relative + z-index:1 AQUÍ,
   directamente sobre .main_breadcrumb, es lo que de verdad hace falta. */
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb {
  position: relative !important;
  z-index: 1;
  background: rgba(0, 0, 0, 0.35) !important;
  border: none !important;
  border-radius: 4px;
  padding: 0.4rem 0.6rem 0.15rem !important;
  margin: 0.5rem 0 0 !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  width: fit-content !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb nav,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb nav {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  display: block;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb ol.breadcrumb,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb ol.breadcrumb,
#cont_busqueda .main_breadcrumb ol.breadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.1rem;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.78rem;
  list-style: none !important;
  line-height: 1.4 !important;
  width: auto !important;
  height: auto !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb .breadcrumb-item,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb .breadcrumb-item,
#cont_busqueda .main_breadcrumb .breadcrumb-item {
  display: inline-flex !important;
  align-items: center;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.78rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.9) !important;
  /* C5 (AA): .65→.9 sobre @clr-primary; 4.27:1 → 6.57:1 */
  width: auto !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb .breadcrumb-item a,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb .breadcrumb-item a {
  /* Nota: el 3er selector sin scopear (#cont_busqueda .main_breadcrumb ...) se
     eliminó: blanqueaba el breadcrumb de doc-collection, cuyo aside es claro. */
  color: rgba(255, 255, 255, 0.9) !important;
  /* C5 (AA): enlace "Inicio" .65→.9; 4.27:1 → 6.57:1 */
  text-decoration: none !important;
  padding: 0.2rem 0.45rem !important;
  border-radius: 4px !important;
  font-weight: 500;
  transition: background 0.12s, color 0.12s;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb .breadcrumb-item a:hover,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb .breadcrumb-item a:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  text-decoration: none !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb .breadcrumb-item.active,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb .breadcrumb-item.active {
  color: #ffffff !important;
  font-weight: 600;
  padding: 0.2rem 0.45rem !important;
}
:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) #cont_busqueda .main_breadcrumb .breadcrumb-item + .breadcrumb-item::before,
#cont_busqueda:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_collection, .doc_thesaurus, .doc_authority) .main_breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: '/' !important;
  color: rgba(255, 255, 255, 0.45);
  padding: 0 0.25rem !important;
  float: none !important;
}
/* ── Responsive (consolidado desde _mods.less RESPONSIVE ADJUSTMENTS) ── */
@media (max-width: 767.98px) {
  #cont_busqueda {
    padding: 0.85rem 1rem 1rem !important;
  }
}
/* ============================================================
   Aside listado (search/mosaic/doc/advanced/more_info) en < lg
   ============================================================
   - cont_principal apilado en columna con padding lateral
   - col_izqda y col_dcha al 100% (vence regla legacy con especificidad
     220 que las pone a 25% / 75% sin @media — necesitamos 3 IDs = 300)
   - Botón "Filtros" inyectado por app.search.js / app.mosaic.js
   - Estado .filtros_collapsed oculta todo el aside menos el botón
   - .cont_resultados / .listado al 100% del col_dcha
============================================================ */
@media (max-width: 991.98px) {
  #cont_principal.cont_principal,
  #cont_principal.cont_principal.row,
  main#page-main #cont_principal {
    flex-direction: column !important;
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  #page-main #cont_principal #col_izqda,
  #page-main #cont_principal #col_dcha {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    padding: 0 0.85rem !important;
    margin: 0 0 1rem 0 !important;
  }
  #page-main #cont_principal #col_dcha {
    margin-bottom: 0 !important;
  }
  #cont_principal #col_dcha .cont_resultados,
  #cont_principal #col_dcha .listado {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Toggle "Filtros" — botón inyectado por JS en col_izqda */
  #cont_principal .col_izqda .btn_filtros_toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.55rem 0.9rem;
    margin-bottom: 0.75rem;
    background: var(--clr-accent);
    color: #fff;
    border: 1px solid var(--clr-accent);
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
  }
  #cont_principal .col_izqda .btn_filtros_toggle:hover {
    background: var(--clr-accent-dark);
    border-color: var(--clr-accent-dark);
  }
  #cont_principal .col_izqda .btn_filtros_toggle::after {
    content: "\25BC";
    /* ▼ */
    margin-left: auto;
    transition: transform 0.15s;
  }
  #cont_principal .col_izqda.filtros_collapsed .btn_filtros_toggle::after {
    transform: rotate(-90deg);
  }
  /* Estado colapsado: ocultar todos los hijos del aside excepto el botón.
     Especificidad 320 para vencer las reglas legacy (display:flex, etc.). */
  #page-main #cont_principal #col_izqda.filtros_collapsed > *:not(.btn_filtros_toggle),
  #page-main #cont_principal #col_izqda.filtros_collapsed > div:not(.btn_filtros_toggle),
  #page-main #cont_principal #col_izqda.filtros_collapsed > .portlet,
  #page-main #cont_principal #col_izqda.filtros_collapsed > section,
  #page-main #cont_principal #col_izqda.filtros_collapsed > nav {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}
@media (min-width: 992px) {
  /* En desktop el botón de toggle no debe verse y .filtros_collapsed no
     puede afectar (por si alguien dejó la clase puesta al cambiar de
     viewport). */
  #cont_principal .col_izqda .btn_filtros_toggle {
    display: none !important;
  }
  #cont_principal .col_izqda.filtros_collapsed > * {
    display: revert !important;
  }
}
/* ============================================================
   Nubes de etiquetas (.tagcloud) — visibles tanto en col_izqda
   de /doc como en el aside lateral. Compartiendo wrapper con
   el panel "contexto" (.panel.panel-default.panel_collapse) ya
   heredan el estilo de cabecera/colapso. Aquí sólo se da forma
   al contenido: chips inline, tamaños según rel="N", responsive.
   ------------------------------------------------------------ */
.panel.filter_doc.nube_tags .panel-body .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.4rem;
  align-items: flex-start;
  line-height: 1.4;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.55rem;
  font-size: 0.85rem;
  color: var(--clr-primary, #2563eb);
  background: var(--clr-bg-subtle, #f3f4f6);
  border: 1px solid var(--clr-border-light, #e5e7eb);
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag:hover,
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag:focus-visible {
  background: var(--clr-primary, #2563eb);
  color: #ffffff;
  border-color: var(--clr-primary, #2563eb);
  text-decoration: none;
  outline: none;
}
/* Tamaño según popularidad (atributo rel emitido por filter-doc.jsp).
   La nube no incrementa de forma agresiva el tamaño para no romper la
   columna en pantallas pequeñas. */
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="1"] {
  font-size: 0.78rem;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="2"] {
  font-size: 0.82rem;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="3"] {
  font-size: 0.88rem;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="4"] {
  font-size: 0.94rem;
  font-weight: 600;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="5"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="6"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="7"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="8"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel="9"] {
  font-size: 1rem;
  font-weight: 600;
}
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="1"][rel$="0"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="2"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="3"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="4"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="5"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="6"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="7"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="8"],
.panel.filter_doc.nube_tags .panel-body .tagcloud .tag[rel^="9"] {
  font-size: 1.05rem;
  font-weight: 700;
}
/* En pantallas estrechas las etiquetas pueden envolverse cuando son
   muy largas, evitando que la columna desborde. */
@media (max-width: 768px) {
  .panel.filter_doc.nube_tags .panel-body .tagcloud .tag {
    white-space: normal;
    word-break: break-word;
  }
}
/*!
	@file        : _modals.less

	@description : Modales del catálogo (carrito / préstamos / impresión).
	               Migrado desde _mods.less (Fase 4.3).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura interna (en orden de cascada — el último gana):

	1. RESET + REDISEÑO MODAL PRÉSTAMOS
	   .modal.modal_carrito *  — reset agresivo del legacy
	   .modal.modal_carrito .modal-header  — cabecera fusionada (Fase 2b)
	   sub-elementos .blq, .bloque_00/01/02, .modal-title, .btn-close

	2. CART MODAL  (.modal.modal_carrito)
	   Modal del carrito: lista de items, formulario, footer, botones.
	   Generado por msearch.core.cart.js.

	3. PRINT MODAL  (.modal.modal_carrito.modal_impresion modal_90)
	   Mismo shell que el cart pero para previsualización de impresión.
	   Generado por msearch.core.printers.js. Bloque más grande de los 4.

	4. LOAN MODAL  (.modal.modal_carrito .loan-list)
	   Refinamiento de la solicitud de préstamo: por cada documento
	   un formulario con fieldsets (Cuándo / Dónde / Para qué).
	   Generado por msearch.core.loans.js::printTemplate.

	Nota: las 3 variantes (cart, print, loan) comparten el shell base
	.modal.modal_carrito, así que el bloque 1 (reset) sirve a todas.
---------------------------------------------------- */
/* ==============================
   RESET + REDISEÑO MODAL PRÉSTAMOS
   ============================== */
/* RESET fuerte del legacy */
.modal.modal_carrito *,
.modal.modal_carrito *::before,
.modal.modal_carrito *::after {
  box-sizing: border-box;
}
.modal.modal_carrito .modal-body,
.modal.modal_carrito .media,
.modal.modal_carrito .media-body,
.modal.modal_carrito .media-left,
.modal.modal_carrito .media-right,
.modal.modal_carrito .bloque,
.modal.modal_carrito .form_loan,
.modal.modal_carrito .item_acciones {
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: auto;
  height: auto;
  overflow: visible !important;
}
/* CONTENEDOR MODAL */
.modal.modal_carrito .modal-dialog {
  width: min(1100px, calc(100vw - 40px));
  max-width: none;
  margin: 30px auto;
}
.modal.modal_carrito .modal-content {
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #f8fafc;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12), 0 30px 80px rgba(0, 0, 0, 0.18);
}
/* HEADER */
.modal.modal_carrito .modal-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
}
.modal.modal_carrito .close,
.modal.modal_carrito .btn-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  margin: 0;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 0;
  border-radius: 10px;
  opacity: 1;
}
/* BODY */
.modal.modal_carrito .modal-body {
  padding: 24px;
  background: #f1f5f9;
  overflow: auto !important;
}
/* LISTADO */
.modal.modal_carrito .order_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  padding: 0;
  margin: 0;
}
/* CARD ITEM */
.modal.modal_carrito .item_listado_loan.media {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 22px;
  width: 100%;
  margin: 0;
  padding: 20px;
  background: #fff;
  border: 1px solid #d9e2ec;
  border-radius: 16px;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}
/* IMAGEN */
.modal.modal_carrito .item_listado_loan .media-left {
  width: 100px;
  min-width: 100px;
  padding: 0;
}
.modal.modal_carrito .item_listado_loan .cont_imagen {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px !important;
  height: 140px !important;
  margin: 0;
  background: #f8fafc;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  overflow: hidden;
}
.modal.modal_carrito .item_listado_loan .thumbnail {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
/* CONTENIDO */
.modal.modal_carrito .item_listado_loan .media-body {
  width: 100% !important;
  min-width: 0;
}
/* TITULO */
.modal.modal_carrito .item_listado_loan .media-heading {
  margin: 0 0 18px 0;
  padding: 0 0 12px 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.35;
  color: #0f172a;
  border-bottom: 1px solid #e2e8f0;
}
/* FORMULARIO */
.modal.modal_carrito .form_loan {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
  width: 100%;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
}
/* CAMPOS */
.modal.modal_carrito .form_loan .form-group {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.modal.modal_carrito .form_loan .form-group.col-md-12 {
  grid-column: 1 / -1;
}
.modal.modal_carrito .form_loan textarea {
  grid-column: 1 / -1;
}
/* LABELS */
.modal.modal_carrito .form_loan label {
  display: block;
  margin: 0 0 7px 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #334155;
}
/* INPUTS */
.modal.modal_carrito .form_loan .form-control {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  font-size: 0.88rem;
  color: #0f172a;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  box-shadow: none;
  transition: 0.2s ease;
}
.modal.modal_carrito .form_loan textarea.form-control {
  min-height: 100px;
  resize: vertical;
}
.modal.modal_carrito .form_loan .form-control:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
  outline: 0;
}
/* BOTONERA */
.modal.modal_carrito .item_acciones {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e2e8f0;
}
/* BOTON QUITAR */
.modal.modal_carrito .btn_quitar_item_carro {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 18px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff !important;
  background: #64748b !important;
  border: 1px solid #475569 !important;
  border-radius: 10px;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: 0.2s ease;
}
.modal.modal_carrito .btn_quitar_item_carro:hover {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  transform: translateY(-1px);
}
/* FOOTER */
.modal.modal_carrito .modal-footer {
  padding: 16px 24px;
  background: #fff;
  border-top: 1px solid #e2e8f0;
}
/* RESPONSIVE */
@media (max-width: 767.98px) {
  .modal.modal_carrito .modal-dialog {
    width: calc(100vw - 16px);
    margin: 8px auto;
  }
  .modal.modal_carrito .modal-body {
    padding: 14px;
  }
  .modal.modal_carrito .item_listado_loan.media {
    grid-template-columns: 1fr;
  }
  .modal.modal_carrito .item_listado_loan .media-left {
    width: 100%;
  }
  .modal.modal_carrito .item_listado_loan .cont_imagen {
    width: 140px !important;
    height: 180px !important;
    margin: 0 auto;
  }
  .modal.modal_carrito .form_loan {
    grid-template-columns: 1fr;
  }
}
.modal.modal_carrito .modal-header .blq,
.modal.modal_carrito .modal-header .bloque_00,
.modal.modal_carrito .modal-header .bloque_01 {
  position: relative !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.modal.modal_carrito .modal-header .btn,
.modal.modal_carrito .modal-header button {
  position: relative !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 220px;
  height: 38px !important;
  min-width: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  font-size: 0.78rem !important;
  font-weight: 700;
  line-height: 1 !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.modal.modal_carrito .modal-header .btn:hover,
.modal.modal_carrito .modal-header button:hover {
  background: rgba(255, 255, 255, 0.22) !important;
}
.modal.modal_carrito .modal-header .btn i,
.modal.modal_carrito .modal-header button i,
.modal.modal_carrito .modal-header .fa {
  margin: 0 6px 0 0 !important;
  color: inherit !important;
  font-size: 1rem;
}
.modal.modal_carrito .modal-header .btn_title {
  display: inline-block !important;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Botón cerrar */
.modal.modal_carrito .modal-header .close,
.modal.modal_carrito .modal-header .btn-close {
  order: 99;
  width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin-left: 8px !important;
  font-size: 0 !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 10px !important;
  opacity: 1 !important;
}
.modal.modal_carrito .modal-header .close::before,
.modal.modal_carrito .modal-header .btn-close::before {
  content: "×";
  font-size: 1.6rem;
  line-height: 1;
  color: #ffffff;
}
/* --- */
/* ============================================================
   CART MODAL — modern, clean, professional
   ============================================================
   Markup generated by msearch.core.cart.js:
     .modal.modal_carrito
       .modal-dialog.modal-lg
         .modal-content
           .modal-header
             .blq.bloque_00 (title)
             .blq.bloque_01.cart-modal-actions (toggle button)
             .blq.bloque_02 (close button)
           .modal-body
             .order_list.cart-list      (item list view)
               .cart-list-header (summary + helper)
               .cart-item (each row: thumb + title + qty + remove)
             .form_list.cart-form       (data-form view, slides in)
               .cart-form-header (icon + title + helper)
               .cart-form-body (form + submit button)
           .modal-footer
*/
/* Modal shell */
.modal.modal_carrito .modal-dialog {
  max-width: 720px;
}
.modal.modal_carrito .modal-content {
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18) !important;
  overflow: hidden;
  background: var(--clr-bg-card);
}
/* ── Header ─────────────────────────────────────────────────────
   Layout (left → right): [bloque_00 title] [bloque_01 toggle] [bloque_02 close]
   Use flex `order` so the close button (bloque_02) is ALWAYS rightmost,
   regardless of how the JS appends children to the header.            */
.modal.modal_carrito .modal-header {
  position: relative !important;
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  border-bottom: none !important;
  padding: 0.85rem 1.1rem !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap;
  gap: 0.75rem;
  width: 100%;
  min-height: 64px;
  overflow: hidden;
}
.modal.modal_carrito .modal-header .blq {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.modal.modal_carrito .modal-header .bloque_00 {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none !important;
  width: auto !important;
  order: 1;
}
.modal.modal_carrito .modal-header .bloque_01,
.modal.modal_carrito .modal-header .bloque_01.cart-modal-actions {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  order: 2;
}
.modal.modal_carrito .modal-header .bloque_02 {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  margin-left: 0.25rem !important;
  order: 3;
  /* ALWAYS at the right edge */
}
/* If the JS still appended an extra empty .bloque_01, hide it */
.modal.modal_carrito .modal-header .blq.bloque_01:empty {
  display: none !important;
}
/* Modal title with cart icon */
.modal.modal_carrito .modal-header .cart-modal-title,
.modal.modal_carrito .modal-header .modal-title {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  font-family: inherit !important;
  letter-spacing: 0;
  line-height: 1.3 !important;
  text-shadow: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.modal.modal_carrito .modal-header .cart-modal-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.modal.modal_carrito .modal-header .cart-modal-title span {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Toggle button (cart ↔ form) — clean translucent pill */
.modal.modal_carrito .cart-toggle-btn,
.modal.modal_carrito .btn_aviso {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.85rem !important;
  height: 34px;
  background: rgba(255, 255, 255, 0.14) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.modal.modal_carrito .cart-toggle-btn:hover,
.modal.modal_carrito .btn_aviso:hover {
  background: rgba(255, 255, 255, 0.24) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  color: #fff !important;
}
.modal.modal_carrito .cart-toggle-btn.active,
.modal.modal_carrito .btn_aviso.active {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--clr-primary) !important;
}
.modal.modal_carrito .cart-toggle-btn i,
.modal.modal_carrito .cart-toggle-btn .btn_title,
.modal.modal_carrito .btn_aviso i,
.modal.modal_carrito .btn_aviso .btn_title {
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
.modal.modal_carrito .cart-toggle-btn i {
  font-size: 0.9rem !important;
}
/* Hide the legacy unused .btn_retorno (handled by toggle button above) */
.modal.modal_carrito .btn_retorno {
  display: none !important;
}
/* Close (X) button — white circle with a clean Unicode Ã— inside.
   Applies to ALL custom modals (cart, loan-as-modal_carrito, print modal,
   any future ms-opac modal that uses createDialog). Uses ::before with
   the multiplication-sign character (U+00D7) which renders consistently
   across browsers — no SVG data-URLs, no font dependency, no broken "?". */
.modal.modal_carrito .modal-header .btn-close,
.modal.modal_carrito .modal-header button.btn-close,
.modal.modal_impresion .modal-header .btn-close,
.modal.modal_impresion .modal-header button.btn-close {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.12) !important;
  background-image: none !important;
  /* hide Bootstrap's default SVG */
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer;
  font-size: 0;
  /* hide any text label inside */
  text-indent: 0;
  line-height: 1 !important;
  transition: background-color 0.15s, border-color 0.15s, transform 0.15s;
  outline: none !important;
  box-shadow: none !important;
}
.modal.modal_carrito .modal-header .btn-close::before,
.modal.modal_impresion .modal-header .btn-close::before {
  content: "\00D7";
  /* Unicode multiplication sign Ã— */
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Arial, "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 22px;
  font-weight: 300;
  color: #fff;
  line-height: 1;
  pointer-events: none;
}
/* Block any legacy CSS ::after content from showing */
.modal.modal_carrito .modal-header .btn-close::after,
.modal.modal_impresion .modal-header .btn-close::after {
  content: none !important;
  display: none !important;
}
.modal.modal_carrito .modal-header .btn-close:hover,
.modal.modal_impresion .modal-header .btn-close:hover {
  background: rgba(255, 255, 255, 0.28) !important;
  border-color: #fff !important;
}
.modal.modal_carrito .modal-header .btn-close:active,
.modal.modal_impresion .modal-header .btn-close:active {
  transform: scale(0.92);
}
/* ============================================================
   PRINT MODAL (.modal_impresion) — same shell as cart modal
   ============================================================
   Rendered by msearch.core.printers.js via createDialog with class
   "modal_impresion modal_90". Header has:
     bloque_00 → modal title
     bloque_01 → template selector dropdown + print/export buttons + pager
     bloque_02 → close button
   Footer has the same buttons (mirrored bottom toolbar) + dropdown.
*/
/* Modal shell */
.modal.modal_impresion .modal-content {
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18) !important;
  overflow: hidden;
  background: var(--clr-bg-card);
}
.modal.modal_impresion.modal_90 .modal-dialog {
  max-width: 90vw;
  width: 90vw;
}
/* ── Header ─────────────────────────────────────────────────── */
.modal.modal_impresion .modal-header {
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  border-bottom: none !important;
  padding: 0.85rem 1.1rem !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap;
  gap: 0.75rem;
}
.modal.modal_impresion .modal-header .blq {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.modal.modal_impresion .modal-header .bloque_00 {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 38%;
  width: auto !important;
  order: 1;
}
.modal.modal_impresion .modal-header .bloque_01 {
  flex: 1 1 auto;
  width: auto !important;
  max-width: none !important;
  order: 2;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.modal.modal_impresion .modal-header .bloque_02 {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  margin-left: 0.25rem !important;
  order: 3;
}
/* Modal title */
.modal.modal_impresion .modal-header .modal_print_titulo {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-width: 0;
}
.modal.modal_impresion .modal-header .modal_print_titulo::before {
  content: "\f02f";
  /* fa-print */
  font-family: "FontAwesome";
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.modal.modal_impresion .modal-header .modal-title,
.modal.modal_impresion .modal-header .ms-dlg-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  font-family: inherit !important;
  letter-spacing: 0;
  line-height: 1.3 !important;
  text-shadow: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
}
/* Template selector dropdown in header */
.modal.modal_impresion .modal-header .modal_print_selectorPlantillas {
  display: inline-flex;
  align-items: center;
}
.modal.modal_impresion .modal-header .modal_print_selectorPlantillas .dropdown-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  height: 32px;
  padding: 0 0.85rem !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.8rem !important;
  font-weight: 500;
  line-height: 1 !important;
  white-space: nowrap;
  outline: none !important;
  box-shadow: none !important;
}
.modal.modal_impresion .modal-header .modal_print_selectorPlantillas .dropdown-toggle:hover {
  background: rgba(255, 255, 255, 0.24) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
}
.modal.modal_impresion .modal-header .modal_print_selectorPlantillas .caret {
  margin-left: 0.25rem;
}
.modal.modal_impresion .modal_print_selectorPlantillas .dropdown-menu {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18) !important;
  padding: 0.35rem 0 !important;
  margin: 0.35rem 0 0 !important;
  min-width: 220px;
  font-size: 0.82rem;
}
.modal.modal_impresion .modal_print_selectorPlantillas .dropdown-menu li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.modal.modal_impresion .modal_print_selectorPlantillas .dropdown-menu .item {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.85rem !important;
  font-size: 0.82rem !important;
  color: var(--clr-text-body) !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
}
.modal.modal_impresion .modal_print_selectorPlantillas .dropdown-menu .item:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
.modal.modal_impresion .modal_print_selectorPlantillas .dropdown-menu .item .icono,
.modal.modal_impresion .modal_print_selectorPlantillas .dropdown-menu .item .fa {
  color: var(--clr-text-muted);
  font-size: 0.85rem;
  width: 16px;
  text-align: center;
}
/* Print + Export buttons in header (icon-only) */
.modal.modal_impresion .modal-header .modal_print_btn_imprimelo {
  display: inline-flex;
  align-items: center;
}
.modal.modal_impresion .modal-header .boton_superior {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.modal.modal_impresion .modal-header .boton_superior:hover:not(:disabled):not([disabled]) {
  background: rgba(255, 255, 255, 0.24) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
}
.modal.modal_impresion .modal-header .boton_superior:disabled,
.modal.modal_impresion .modal-header .boton_superior[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}
.modal.modal_impresion .modal-header .boton_superior i,
.modal.modal_impresion .modal-header .boton_superior .icono,
.modal.modal_impresion .modal-header .boton_superior .fa {
  color: inherit !important;
  font-size: inherit !important;
  margin: 0 !important;
}
/* Pager in header (prev/next + page number) */
.modal.modal_impresion .modal-header .modal_print_botonera {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 0.25rem;
}
.modal.modal_impresion .modal-header .modal_print_botonera .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.15s;
}
.modal.modal_impresion .modal-header .modal_print_botonera .btn:hover:not(.disabled) {
  background: rgba(255, 255, 255, 0.24) !important;
}
.modal.modal_impresion .modal-header .modal_print_botonera .btn.disabled {
  opacity: 0.35;
  pointer-events: none;
}
.modal.modal_impresion .modal-header .modal_print_botonera .num_pags {
  display: inline-flex !important;
  align-items: center;
  height: 30px;
  padding: 0 0.65rem !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  cursor: default;
  white-space: nowrap;
  min-width: 90px;
  justify-content: center;
}
/* ── Body ───────────────────────────────────────────────────── */
.modal.modal_impresion .modal-body {
  padding: 1.25rem 1.5rem !important;
  background: var(--clr-bg-card);
  overflow: auto;
  max-height: 70vh;
}
/* ── Footer (mirrored toolbar) ──────────────────────────────── */
.modal.modal_impresion .modal-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.65rem 1.1rem !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.modal.modal_impresion .modal-footer .blq {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.modal.modal_impresion .modal-footer .bloque_00 {
  flex: 0 0 auto;
}
.modal.modal_impresion .modal-footer .bloque_01 {
  flex: 1 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.modal.modal_impresion .modal-footer .bloque_02 {
  flex: 0 0 auto;
}
/* Footer template selector dropdown — same as header but lighter palette */
.modal.modal_impresion .modal-footer .modal_print_selectorPlantillas .dropdown-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  height: 32px;
  padding: 0 0.85rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.8rem !important;
  font-weight: 500;
  line-height: 1 !important;
  white-space: nowrap;
  outline: none !important;
  box-shadow: none !important;
}
.modal.modal_impresion .modal-footer .modal_print_selectorPlantillas .dropdown-toggle:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-accent) !important;
  color: var(--clr-accent) !important;
}
/* Footer print/export buttons — text + icon, primary accent */
.modal.modal_impresion .modal-footer .boton_inferior {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  height: 36px;
  padding: 0 1rem !important;
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.modal.modal_impresion .modal-footer .boton_inferior:hover:not(:disabled):not([disabled]) {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
.modal.modal_impresion .modal-footer .boton_inferior:disabled,
.modal.modal_impresion .modal-footer .boton_inferior[disabled] {
  background: var(--clr-text-light) !important;
  border-color: var(--clr-text-light) !important;
  cursor: not-allowed;
}
.modal.modal_impresion .modal-footer .boton_inferior i,
.modal.modal_impresion .modal-footer .boton_inferior .icono {
  color: inherit !important;
  font-size: 0.85rem !important;
}
/* Footer pager (prev/next + label) */
.modal.modal_impresion .modal-footer .modal_print_botonera {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.modal.modal_impresion .modal-footer .modal_print_botonera .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  height: 32px;
  padding: 0 0.85rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.8rem !important;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.modal.modal_impresion .modal-footer .modal_print_botonera .btn:hover:not(.disabled) {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-accent) !important;
  color: var(--clr-accent) !important;
}
.modal.modal_impresion .modal-footer .modal_print_botonera .btn.disabled {
  opacity: 0.45;
  pointer-events: none;
}
.modal.modal_impresion .modal-footer .modal_print_botonera .num_pags {
  display: inline-flex !important;
  align-items: center;
  height: 32px;
  padding: 0 0.85rem !important;
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.78rem !important;
  font-weight: 500;
  cursor: default;
  white-space: nowrap;
  min-width: 110px;
  justify-content: center;
}
/* Hide the legacy .btn_retorno in any modal (toggle button now does both) */
.modal.modal_carrito .btn_retorno,
.modal.modal_impresion .btn_retorno {
  display: none !important;
}
/* Responsive: collapse the print modal toolbar on phones */
@media (max-width: 575.98px) {
  .modal.modal_impresion .modal-header {
    flex-wrap: wrap;
  }
  .modal.modal_impresion .modal-header .bloque_00 {
    flex: 1 1 100%;
    max-width: 100%;
    order: 1;
  }
  .modal.modal_impresion .modal-header .bloque_02 {
    order: 2;
    margin-left: auto !important;
  }
  .modal.modal_impresion .modal-header .bloque_01 {
    flex: 1 1 100%;
    order: 3;
    margin-top: 0.5rem !important;
    justify-content: flex-start;
  }
}
/* ── Body — wraps both views (.order_list and .form_list) ───── */
.modal.modal_carrito .modal-body {
  padding: 0 !important;
  background: var(--clr-bg-card);
  position: relative;
  overflow: hidden;
  min-height: 240px;
}
.modal.modal_carrito .modal-body .bloque {
  padding: 1.25rem 1.5rem;
}
/* ── Item list view (.order_list / .cart-list) ─────────────── */
.modal.modal_carrito .cart-list {
  position: relative;
  display: flex;
  flex-direction: column;
}
.modal.modal_carrito .cart-list-header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 0.85rem;
  margin-bottom: 0.85rem;
  border-bottom: 1px solid var(--clr-border-light);
}
.modal.modal_carrito .cart-list-count {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.85rem;
  color: var(--clr-text-body);
}
.modal.modal_carrito .cart-list-count i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(37, 99, 235, 0.1);
  color: var(--clr-accent);
  border-radius: 50%;
  font-size: 0.85rem;
}
.modal.modal_carrito .cart-list-count .cart-count-num {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--clr-primary);
  line-height: 1;
}
.modal.modal_carrito .cart-list-count .cart-count-label {
  font-size: 0.82rem;
  color: var(--clr-text-muted);
}
.modal.modal_carrito .cart-list-help {
  margin: 0;
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  line-height: 1.4;
}
/* Each cart item card */
.modal.modal_carrito .cart-item,
.modal.modal_carrito .item_listado_cart {
  display: flex !important;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  margin: 0 0 0.65rem 0;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.modal.modal_carrito .cart-item:last-child {
  margin-bottom: 0;
}
.modal.modal_carrito .cart-item:hover {
  border-color: var(--clr-accent);
  box-shadow: var(--shadow-xs);
}
/* Thumbnail */
.modal.modal_carrito .cart-item-thumb,
.modal.modal_carrito .cart-item .media-left {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  vertical-align: top !important;
}
.modal.modal_carrito .cart-item-thumb .cont_imagen,
.modal.modal_carrito .cart-item-thumb a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.modal.modal_carrito .cart-item-thumb .cont_thumbnail,
.modal.modal_carrito .cart-item-thumb figure {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--clr-bg-card);
}
.modal.modal_carrito .cart-item-thumb img.thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
/* Item body: title + controls */
.modal.modal_carrito .cart-item-body,
.modal.modal_carrito .cart-item .media-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0 !important;
}
.modal.modal_carrito .cart-item-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-main) !important;
  line-height: 1.4 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
/* Quantity + remove button row */
.modal.modal_carrito .cart-item-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.modal.modal_carrito .cart-item-quantity {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto;
}
.modal.modal_carrito .cart-qty-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--clr-text-muted);
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
}
.modal.modal_carrito .cart-item-quantity .quantity-order,
.modal.modal_carrito .cart-item-quantity input.form-control {
  width: 70px !important;
  height: 32px !important;
  padding: 0.35rem 0.5rem !important;
  font-size: 0.85rem !important;
  font-weight: 500;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  text-align: center;
  box-shadow: none !important;
  margin: 0 !important;
  transition: border-color 0.12s, box-shadow 0.12s;
}
.modal.modal_carrito .cart-item-quantity .quantity-order:focus {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
/* Remove button */
.modal.modal_carrito .cart-item-remove,
.modal.modal_carrito .cart-item .item_acciones {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto;
}
.modal.modal_carrito .cart-remove-btn,
.modal.modal_carrito .btn_quitar_item_carro {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem !important;
  height: 32px;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  box-shadow: none !important;
}
.modal.modal_carrito .cart-remove-btn:hover,
.modal.modal_carrito .btn_quitar_item_carro:hover {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
  color: #ef4444 !important;
}
.modal.modal_carrito .cart-remove-btn i,
.modal.modal_carrito .cart-remove-btn .btn_titulo,
.modal.modal_carrito .btn_quitar_item_carro i {
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
/* ── Empty state (.cart-empty) ─────────────────────────────── */
.modal.modal_carrito .cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 1.5rem;
  margin: 0;
}
.modal.modal_carrito .cart-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: rgba(37, 99, 235, 0.08);
  border: 2px dashed rgba(37, 99, 235, 0.25);
  border-radius: 50%;
  margin-bottom: 1rem;
}
.modal.modal_carrito .cart-empty-icon i {
  font-size: 2.2rem;
  color: var(--clr-accent);
  opacity: 0.6;
}
.modal.modal_carrito .cart-empty-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--clr-primary);
}
.modal.modal_carrito .cart-empty-text {
  margin: 0;
  max-width: 360px;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--clr-text-muted);
}
/* ── Form view (.form_list / .cart-form) ───────────────────── */
.modal.modal_carrito .cart-form {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.modal.modal_carrito .cart-form-header {
  padding: 1.25rem 1.5rem 0.85rem;
  border-bottom: 1px solid var(--clr-border-light);
  background: var(--clr-bg-subtle);
}
.modal.modal_carrito .cart-form-title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.3rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--clr-primary);
}
.modal.modal_carrito .cart-form-title i {
  color: var(--clr-accent);
  font-size: 1rem;
}
.modal.modal_carrito .cart-form-help {
  margin: 0;
  font-size: 0.82rem;
  color: var(--clr-text-muted);
  line-height: 1.5;
}
.modal.modal_carrito .cart-form-body {
  padding: 1.25rem 1.5rem;
  background: var(--clr-bg-card);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Form rows */
.modal.modal_carrito .cart-form-fields {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.modal.modal_carrito .cart-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}
@media (max-width: 575.98px) {
  .modal.modal_carrito .cart-form-row {
    grid-template-columns: 1fr;
  }
}
.modal.modal_carrito .cart-form-fields .form-group {
  display: flex !important;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0 !important;
  padding: 0 !important;
}
.modal.modal_carrito .cart-form-fields label {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.modal.modal_carrito .cart-form-fields label .required {
  color: #ef4444;
  font-weight: 700;
}
.modal.modal_carrito .cart-form-fields label .optional {
  color: var(--clr-text-light);
  font-weight: 400;
  font-size: 0.72rem;
  text-transform: none;
  letter-spacing: 0;
}
.modal.modal_carrito .cart-form-fields .form-control {
  width: 100% !important;
  height: 38px !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.88rem !important;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0 !important;
  font-family: inherit;
}
.modal.modal_carrito .cart-form-fields textarea.form-control {
  height: auto !important;
  min-height: 80px;
  resize: vertical;
  line-height: 1.5;
}
.modal.modal_carrito .cart-form-fields .form-control:focus {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
.modal.modal_carrito .cart-form-fields .form-control::placeholder {
  color: var(--clr-text-light);
}
/* Submit button */
.modal.modal_carrito .cart-form-actions {
  display: flex;
  justify-content: flex-end;
  margin: 0.25rem 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
  text-align: right !important;
}
.modal.modal_carrito .cart-form-submit,
.modal.modal_carrito #form-order-submit {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  padding: 0 1.25rem !important;
  height: 40px;
  min-width: 160px;
  background: var(--clr-accent) !important;
  background-image: none !important;
  border: 1px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.modal.modal_carrito .cart-form-submit:hover,
.modal.modal_carrito #form-order-submit:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
.modal.modal_carrito .cart-form-submit:disabled,
.modal.modal_carrito #form-order-submit:disabled {
  background: var(--clr-text-light) !important;
  border-color: var(--clr-text-light) !important;
  cursor: not-allowed;
  opacity: 0.85;
}
.modal.modal_carrito .cart-form-submit i,
.modal.modal_carrito #form-order-submit i {
  font-size: 0.9rem;
  color: inherit;
}
/* Submission feedback message */
.modal.modal_carrito .mensaje_validacion {
  margin: 0.85rem 0 0;
}
.modal.modal_carrito .mensaje_validacion .alert {
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid transparent !important;
  overflow: hidden;
  font-size: 0.85rem;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_header {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.9rem !important;
  margin: 0 !important;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid currentColor;
  border-bottom-color: rgba(0, 0, 0, 0.1) !important;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_header .titulo {
  flex: 1 1 auto;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_header i {
  font-size: 1rem;
  flex-shrink: 0;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_header .close {
  background: transparent;
  border: none;
  color: inherit;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  opacity: 0.55;
  padding: 0 0.25rem;
  margin: 0;
  flex-shrink: 0;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_header .close:hover {
  opacity: 1;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_body {
  padding: 0.85rem 1rem !important;
  margin: 0 !important;
  font-size: 0.85rem;
  line-height: 1.5;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_body p {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: inherit;
  font-size: inherit;
}
.modal.modal_carrito .mensaje_validacion .alert .alert_body hr.message-inner-separator {
  display: none;
}
.modal.modal_carrito .mensaje_validacion .alert.alert-success {
  background: #f0fdf4;
  border-color: #bbf7d0 !important;
  color: #166534;
}
.modal.modal_carrito .mensaje_validacion .alert.alert-info {
  background: #eff6ff;
  border-color: #bfdbfe !important;
  color: #1e3a8a;
}
.modal.modal_carrito .mensaje_validacion .alert.alert-danger {
  background: #fef2f2;
  border-color: #fecaca !important;
  color: #991b1b;
}
/* ── Footer (kept minimal for cart modal) ──────────────────── */
.modal.modal_carrito .modal-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.65rem 1.1rem !important;
  margin: 0 !important;
  min-height: 0;
}
.modal.modal_carrito .modal-footer .blq.bloque_01:empty,
.modal.modal_carrito .modal-footer .blq.bloque_00:empty,
.modal.modal_carrito .modal-footer .blq.bloque_02:empty {
  display: none !important;
}
/* ── Responsive: stack the toggle button below the title on phones ── */
@media (max-width: 575.98px) {
  .modal.modal_carrito .modal-header {
    flex-wrap: wrap;
    padding: 0.75rem 0.9rem !important;
  }
  .modal.modal_carrito .modal-header .bloque_00 {
    flex: 1 1 100%;
    order: 1;
  }
  .modal.modal_carrito .modal-header .bloque_02 {
    order: 2;
    margin-left: auto !important;
  }
  .modal.modal_carrito .modal-header .bloque_01 {
    flex: 1 1 100%;
    order: 3;
    margin-top: 0.5rem !important;
  }
  .modal.modal_carrito .cart-toggle-btn,
  .modal.modal_carrito .btn_aviso {
    width: 100%;
    justify-content: center;
  }
  .modal.modal_carrito .cart-item {
    flex-wrap: wrap;
  }
  .modal.modal_carrito .cart-item-controls {
    width: 100% !important;
    justify-content: space-between;
  }
}
/* ============================================================
   LOAN MODAL — refinamiento de la solicitud de préstamo
   ============================================================
   Markup generado por msearch.core.loans.js::printTemplate:
     .order_list.cart-list.loan-list
       .cart-list-header.loan-list-header (resumen + ayuda)
       .item_listado_loan.loan-item (1 por documento)
         .loan-item-head (thumb + título + botón quitar)
         .form_loan.loan-fields
           fieldset.loan-fields-group (Cuándo / Dónde / Para qué)
             legend.loan-fields-legend
             .loan-fields-grid (grid 12-col interno)
*/
/* Cabecera de resumen de la lista de préstamo */
.modal.modal_carrito .loan-list-header {
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 0.85rem 1.1rem;
  margin: 0 0 0.9rem 0;
}
.modal.modal_carrito .cart-list-summary {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.92rem;
  color: var(--clr-text-body);
}
.modal.modal_carrito .cart-list-summary i {
  color: var(--clr-primary);
  font-size: 1rem;
}
.modal.modal_carrito .cart-list-help {
  font-size: 0.82rem;
  color: var(--clr-text-muted);
  margin: 0.35rem 0 0 0;
  line-height: 1.45;
}
/* Cabecera del item: thumb + título + botón quitar (a la derecha) */
.modal.modal_carrito .loan-item {
  display: block !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  background: var(--clr-bg-card) !important;
  overflow: hidden;
  box-shadow: var(--shadow-xs) !important;
}
.modal.modal_carrito .loan-item-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem 1.1rem;
  background: linear-gradient(180deg, var(--clr-bg-subtle) 0%, var(--clr-bg-card) 100%);
  border-bottom: 1px solid var(--clr-border-light);
}
.modal.modal_carrito .loan-item-head .media-left {
  flex: 0 0 auto;
  width: 56px !important;
  min-width: 56px !important;
}
.modal.modal_carrito .loan-thumbnail {
  width: 56px !important;
  height: 72px !important;
  margin: 0;
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  background: var(--clr-bg-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
}
.modal.modal_carrito .loan-thumbnail .thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  inset: auto !important;
  position: relative !important;
}
.modal.modal_carrito .loan-item-titlebar {
  flex: 1 1 auto;
  min-width: 0;
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
}
.modal.modal_carrito .loan-item-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--clr-text-main);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.modal.modal_carrito .loan-item-remove {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.8rem !important;
  font-size: 0.82rem !important;
  color: var(--clr-danger) !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.modal.modal_carrito .loan-item-remove:hover {
  background: var(--clr-danger) !important;
  border-color: var(--clr-danger) !important;
  color: #fff !important;
}
.modal.modal_carrito .loan-item-remove .loan-item-remove-txt {
  font-weight: 500;
}
/* Cuerpo del item: 3 grupos (fieldsets) con leyenda y grid interno */
.modal.modal_carrito .loan-fields {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0.9rem 1.1rem 1rem 1.1rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: 100% !important;
}
.modal.modal_carrito .loan-fields-group {
  border: 0 none;
  padding: 0;
  margin: 0 0 1rem 0;
}
.modal.modal_carrito .loan-fields-group:last-child {
  margin-bottom: 0;
}
.modal.modal_carrito .loan-fields-legend {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--clr-text-muted);
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  border: 0 !important;
  width: auto !important;
  background: transparent !important;
}
.modal.modal_carrito .loan-fields-legend i {
  font-size: 0.85rem;
  color: var(--clr-primary);
}
.modal.modal_carrito .loan-fields-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.65rem 0.8rem;
}
.modal.modal_carrito .loan-fields-grid .form-group {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: 100% !important;
}
.modal.modal_carrito .loan-fields-grid .loan-field-col-12 {
  grid-column: span 12;
}
.modal.modal_carrito .loan-fields-grid .loan-field-col-6 {
  grid-column: span 6;
}
.modal.modal_carrito .loan-fields-grid label {
  display: block;
  margin: 0 0 0.3rem 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--clr-text-body);
}
.modal.modal_carrito .loan-fields-grid label .optional {
  font-weight: 400;
  font-size: 0.72rem;
  color: var(--clr-text-light);
  margin-left: 0.25rem;
}
.modal.modal_carrito .loan-fields-grid .form-control {
  width: 100%;
  min-height: 38px;
  padding: 0.45rem 0.65rem;
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--clr-text-body);
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  box-shadow: none;
  transition: border-color 0.12s, box-shadow 0.12s;
}
.modal.modal_carrito .loan-fields-grid .form-control:focus {
  border-color: var(--clr-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(58, 124, 165, 0.15);
}
.modal.modal_carrito .loan-fields-grid textarea.form-control {
  min-height: 60px;
  resize: vertical;
}
/* Responsive: en móvil colapsamos los grupos a 1 columna */
@media (max-width: 575.98px) {
  .modal.modal_carrito .loan-fields-grid .loan-field-col-6 {
    grid-column: span 12;
  }
  .modal.modal_carrito .loan-item-head {
    flex-wrap: wrap;
  }
  .modal.modal_carrito .loan-item-titlebar {
    flex: 1 1 100%;
  }
}
/* ===========================================================================
 *  CART WIZARD — flujo AHEB de 5 elecciones por item
 *
 *  Se inyecta dentro del modal del carrito cuando el usuario pulsa
 *  "Continuar a datos de contacto". Ver msearch.core.cart.js > renderWizard.
 *
 *  Estructura:
 *      .cart-wizard
 *        .cart-wizard-intro              (titulo + ayuda)
 *        .cart-wizard-items              (scroll vertical)
 *          .wizard-item-card             (un card por documento)
 *            .wizard-item-head           (titulo + progreso)
 *            .wizard-step-block × 4      (motivo / tipo / soporte / envio)
 *            .wizard-summary             (tarifa + total + pago)
 * =========================================================================== */
/* Modal ampliado en modo wizard — el listado plano cabe en modal-lg pero
   las cards del wizard necesitan modal-xl. */
.modal.modal_carrito .modal-dialog.cart-modal-wizard-mode {
  max-width: 1100px;
}
/* CRITICO: el JS de printOrderForm calcula height del modal-body ANTES de
 * que el wizard se renderice (fetch async) y lo aplica como style inline
 * via $.animate. Eso deja el body limitado a la altura del placeholder
 * "Cargando..." y oculta las cards completas. Forzamos altura auto +
 * scroll en el propio body cuando estamos en modo wizard. */
.modal.modal_carrito .modal-dialog.cart-modal-wizard-mode .modal-body {
  height: auto !important;
  max-height: 80vh !important;
  overflow-y: auto;
}
.modal.modal_carrito .modal-dialog.cart-modal-wizard-mode .form_list {
  height: auto !important;
  position: static !important;
  /* el animate inline deja position absolute */
}
.modal.modal_carrito .cart-wizard {
  --wiz-primary: #1d4ed8;
  --wiz-primary-soft: #eff6ff;
  --wiz-accent: #0d9488;
  --wiz-accent-soft: #ecfdf5;
  --wiz-danger: #dc2626;
  --wiz-danger-soft: #fef2f2;
  --wiz-border: #e2e8f0;
  --wiz-border-strong: #cbd5e1;
  --wiz-text-main: #1e293b;
  --wiz-text-muted: #64748b;
  --wiz-bg-subtle: #f8fafc;
  --wiz-radius: 10px;
  --wiz-shadow-card: 0 1px 3px rgba(15, 23, 42, 0.06), 0 4px 12px rgba(15, 23, 42, 0.04);
}
/* Intro */
.modal.modal_carrito .cart-wizard-intro {
  padding: 1rem 1.25rem 0.75rem;
  border-bottom: 1px solid var(--wiz-border);
  margin-bottom: 1rem;
}
.modal.modal_carrito .cart-wizard-heading {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--wiz-text-main);
  margin: 0 0 0.35rem;
}
.modal.modal_carrito .cart-wizard-heading .fa {
  color: var(--wiz-primary);
  margin-right: 0.4rem;
}
.modal.modal_carrito .cart-wizard-subheading {
  margin: 0;
  font-size: 0.85rem;
  color: var(--wiz-text-muted);
}
/* Estados de carga / error / vacio */
.modal.modal_carrito .cart-wizard-skeleton,
.modal.modal_carrito .cart-wizard-empty,
.modal.modal_carrito .cart-wizard-error {
  padding: 2rem;
  text-align: center;
  color: var(--wiz-text-muted);
  font-size: 0.9rem;
}
.modal.modal_carrito .cart-wizard-skeleton .fa,
.modal.modal_carrito .cart-wizard-empty .fa,
.modal.modal_carrito .cart-wizard-error .fa {
  margin-right: 0.4rem;
}
.modal.modal_carrito .cart-wizard-error {
  color: var(--wiz-danger);
}
/* Contenedor de cards. El scroll vertical lo gestiona ahora el .modal-body
 * (ver regla cart-modal-wizard-mode arriba) — aqui evitamos un segundo
 * scroll anidado que causaba que solo se viera la primera card. */
.modal.modal_carrito .cart-wizard-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 1.25rem 1rem;
}
/* ---------- Card por documento ---------- */
.modal.modal_carrito .wizard-item-card {
  background: #fff;
  border: 1px solid var(--wiz-border);
  border-radius: var(--wiz-radius);
  box-shadow: var(--wiz-shadow-card);
  overflow: hidden;
}
/* Header de la card */
.modal.modal_carrito .wizard-item-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--wiz-bg-subtle);
  border-bottom: 1px solid var(--wiz-border);
}
.modal.modal_carrito .wizard-item-index {
  display: block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wiz-text-muted);
  margin-bottom: 0.25rem;
}
.modal.modal_carrito .wizard-item-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--wiz-text-main);
  line-height: 1.3;
}
.modal.modal_carrito .wizard-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  font-size: 0.78rem;
  color: var(--wiz-text-muted);
}
.modal.modal_carrito .wizard-item-meta .fa {
  margin-right: 0.25rem;
}
/* Progress dots */
.modal.modal_carrito .wizard-progress {
  display: flex;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}
.modal.modal_carrito .wizard-progress-step {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--wiz-border-strong);
  color: var(--wiz-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}
.modal.modal_carrito .wizard-progress-step.is-current {
  border-color: var(--wiz-primary);
  color: var(--wiz-primary);
  box-shadow: 0 0 0 3px var(--wiz-primary-soft);
}
.modal.modal_carrito .wizard-progress-step.is-done {
  background: var(--wiz-accent);
  border-color: var(--wiz-accent);
  color: #fff;
}
.modal.modal_carrito .wizard-progress-step.is-done::before {
  content: "\f00c";
  /* fa-check */
  font-family: FontAwesome;
}
.modal.modal_carrito .wizard-progress-step.is-done {
  font-size: 0;
}
.modal.modal_carrito .wizard-progress-step.is-done::before {
  font-size: 0.8rem;
}
/* ---------- Bloques de paso (acordeon) ----------
 *  Cada bloque tiene 3 estados visuales mutuamente excluyentes:
 *    .is-locked   → todavia no se puede tocar. Mostrar solo cabecera atenuada.
 *    .is-current  → expandido. Mostrar cabecera + body.
 *    .is-done     → completado. Mostrar cabecera con tick + resumen + "Cambiar".
 *  El selector universal `> .wizard-step-body` se oculta en locked/done para
 *  que cada card quepa en pantalla sin scroll interno.
 * ----------------------------------------------- */
.modal.modal_carrito .wizard-step-block {
  border-top: 1px solid var(--wiz-border);
  transition: background 0.2s ease;
}
.modal.modal_carrito .wizard-step-block:first-of-type {
  border-top: none;
}
/* Cabecera comun a los 3 estados (la unica parte visible cuando locked/done) */
.modal.modal_carrito .wizard-step-header {
  padding: 0.65rem 1.25rem;
}
.modal.modal_carrito .wizard-step-title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--wiz-text-main);
  margin: 0;
}
.modal.modal_carrito .wizard-step-question {
  flex: 0 1 auto;
}
.modal.modal_carrito .wizard-step-summary {
  margin-left: auto;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--wiz-accent);
}
.modal.modal_carrito .wizard-step-edit {
  border: none;
  background: transparent;
  color: var(--wiz-primary);
  font-size: 0.72rem;
  font-weight: 500;
  text-decoration: underline;
  cursor: pointer;
  padding: 0 0.25rem;
  display: none;
  /* solo visible en is-done */
}
.modal.modal_carrito .wizard-step-block.is-done .wizard-step-edit {
  display: inline-block;
}
/* Body del paso — visible solo en is-current */
.modal.modal_carrito .wizard-step-body {
  padding: 0 1.25rem 1.1rem;
}
.modal.modal_carrito .wizard-step-block.is-locked > .wizard-step-body,
.modal.modal_carrito .wizard-step-block.is-done > .wizard-step-body {
  display: none;
}
/* Estado locked: gris claro, no clicable */
.modal.modal_carrito .wizard-step-block.is-locked {
  background: var(--wiz-bg-subtle);
}
.modal.modal_carrito .wizard-step-block.is-locked .wizard-step-title {
  color: var(--wiz-text-muted);
  opacity: 0.65;
}
.modal.modal_carrito .wizard-step-block.is-locked .wizard-step-num {
  background: var(--wiz-border-strong);
}
/* Estado current: fondo con tinte azul, expandido */
.modal.modal_carrito .wizard-step-block.is-current {
  background: linear-gradient(180deg, var(--wiz-primary-soft) 0%, transparent 60%);
}
/* Estado done: tinte verde, cabecera con tick */
.modal.modal_carrito .wizard-step-block.is-done {
  background: linear-gradient(to right, var(--wiz-accent-soft), transparent 60%);
}
.modal.modal_carrito .wizard-step-block.is-done .wizard-step-num {
  background: var(--wiz-accent);
  font-size: 0;
}
.modal.modal_carrito .wizard-step-block.is-done .wizard-step-num::before {
  content: "\f00c";
  /* fa-check */
  font-family: FontAwesome;
  font-size: 0.75rem;
}
.modal.modal_carrito .wizard-step-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--wiz-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.modal.modal_carrito .wizard-step-sublabel {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wiz-text-muted);
  margin: 0.75rem 0 0.4rem;
  font-weight: 600;
}
.modal.modal_carrito .wizard-step-placeholder,
.modal.modal_carrito .wizard-step-empty {
  padding: 0.75rem;
  background: var(--wiz-bg-subtle);
  border: 1px dashed var(--wiz-border);
  border-radius: 6px;
  color: var(--wiz-text-muted);
  font-size: 0.82rem;
  text-align: center;
}
/* ---------- Chips de grupo (paso 1) ---------- */
.modal.modal_carrito .wizard-chips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.6rem;
}
.modal.modal_carrito .wizard-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 0.9rem 1rem;
  background: #fff;
  border: 2px solid var(--wiz-border);
  border-radius: var(--wiz-radius);
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  color: var(--wiz-text-main);
  gap: 0.25rem;
}
.modal.modal_carrito .wizard-chip .fa {
  font-size: 1.2rem;
  color: var(--wiz-primary);
  margin-bottom: 0.35rem;
}
.modal.modal_carrito .wizard-chip:hover {
  border-color: var(--wiz-primary);
  background: var(--wiz-primary-soft);
}
.modal.modal_carrito .wizard-chip.is-active {
  border-color: var(--wiz-primary);
  background: var(--wiz-primary-soft);
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}
.modal.modal_carrito .wizard-chip-label {
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.2;
}
.modal.modal_carrito .wizard-chip-hint {
  font-size: 0.75rem;
  color: var(--wiz-text-muted);
  line-height: 1.3;
}
/* Chips compactos (soporte) */
.modal.modal_carrito .wizard-chips-support {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.modal.modal_carrito .wizard-chip-support {
  flex-direction: row;
  align-items: center;
  padding: 0.7rem 1rem;
}
.modal.modal_carrito .wizard-chip-support .fa {
  font-size: 1.4rem;
  margin: 0 0.6rem 0 0;
}
.modal.modal_carrito .wizard-chip-support .wizard-chip-label {
  font-size: 0.9rem;
}
/* Select del motivo concreto (paso 1b) */
.modal.modal_carrito .wizard-motive-detail {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--wiz-border);
}
/* ---------- Radio cards (pasos 2 y 4) ---------- */
.modal.modal_carrito .wizard-radio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.55rem;
}
.modal.modal_carrito .wizard-radio-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.9rem;
  background: #fff;
  border: 2px solid var(--wiz-border);
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  color: var(--wiz-text-main);
  text-align: left;
  transition: all 0.15s ease;
}
.modal.modal_carrito .wizard-radio-card .fa {
  color: var(--wiz-primary);
  flex-shrink: 0;
  font-size: 1.05rem;
}
.modal.modal_carrito .wizard-radio-card:hover {
  border-color: var(--wiz-primary);
  background: var(--wiz-primary-soft);
}
.modal.modal_carrito .wizard-radio-card.is-active {
  border-color: var(--wiz-primary);
  background: var(--wiz-primary-soft);
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}
.modal.modal_carrito .wizard-radio-card-label {
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.25;
}
/* ---------- Summary (tarifa + pago) ---------- */
.modal.modal_carrito .wizard-summary {
  padding: 1rem 1.25rem;
  background: var(--wiz-bg-subtle);
  border-top: 1px solid var(--wiz-border);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.modal.modal_carrito .wizard-summary-info {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: baseline;
}
.modal.modal_carrito .wizard-summary-tariff,
.modal.modal_carrito .wizard-summary-total {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.modal.modal_carrito .wizard-summary-tariff .label,
.modal.modal_carrito .wizard-summary-total .label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wiz-text-muted);
}
.modal.modal_carrito .wizard-summary-tariff .value,
.modal.modal_carrito .wizard-summary-total .value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--wiz-text-main);
}
.modal.modal_carrito .wizard-summary.is-success .wizard-summary-total .value {
  font-size: 1.35rem;
  color: var(--wiz-accent);
}
.modal.modal_carrito .wizard-summary.is-error {
  background: var(--wiz-danger-soft);
}
.modal.modal_carrito .wizard-summary-msg {
  padding: 0.55rem 0.75rem;
  background: var(--wiz-danger-soft);
  border: 1px solid #fecaca;
  border-radius: 6px;
  color: var(--wiz-danger);
  font-size: 0.82rem;
}
/* Botones de pago */
.modal.modal_carrito .wizard-summary-payment {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.modal.modal_carrito .wizard-payment-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.modal.modal_carrito .wizard-payment-chip {
  padding: 0.5rem 0.9rem;
  background: #fff;
  border: 2px solid var(--wiz-border);
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.82rem;
  color: var(--wiz-text-main);
  transition: all 0.15s ease;
}
.modal.modal_carrito .wizard-payment-chip .fa {
  margin-right: 0.35rem;
  color: var(--wiz-primary);
}
.modal.modal_carrito .wizard-payment-chip:hover {
  border-color: var(--wiz-primary);
  background: var(--wiz-primary-soft);
}
.modal.modal_carrito .wizard-payment-chip.is-active {
  border-color: var(--wiz-accent);
  background: var(--wiz-accent-soft);
}
.modal.modal_carrito .wizard-payment-chip.is-active .fa {
  color: var(--wiz-accent);
}
/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .modal.modal_carrito .modal-dialog.cart-modal-wizard-mode {
    max-width: 100%;
    margin: 0.5rem;
  }
  .modal.modal_carrito .wizard-item-head {
    flex-direction: column;
  }
  .modal.modal_carrito .wizard-progress {
    align-self: stretch;
    justify-content: space-between;
  }
  .modal.modal_carrito .wizard-chips,
  .modal.modal_carrito .wizard-radio-grid {
    grid-template-columns: 1fr;
  }
}
/*!
	@file        : _alerts.less

	@description : Componentes de feedback visual al usuario:
	                  · Toast + .cont_mensaje .alert-warning  (no results)
	                  · .facet-tags (active filters bar)
	                  · .alert legacy con .alert_header + .alert_body
	                    (errores, mybookmarks, mycomments, etc.)
	               Migrado desde _mods.less (Fase 4.11).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Páginas que usan el alert legacy con header/body:
	  errorjsp, myBookmarksjsp, myCommentsjsp, myTagsjsp, myRatesjsp,
	  myAlbumnsjsp, myAlbumnsSharedjsp, myCitationsjsp, myPurchasesjsp,
	  alertsOpacjsp, userinfojsp, rememberuserjsp, updatejsp, update2jsp,
	  updatepasswordjsp, oauth2Infojsp.
---------------------------------------------------- */
/* ============================================================
   NO RESULTS — Toast + legacy alert
   ============================================================ */
.toast {
  max-width: 500px;
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  font-size: 0.86rem;
  margin: 1.5rem auto;
}
.toast-header {
  background: var(--clr-bg-subtle);
  border-bottom: 1px solid var(--clr-border-light);
  color: var(--clr-text-body);
  font-weight: 600;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  gap: 0.5rem;
}
.toast-body {
  color: var(--clr-text-muted);
  padding: 0.75rem 1rem;
}
/* Legacy alert (kept for fallback) */
.cont_mensaje .alert-warning {
  border-radius: var(--radius-md);
  border-left: 4px solid #f59e0b;
  font-size: 0.86rem;
}
/* ============================================================
   FACET TAGS (active filters bar)
   ============================================================ */
.facet-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.6rem 0 0.4rem;
  align-items: center;
}
.facet-tag {
  display: inline-flex;
}
.facet-tag-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(11, 63, 98, 0.08);
  border: 1px solid rgba(11, 63, 98, 0.22);
  border-radius: 20px;
  color: var(--clr-primary) !important;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.2rem 0.65rem 0.2rem 0.75rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.facet-tag-link:hover {
  background: rgba(11, 63, 98, 0.15);
  border-color: rgba(11, 63, 98, 0.4);
  text-decoration: none;
}
.facet-tag-link .cont_titulo.enlace {
  color: var(--clr-primary) !important;
  font-weight: 500;
}
.facet-tag-link .btn_borra_item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(11, 63, 98, 0.15);
  color: var(--clr-primary) !important;
  font-size: 0.6rem;
  line-height: 1;
  transition: background 0.15s;
  flex-shrink: 0;
}
.facet-tag-link:hover .btn_borra_item {
  background: var(--clr-primary);
  color: #fff !important;
}
/* ============================================================
   ALERT (legacy .alert with .alert_header + .alert_body)
   ============================================================
   Used on error.jsp, mybookmarks/myComments/myTags etc., remember,
   userinfo. Modernize to match the .alert style elsewhere. */
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_informaciones {
  margin: 0 0 1rem !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert {
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid transparent !important;
  font-size: 0.85rem;
  position: relative;
  overflow: hidden;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_header {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.9rem !important;
  margin: 0 !important;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid currentColor;
  border-bottom-color: rgba(0, 0, 0, 0.1) !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_header .titulo {
  flex: 1 1 auto;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_header .glyphicon,
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_header i {
  font-size: 0.9rem;
  flex-shrink: 0;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_header .close {
  background: transparent;
  border: none;
  color: inherit;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  opacity: 0.55;
  padding: 0 0.25rem;
  margin: 0;
  text-decoration: none;
  flex-shrink: 0;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_header .close:hover {
  opacity: 1;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_body {
  padding: 0.85rem 1rem !important;
  margin: 0 !important;
  font-size: 0.85rem;
  line-height: 1.5;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_body p {
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit;
  line-height: inherit;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_body p:last-child {
  margin-bottom: 0 !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_body hr.message-inner-separator {
  display: none;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert .alert_footer {
  padding: 0.55rem 1rem 0.85rem !important;
  background: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
/* Color variants */
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert.alert-success {
  background: #f0fdf4;
  border-color: #bbf7d0 !important;
  color: #166534;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert.alert-warning {
  background: #fff7ed;
  border-color: #fed7aa !important;
  color: #92400e;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert.alert-info {
  background: #eff6ff;
  border-color: #bfdbfe !important;
  color: #1e3a8a;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_mensaje .alert.alert-danger {
  background: #fef2f2;
  border-color: #fecaca !important;
  color: #991b1b;
}
/* Return button on the error page */
#page-main.errorjsp .alert_footer .btn_retornar {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem !important;
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.12s;
}
#page-main.errorjsp .alert_footer .btn_retornar:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
#page-main.errorjsp .alert_footer .btn_retornar i,
#page-main.errorjsp .alert_footer .btn_retornar .icono {
  color: inherit !important;
}
/* ── Remember / Userinfo / Update — centered card with form ──── */
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .cont_panel_form,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .cont_form {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .panel.panel-info {
  flex: 0 1 640px;
  width: 100%;
  max-width: 640px;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .panel.panel-info .panel-heading {
  background: var(--clr-bg-subtle) !important;
  border: none !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  border-radius: 0 !important;
  padding: 0.7rem 1.2rem !important;
  margin: 0 !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .panel.panel-info .panel-heading .panel_titulo {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  background: transparent !important;
  border: none !important;
  text-shadow: none !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .panel.panel-info .panel-body {
  padding: 1.5rem 1.75rem !important;
  background: transparent !important;
  border: none !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .cont_formulario {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Forms (.form-horizontal) on remember/userinfo/update pages */
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form .form-group {
  display: flex !important;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form .form-group .control-label,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form label {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  width: auto !important;
  line-height: 1.35;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form .col-sm-8,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form .col-sm-4 {
  flex: 1 1 auto;
  width: 100% !important;
  max-width: 100%;
  padding: 0 !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form .form-control {
  display: block;
  width: 100% !important;
  height: 38px !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.88rem !important;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0 !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) form .form-control:focus {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
/* Button bar on remember/userinfo/update */
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .cont_botonera {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0.25rem 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .botonera {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .btn_enviar,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) input.btn_enviar,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .btn-primary[type="submit"],
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) input[type="submit"].btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  min-width: 130px;
  padding: 0 1.2rem !important;
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .btn_enviar:hover,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .btn-primary[type="submit"]:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .btn_limpiar,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) input[type="reset"].btn-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  min-width: 110px;
  padding: 0 1.1rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) .btn_limpiar:hover,
#page-main:is(.rememberuserjsp, .updatejsp, .update2jsp,
             .oauth2Infojsp) input[type="reset"].btn-warning:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-text-light) !important;
  color: var(--clr-text-main) !important;
}
/* ── Error page specific (centered, simpler) ──────────────── */
#page-main.errorjsp {
  align-items: center;
  justify-content: center;
  min-height: 60vh;
}
#page-main.errorjsp .cont_informaciones {
  max-width: 720px;
  width: 100%;
  margin: 0 auto !important;
}
#page-main.errorjsp .cont_mensaje .alert.alert-danger .alert_body {
  font-size: 0.92rem;
  line-height: 1.6;
}
/* ── Responsive (consolidado desde _mods.less RESPONSIVE ADJUSTMENTS) ── */
@media (max-width: 575.98px) {
  .facet-tags {
    padding: 0.4rem 0;
  }
}
/*!
	@file        : _results.less

	@description : Columna derecha (.col_dcha) — panel central de resultados,
	               tarjetas de mosaico y vista de detalle de documento.
	               Migrado desde _mods.less (Fase 4.10).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura interna (en orden de cascada — el último gana):

	1. RESULT CARDS — col_dcha
	   .col_dcha .item_listado / .card / .card-header / .card-body / .card-footer
	   Tarjetas de resultado en search.jsp.

	2. SEARCH PAGE — RESULTS COLUMN
	   #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced,
	   .doc_more_info) .col_dcha — paginación (.barra_paginacion,
	   .paginacion_resultados) y card-style elegante.
	   Mayor especificidad que las reglas anteriores.

	3. MOSAICO — TARJETAS  (mosaic.jsp)
	   Suavizado del borde duro de _core.less (border-radius:2px sin sombra)
	   por un acabado moderno con borde tenue + radio amplio.

	4. DOC PAGE — CENTRAL CONTENT  (#page-main.doc_doc .col_dcha)
	   Vista de detalle del documento: hierarchy breadcrumb, document title,
	   image viewer + metadata two-column layout, field groups, linked-fields
	   panel, social layer (comments/share).

	5. .cont_customs.mlt.doc_doc — bloque "Documentos relacionados"
	   Sección "More like this" al final del detalle del documento.

	Nota: las reglas responsive de col_dcha están dentro del bloque
	RESPONSIVE ADJUSTMENTS de _mods.less (que también afecta a
	cont_busqueda, header, footer y facet-tags), por lo que se quedan ahí.
---------------------------------------------------- */
/* ============================================================
   RESULT CARDS — col_dcha
   ============================================================ */
#page-main {
  padding-top: 1.25rem;
  padding-bottom: 2rem;
}
#cont_principal {
  display: flex;
  align-items: flex-start;
}
#col_dcha,
.col_dcha {
  padding-left: 1rem;
}
/* Individual card */
.col_dcha .card {
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  background: var(--clr-bg-card);
  transition: box-shadow 0.18s, transform 0.18s;
  overflow: hidden;
}
.col_dcha .card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
/* Card header — action buttons strip */
.col_dcha .card-header {
  background: var(--clr-bg-subtle) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  padding: 0.35rem 0.75rem !important;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0.3rem;
}
.col_dcha .card-header .btn,
.col_dcha .card-header button {
  background: transparent !important;
  border: 1px solid var(--clr-border) !important;
  color: var(--clr-text-muted) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.78rem;
  padding: 0.2rem 0.5rem;
  line-height: 1.4;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.col_dcha .card-header .btn:hover,
.col_dcha .card-header button:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
.col_dcha .label_impresion {
  font-size: 0.72rem;
  color: var(--clr-text-muted);
  margin-right: auto;
}
/* Card body — main content */
.col_dcha .card-body.itemGridSearch {
  padding: 0.85rem 0.95rem !important;
  gap: 0.75rem;
}
/* Thumbnail column */
.col_dcha .item_listado {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-right: 1rem;
}
.col_dcha .cont_imagen,
.col_dcha .cont_thumbnail {
  width: 150px !important;
  min-width: 140px !important;
  height: 180px !important;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--clr-border-light);
  background: var(--clr-bg-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-xs);
}
.col_dcha .imagenList,
.col_dcha .cont_imagen img,
.col_dcha .cont_thumbnail img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  display: block;
}
/* En pantallas medianas reducimos un pelín */
@media (max-width: 1199.98px) {
  .col_dcha .cont_imagen,
  .col_dcha .cont_thumbnail {
    width: 120px !important;
    min-width: 110px !important;
    height: 150px !important;
  }
}
@media (max-width: 575.98px) {
  .col_dcha .cont_imagen,
  .col_dcha .cont_thumbnail {
    width: 90px !important;
    min-width: 80px !important;
    height: 110px !important;
  }
}
/* Card title / link */
.col_dcha .card-title {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  line-height: 1.35;
  color: var(--clr-text-main);
}
.col_dcha .list-title {
  color: var(--clr-primary) !important;
  text-decoration: none;
  transition: color 0.15s;
}
.col_dcha .list-title:hover {
  color: var(--clr-accent) !important;
  text-decoration: underline;
}
/* Result metadata rows */
.col_dcha .resultSearch {
  margin: 0;
}
.col_dcha .list-secondary,
.col_dcha .list-principal {
  padding: 0;
  margin-top: 0.25rem;
}
.col_dcha .record-field {
  display: flex;
  align-items: flex-start;
  padding: 0.15rem 0;
  font-size: 0.8rem;
  line-height: 1.45;
  border-bottom: none;
  gap: 0.55rem;
}
.col_dcha .record-field:last-child {
  border-bottom: none;
}
.col_dcha .labelField {
  color: var(--clr-text-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  flex: 0 0 35% !important;
  width: 35% !important;
  max-width: 35% !important;
  min-width: 0;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 0;
}
.col_dcha .textField {
  color: var(--clr-text-body) !important;
  font-size: 0.8rem !important;
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
  text-align: left;
  word-break: break-word;
  overflow-wrap: anywhere;
}
/* Links row inside card */
.col_dcha .list-link.resultSearch {
  margin-top: 0.3rem;
  gap: 0.25rem;
  flex-wrap: wrap;
}
.col_dcha .clase_tag,
.col_dcha .tag_title {
  display: inline-flex;
  align-items: center;
  background: var(--clr-bg-muted);
  border: 1px solid var(--clr-border-light);
  border-radius: 20px;
  color: var(--clr-primary-mid) !important;
  font-size: 0.72rem;
  font-weight: 500;
  padding: 0.15rem 0.6rem;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.col_dcha .clase_tag:hover,
.col_dcha .tag_title:hover {
  background: var(--clr-primary);
  border-color: var(--clr-primary);
  color: #fff !important;
  text-decoration: none;
}
/* Subject tags */
.col_dcha .list-tagging {
  margin-top: 0.3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.col_dcha .list-tags {
  display: inline-flex;
  align-items: center;
  background: rgba(37, 99, 235, 0.07);
  border: 1px solid rgba(37, 99, 235, 0.2);
  border-radius: 20px;
  color: var(--clr-accent) !important;
  font-size: 0.7rem;
  font-weight: 500;
  padding: 0.12rem 0.55rem;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.col_dcha .list-tags:hover {
  background: var(--clr-accent);
  border-color: var(--clr-accent);
  color: #fff !important;
}
/* Full-text expand area */
.col_dcha .cont_mensaje_fulltext {
  margin-top: 0.6rem;
  padding: 0.6rem 0.75rem;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  line-height: 1.55;
}
/* Card footer */
.col_dcha .card-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.4rem 0.75rem !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.4rem;
}
/* Social stats */
.col_dcha .list-record-social {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.74rem;
  color: var(--clr-text-muted);
}
.col_dcha .record-visit::before {
  content: '\f06e';
  font-family: FontAwesome;
  margin-right: 0.25rem;
}
.col_dcha .record-comments::before {
  content: '\f075';
  font-family: FontAwesome;
  margin-right: 0.25rem;
}
.col_dcha .record-score::before {
  content: '\f005';
  font-family: FontAwesome;
  margin-right: 0.25rem;
}
/* User rating (stars) */
.col_dcha .valoraciones_usuario {
  display: flex;
  align-items: center;
  gap: 0.15rem;
}
/* Additional card footer buttons */
.col_dcha .botonera_varios {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.col_dcha .botonera_varios .btn,
.col_dcha .botonera_varios button {
  font-size: 0.74rem;
  padding: 0.2rem 0.55rem;
  border-radius: var(--radius-sm);
  line-height: 1.4;
}
.col_dcha .btn_cgi_link {
  color: var(--clr-accent);
  font-size: 0.78rem;
}
.col_dcha .btn_cgi_link:hover {
  color: var(--clr-accent-dark);
}
/* Selection checkbox area */
.col_dcha .cont_seleccion {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
/* ============================================================
   SEARCH PAGE — RESULTS COLUMN  (#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_dcha)
   ============================================================
   Adds vertical breathing room around the pagination bars and gives
   .barra_paginacion / .paginacion_resultados / .pagination a clean,
   modern card-style look. Higher specificity than the existing
   #page-main .pagination rules at lines 336-500 because we add
   :is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) prefix (1,2,N vs 1,1,N).
*/
/* page-main wrapper for search */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) {
  padding-top: 0.75rem;
  padding-bottom: 2rem;
}
/* Two-column layout — no gap on parent (gap pushes total >100% and wraps).
   Search uses Bootstrap col-sm-3/9 (25/75); mosaic uses col-sm-4/8 (33.33/66.67).
   Internal padding on each column gives breathing room without breaking the math. */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #cont_principal {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* MS_DESIGN_TOOLBAR_SEARCH_FORMAT — formato_2 puts the toolbar OUTSIDE
   the columns at full width (top + bottom). Allow #cont_principal to
   wrap so the toolbar rows sit above/below col_izqda/col_dcha. */
#page-main:is(.doc_search, .doc_mosaic) #cont_principal:has(> .barra_tools.formato_2) {
  flex-wrap: wrap !important;
}
#page-main:is(.doc_search, .doc_mosaic) #cont_principal > .barra_tools.formato_2 {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  order: 0;
  /* top bar stays first */
}
#page-main:is(.doc_search, .doc_mosaic) #cont_principal > .barra_tools.formato_2.barra_top {
  margin-bottom: 0.5rem !important;
}
#page-main:is(.doc_search, .doc_mosaic) #cont_principal > .barra_tools.formato_2.barra_bottom {
  margin-top: 0.5rem !important;
  margin-bottom: 0 !important;
  order: 99;
  /* bottom bar stays last */
}
/* search.jsp & doc.jsp: 25% / 75% (col-sm-3 / col-sm-9) */
#page-main.doc_search #cont_principal .col_izqda,
#page-main.doc_search #cont_principal .col_izqda.col-sm-3 {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  min-width: 0 !important;
  padding: 0 0.5rem 0 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
#page-main.doc_search #cont_principal .col_dcha,
#page-main.doc_search #cont_principal .col_dcha.col-sm-9 {
  flex: 0 0 75% !important;
  width: 75% !important;
  max-width: 75% !important;
  min-width: 0 !important;
  padding: 0 0 0 0.5rem !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
/* ms.search.facets.panel.show=false: sin col_izqda en el DOM, col_dcha ocupa
   el 100%. Mas especifica que la regla ".col_dcha" de arriba (una clase mas),
   asi que gana siempre independientemente del orden. */
#page-main.doc_search #cont_principal .col_dcha.col-sm-12 {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
/* mosaic.jsp: 25% / 75% (col-sm-3 / col-sm-9) — igual que search.jsp.
   Aunque el JSP renderice col-sm-4 / col-sm-8, forzamos el mismo ratio
   que en lista para que las facetas tengan el mismo ancho que en search. */
#page-main.doc_mosaic #cont_principal .col_izqda,
#page-main.doc_mosaic #cont_principal .col_izqda.col-sm-3,
#page-main.doc_mosaic #cont_principal .col_izqda.col-sm-4 {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  min-width: 0 !important;
  padding: 0 0.5rem 0 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
#page-main.doc_mosaic #cont_principal .col_dcha,
#page-main.doc_mosaic #cont_principal .col_dcha.col-sm-8,
#page-main.doc_mosaic #cont_principal .col_dcha.col-sm-9 {
  flex: 0 0 75% !important;
  width: 75% !important;
  max-width: 75% !important;
  min-width: 0 !important;
  padding: 0 0 0 0.5rem !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
/* ms.mosaic.facets.panel.show=false: sin col_izqda en el DOM, col_dcha ocupa
   el 100%. Mas especifica que las reglas ".col_dcha"/".col_dcha.col-sm-8" de
   arriba (una clase mas), asi que gana siempre independientemente del orden. */
#page-main.doc_mosaic #cont_principal .col_dcha.col-sm-12 {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
/* Stack vertically on small screens (< 991px) — readability over rigid layout */
@media (max-width: 991.98px) {
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #cont_principal {
    flex-wrap: wrap !important;
  }
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #cont_principal .col_izqda,
  #page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #cont_principal .col_dcha {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
}
/* ============================================================
   LISTA (list.jsp) — col_izqda COLAPSABLE + col_dcha al máximo
   Hereda el resto de reglas de search (vía :is añadido arriba). Aquí:
   col_izqda colapsada por defecto (rail vertical de 16px); al pulsar abre
   al 25% (mismo ancho que en search). col_dcha ocupa el resto.
   ============================================================ */
#page-main.doc_list #cont_principal {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  align-items: stretch !important;
  /* el rail llega a toda la altura */
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_list #cont_principal .col_izqda {
  position: relative;
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: flex-basis 0.2s ease, width 0.2s ease;
  overflow: visible;
}
#page-main.doc_list #cont_principal .col_izqda.is-open {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  padding: 0 0.5rem 0 0 !important;
}
#page-main.doc_list #cont_principal .col_dcha {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 0 0 0.5rem !important;
  margin: 0 !important;
}
/* Rail/toggle de 16px (borde izquierdo, toda la altura de la fila) */
#page-main.doc_list .col_izqda .facets-toggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 100%;
  min-height: 220px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 10px 0 0;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  color: var(--clr-text-muted);
  cursor: pointer;
  z-index: 2;
  transition: background 0.15s, color 0.15s;
}
#page-main.doc_list .col_izqda .facets-toggle:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-accent);
}
#page-main.doc_list .col_izqda .facets-toggle .fa {
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}
#page-main.doc_list .col_izqda.is-open .facets-toggle .fa {
  transform: rotate(180deg);
}
/* Contenido de facetas: oculto colapsado; abierto deja hueco al rail */
#page-main.doc_list .col_izqda .facets-content {
  display: none;
}
#page-main.doc_list .col_izqda.is-open .facets-content {
  display: block;
  margin-left: 22px;
}
/* Apilar en pantallas estrechas: facetas a ancho completo, sin rail */
@media (max-width: 991.98px) {
  #page-main.doc_list #cont_principal {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  #page-main.doc_list #cont_principal .col_izqda,
  #page-main.doc_list #cont_principal .col_izqda.is-open,
  #page-main.doc_list #cont_principal .col_dcha {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    /* clave: el contenido ancho de la tabla no revienta la fila */
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
  #page-main.doc_list .col_izqda .facets-toggle {
    display: none;
  }
  #page-main.doc_list .col_izqda .facets-content {
    display: block !important;
    margin-left: 0;
  }
}
/* La tabla de /list está dentro de .col_dcha y sus filas llevan .item_listado
   y miniaturas .cont_thumbnail, que en search tienen estilos de TARJETA
   (.col_dcha .item_listado{display:flex}, .col_dcha .cont_thumbnail{width:150px!important}).
   Esas reglas se cuelan en la tabla → las anulamos para recuperar layout de tabla. */
#page-main.doc_list .col_dcha .results-list-table .item_listado {
  display: table-row !important;
  align-items: normal !important;
  justify-content: normal !important;
  padding: 0 !important;
}
#page-main.doc_list .col_dcha .results-list-table > tbody > tr > td,
#page-main.doc_list .col_dcha .results-list-table > tbody > tr > th,
#page-main.doc_list .col_dcha .results-list-table > thead > tr > th {
  display: table-cell !important;
  float: none !important;
}
#page-main.doc_list .col_dcha .results-list-row__thumb .cont_thumbnail {
  width: 36px !important;
  min-width: 36px !important;
  height: 48px !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: 4px !important;
}
/* La tabla va SIEMPRE confinada en su wrapper, que hace scroll horizontal propio
   en TODOS los breakpoints. NO dependemos del .table-responsive de Bootstrap
   (que según versión solo activa overflow < 768): forzamos overflow-x:auto y
   max-width:100% aquí, así una tabla ancha NUNCA desborda la página, tampoco a
   ≤991px. min-width:0 evita que su contenido ancho reviente al ancestro flex. */
#page-main.doc_list .col_dcha .results-list-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#page-main.doc_list .col_dcha .results-list-table {
  width: 100% !important;
}
/* Columna "#" — ancho pequeño y ESTABLE en todos los breakpoints. Sin esto, con
   table-layout:auto la columna podía computar un ancho enorme (~1167px) heredado
   del layout de escritorio que NO se reseteaba a ≤991px, inflando la tabla
   (~3515px) y desbordando la página. Fijándola no hereda anchos de escritorio. */
#page-main.doc_list .col_dcha .results-list-table th.results-list-table__col-num,
#page-main.doc_list .col_dcha .results-list-table td.results-list-row__num {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  white-space: nowrap !important;
  text-align: center !important;
}
/* ============================================================
   MODO AJUSTE DE TAMAÑO de la tabla de resultados
   Lo activa app.list.js cuando detecta que no caben todos los
   campos definidos (el ancho natural de la tabla supera al
   disponible, y por tanto las columnas se apretujan/parten).
   ============================================================ */
/* (medición) clase temporal que app.list.js pone para medir el ancho NATURAL
   de la tabla sin envolver texto; se retira inmediatamente tras medir. */
#page-main.doc_list .results-list-table.rl-measuring {
  width: auto !important;
  table-layout: auto !important;
}
#page-main.doc_list .results-list-table.rl-measuring th,
#page-main.doc_list .results-list-table.rl-measuring td {
  white-space: nowrap !important;
}
/* (paso 1) columnas de datos totalmente vacías: se colapsan/ocultan. */
#page-main.doc_list .results-list-table th.rl-col-collapsed,
#page-main.doc_list .results-list-table td.rl-col-collapsed {
  display: none !important;
}
/* (paso 2) si aun colapsando las vacías sigue sin caber, la vista de lista
   usa TODO el ancho de página disponible: se anula el max-width del
   contenedor y se recorta el padding lateral y el hueco de la columna dcha. */
#page-main.doc_list.rl-fit-fullwidth {
  max-width: 100% !important;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
#page-main.doc_list.rl-fit-fullwidth #cont_principal .col_dcha {
  padding-left: 0.25rem !important;
}
/* ============================================================
   MOSAICO — TARJETAS (mosaic.jsp)
   Suavizado del borde duro de _core.less (border-radius:2px,
   sin sombra) por un acabado moderno: borde tenue, radio amplio,
   sombra ligera y elevación al hover.
   ============================================================ */
/* Rejilla del mosaico — escala mobile-first (min-width), más holgada en tablet:
     <576 (móvil)      → 1 columna  (base)
     576–991           → 2 columnas (@bp-sm ≤ … < @bp-lg; incluye la tablet)
     ≥992              → 3 columnas (@bp-lg)
     ≥1400             → 4 columnas (@bp-xxl; solo en pantallas muy anchas)
   Grid con 1fr + gap: las columnas llenan el ancho sin depender de width% ni
   floats, así nunca hay overflow (scrollWidth == clientWidth). */
#page-main.doc_mosaic #result_container.res_container.mosaico .cards {
  display: grid !important;
  grid-template-columns: 1fr;
  /* base: 1 columna (<576) */
  gap: 1.1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 576px) {
  /* ≥576: tablet/móvil grande → 2 columnas */
  #page-main.doc_mosaic #result_container.res_container.mosaico .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  /* ≥992: desktop → 3 columnas */
  #page-main.doc_mosaic #result_container.res_container.mosaico .cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1400px) {
  /* ≥1400: muy ancho → 4 columnas */
  #page-main.doc_mosaic #result_container.res_container.mosaico .cards {
    grid-template-columns: repeat(4, 1fr);
  }
}
#page-main.doc_mosaic #result_container.res_container.mosaico .cards .item {
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  background: var(--clr-bg-card) !important;
  padding: 0.85rem 0.8rem 0.7rem !important;
  margin: 0 !important;
  width: auto !important;
  transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
  overflow: hidden;
}
#page-main.doc_mosaic #result_container.res_container.mosaico .cards .item:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
  border-color: var(--clr-border) !important;
}
/* Thumbnail container — fondo neutro para que las imágenes destaquen
   y para que, si la imagen falla, haya un fondo agradable bajo el fallback */
#page-main.doc_mosaic .cards .item .media-object {
  position: relative !important;
  /* ancla del badge del número (item-count) */
  height: 145px !important;
  border-radius: var(--radius-sm) !important;
  overflow: hidden !important;
  background: var(--clr-bg-muted) !important;
  margin-bottom: 0.8em !important;
  border: 1px solid var(--clr-border-light) !important;
}
#page-main.doc_mosaic .cards .item .cont_thumbnail {
  background: transparent !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}
#page-main.doc_mosaic .cards .item .thumbnail {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
}
/* Imagen fallback — cuando ha caído en image_fallback.jpg.
   La marcamos con un toque sutil para que no parezca portada real. */
img.thumbnail.img-fallback,
img.thumbnail.img_fallback,
.col_dcha .imagenList.img-fallback,
.col_dcha .imagenList.img_fallback {
  opacity: 0.85;
  filter: grayscale(0.15);
  object-fit: contain !important;
  background: var(--clr-bg-muted);
  padding: 1rem;
}
/* Título de la tarjeta */
#page-main.doc_mosaic .cards .item .media-heading .parrafo_ellipsis_js {
  color: var(--clr-text-main) !important;
  font-weight: 600 !important;
  text-align: center;
  padding: 0 0.25rem;
}
/* Contador (item-count) — badge oscuro en la esquina superior IZQUIERDA, sobre la imagen */
#page-main.doc_mosaic .cards .item .item-count {
  position: absolute !important;
  background: rgba(15, 23, 42, 0.72) !important;
  color: #fff !important;
  border: 0 none !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  font-weight: 700;
  border-radius: var(--radius-sm) !important;
  z-index: 10;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  pointer-events: none;
}
/* boxMoreInf y datos secundarios — más discretos */
#page-main.doc_mosaic .cards .item .boxMoreInf .item_moreInf {
  color: var(--clr-text-muted) !important;
  font-size: 0.78rem !important;
  text-align: center;
}
/* Iconos sociales (visitas, comentarios) — alineados al centro */
#page-main.doc_mosaic .cards .item .mosaic-record-social {
  display: flex !important;
  justify-content: center !important;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin-top: 0.35rem;
}
#page-main.doc_mosaic .cards .item .mosaic-record-social .icono {
  float: none !important;
  background: var(--clr-bg-subtle) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.72rem !important;
  padding: 0.2rem 0.5rem !important;
  margin: 0 !important;
  color: var(--clr-text-body) !important;
}
/* cont_selecciones (impresión / carrito) — esquina inferior */
#page-main.doc_mosaic .cards .item .cont_selecciones {
  margin-top: 0.5rem;
  display: inline-flex;
  gap: 0.35rem;
}
/* (El número de columnas lo controla el grid de .cards, arriba.) */
/* ── Título a 2 líneas + botón "Ver más" ─────────────────────── */
#page-main.doc_mosaic .cards .item .media-heading .list-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#page-main.doc_mosaic .cards .item .media-heading.is-expanded .list-title {
  -webkit-line-clamp: unset;
  display: block;
}
#page-main.doc_mosaic .cards .item .ms-mosaic-more {
  display: block;
  margin: -0.15rem auto 0.45rem;
  padding: 0;
  background: none;
  border: 0 none;
  color: var(--clr-accent);
  font-size: 0.76rem;
  font-weight: 600;
  cursor: pointer;
}
#page-main.doc_mosaic .cards .item .ms-mosaic-more:hover {
  color: var(--clr-accent-dark);
}
#page-main.doc_mosaic .cards .item .ms-mosaic-more[hidden] {
  display: none;
}
/* ── Panel de la plantilla de visualización (modo compacto) ────
   Altura FIJA (sin scroll). Si el contenido desborda, se difumina con un
   degradado "fantasma" abajo y aparece el enlace "Ampliar" (JS añade
   .is-overflow). "Ampliar" expande el panel (.is-open) y oculta el degradado. */
#page-main.doc_mosaic .cards .item .ms-tpl-panel {
  position: relative;
  margin: 0.1rem 0.15rem 0.25rem;
  padding: 0.5rem 0.65rem;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  font-size: 0.8rem;
  line-height: 1.35;
  height: 150px;
  /* altura fija */
  overflow: hidden;
  /* sin scroll */
  text-align: left;
}
#page-main.doc_mosaic .cards .item .ms-tpl-panel.is-open {
  height: auto;
  /* "Ampliar": muestra todo */
}
/* Degradado fantasma cuando hay contenido oculto */
#page-main.doc_mosaic .cards .item .ms-tpl-panel.is-overflow::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 52px;
  background: linear-gradient(to bottom, transparent, var(--clr-bg-subtle));
  pointer-events: none;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
#page-main.doc_mosaic .cards .item .ms-tpl-panel .ms-tpl-line {
  margin-bottom: 0.18rem;
}
#page-main.doc_mosaic .cards .item .ms-tpl-panel .ms-tpl-lbl {
  font-weight: 600;
  color: var(--clr-text-muted);
  margin-right: 0.25rem;
}
#page-main.doc_mosaic .cards .item .ms-tpl-panel .ms-tpl-val {
  color: var(--clr-text-main);
}
/* Enlace "Ampliar / Reducir" del panel (lo muestra/oculta el JS con [hidden]) */
#page-main.doc_mosaic .cards .item .ms-tpl-more {
  display: inline-block;
  margin: 0 0.15rem 0.5rem;
  padding: 0;
  background: none;
  border: 0 none;
  color: var(--clr-accent);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
}
#page-main.doc_mosaic .cards .item .ms-tpl-more:hover {
  color: var(--clr-accent-dark);
}
#page-main.doc_mosaic .cards .item .ms-tpl-more[hidden] {
  display: none;
}
/* ── PAGINATION BAR — top & bottom inside #result_container ── */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .barra_paginacion {
  display: flex !important;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.5rem 0.9rem !important;
  margin: 0 0 1.25rem 0 !important;
  width: 100% !important;
  float: none !important;
  font-size: 0.82rem;
}
/* Bottom pagination needs extra top space (between cards above and bar) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .barra_paginacion.bottom {
  margin: 1rem 0 1.25rem 0 !important;
}
/* "Reg. X/Y de Z" pill on the left (flex-row-reverse so visually right) */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .paginacion_resultados {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-flex;
  align-items: center;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .paginacion_resultados .res {
  position: static !important;
  float: none !important;
  text-align: left;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .paginacion_resultados .texto {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8rem;
  line-height: 1;
  color: var(--clr-text-body);
  float: none !important;
  width: auto !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .paginacion_resultados .dato,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .paginacion_resultados .datoStyle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--clr-bg-muted);
  color: var(--clr-text-body);
  border: 1px solid var(--clr-border-light);
  border-radius: 999px;
  padding: 0.3rem 0.85rem;
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
  float: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .paginacion_resultados .dato strong {
  color: var(--clr-primary);
  font-weight: 700;
}
/* nav wrapper around .pagination */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .barra_paginacion nav {
  margin: 0;
  padding: 0;
  display: inline-flex;
}
/* ── PAGINATION LINKS (.pagination .page-item .page-link) ──── */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .barra_paginacion .pagination {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > .page-item {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li > a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li > span,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li > button,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination .page-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 0.55rem !important;
  margin: 0 !important;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--clr-text-body) !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  line-height: 1 !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li > a:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li > button:hover,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination .page-link:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-accent) !important;
  color: var(--clr-accent-dark) !important;
  text-decoration: none !important;
}
/* Active page */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > .active > a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > .active > span,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li.active > a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li.active > span,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination .page-item.active .page-link {
  color: #fff !important;
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  font-weight: 600;
  cursor: default;
}
/* Disabled */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > .disabled > a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > .disabled > span,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li.disabled > a,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination > li.disabled > span,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .pagination .page-item.disabled .page-link {
  color: var(--clr-text-light) !important;
  background: var(--clr-bg-subtle) !important;
  border-color: var(--clr-border-light) !important;
  pointer-events: none;
  opacity: 0.65;
}
/* ── Result cards inside #result_container ─────────────────── */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container.res_container {
  position: relative;
  padding-bottom: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  margin-bottom: 1rem !important;
  overflow: hidden;
  transition: box-shadow 0.18s, border-color 0.18s, transform 0.18s;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card:hover {
  box-shadow: var(--shadow-sm);
  border-color: var(--clr-accent);
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card .card-header {
  background: var(--clr-bg-subtle) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  padding: 0.5rem 0.85rem !important;
  display: flex !important;
  flex-direction: row-reverse;
  gap: 0.5rem;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card .card-body {
  padding: 1rem !important;
  background: var(--clr-bg-card) !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card .card-title {
  margin: 0 0 0.65rem 0 !important;
  padding: 0 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card .card-title a.list-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card .card-title a.list-title:hover {
  color: var(--clr-accent) !important;
  text-decoration: underline !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) #result_container .card .card-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.5rem 0.85rem !important;
  font-size: 0.78rem;
  color: var(--clr-text-muted);
}
/* ============================================================
   DOC PAGE — CENTRAL CONTENT  (#page-main.doc_doc .col_dcha)
   ============================================================
   Document detail view: hierarchy breadcrumb, document title,
   image viewer + metadata two-column layout, field groups,
   linked-fields panel, social layer (comments/share).
   Uses #page-main.doc_doc compound selector since #page-main
   itself has class doc_doc.
*/
/* Two-column layout for doc.jsp's main view (col-sm-3 / col-sm-9).
   No gap on the flex parent — gap would push total >100% and wrap col_dcha
   below. Internal padding gives breathing room between the two columns. */
#page-main.doc_doc #cont_principal {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_doc #cont_principal .col_izqda {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  min-width: 0;
  padding: 0 0.5rem 0 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
#page-main.doc_doc #cont_principal .col_dcha {
  flex: 0 0 75% !important;
  width: 75% !important;
  max-width: 75% !important;
  min-width: 0;
  padding: 0 0 0 0.5rem !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
/* Stack on small screens (Bootstrap col-sm- breakpoint = 576px → 768px range
   in Bootstrap 3, but column 25/75 is too narrow under ~991px for usability). */
@media (max-width: 991.98px) {
  #page-main.doc_doc #cont_principal {
    flex-wrap: wrap !important;
  }
  #page-main.doc_doc #cont_principal .col_izqda,
  #page-main.doc_doc #cont_principal .col_dcha {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
}
/* ── Hierarchy breadcrumb (.cont_migas_doc) ─────────────────── */
#page-main.doc_doc .col_dcha .cont_migas_doc {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.5rem 0.9rem !important;
  margin: 0 0 1rem 0 !important;
  width: 100% !important;
  float: none !important;
}
#page-main.doc_doc .col_dcha .cont_migas_doc nav {
  margin: 0;
  padding: 0;
}
#page-main.doc_doc .col_dcha .cont_migas_doc ol.breadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.78rem;
  list-style: none;
  line-height: 1.3;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  float: none !important;
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  line-height: 1.4;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item.bread_label {
  color: var(--clr-primary);
  font-weight: 600;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item.bread_label .fa {
  color: var(--clr-accent);
  margin-right: 0.35rem;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item a {
  color: var(--clr-accent) !important;
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item a:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-accent-dark) !important;
  text-decoration: none;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item.active {
  color: var(--clr-text-body);
  font-weight: 500;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item .link_ficha {
  display: inline-flex;
  align-items: center;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item .link_ficha a {
  padding: 0.1rem 0.25rem;
  color: var(--clr-text-light) !important;
}
#page-main.doc_doc .col_dcha .cont_migas_doc .breadcrumb-item .link_ficha a:hover {
  color: var(--clr-accent) !important;
}
/* ── Document title (.cont_titulo_doc) ──────────────────────── */
#page-main.doc_doc .col_dcha .cont_datos {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_doc .col_dcha .cont_titulo_doc {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-left: 4px solid var(--clr-accent);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.9rem 1.1rem !important;
  margin: 0 0 1rem 0 !important;
  width: 100% !important;
  display: block !important;
  float: none !important;
}
#page-main.doc_doc .col_dcha .cont_titulo_doc h2.titulo,
#page-main.doc_doc .col_dcha .cont_titulo_doc .titulo {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--clr-primary) !important;
  font-family: inherit !important;
  text-transform: none !important;
  width: 100%;
  word-wrap: break-word;
  hyphens: auto;
}
/* ── Doc fluid main area: viewer + metadata two-column ────────
   stretch para que la columna del viewer iguale la altura de la columna
   de metadatos (la metadata suele ser bastante más alta que la imagen). */
#page-main.doc_doc .col_dcha .doc-metadata {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_doc .col_dcha .doc-metadata > .row {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 !important;
  align-items: stretch;
}
/* Viewer column — fluido/tabs lo deja en col_dcha; tres_cols en col_izqda */
#page-main.doc_doc .col_dcha .doc-viewer {
  flex: 0 0 320px;
  width: 320px;
  max-width: 100%;
  padding: 1rem !important;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  /* alineado arriba, imagen centrada horizontalmente, no estirada */
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.tres_cols #page-main.doc_doc .col_izqda .doc-viewer {
  width: 100%;
  max-width: 100%;
  padding: 1rem !important;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
/* El panel-default que envuelve la imagen — neutralizar bootstrap card */
#page-main.doc_doc .col_dcha .doc-viewer .panel.panel-default,
.tres_cols #page-main.doc_doc .col_izqda .doc-viewer .panel.panel-default {
  background: transparent !important;
  border: 0 none !important;
  box-shadow: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_doc .col_dcha .doc-viewer .panel-body,
.tres_cols #page-main.doc_doc .col_izqda .doc-viewer .panel-body {
  padding: 0 !important;
  width: 100%;
}
/* La imagen no se estira para llenar la columna alta — queda arriba */
#page-main.doc_doc .col_dcha .doc-viewer .cont_thumbnail,
.tres_cols #page-main.doc_doc .col_izqda .doc-viewer .cont_thumbnail {
  width: 100% !important;
  height: auto !important;
  text-align: center;
  background: transparent !important;
  padding: 0 !important;
}
#page-main.doc_doc .col_dcha .doc-viewer img,
.tres_cols #page-main.doc_doc .col_izqda .doc-viewer img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  margin: 0 auto;
  background: var(--clr-bg-subtle);
  border-radius: var(--radius-sm);
}
/* Metadata column (right) — flex:1 para que ocupe el resto */
#page-main.doc_doc .col_dcha .doc-metadatas {
  flex: 1 1 320px;
  min-width: 0;
  padding: 0 !important;
}
@media (max-width: 767.98px) {
  #page-main.doc_doc .col_dcha .doc-viewer {
    flex: 1 1 100%;
    width: 100%;
  }
}
/* ── Tab content panel (.pintado_en_tabs / doc-tabs) ─────────── */
/* The .nav-tabs already get a clean tab-on-card look (block above);
   .tab-content is the area below where each .tab-pane renders. */
#page-main.doc_doc .col_dcha .tab-content {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  margin-top: 0;
  box-shadow: var(--shadow-xs);
}
#page-main.doc_doc .col_dcha .tab-pane {
  background: transparent;
  padding: 0;
}
#page-main.doc_doc .col_dcha .tab-content > .tab-pane:not(.active) {
  display: none !important;
}
#page-main.doc_doc .col_dcha .tab-content > .tab-pane.active {
  display: block !important;
}
/* ════════════════════════════════════════════════════════════════
   FICHA EN PESTAÑAS (ms.design.doc.format = pintado_en_tabs)
   doc-tabs.jsp mete los .tab-pane dentro de .card-body.d-flex SIN un
   contenedor .tab-content, por lo que las reglas .tab-content de arriba
   no casan: los paneles inactivos (.fade sin .show) quedaban a
   opacity:0 pero seguían OCUPANDO sitio a la derecha, y el panel activo
   se encogía al ancho de su contenido → aspecto "sin terminar".
   Aquí lo normalizamos contra la estructura real (#myTabContent).
   ════════════════════════════════════════════════════════════════ */
.pintado_en_tabs #page-main.doc_doc #myTabContent {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 1rem 0 !important;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
}
.pintado_en_tabs #page-main.doc_doc #myTabContent > .row {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-header,
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-footer {
  width: 100% !important;
  float: none !important;
}
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-header {
  display: block !important;
  background: var(--clr-bg-subtle);
  border-bottom: 1px solid var(--clr-border-light);
  padding: 0.85rem 1.25rem !important;
}
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-header .titulo {
  margin: 0 !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--clr-primary) !important;
  text-transform: none !important;
  text-align: left !important;
}
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-body {
  display: block !important;
  width: 100% !important;
  float: none !important;
  padding: 1.25rem !important;
}
/* Sólo el panel activo es visible y ocupa el 100% del card-body */
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-body > .tab-pane {
  display: none !important;
  width: 100% !important;
  float: none !important;
  opacity: 1 !important;
}
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-body > .tab-pane.active {
  display: block !important;
}
/* Panel "Datos": visor (izq, ancho fijo) + metadatos (rellena el resto) */
.pintado_en_tabs #page-main.doc_doc #myTabContent .card-body > #datos-tab-pane.tab-pane.active {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}
.pintado_en_tabs #page-main.doc_doc #datos-tab-pane > .doc-viewer {
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0.5rem !important;
  /* padding del marco exterior a la mitad */
}
.pintado_en_tabs #page-main.doc_doc #datos-tab-pane > .doc-metadata {
  flex: 1 1 380px !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
@media (max-width: 991.98px) {
  .pintado_en_tabs #page-main.doc_doc #myTabContent .card-body > #datos-tab-pane.tab-pane.active {
    flex-direction: column;
  }
  .pintado_en_tabs #page-main.doc_doc #datos-tab-pane > .doc-viewer,
  .pintado_en_tabs #page-main.doc_doc #datos-tab-pane > .doc-metadata {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}
/* ════════════════════════════════════════════════════════════════
   FICHA EN PESTAÑAS — pestaña MULTIMEDIA (objetos digitales).
   El listado (.documentos_adjuntos) tenía su CSS scoped a
   `.doc_metadatajsp .panel.interno.documentos_adjuntos`, pero en el card
   de tabs el panel cuelga DIRECTO de .card-body → quedaba sin estilo
   (centrado, "mancha" gris, descripción descolgada a la derecha).
   Lo estilamos contra la estructura real (#media-tab-pane).
   ════════════════════════════════════════════════════════════════ */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane {
  text-align: left;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .bloque_documentos_adjuntos:empty,
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .lista_documentos_adjuntos:empty {
  display: none;
}
/* Carpeta agrupadora (cabecera "Multimedia") */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-folder {
  width: 100%;
  float: none;
  margin: 0 0 0.75rem;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo_folder {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  float: none;
  margin: 0;
  padding: 0.6rem 0.9rem;
  font-weight: 700;
  color: var(--clr-primary);
  background: var(--clr-bg-subtle);
  border-bottom: 1px solid var(--clr-border-light);
  cursor: pointer;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo_folder .nom_fichero {
  flex: 1 1 auto;
  float: none;
  padding: 0;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo_folder .btn_despliegue {
  margin-left: auto;
  font-size: 0.85rem;
  color: var(--clr-text-muted);
  transition: transform 0.2s ease;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo_folder .btn_despliegue:before {
  font-family: FontAwesome;
  content: "\f078";
  /* chevron-down (panel abierto) */
}
/* Carpeta colapsada (.list-items.oculto): el chevron apunta a la derecha */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-folder:has(.list-items.oculto) .btn_despliegue {
  transform: rotate(-90deg);
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo_folder:hover {
  background: var(--clr-bg-muted);
}
/* Descripción del item (slideDown/Up por JS): se respeta el toggle .desplegado */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-item .bloque.descripcion {
  display: none;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-item.desplegado .bloque.descripcion {
  display: block;
}
/* Lista de items dentro de la carpeta */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-items {
  width: 100%;
  padding: 0.25rem 0.9rem 0.6rem;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-item {
  width: 100%;
  float: none;
  padding: 0.55rem 0.15rem;
  border-bottom: 1px solid #eef2f7;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-item:last-child {
  border-bottom: 0;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_cabecera {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  float: none;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_cabecera .item_titulo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
  color: var(--clr-text-body);
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo .icono_tipo {
  color: var(--clr-accent);
  font-size: 1.1rem;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo .btn_despliegue {
  color: var(--clr-text-muted);
  font-size: 0.8rem;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_titulo .nom_fichero {
  flex: 1 1 auto;
  min-width: 0;
  float: none;
  padding: 0;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Botonera del item (vista previa / descarga) */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_botonera {
  display: inline-flex;
  gap: 0.35rem;
  flex: 0 0 auto;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_botonera .btn {
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-muted) !important;
  background: var(--clr-bg-subtle) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .item_botonera .btn:hover {
  color: #fff !important;
  background: var(--clr-primary) !important;
  border-color: var(--clr-primary) !important;
}
/* Descripción (nombre / mime): debajo del nombre, alineada */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-item .descripcion {
  width: 100%;
  float: none;
  margin: 0.2rem 0 0 1.7rem;
}
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .list-link-item .descripcion .texto {
  font-size: 0.8rem;
  color: var(--clr-text-muted);
  word-break: break-word;
}
/* Paginación de objetos / carpetas */
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .pagination_doc_adjuntos,
.pintado_en_tabs #page-main.doc_doc #media-tab-pane .pagination_doc_adjuntos_folders {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
  color: var(--clr-text-muted);
}
/* ── Badge de conteo en las pestañas (nº de ejemplares/comentarios) ── */
.pintado_en_tabs #page-main.doc_doc .tabs_cont_general .nav-tabs .nav-link .tab_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  margin-left: 0.4rem;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  color: #fff !important;
  background: var(--clr-accent) !important;
  border-radius: 999px;
  vertical-align: middle;
}
.pintado_en_tabs #page-main.doc_doc .tabs_cont_general .nav-tabs .nav-link .tab_badge.oculto {
  display: none !important;
}
/* ════════════════════════════════════════════════════════════════
   FICHA EN PESTAÑAS — pestaña COMENTARIOS (chat moderno BS5).
   doc-comments.jsp ya trae markup moderno (.card-comments, .comment-bubble);
   el CSS legacy (_core.less) lo maquetaba con floats. Aquí lo rehacemos
   tipo chat, scoped a #comments-tab-pane.
   ════════════════════════════════════════════════════════════════ */
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .doc_commentsjsp {
  float: none !important;
  width: 100% !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  background: transparent !important;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .card-comments {
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  background: var(--clr-bg-card);
  overflow: hidden;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_heading {
  display: flex !important;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  float: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.7rem 1rem !important;
  background: var(--clr-bg-subtle) !important;
  border: 0;
  border-bottom: 1px solid var(--clr-border-light);
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_heading .comments_title_wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_heading > .fa,
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_title_wrap > .fa {
  color: var(--clr-primary);
  font-size: 1.05rem;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_heading .titulo {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700;
  color: var(--clr-primary) !important;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_badge {
  background: var(--clr-accent);
  color: #fff;
  border-radius: 999px;
  padding: 0.12rem 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_heading .botonera {
  float: none !important;
  margin-left: auto;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_body {
  float: none !important;
  width: 100% !important;
  padding: 1rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
/* Estado vacío */
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_empty {
  text-align: center;
  padding: 1.5rem 1rem;
  color: var(--clr-text-muted);
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_empty .fa {
  display: block;
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: var(--clr-border-light);
}
/* Lista de burbujas estilo chat */
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments-chat,
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .doc-comments {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble {
  float: none !important;
  width: auto !important;
  max-width: 85%;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble.is-own {
  align-self: flex-end;
  flex-direction: row-reverse;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble.is-other {
  align-self: flex-start;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_avatar-link {
  flex: 0 0 auto;
  margin: 0 !important;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_avatar {
  position: relative;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  background: var(--clr-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_avatar[data-initials]:before {
  content: attr(data-initials);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  z-index: 1;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_wrap {
  min-width: 0;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_meta {
  margin: 0 0 0.15rem;
  padding: 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--clr-text-muted);
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_bubble {
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: 12px;
  padding: 0.5rem 0.7rem;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble.is-own .comment-bubble_bubble {
  background: #dcf8c6;
  border-color: #cdebb0;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_body {
  float: none !important;
  width: auto !important;
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--clr-text-body);
  word-break: break-word;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_footer {
  margin-top: 0.25rem;
  font-size: 0.68rem;
  color: var(--clr-text-muted);
  text-align: right;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comment-bubble_footer .fa {
  margin-right: 0.2rem;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_footer {
  float: none !important;
  width: 100% !important;
  display: block;
  border: 0 !important;
  padding: 0 1rem 1rem !important;
  text-align: center;
}
/* Formulario de inserción */
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .entrada_comentarios .entrada_comentarios_body {
  padding: 1rem;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .entrada_heading .titulo {
  font-size: 0.95rem !important;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_locked_msg {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  max-width: 420px;
  margin: 0.5rem auto;
  padding: 1.75rem 1.25rem;
  background: var(--clr-bg-subtle);
  border: 1px dashed var(--clr-border-light);
  border-radius: var(--radius-md);
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_locked_msg > .fa {
  font-size: 2rem;
  color: var(--clr-text-muted);
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_locked_msg > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_locked_msg strong {
  font-size: 1rem;
  color: var(--clr-text-body);
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments_locked_msg p {
  margin: 0 !important;
}
.pintado_en_tabs #page-main.doc_doc :is(#comments-tab-pane, #tags-tab-pane) .comments-locked .comments_body {
  align-items: center;
}
/* ════════════════════════════════════════════════════════════════
   FICHA EN PESTAÑAS — pestaña ETIQUETAS (panel + chips).
   El CSS moderno de tags estaba scoped a .col_izqda; aquí lo replicamos
   para #tags-tab-pane.
   ════════════════════════════════════════════════════════════════ */
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .doc_tags.panel {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  background: var(--clr-bg-card) !important;
  overflow: visible !important;
  box-shadow: none !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .doc_tags .panel-heading {
  padding: 0.7rem 1rem !important;
  background: var(--clr-bg-subtle) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  border-radius: 0 !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .doc_tags .panel_heading_cont_title,
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .doc_tags .panel_titulo {
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: var(--clr-primary) !important;
  font-size: 1rem !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .doc_tags .panel-heading .fa {
  color: var(--clr-primary);
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .doc_tags .panel-body {
  padding: 1rem !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .input_tags {
  width: 100% !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .cont_input_tags .tokenfield {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.3rem !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0.25rem 0.5rem !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  align-items: center;
  height: auto !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .cont_input_tags .tokenfield.focus {
  border-color: var(--clr-primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18) !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .cont_input_tags .tokenfield .token {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0.2rem 0.35rem 0.2rem 0.7rem !important;
  background: var(--clr-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
  float: none !important;
}
.pintado_en_tabs #page-main.doc_doc #tags-tab-pane .cont_input_tags .tokenfield .token .token-label {
  color: #fff !important;
  padding: 0 !important;
}
/* ════════════════════════════════════════════════════════════════
   MODAL DE VISTA PREVIA del visor (imagen / vídeo / doc / pdf).
   Antes pequeña/antigua (solo .visor_pdf tenía CSS, alto fijo 830px).
   Ahora: grande y moderna BS5. Global (la modal se inserta en <body>).
   ════════════════════════════════════════════════════════════════ */
.modal.visor_imagen .modal-dialog,
.modal.visor_video .modal-dialog,
.modal.visor_doc .modal-dialog,
.modal.visor_pdf .modal-dialog {
  max-width: min(1120px, 94vw) !important;
  min-width: 0 !important;
  width: 100%;
  margin: 1.5rem auto !important;
}
.modal.visor_imagen .modal-content,
.modal.visor_video .modal-content,
.modal.visor_doc .modal-content,
.modal.visor_pdf .modal-content {
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.35);
  margin-bottom: 0 !important;
}
/* Cabecera (BS5 .modal-header o la estructura .blq.bloque_00 propia) */
/* Cabecera: createDialog deja bloques col-md vacíos y componentes_modal
   añade OTRO bloque con el título → el título salía tras el botón de cierre,
   descolocado. Aquí: título a la izquierda (crece), cierre a la derecha,
   bloques vacíos ocultos, y el footer duplicado fuera. */
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  background: var(--clr-primary);
  border: 0;
  padding: 0.55rem 0.9rem;
}
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header .blq {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header .blq:empty,
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header .blq:has(.contenedor_botones:empty) {
  display: none !important;
}
/* Bloque con el título → ocupa el espacio, a la izquierda */
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header .blq:has(.modal_print_titulo) {
  order: 0;
  flex: 1 1 auto;
  min-width: 0;
}
/* Bloque del botón de cierre → a la derecha del todo */
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header .bloque_02 {
  order: 9;
  flex: 0 0 auto;
  margin-left: auto;
}
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal_print_titulo {
  display: block;
  min-width: 0;
}
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-title,
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .ms-dlg-title {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-header .btn-close {
  margin: 0;
  opacity: 0.9;
  filter: invert(1) grayscale(1) brightness(2);
}
/* Footer duplicado (repite título y botones vacíos) → fuera */
.modal:is(.visor_imagen, .visor_video, .visor_doc, .visor_pdf) .modal-footer {
  display: none !important;
}
/* Cuerpo */
.modal.visor_imagen .modal-body,
.modal.visor_video .modal-body,
.modal.visor_pdf .modal-body {
  padding: 0 !important;
}
.modal.visor_doc .modal-body {
  padding: 0 !important;
}
/* Imagen: centrada, contenida, fondo oscuro */
.modal.visor_imagen .cont_item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem;
  background: #0f172a;
}
.modal.visor_imagen .cont_item img,
.modal.visor_imagen .cont_item .item {
  max-width: 100%;
  max-height: 80vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
}
/* PDF: alto relativo al viewport en vez de 830px fijos */
.modal.visor_pdf .cont_pdf {
  width: 100% !important;
  height: 82vh !important;
  background: #525659 !important;
  float: none !important;
}
/* Vídeo: responsive */
.modal.visor_video .cont_video {
  width: 100%;
  background: #000;
}
.modal.visor_video .cont_video .video-js,
.modal.visor_video .cont_video video {
  width: 100% !important;
  height: auto !important;
  max-height: 82vh;
}
/* Documento de texto: legible, con scroll */
.modal.visor_doc .cont_doc {
  padding: 1.25rem;
  background: #fff;
  max-height: 80vh;
  overflow: auto;
}
/* Texto plano previsualizado */
.modal.visor_doc .cont_doc--text {
  padding: 0;
}
.modal.visor_doc .ms-doc-pre {
  margin: 0;
  padding: 1.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--clr-text-body);
  white-space: pre-wrap;
  word-break: break-word;
}
.modal.visor_doc .ms-doc-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--clr-text-muted);
  font-size: 1.6rem;
}
/* Tarjeta "sin vista previa" + descarga */
.modal.visor_doc .ms-no-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.55rem;
  max-width: 420px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem;
}
.modal.visor_doc .ms-no-preview__icon {
  font-size: 3.5rem;
  color: var(--clr-primary);
  opacity: 0.85;
}
.modal.visor_doc .ms-no-preview__name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--clr-text-body);
  word-break: break-word;
}
.modal.visor_doc .ms-no-preview__mime {
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.modal.visor_doc .ms-no-preview__msg {
  margin: 0.25rem 0 0.5rem;
  font-size: 0.88rem;
  color: var(--clr-text-muted);
}
/* ════════════════════════════════════════════════════════════════
   MODAL DE IMPRESIÓN / EXPORTACIÓN (.modal_impresion) — vista "folio"
   estilo Word: fondo gris alrededor y la preview como hoja blanca
   centrada con sombra. El wrapper .print-folio lo añade printers.js.
   ════════════════════════════════════════════════════════════════ */
.modal.modal_impresion .modal-body {
  background: #e6e8ee !important;
  /* gris alrededor del folio */
  padding: 1.5rem 1rem !important;
}
/* El × del PIE sobra (ya hay uno en la cabecera) y queda descolocado. */
.modal.modal_impresion .modal-footer .bloque_02,
.modal.modal_impresion .modal-footer .btn-close {
  display: none !important;
}
/* El selector de plantillas del PIE sobra (ya está en la cabecera). */
.modal.modal_impresion .modal-footer .modal_print_selectorPlantillas {
  display: none !important;
}
/* Plantilla de TABLA = horizontal (landscape): el folio de la preview se ensancha
   y reduce su padding para dar el máximo ancho a la tabla. */
.modal.modal_impresion .modal-body .print-folio:has(.sheet-landscape) {
  max-width: 1180px;
  padding: 1.5rem 1.25rem;
}
.modal.modal_impresion .modal-body .print-folio {
  width: 100%;
  max-width: 820px;
  /* ~ancho de folio en pantalla */
  margin: 0 auto;
  background: #fff;
  padding: 2.5rem 2.75rem;
  border: 1px solid #d7dbe2;
  border-radius: 2px;
  box-shadow: 0 3px 16px rgba(15, 23, 42, 0.18);
  box-sizing: border-box;
  color: #333;
}
/* La preview del .vm trae un div con width:98% / fondo blanco / padding
   inline; lo neutralizamos para que la hoja blanca sea SOLO el folio. */
.modal.modal_impresion .modal-body .print-folio > div {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
/* ════════════════════════════════════════════════════════════════
   FICHA — VISOR DE OBJETOS (rgGallery) — rediseño limpio.
   DOM real: .doc-viewer (marco exterior) > .panel.panel-default (borde
   interior redundante: lo neutralizamos) > .panel-body > .cont_thumbnail
   > #rg-gallery { .rg-view (toggles) · .num_items (contador) · .rg-thumbs
   (miniaturas) · .rg-image-wrapper > .rg-image img + .rg-caption (clone,
   download, <p>nombre, <hr>, <p>©) }.
   Un único marco (la .doc-viewer); cabecera contador+toggles; imagen a
   ancho completo; barra inferior limpia con nombre + acciones + ©.
   ════════════════════════════════════════════════════════════════ */
/* Marco único: anulamos el panel Bootstrap interno (el borde "pegado") */
#page-main.doc_doc .doc-viewer .panel.panel-default {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#page-main.doc_doc .doc-viewer .panel.panel-default > .panel-body {
  padding: 0 !important;
}
#page-main.doc_doc .doc-viewer .cont_thumbnail.cover {
  width: 100% !important;
  height: auto !important;
  float: none !important;
  padding: 0 !important;
  background: transparent !important;
}
/* Galería (rediseño 2026-08 sobre Swiper, ver msearch.core.gallery.js): miniaturas SIEMPRE
   visibles encima de la imagen principal (responsive, con flechas de paginacion), barra de
   herramientas vertical en la esquina superior derecha (igual dentro y fuera de pantalla
   completa), imagen principal ocupando el resto del espacio disponible.
   !important en display/float: hay una regla mas antigua y mas especifica en el CSS compilado
   ("#page-main.doc_doc .col_dcha #rg-gallery, ...col_izqda #rg-gallery {display:block;float:left}",
   sin fuente .less viva -- parece huerfana de un rediseño anterior) que si no, gana y deja todo
   el visor en flujo de bloque normal en vez de flex (efecto: miniaturas+imagen+pie se quedan
   "pegados arriba" del hueco de #rg-gallery en vez de repartirse el alto, el hueco de sobra
   queda vacio debajo -- percibido como "la imagen se va hacia arriba"). */
.doc-viewer #rg-gallery {
  position: relative;
  display: flex !important;
  flex-direction: column;
  width: 100%;
  height: min(75vh, 720px);
  float: none !important;
  background: #14181c;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.doc-viewer #rg-gallery.gal_fullScreen {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2000;
  border-radius: 0;
}
/* Tira de miniaturas: se puede ocultar (boton .rg-btn-thumbs) para dar mas alto a la imagen
   principal -- #rg-main-wrap ya es flex:1 1 auto, así que al quitar .rg-thumbs del flujo
   recupera ese espacio solo; ver toggleThumbs() en el JS para el re-render de Swiper.
   !important por el mismo motivo que en #rg-gallery arriba (la misma regla antigua tambien
   fija .rg-thumbs a display:block). */
.doc-viewer #rg-gallery.rg-thumbs-hidden .rg-thumbs {
  display: none !important;
}
.doc-viewer #rg-gallery .rg-thumbs {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem;
  background: #000;
}
.doc-viewer #rg-gallery .rg-thumbs-swiper {
  flex: 1 1 auto;
  overflow: hidden;
}
.doc-viewer #rg-gallery .rg-thumbs-swiper .swiper-slide {
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  border: 2px solid transparent;
  border-radius: var(--radius-sm);
  overflow: hidden;
  opacity: 0.55;
  cursor: pointer;
  transition: opacity 0.15s, border-color 0.15s;
}
.doc-viewer #rg-gallery .rg-thumbs-swiper .swiper-slide-thumb-active {
  opacity: 1;
  border-color: var(--clr-primary);
}
.doc-viewer #rg-gallery .rg-thumbs-swiper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.doc-viewer #rg-gallery .rg-thumbs-swiper .rg-slide-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-muted);
  background: #1c2126;
  font-size: 1.4rem;
}
.doc-viewer #rg-gallery .rg-thumbs-nav {
  flex: 0 0 auto;
  color: #fff;
  cursor: pointer;
  padding: 0 0.3rem;
  font-size: 1rem;
}
.doc-viewer #rg-gallery .rg-thumbs-nav.swiper-button-disabled {
  opacity: 0.25;
  cursor: default;
}
.doc-viewer #rg-gallery .rg-thumbs-count {
  flex: 0 0 auto;
  color: #ccc;
  font-size: 0.72rem;
  white-space: nowrap;
  padding-left: 0.4rem;
}
/* Imagen principal: ocupa el resto del espacio disponible */
.doc-viewer #rg-gallery .rg-main-wrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 320px;
}
.doc-viewer #rg-gallery.gal_fullScreen .rg-main-wrap {
  min-height: 0;
}
.doc-viewer #rg-gallery .rg-main-swiper {
  position: absolute;
  inset: 0;
}
.doc-viewer #rg-gallery .rg-main-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
/* !important necesario: ".col_dcha .cont_thumbnail img" (regla generica antigua, ver
   _plugins_styles.less) fuerza width/height/object-fit:cover !important sobre CUALQUIER <img>
   dentro de .cont_thumbnail -- y el visor entero cuelga de ese contenedor. Sin esto, cualquier
   imagen cuya proporcion no coincida con la del hueco disponible se ve recortada tipo "cover"
   en vez de ajustada completa (efecto "se amplia y sale recortada" al entrar en pantalla
   completa con fotos en vertical). */
.doc-viewer #rg-gallery .rg-main-img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  transition: transform 0.2s ease, filter 0.2s ease;
}
/* El giro va en este wrapper, no en la <img> (que ya usa su transform para el zoom/pan de
   Panzoom) -- ver el comentario en render()/msearch.core.gallery.js. */
.doc-viewer #rg-gallery .rg-main-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transform-origin: 50% 50%;
  transition: transform 0.2s ease;
}
.doc-viewer #rg-gallery .rg-slide-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ccc;
  width: 100%;
  height: 100%;
}
.doc-viewer #rg-gallery .rg-slide-icon-name {
  margin-top: 0.6rem;
  font-size: 0.82rem;
  color: #ccc;
  text-align: center;
  padding: 0 1rem;
  word-break: break-word;
}
/* Flechas prev/next sobre la imagen principal */
.doc-viewer #rg-gallery .rg-main-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  cursor: pointer;
  z-index: 15;
  font-size: 1.3rem;
  padding: 0.6rem;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  transition: background 0.15s;
}
.doc-viewer #rg-gallery .rg-main-nav:hover {
  background: var(--clr-primary);
}
.doc-viewer #rg-gallery .rg-main-nav.rg-main-prev {
  left: 0.6rem;
}
.doc-viewer #rg-gallery .rg-main-nav.rg-main-next {
  right: 0.6rem;
}
.doc-viewer #rg-gallery .rg-main-nav.swiper-button-disabled {
  opacity: 0.25;
  cursor: default;
}
/* Barra de herramientas: vertical, esquina superior derecha -- SOLO pantalla completa. En modo
   normal las acciones (descargar, miniaturas, vista previa, pantalla completa) viven en el pie,
   junto al nombre, para no tapar la imagen. */
.doc-viewer #rg-gallery .rg-toolbar {
  display: none;
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  flex-direction: column;
  gap: 0.4rem;
  z-index: 20;
  max-height: calc(100vh - 1.2rem);
  overflow-y: auto;
}
.doc-viewer #rg-gallery.gal_fullScreen .rg-toolbar {
  display: flex;
}
.doc-viewer #rg-gallery .rg-toolbar a {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.15s;
}
.doc-viewer #rg-gallery .rg-toolbar a:hover,
.doc-viewer #rg-gallery .rg-toolbar a.selected {
  background: var(--clr-primary);
}
.doc-viewer #rg-gallery .rg-toolbar a i {
  font-size: 0.85rem;
}
/* Panel de brillo/contraste: flotante junto a la barra vertical, solo visible al pulsar
   "Brillo y contraste" (#btn_ajustes) y solo tiene sentido en pantalla completa. */
.doc-viewer #rg-gallery .rg-adjust-panel {
  display: none;
  position: absolute;
  top: 0.6rem;
  right: 3.4rem;
  z-index: 20;
  background: rgba(0, 0, 0, 0.7);
  border-radius: var(--radius-sm);
  padding: 0.6rem 0.8rem;
  min-width: 160px;
}
.doc-viewer #rg-gallery:not(.gal_fullScreen) .rg-adjust-panel {
  display: none !important;
}
.doc-viewer #rg-gallery .rg-adjust-panel label {
  display: block;
  color: #fff;
  font-size: 0.72rem;
  margin: 0 0 0.4rem;
}
.doc-viewer #rg-gallery .rg-adjust-panel label:last-child {
  margin-bottom: 0;
}
.doc-viewer #rg-gallery .rg-adjust-panel input[type="range"] {
  display: block;
  width: 100%;
  margin-top: 0.2rem;
}
/* Pie: nombre del fichero activo + tipo + tamaño a la izquierda (toda la info disponible, como
   en el visor anterior mas el tamaño, que antes no se mostraba en la base -- ver ImageBean.size)
   y las acciones de modo normal a la derecha -- ocultas en fullscreen (se usa la barra vertical
   de arriba en su lugar). */
.doc-viewer #rg-gallery .rg-caption {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.4rem 0.7rem;
  font-size: 0.78rem;
  background: #000;
}
.doc-viewer #rg-gallery .rg-caption-info {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}
.doc-viewer #rg-gallery .rg-caption-name {
  color: #fff;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex-shrink: 1;
}
.doc-viewer #rg-gallery .rg-caption-meta {
  color: #9ca3af;
  white-space: nowrap;
}
.doc-viewer #rg-gallery .rg-caption-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex: 0 0 auto;
}
.doc-viewer #rg-gallery.gal_fullScreen .rg-caption-actions {
  display: none;
}
.doc-viewer #rg-gallery .rg-caption-actions a {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.doc-viewer #rg-gallery .rg-caption-actions a:hover,
.doc-viewer #rg-gallery .rg-caption-actions a.selected {
  background: var(--clr-primary);
  color: #fff;
}
.doc-viewer #rg-gallery .rg-caption-actions a i {
  font-size: 0.78rem;
}
@media (max-width: 576px) {
  .doc-viewer #rg-gallery .rg-thumbs-swiper .swiper-slide {
    width: 46px;
    height: 46px;
  }
  .doc-viewer #rg-gallery .rg-main-wrap {
    min-height: 220px;
  }
}
/* ════════════════════════════════════════════════════════════════
   LISTADOS (search/mosaic/list) — boton flotante "abrir galeria en
   pantalla completa" sobre la miniatura, solo si el registro tiene un
   objeto digital real (ver $.msearch.thumbnail en jquery.mediasearch.js)
   y el modo tiene activada ms.search|mosaic|list.gallery.fullscreen.
   ════════════════════════════════════════════════════════════════ */
#page-main:is(.doc_search, .doc_mosaic, .doc_list) figure.cont_thumbnail {
  position: relative;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_list) figure.cont_thumbnail .rg-launch-fullscreen-btn {
  position: absolute;
  bottom: 0.35rem;
  right: 0.35rem;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  border-radius: var(--radius-sm);
  cursor: pointer;
  z-index: 5;
  transition: background 0.15s;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_list) figure.cont_thumbnail .rg-launch-fullscreen-btn:hover {
  background: var(--clr-primary);
}
#page-main:is(.doc_search, .doc_mosaic, .doc_list) figure.cont_thumbnail .rg-launch-fullscreen-btn i {
  font-size: 0.8rem;
}
/* Contenedor de la galeria lanzada desde un listado: fuera del flujo normal de la pagina hasta
   que entra en pantalla completa (misma clase .gal_fullScreen que la del visor de /doc la
   expande a 100vw/100vh -- ver la regla de #rg-gallery.gal_fullScreen mas arriba). */
.rg-gallery-launch-host {
  position: fixed;
  width: 0;
  height: 0;
  overflow: hidden;
  z-index: 2000;
}
/* ════════════════════════════════════════════════════════════════
   FICHA — col_izqda colapsable (rail 16px), igual que /list.
   Por defecto COLAPSADA (sin .is-open); se abre al pulsar el rail.
   Sólo se activa en pintado_en_tabs (en otros formatos: sin rail).
   ════════════════════════════════════════════════════════════════ */
#page-main.doc_doc .col_izqda > .facets-toggle {
  display: none;
}
#page-main.doc_doc .col_izqda > .facets-content {
  display: block;
}
.pintado_en_tabs #page-main.doc_doc #cont_principal {
  align-items: stretch !important;
}
.pintado_en_tabs #page-main.doc_doc #cont_principal .col_izqda {
  position: relative;
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: flex-basis 0.2s ease, width 0.2s ease;
  overflow: visible;
}
.pintado_en_tabs #page-main.doc_doc #cont_principal .col_izqda.is-open {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  padding: 0 0.5rem 0 0 !important;
}
.pintado_en_tabs #page-main.doc_doc #cont_principal .col_dcha {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 0 0 0.5rem !important;
  margin: 0 !important;
}
.pintado_en_tabs #page-main.doc_doc .col_izqda > .facets-toggle {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 100%;
  min-height: 220px;
  align-items: flex-start;
  justify-content: center;
  padding: 10px 0 0;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  color: var(--clr-text-muted);
  cursor: pointer;
  z-index: 2;
  transition: background 0.15s, color 0.15s;
}
.pintado_en_tabs #page-main.doc_doc .col_izqda > .facets-toggle:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-accent);
}
.pintado_en_tabs #page-main.doc_doc .col_izqda > .facets-toggle .fa {
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}
.pintado_en_tabs #page-main.doc_doc .col_izqda.is-open > .facets-toggle .fa {
  transform: rotate(180deg);
}
.pintado_en_tabs #page-main.doc_doc .col_izqda > .facets-content {
  display: none;
}
.pintado_en_tabs #page-main.doc_doc .col_izqda.is-open > .facets-content {
  display: block;
  margin-left: 22px;
}
@media (max-width: 991.98px) {
  .pintado_en_tabs #page-main.doc_doc #cont_principal {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  .pintado_en_tabs #page-main.doc_doc #cont_principal .col_izqda,
  .pintado_en_tabs #page-main.doc_doc #cont_principal .col_izqda.is-open,
  .pintado_en_tabs #page-main.doc_doc #cont_principal .col_dcha {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
  .pintado_en_tabs #page-main.doc_doc .col_izqda > .facets-toggle {
    display: none;
  }
  .pintado_en_tabs #page-main.doc_doc .col_izqda > .facets-content {
    display: block !important;
    margin-left: 0;
  }
}
/* ── Metadata panel (.doc_metadatajsp.visor_descripcion) ───── */
#page-main.doc_doc .col_dcha .doc_metadatajsp.panel.visor_descripcion {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  position: relative !important;
  overflow: hidden;
}
#page-main.doc_doc .col_dcha .doc_metadatajsp .panel-body {
  padding: 1rem 1.25rem !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* cont_metadata wrapper */
#page-main.doc_doc .col_dcha .cont_metadata {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* fields-primary / fields-secondary groupings */
#page-main.doc_doc .col_dcha .fields-primary,
#page-main.doc_doc .col_dcha .fields-secondary {
  display: block !important;
  width: 100% !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
}
#page-main.doc_doc .col_dcha .fields-secondary {
  margin-top: 0.75rem !important;
  padding-top: 1rem !important;
  border-top: 1px dashed var(--clr-border-light);
}
/* Each field "contenedor" — label above, value below */
#page-main.doc_doc .col_dcha .cont_metadata .contenedor {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  margin: 0 0 0.55rem 0 !important;
  padding: 0.35rem 0 !important;
  border-bottom: 1px solid var(--clr-border-light);
  width: 100% !important;
  float: none !important;
}
#page-main.doc_doc .col_dcha .cont_metadata .contenedor:last-child {
  border-bottom: none;
}
/* Field label — first <p> with fw-bold */
#page-main.doc_doc .col_dcha .cont_metadata .contenedor > p:first-of-type,
#page-main.doc_doc .col_dcha .cont_metadata .contenedor > p.fw-bold {
  flex: 0 0 180px;
  max-width: 180px;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-muted) !important;
  line-height: 1.4 !important;
  text-transform: none;
  letter-spacing: 0;
  word-wrap: break-word;
}
/* Field value(s) — list-group with paragraphs */
#page-main.doc_doc .col_dcha .cont_metadata .contenedor .list-group {
  flex: 1 1 auto;
  min-width: 0;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  list-style: none !important;
}
#page-main.doc_doc .col_dcha .cont_metadata .contenedor .list-group p {
  margin: 0 !important;
  padding: 0.15rem 0 !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: var(--clr-text-main) !important;
  line-height: 1.5 !important;
  background: transparent !important;
  border: none !important;
  word-wrap: break-word;
}
#page-main.doc_doc .col_dcha .cont_metadata .contenedor .list-group p a {
  color: var(--clr-accent);
  text-decoration: none;
}
#page-main.doc_doc .col_dcha .cont_metadata .contenedor .list-group p a:hover {
  color: var(--clr-accent-dark);
  text-decoration: underline;
}
/* Responsive: labels stack above values on narrow screens */
@media (max-width: 575.98px) {
  #page-main.doc_doc .col_dcha .cont_metadata .contenedor {
    flex-direction: column;
    gap: 0.15rem;
  }
  #page-main.doc_doc .col_dcha .cont_metadata .contenedor > p:first-of-type {
    flex: 1 1 auto;
    max-width: 100%;
  }
}
/* ── Paneles colapsables minimalistas en cont_metadata ────────────
   Mismo look para .fields-link (descriptores enlazables) y
   .documentos_adjuntos (lista de ejemplares/objetos digitales): tarjeta
   suave, header tipo botón, items como pills. */
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos).panel,
#page-main.doc_doc .col_dcha .panel:is(.fields-link, .documentos_adjuntos) {
  background: var(--clr-bg-subtle) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  margin: 1rem 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading {
  background: var(--clr-bg-card) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  border-radius: 0 !important;
  display: block !important;
  position: relative;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading > a,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .panel_heading_title_collapse {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0.55rem 1rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 none !important;
  text-align: left !important;
  text-decoration: none !important;
  color: var(--clr-primary) !important;
  cursor: pointer;
  position: relative !important;
  float: none !important;
  outline: none !important;
  box-shadow: none !important;
  line-height: 1.25 !important;
  transition: background 0.12s;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading > a:hover {
  background: var(--clr-bg-muted) !important;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .panel_heading_cont_title {
  display: inline-flex !important;
  align-items: center !important;
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  float: none !important;
  width: auto !important;
  position: static !important;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .panel_titulo {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  text-transform: none !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .icono_derecha,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .cursor_despliegue {
  position: static !important;
  top: auto !important;
  right: auto !important;
  margin-left: auto !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-muted) !important;
  background: transparent !important;
  flex-shrink: 0;
  font-size: 0.75rem;
  line-height: 1 !important;
  float: none !important;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .icono_derecha .icono,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-heading .cursor_despliegue .icono {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: inline-flex !important;
  color: var(--clr-text-muted) !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
  float: none !important;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .panel-body {
  padding: 0.65rem 1rem !important;
  background: var(--clr-bg-card) !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* List-group inside the linked-fields panel (descriptors) */
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group {
  display: flex !important;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0.5rem 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: none !important;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group_titulo,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) h3.list-group_titulo {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-muted) !important;
  margin: 0.85rem 0 0.35rem !important;
  padding: 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group .list-group-item.descriptor,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group .list-group-item {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  width: auto !important;
  margin: 0.15rem 0.35rem 0.15rem 0 !important;
  padding: 0.25rem 0.65rem !important;
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  float: none !important;
  font-size: 0.78rem !important;
  color: var(--clr-text-body) !important;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group .list-group-item:hover {
  background: var(--clr-bg-card) !important;
  border-color: var(--clr-accent) !important;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item .titulo,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item a {
  color: var(--clr-accent) !important;
  text-decoration: none;
  font-size: 0.78rem;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item a:hover {
  color: var(--clr-accent-dark) !important;
  text-decoration: underline;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item .btnx,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item button {
  background: transparent !important;
  border: none !important;
  color: var(--clr-text-light);
  padding: 0 0 0 0.15rem;
  cursor: pointer;
  font-size: 0.8rem;
}
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item .btnx:hover,
#page-main.doc_doc .col_dcha :is(.fields-link, .documentos_adjuntos) .list-group-item button:hover {
  color: var(--clr-accent);
}
/* ── Doc stats panel ─────────────────────────────────────────
   doc-stats.jsp realmente renderiza .list-record-social (no .doc-stats),
   y aparece justo después de .cont_datos. Le damos forma de tarjeta para
   que no quede pegado al título y a #social-layer.
   ────────────────────────────────────────────────────────────── */
#page-main.doc_doc .col_dcha .doc-stats,
#page-main.doc_doc .col_dcha .doc_stats,
#page-main.doc_doc .col_dcha .list-record-social {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.65rem 1rem !important;
  margin: 1rem 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.6rem !important;
  font-size: 0.8rem;
  color: var(--clr-text-body);
  width: 100% !important;
  float: none !important;
}
/* Iconos individuales (visitas, comentarios, score) como pills suaves */
#page-main.doc_doc .col_dcha .list-record-social .icono {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  background: var(--clr-bg-subtle) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.25rem 0.6rem !important;
  margin: 0 !important;
  font-size: 0.78rem !important;
  color: var(--clr-text-body) !important;
  float: none !important;
  line-height: 1.3 !important;
}
#page-main.doc_doc .col_dcha .list-record-social .icono::before {
  font-family: FontAwesome;
  color: var(--clr-primary-mid);
  margin-right: 0;
}
#page-main.doc_doc .col_dcha .list-record-social .record-visit::before {
  content: '\f06e';
}
#page-main.doc_doc .col_dcha .list-record-social .record-comments::before {
  content: '\f075';
}
#page-main.doc_doc .col_dcha .list-record-social .record-score::before {
  content: '\f005';
  color: var(--clr-warn);
}
/* ── Social layer (comments + share) ─────────────────────────
   #social-layer es solo un contenedor lógico (envuelve doc_comments y
   doc_share). No debe tener tarjeta propia — la legacy de _core.less
   le pone border 1px, lo neutralizamos aquí. */
#page-main.doc_doc .col_dcha #social-layer,
#page-main.doc_doc .col_dcha .social-layer {
  display: block !important;
  width: 100% !important;
  margin: 1rem 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
  border: 0 none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Tarjetas internas del social-layer */
#page-main.doc_doc .col_dcha .doc_comments,
#page-main.doc_doc .col_dcha .doc_share {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 1rem 1.25rem;
  margin: 0 0 1rem 0;
  width: 100% !important;
  float: none !important;
}
/* Aplanado del legacy .doc_commentsjsp:
   _core.less le pone background-color:#f2f6fa + padding 15px tanto a
   .vista_comentarios como a .entrada_comentarios — eso creaba un card
   anidado dentro de .doc_comments. Lo neutralizamos para que la
   tarjeta visible sea solo el contenedor padre .doc_comments. */
#page-main.doc_doc .col_dcha .doc_comments .doc_commentsjsp,
#page-main.doc_doc .col_dcha .doc_comments .doc_commentsjsp.vista_comentarios,
#page-main.doc_doc .col_dcha .doc_comments .doc_commentsjsp.entrada_comentarios {
  background: transparent !important;
  padding: 0 !important;
  border: 0 none !important;
  box-shadow: none !important;
  width: 100% !important;
  float: none !important;
}
/* Separación entre vista_comentarios y entrada_comentarios */
#page-main.doc_doc .col_dcha .doc_comments .doc_commentsjsp.entrada_comentarios {
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--clr-border-light) !important;
}
/* Cabecera de comentarios — alinear con el resto */
#page-main.doc_doc .col_dcha .doc_comments .comments_heading h2.titulo,
#page-main.doc_doc .col_dcha .doc_comments .comments_heading h3 {
  font-size: 1rem !important;
  color: var(--clr-primary) !important;
  margin: 0 0 0.65rem 0 !important;
  font-weight: 600 !important;
}
/* Defensivo: los <input type="hidden"> de doc-fluid.jsp (doc-is-favorite,
   doc-rating, doc-record-id) NO deben ocupar espacio en la cascada. */
#page-main.doc_doc .col_dcha > input[type="hidden"],
#page-main.doc_doc input#doc-is-favorite,
#page-main.doc_doc input#doc-rating,
#page-main.doc_doc input#doc-record-id {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}
/* Garantiza que .cont_datos tenga margen propio para no pegarse a las
   migas (cont_migas_doc) ni a la barra de stats que viene debajo */
#page-main.doc_doc .col_dcha .cont_datos {
  margin: 0 0 0.5rem 0 !important;
}
/* ── Tabs view (.pintado_en_tabs / doc-tabs) ───────────────── */
#page-main.doc_doc .col_dcha .nav-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem;
  border-bottom: 2px solid var(--clr-border-light);
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
}
#page-main.doc_doc .col_dcha .nav-tabs .nav-item,
#page-main.doc_doc .col_dcha .nav-tabs > li {
  margin: 0;
  padding: 0;
  float: none !important;
}
#page-main.doc_doc .col_dcha .nav-tabs .nav-link,
#page-main.doc_doc .col_dcha .nav-tabs > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--clr-text-body) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
  text-decoration: none !important;
  margin-bottom: -2px;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
#page-main.doc_doc .col_dcha .nav-tabs .nav-link:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
#page-main.doc_doc .col_dcha .nav-tabs .nav-link.active,
#page-main.doc_doc .col_dcha .nav-tabs > li.active > a {
  background: var(--clr-bg-card) !important;
  color: var(--clr-primary) !important;
  border-color: var(--clr-border-light) var(--clr-border-light) transparent !important;
  border-bottom: 2px solid var(--clr-bg-card) !important;
  font-weight: 600;
}
/* ── Three-column layout (tres_cols) ───────────────────────── */
.tres_cols #page-main.doc_doc .col_lat_derecha {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.75rem 1rem;
  margin-top: 0.75rem;
}
.tres_cols #page-main.doc_doc .col_lat_derecha .titulo_menu {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--clr-text-muted);
  letter-spacing: 0.04em;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--clr-border-light);
  margin-bottom: 0.5rem;
}
.tres_cols #page-main.doc_doc .col_lat_derecha .cont_menu_acciones .pagination {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  justify-content: flex-start;
}
.tres_cols #page-main.doc_doc .col_lat_derecha .cont_menu_acciones .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.tres_cols #page-main.doc_doc .col_lat_derecha .cont_menu_acciones .page-link:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
.tres_cols #page-main.doc_doc .col_lat_derecha .cont_menu_acciones .page-link i {
  color: inherit !important;
  margin: 0 !important;
}
/* Bloque "Elementos relacionados" (.cont_customs.mlt.doc_doc):
   estilos consolidados en _mods.less (seccion I) para evitar duplicados. */
/* ── Field-link hover pill (.list-link-item, .clase_tag) ────── */
#page-main.doc_doc .col_dcha .list-link-item,
#page-main.doc_doc .col_dcha .clase_tag {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.15rem 0.55rem;
  background: var(--clr-bg-muted);
  border: 1px solid var(--clr-border-light);
  border-radius: 999px;
  font-size: 0.78rem;
  color: var(--clr-text-body) !important;
  text-decoration: none !important;
  margin: 0.15rem 0.25rem 0.15rem 0;
  transition: background 0.12s, color 0.12s;
}
#page-main.doc_doc .col_dcha .clase_tag:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
#page-main.doc_doc .col_dcha .clase_tag .tag_title {
  color: inherit !important;
  white-space: nowrap;
}
/* ── Responsive (consolidado desde _mods.less RESPONSIVE ADJUSTMENTS) ── */
@media (max-width: 767.98px) {
  .col_dcha .card-body.itemGridSearch {
    flex-direction: column;
  }
  .col_dcha .item_listado {
    padding-right: 0;
    padding-bottom: 0.6rem;
    justify-content: flex-start;
  }
  .col_dcha .labelField {
    flex-basis: 100px;
  }
}
@media (max-width: 575.98px) {
  .col_dcha .card-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ============================================================
   Cards del listado en < lg — comportamiento responsive
   ============================================================
   - Quitar el .me-3 de los cards en columna full-width
   - card-body como bloque (no flex) para que los hijos se apilen y la
     altura crezca con el contenido
   - .item_listado / .col-md-9 / .col-md-3 dentro de card-body como bloques
   - .item.item_listado (mosaic) full width con espaciado lateral
   - a.media-object → margen superior (aire bajo el borde superior del card)
   - .cont_selecciones → margen inferior (simétrico)
   - figure.cont_thumbnail / cont_thumbnail al ancho completo
   - imagen escala SOLO hacia abajo (max-width 100%, sin width 100%) para
     evitar pixelado al ampliar, max-height 240px, object-fit contain,
     centrada
   - card y card-body sin alturas forzadas (overflow visible)
============================================================ */
@media (max-width: 991.98px) {
  /* Beat el .me-3 de Bootstrap en cards de col_dcha: con la columna a
     ancho completo, ese margin-right desplaza visualmente las cards. */
  #page-main #cont_principal #col_dcha .card.me-3,
  #page-main #cont_principal #col_dcha .card.mb-3.me-3 {
    margin-right: 0 !important;
  }
  /* card-body: bloque, ancho completo, padding lateral cómodo, height auto.
     Si fuese flex-row, .item_listado se estiraría a la altura completa y
     los metadatos col-md-9 se saldrían fuera. */
  #page-main #cont_principal #col_dcha .card > .card-body,
  #page-main #cont_principal #col_dcha .card .card-body {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem 1.25rem !important;
    box-sizing: border-box;
    height: auto !important;
    min-height: 0 !important;
  }
  /* Hijos directos del card-body (item_listado + col-md-9 / col-md-3):
     bloques apilados, position relative para que contribuyan a la altura. */
  #page-main #cont_principal #col_dcha .card .card-body > .item_listado,
  #page-main #cont_principal #col_dcha .card .card-body > .col-md-9,
  #page-main #cont_principal #col_dcha .card .card-body > .col-md-3 {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    float: none !important;
    align-self: auto !important;
  }
  #page-main #cont_principal #col_dcha .card .card-body > .item_listado {
    margin-bottom: 0.75rem !important;
  }
  /* MOSAIC: cada .item.item_listado dentro de las cards del grid debe
     ocupar el ancho completo con un poco de aire lateral. */
  #page-main #cont_principal #col_dcha .card .item.item_listado,
  #page-main #cont_principal #col_dcha .card-body .item.item_listado,
  #page-main #cont_principal #col_dcha .item.item_listado {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 0.75rem !important;
    margin: 0 0 1rem 0 !important;
    box-sizing: border-box;
    float: none !important;
  }
  /* a.media-object: margen superior 1rem para separar la imagen del borde
     superior del card. .cont_selecciones: simétrico, margen inferior. */
  #page-main #cont_principal #col_dcha .card a.media-object,
  #page-main #cont_principal #col_dcha .card .item.item_listado a.media-object,
  #page-main #cont_principal #col_dcha a.media-object {
    display: block !important;
    margin-top: 1rem !important;
    padding-top: 0 !important;
    text-align: center;
  }
  #page-main #cont_principal #col_dcha .card .cont_selecciones,
  #page-main #cont_principal #col_dcha .card .item.item_listado .cont_selecciones,
  #page-main #cont_principal #col_dcha .cont_selecciones {
    margin-bottom: 1rem !important;
    padding-bottom: 0 !important;
  }
  /* figure (cont_thumbnail) sin margen propio (lo da el a.media-object). */
  #page-main #cont_principal #col_dcha .card .card-body .item_listado figure,
  #page-main #cont_principal #col_dcha .card .card-body .item_listado .cont_thumbnail,
  #page-main #cont_principal #col_dcha .card .item.item_listado figure,
  #page-main #cont_principal #col_dcha .card .item.item_listado .cont_thumbnail {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: center;
  }
  /* .imagenList: sin borde, sin float, centrada (la mayoría del legacy
     la pinta con border + float left para flotar a la izda del bloque). */
  #page-main #col_dcha .imagenList,
  #page-main #cont_principal #col_dcha .imagenList {
    border: 0 !important;
    float: none !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* SEARCH (vista lista) y DOC: el WRAPPER del thumbnail (.cont_thumbnail
     o .cont_imagen — puede ser un <a>, una figure, o un div) tiene
     dimensiones fijas en estilos legacy:
        .col_dcha .cont_thumbnail { width: 150px !important; height: 180px ... }
     Eso impide que la imagen llene el card al apilarse en móvil. Forzamos
     ancho completo y altura auto (especificidad 220 vs los 20 del legacy). */
  #page-main.doc_search #col_dcha .cont_imagen,
  #page-main.doc_search #col_dcha .cont_thumbnail,
  #page-main.doc_search #col_dcha a.cont_thumbnail,
  #page-main.doc_search #col_dcha figure.cont_thumbnail,
  #page-main.doc_doc #col_dcha .cont_imagen,
  #page-main.doc_doc #col_dcha .cont_thumbnail,
  #page-main.doc_doc #col_dcha a.cont_thumbnail,
  #page-main.doc_doc #col_dcha figure.cont_thumbnail {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  /* Imagen — comportamiento distinto según la página:

     SEARCH (vista lista): la imagen llena el card al 95% (deja un pequeño
     margen visual a los lados, centrada con margin: 0 auto). */
  #page-main.doc_search #cont_principal #col_dcha .card .card-body .item_listado img,
  #page-main.doc_search #cont_principal #col_dcha .card .card-body .cont_thumbnail img,
  #page-main.doc_doc #cont_principal #col_dcha .card .card-body .item_listado img,
  #page-main.doc_doc #cont_principal #col_dcha .card .card-body .cont_thumbnail img {
    width: 95% !important;
    height: auto !important;
    max-width: 95% !important;
    max-height: none !important;
    object-fit: contain;
    display: block;
    margin: 0 auto !important;
  }
  /* MOSAIC (vista grid): la imagen NO escala hacia arriba (evita pixelado
     en imágenes pequeñas), max-height para imágenes muy verticales,
     object-fit contain mantiene aspect ratio, centrada en el contenedor. */
  #page-main.doc_mosaic #cont_principal #col_dcha .card .item.item_listado img,
  #page-main.doc_mosaic #cont_principal #col_dcha .card .item.item_listado .cont_thumbnail img,
  #page-main.doc_advanced #cont_principal #col_dcha .card .item.item_listado img,
  #page-main.doc_more_info #cont_principal #col_dcha .card .item.item_listado img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 240px !important;
    object-fit: contain;
    display: block;
    margin: 0 auto !important;
    image-rendering: -webkit-optimize-contrast;
  }
  /* Card y card-body sin altura forzada — crecen con el contenido. */
  #page-main #cont_principal #col_dcha .card,
  #page-main #cont_principal #col_dcha .card .card-body {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  /* En /doc el bloque .cont_customs (documentos relacionados, MLT, etc.)
     queda pegado a los bordes del card. Aire lateral. */
  #page-main.doc_doc #cont_principal .cont_customs,
  #page-main.doc_doc #col_dcha .cont_customs,
  #page-main #cont_principal .cont_customs.mlt.doc_doc,
  #page-main #cont_principal #col_dcha .cont_customs {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box;
  }
}
/*!
	@file        : _advanced_search.less

	@description : Página de búsqueda avanzada (#page-main.doc_advanced).
	               Layout: portlet izquierdo (titulo_general, col-sm-3) +
	               portlet derecho (form-advanced, col-sm-9).
	               Migrado desde _mods.less (Fase 4.9).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura interna (en orden de cascada — el último gana):

	1. ADVANCED SEARCH PAGE  (#page-main.doc_advanced)
	   Layout completo: portlets izq/der, .form-advanced, .form-group,
	   .control-label, .form-control, hierarchical_component,
	   .select_tmpl, .btn_lanza_ayuda, secciones del formulario.

	2. FINAL OVERRIDE — .btn_avanzada
	   Override final que arregla el botón de búsqueda avanzada para
	   que el icono y el texto queden en la misma línea (anula
	   .tipo_columnas .btn .titulo { display:flex; flex-direction:column }
	   de styles.css).

	Notas:
	- La columna de filtros (.col_izqda) en .doc_advanced está cubierta
	  por _filters.less mediante :is(.doc_search, .doc_mosaic, .doc_doc,
	  .doc_advanced, .doc_more_info) .col_izqda.
	- El aside de búsqueda en .doc_advanced (con search-ppal, etc.) está
	  cubierto por el bloque SEARCH FORM AREA que sigue en _mods.less.
---------------------------------------------------- */
/* ============================================================
   ADVANCED SEARCH PAGE  (#page-main.doc_advanced)
   ============================================================
   Layout: left .titulo_general portlet (col-sm-3) + right
   .form-advanced portlet (col-sm-9). Inside the right portlet
   is the <form> with stacked .card components (one per group)
   plus a final .footer_portlets row with submit/reset.
*/
/* page-main wrapper */
#page-main.doc_advanced {
  padding-top: 0.75rem;
  padding-bottom: 2rem;
}
/* Two-column layout: 25% / 75%, no gap (gap would push >100% and wrap).
   align-items: stretch para que el portlet del título ocupe la misma
   altura que la columna del formulario y no se vea el cont_principal
   "asomando" por debajo cuando el título es más corto. */
#page-main.doc_advanced #cont_principal {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 none !important;
}
#page-main.doc_advanced #cont_principal > .portlet.titulo_general,
#page-main.doc_advanced #cont_principal > .col-sm-3.titulo_general {
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  min-width: 0 !important;
  padding: 0 0.5rem 0 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
#page-main.doc_advanced #cont_principal > .portlet.form-advanced,
#page-main.doc_advanced #cont_principal > .col-sm-9.form-advanced {
  flex: 0 0 75% !important;
  width: 75% !important;
  max-width: 75% !important;
  min-width: 0 !important;
  padding: 0 0 0 0.5rem !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
  display: block !important;
}
@media (max-width: 991.98px) {
  #page-main.doc_advanced #cont_principal {
    flex-wrap: wrap !important;
  }
  #page-main.doc_advanced #cont_principal > .portlet.titulo_general,
  #page-main.doc_advanced #cont_principal > .portlet.form-advanced {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
}
/* ── Left panel: .portlet.titulo_general — same hero card as col_izqda ── */
/* overflow:visible is REQUIRED so the .select_tmpl dropdown menu can escape
   the panel bounds. El portlet ocupa toda la altura del flex padre
   (cont_principal con align-items:stretch) para que no se vea el fondo
   del padre por debajo cuando el título es corto. */
#page-main.doc_advanced .portlet.titulo_general {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column;
  position: relative;
  z-index: 1;
  align-self: stretch !important;
  height: auto !important;
  min-height: 100%;
}
/* Heading band — primary gradient, white text + icon, top corners rounded.
   Estructura:
     ┌──────────────────────────────────┐
     │ [icono]  Título de la plantilla  │  ← fila superior (cont_titulo_top)
     │ [▾ Seleccione otra plantilla…]   │  ← fila inferior (select_tmpl)
     └──────────────────────────────────┘
   El cont_titulo es flex column con dos hijos:
     fila 1: una sub-fila flex con cont_icono + cont_texto
     fila 2: select_tmpl a 100%
   Para forzar la sub-fila pongo cont_icono y cont_texto explícitamente
   en una agrupación flex via :is() y wrap a 0 — así no hay forma de que
   se separen visualmente. */
#page-main.doc_advanced .portlet.titulo_general .cont_titulo {
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  padding: 0.75rem 1rem !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.55rem !important;
  border: none !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  width: 100% !important;
  float: none !important;
  position: static !important;
  flex-wrap: nowrap !important;
}
/* Fila superior: icono + texto siempre alineados horizontalmente.
   Como cont_icono y cont_texto son hijos directos del cont_titulo
   (que ahora es column), los envolvemos visualmente con un wrapper
   flex usando un sub-selector por orden + display:contents no es posible,
   así que aplicamos display:flex al cont_titulo y los situamos en una
   "row" virtual con flex-flow column → hacemos esto: cambiar cont_titulo
   a grid de 2 filas. */
#page-main.doc_advanced .portlet.titulo_general .cont_titulo {
  display: grid !important;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.6rem;
  row-gap: 0.55rem;
  align-items: center;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .cont_icono {
  grid-row: 1;
  grid-column: 1;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .cont_texto {
  grid-row: 1;
  grid-column: 2;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .select_tmpl {
  grid-row: 2;
  grid-column: 1 / span 2;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .cont_icono {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  flex-shrink: 0;
  float: none !important;
  position: static !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .cont_icono .icono,
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .cont_icono .fa {
  color: #fff !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
  position: static !important;
  float: none !important;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo .cont_texto {
  flex: 1 1 auto;
  min-width: 0;
  float: none !important;
  position: static !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-main.doc_advanced .portlet.titulo_general .cont_titulo h1,
#page-main.doc_advanced .portlet.titulo_general .cont_titulo h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0;
  word-wrap: break-word;
  font-style: normal;
}
/* Template selector dropdown inside the title panel */
#page-main.doc_advanced .portlet.titulo_general .select_tmpl {
  width: 100%;
  padding: 0;
  margin: 0;
  flex-basis: 100%;
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-item.dropdown {
  width: 100%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-sm);
  margin: 0;
  /* el row-gap del grid de cont_titulo ya separa */
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-link.dropdown-toggle {
  display: flex !important;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
  padding: 0.4rem 0.65rem !important;
  color: #fff !important;
  font-size: 0.8rem;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: var(--radius-sm);
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-link.dropdown-toggle:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-link .icono,
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-link .texto,
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-link .fa {
  color: inherit !important;
  font-size: 0.8rem;
}
/* Template-selector dropdown wrapper — needs position:relative to anchor menu */
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .nav-item.dropdown {
  position: relative !important;
}
/* ===========================================================================
   Índice de secciones del formulario (.form_sections)
   ---------------------------------------------------------------------------
   El panel izquierdo solo contenía el nombre de la plantilla y estiraba hasta
   el pie con todo el hueco vacío. Ahora lleva el índice de las secciones del
   formulario, que es lo que justifica la columna: estos formularios tienen
   varias secciones y sin índice hay que buscarlas haciendo scroll.

   El resaltado lo pone el <script> del final de advanced.jsp añadiendo
   .is-current al enlace: la sección actual es la última cuyo borde superior ha
   pasado la línea de lectura, y el foco manda sobre la posición. Sin JS el
   índice sigue funcionando: son enlaces a anclas.
   =========================================================================== */
#page-main.doc_advanced .portlet.titulo_general .form_sections {
  padding: 0.85rem 1rem 0 1rem;
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_title {
  margin: 0 0 0.5rem 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--clr-text-muted, #64748b);
  /* Alineado a la izquierda como los enlaces: un índice centrado no da una columna de
     inicio común y obliga al ojo a recolocarse en cada línea. El padding iguala el del
     texto de los enlaces (.6rem del enlace + los 3px de su barra izquierda). */
  text-align: left !important;
  padding-left: calc(0.6rem + 3px);
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_list li {
  margin: 0;
  padding: 0;
  float: none;
  /* el tema pone float:left a los li por defecto */
  width: 100%;
}
/* `display:flex` y no `block`: además de colocar el marcador junto al texto, deja el
   contenido alineado a la izquierda sin depender de heredar el `text-align` (el panel lo
   recibe centrado de otra hoja, y en un flex container manda `justify-content`, que por
   defecto ya es flex-start). */
#page-main.doc_advanced .portlet.titulo_general .form_sections_link {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  text-align: left;
  /* Guía vertical: la barra izquierda hace de indicador de posición y se tiñe
     en la sección activa, en lugar de mover el texto.
     Las esquinas IZQUIERDAS van sin radio a propósito: con el radio, la barra de 3px se
     curva y se lee como un paréntesis suelto delante del texto. */
  border-left: 3px solid transparent;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--clr-text-body, #334155);
  font-size: 0.82rem;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
/* Marcador de lista: un chevron tenue (FontAwesome 4.7, \f105 = fa-angle-right), el mismo
   para todas las secciones. No es un icono POR sección: eso ya se descartó porque metía
   ruido visual sin aportar significado. Aquí solo marca dónde empieza cada entrada y
   sirve de acento al resaltar la sección activa. */
#page-main.doc_advanced .portlet.titulo_general .form_sections_link::before {
  content: "\f105";
  font-family: "FontAwesome";
  flex: 0 0 auto;
  width: 0.5rem;
  font-size: 0.8rem;
  color: var(--clr-text-muted, #94a3b8);
  opacity: 0.55;
  transition: color 0.15s ease, opacity 0.15s ease;
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_link:hover,
#page-main.doc_advanced .portlet.titulo_general .form_sections_link:focus-visible {
  background: var(--clr-bg-subtle, #f1f5f9);
  color: var(--clr-text-main, #0f172a);
  text-decoration: none;
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_link:hover::before,
#page-main.doc_advanced .portlet.titulo_general .form_sections_link:focus-visible::before,
#page-main.doc_advanced .portlet.titulo_general .form_sections_link.is-current::before {
  color: var(--clr-primary);
  opacity: 1;
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_link.is-current {
  background: var(--clr-bg-subtle, #f1f5f9);
  border-left-color: var(--clr-primary);
  color: var(--clr-text-main, #0f172a);
  font-weight: 600;
}
/* Buscar / Limpiar del panel: pegados abajo del panel mientras se hace scroll.
   `position: sticky` con `bottom` funciona porque el panel es más alto que su
   contenido; si el panel se quedara corto, simplemente no se despega. */
#page-main.doc_advanced .portlet.titulo_general .form_sections_actions {
  display: flex;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  margin-top: auto;
  /* empuja al fondo del flex column del panel */
  position: sticky;
  bottom: 0;
  background: var(--clr-bg-card);
  border-top: 1px solid var(--clr-border-light);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_actions .btn_buscar,
#page-main.doc_advanced .portlet.titulo_general .form_sections_actions .btn_limpiar {
  flex: 1 1 0;
  padding: 0.45rem 0.5rem;
  font-size: 0.82rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
}
#page-main.doc_advanced .portlet.titulo_general .form_sections_actions .btn_limpiar {
  background: #fff;
  border: 1px solid var(--clr-border);
  color: var(--clr-text-body);
}
/* Sin índice (plantilla de una sola sección) el panel no debe estirar hasta el
   pie dejando un hueco vacío: acaba donde acaba su contenido. */
#page-main.doc_advanced #cont_principal > .portlet.titulo_general:not(:has(.form_sections)) {
  min-height: 0 !important;
  align-self: flex-start !important;
}
/* Destino de los saltos del índice. El hueco lo pone scroll-margin-top y NO un
   cálculo en el JS: así la altura de la cabecera fija se mantiene en un solo
   sitio. Si cambia la cabecera, se cambia aquí. */
#page-main.doc_advanced [id^="filter_"] {
  scroll-margin-top: 96px;
}
/* Al saltar con el teclado, el foco no debe dibujar el anillo del navegador
   sobre toda la sección (el tabindex="-1" es solo para llevar el foco). */
#page-main.doc_advanced [id^="filter_"]:focus {
  outline: none;
}
/* En apilado el panel va arriba: el índice sigue siendo útil, pero los botones
   fijos no —quedarían flotando sobre el formulario—, así que dejan de ser sticky
   y se quedan donde están. */
@media (max-width: 767.98px) {
  #page-main.doc_advanced .portlet.titulo_general .form_sections_actions {
    position: static;
    margin-top: 0;
  }
}
/* Dropdown menu — escapes the panel via z-index and absolute positioning */
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto;
  z-index: 1060 !important;
  display: none;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18) !important;
  padding: 0.35rem 0 !important;
  min-width: 240px;
  max-width: 90vw;
  max-height: 360px;
  overflow-y: auto;
  font-size: 0.82rem;
  margin-top: 0.25rem;
  white-space: normal;
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .dropdown-menu.show {
  display: block !important;
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .dropdown-item {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.85rem !important;
  font-size: 0.82rem;
  color: var(--clr-text-body) !important;
  text-decoration: none !important;
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .dropdown-item:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
#page-main.doc_advanced .portlet.titulo_general .select_tmpl .dropdown-item .fa {
  color: var(--clr-text-muted);
  font-size: 0.8rem;
}
/* ── Right panel: .form-advanced — wrapper for the form ───── */
#page-main.doc_advanced .portlet.form-advanced {
  display: block !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-main.doc_advanced .portlet.form-advanced > form,
#page-main.doc_advanced #searchadv-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: 0;
}
/* ── Form group cards (.card.busqueda_general, .card.${id}) ── */
#page-main.doc_advanced .form-advanced .card,
#page-main.doc_advanced .form-advanced .card.busqueda_general {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
  display: block !important;
  float: none !important;
  flex: 0 0 auto;
}
#page-main.doc_advanced .form-advanced .card > .row {
  margin: 0 !important;
  width: 100% !important;
}
/* Card header — replace the harsh bg-secondary with a clean light header */
#page-main.doc_advanced .form-advanced .card .card-header {
  background: var(--clr-bg-subtle) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  border-top: none !important;
  border-left: 4px solid var(--clr-accent) !important;
  border-radius: 0 !important;
  padding: 0.55rem 0.9rem !important;
  margin: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center;
}
#page-main.doc_advanced .form-advanced .card .card-header h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  background: transparent !important;
  text-transform: none !important;
  letter-spacing: 0;
  line-height: 1.3 !important;
  font-family: inherit !important;
}
/* Card body */
#page-main.doc_advanced .form-advanced .card .card-body {
  background: var(--clr-bg-card) !important;
  padding: 1rem 1.1rem !important;
  border: none !important;
  width: 100% !important;
  display: block !important;
}
/* Card footer (submit/reset row) */
#page-main.doc_advanced .form-advanced .card .card-footer {
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.55rem 0.9rem !important;
  margin: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}
/* ── Form rows / labels / inputs ──────────────────────────── */
/* .cont_form-group always takes the FULL ROW inside .card-body, regardless
   of any Bootstrap col-md-X / col-sm-X classes from the JSP's ${ancho_group}
   variable. We force flex-basis + width + max-width to 100%, so rows are
   never crammed into 50% / 33% half-widths.                                 */
#page-main.doc_advanced .form-advanced .row.advancedRules,
#page-main.doc_advanced .form-advanced .cont_form-group,
#page-main.doc_advanced .form-advanced .cont_form-group[class*="col-md-"],
#page-main.doc_advanced .form-advanced .cont_form-group[class*="col-sm-"],
#page-main.doc_advanced .form-advanced .cont_form-group[class*="col-xs-"] {
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  float: none !important;
  box-sizing: border-box;
}
/* The inner .form-group becomes the actual flex row that lays out
   [label] [.control-component] [.cont_btn_hide] horizontally. */
#page-main.doc_advanced .form-advanced .cont_form-group > .form-group,
#page-main.doc_advanced .form-advanced .cont_form-group .form-group {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.35rem 0.85rem;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: relative;
}
/* Inside the flex form-group: label takes its bootstrap width, the
   .control-component grows, the hide button stays small at the right. */
#page-main.doc_advanced .form-advanced .cont_form-group .form-group > label.col-form-label {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center;
}
#page-main.doc_advanced .form-advanced .cont_form-group .form-group > .control-component {
  flex: 1 1 auto;
  min-width: 0;
}
#page-main.doc_advanced .form-advanced .cont_form-group .form-group > .cont_btn_hide {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Etiqueta del campo: un punto más de presencia (color de titular + semibold) sin
   convertirla en un titular. Antes era del mismo gris que el texto secundario y en un
   formulario de 20 campos costaba recorrer la lista de etiquetas con la vista. */
#page-main.doc_advanced .form-advanced .col-form-label,
#page-main.doc_advanced .form-advanced label {
  font-size: 0.83rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-main) !important;
  letter-spacing: 0.002em;
  margin: 0 0 0.3rem 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  display: block;
  text-align: left !important;
}
#page-main.doc_advanced .form-advanced .control-component {
  display: flex !important;
  align-items: stretch;
  gap: 0.35rem;
  width: 100%;
  /* Blindaje responsive: como item flex, sin min-width:0 conservaría el ancho
     intrínseco del <select> durante el reflow a móvil → overflow transitorio ~9px.
     min-width:0 permite encoger; max-width:100% impide que exceda el contenedor. */
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* All inputs and selects — modern flat style */
#page-main.doc_advanced .form-advanced .form-control,
#page-main.doc_advanced .form-advanced input[type="text"],
#page-main.doc_advanced .form-advanced input[type="search"],
#page-main.doc_advanced .form-advanced select.form-control,
#page-main.doc_advanced .form-advanced select.form-select {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  /* blindaje: el control nunca excede el ancho del contenedor durante el reflow */
  height: 38px !important;
  padding: 0.45rem 0.75rem !important;
  font-size: 0.85rem !important;
  font-weight: 400;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0 !important;
}
#page-main.doc_advanced .form-advanced .form-control:focus,
#page-main.doc_advanced .form-advanced select.form-control:focus,
#page-main.doc_advanced .form-advanced select.form-select:focus {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
#page-main.doc_advanced .form-advanced .form-control::placeholder {
  color: var(--clr-text-light);
}
#page-main.doc_advanced .form-advanced select.form-control,
#page-main.doc_advanced .form-advanced select.form-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  padding-right: 2rem !important;
  cursor: pointer;
}
/* input-group — operator select + input + clone-icon button + help button.
   Each variation keeps its outer corners rounded and inner edges flat so the
   joined controls read as one unit:
     [input alone]                → fully rounded
     [select][input]              → select round-left, input round-right only
     [input][btn modal_cruce]     → input round-left only, btn round-right
     [select][input][btn modal]   → select round-left, input flat, btn round-right
*/
#page-main.doc_advanced .form-advanced .input-group {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  margin: 0 !important;
  position: relative;
}
/* Default input: fully rounded (used when no select/button siblings) */
#page-main.doc_advanced .form-advanced .input-group > .form-control,
#page-main.doc_advanced .form-advanced .input-group > input[type="text"] {
  flex: 1 1 auto;
  min-width: 0;
  border-radius: var(--radius-sm) !important;
  margin: 0 !important;
  border: 1px solid var(--clr-border) !important;
}
/* Operator-select on the left (inside .input-group.con_select) */
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_nexo,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_00,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_01,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_02 {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 90px;
  max-width: 130px;
  height: 38px !important;
  font-size: 0.78rem !important;
  font-weight: 500;
  color: var(--clr-text-body) !important;
  background-color: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border) !important;
  border-right: none !important;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
  margin: 0 !important;
  /* Y / O / NO son etiquetas de 1-2 letras: centradas se leen como un botón de estado y
     dejan de parecer un campo a medio rellenar. El hueco de la derecha se reserva para la
     flecha (padding asimétrico compensado con el izquierdo para que el centro óptico
     coincida con el del texto). */
  padding: 0 1.5rem 0 1.5rem !important;
  text-align: center !important;
  text-align-last: center !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.55rem center !important;
  cursor: pointer;
}
/* El desplegable abierto: Firefox y Chromium respetan el centrado en las opciones; los que
   no, lo ignoran sin efectos secundarios. */
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_nexo > option,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_00 > option,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_01 > option,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_02 > option {
  text-align: center;
}
/* When the input has a select to its left, flatten the LEFT side */
#page-main.doc_advanced .form-advanced .input-group.con_select > .form-control,
#page-main.doc_advanced .form-advanced .input-group.con_select > input[type="text"] {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
/* When the input has a button (.modal_cruce_data) to its right via .con_boton,
   flatten the RIGHT side and remove the right border so it shares the seam */
#page-main.doc_advanced .form-advanced .input-group.con_boton > .form-control,
#page-main.doc_advanced .form-advanced .input-group.con_boton > input[type="text"] {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none !important;
}
/* date-range / year-range: two date inputs side by side */
#page-main.doc_advanced .form-advanced .form-group.range .input-group > input.from {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none !important;
}
#page-main.doc_advanced .form-advanced .form-group.range .input-group > input.to {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
/* ── Help button (.btn_lanza_ayuda) — subtle question mark ───
   El botón de abrir el árbol del tesauro (.th-h-tree) comparte estas reglas:
   es el mismo tipo de acción auxiliar al lado del campo y antes salía como un
   btn-outline-secondary suelto, con otra caja y otro color. Conserva su icono. */
#page-main.doc_advanced .form-advanced .cont_btn_ayuda {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_advanced .form-advanced .btn_lanza_ayuda,
#page-main.doc_advanced .form-advanced .btn.btn_lanza_ayuda,
#page-main.doc_advanced .form-advanced .th-h-tree,
#page-main.doc_advanced .form-advanced .btn.th-h-tree {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
  margin: 0 0 0 0.35rem !important;
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-muted) !important;
  font-size: 0.9rem !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
#page-main.doc_advanced .form-advanced .btn_lanza_ayuda:hover,
#page-main.doc_advanced .form-advanced .th-h-tree:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
#page-main.doc_advanced .form-advanced .btn_lanza_ayuda i,
#page-main.doc_advanced .form-advanced .btn_lanza_ayuda .icono,
#page-main.doc_advanced .form-advanced .btn_lanza_ayuda .fa,
#page-main.doc_advanced .form-advanced .th-h-tree i,
#page-main.doc_advanced .form-advanced .th-h-tree .icono,
#page-main.doc_advanced .form-advanced .th-h-tree .fa {
  color: inherit !important;
  margin: 0 !important;
}
/* ── Hide-field button (.btn_hide_fields) — small Ã— on the right ─ */
#page-main.doc_advanced .form-advanced .cont_btn_hide {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 0.35rem;
  padding: 0;
  width: auto !important;
  max-width: none !important;
}
#page-main.doc_advanced .form-advanced .btn_hide_fields,
#page-main.doc_advanced .form-advanced .btn.btn_hide_fields {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 38px !important;
  min-width: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-light) !important;
  font-size: 0.85rem !important;
  cursor: pointer;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
#page-main.doc_advanced .form-advanced .btn_hide_fields:hover {
  background: #fee2e2 !important;
  border-color: #ef4444 !important;
  color: #ef4444 !important;
}
/* ── Submit / Reset / Buscar / Limpiar buttons ────────────── */
#page-main.doc_advanced .form-advanced .btn_buscar,
#page-main.doc_advanced .form-advanced input.btn_buscar,
#page-main.doc_advanced .form-advanced input.btn-primary[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  min-width: 110px;
  padding: 0 1.1rem !important;
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s;
}
#page-main.doc_advanced .form-advanced .btn_buscar:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
#page-main.doc_advanced .form-advanced .btn_limpiar,
#page-main.doc_advanced .form-advanced input.btn_limpiar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  min-width: 110px;
  padding: 0 1.1rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  margin-left: 0.55rem;
}
#page-main.doc_advanced .form-advanced .btn_limpiar:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-text-light) !important;
  color: var(--clr-text-main) !important;
}
/* ── Card-footer "Resultados por pÃ¡gina" select ─────────────── */
#page-main.doc_advanced .form-advanced .card-footer .col-md-3 {
  flex: 0 0 auto;
  width: auto;
  margin-right: auto;
  padding: 0 !important;
}
#page-main.doc_advanced .form-advanced .card-footer .cont_botonera {
  flex: 0 0 auto;
  width: auto !important;
  display: flex;
  align-items: center;
  margin-left: auto !important;
  padding: 0 !important;
}
/* ── footer_portlets (final submit row outside the cards) ──────
   Layout deseado en una sola línea:
   ┌─────────────────────────────────────────────────────────────┐
   │ Resultados por página: [10 ▾]      [Limpiar]  [Buscar]      │
   └─────────────────────────────────────────────────────────────┘
   El _core.less mete a .contenedor un float:left + padding y a las
   form-group internas un display:flex de form-horizontal — todo eso
   trastoca el space-between, así que neutralizamos float/text-align
   y forzamos flex row con space-between en la .contenedor.        */
#page-main.doc_advanced .form-advanced .footer_portlets {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  padding: 0.85rem 1.25rem !important;
  margin: 0.5rem 0 0 0 !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
  position: relative !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .contenedor {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 none !important;
  float: none !important;
  text-align: left !important;
  position: static !important;
}
/* Bloque izquierdo: "Resultados por página: [select]" en línea
   (label inline, no apilado) */
#page-main.doc_advanced .form-advanced .footer_portlets .form-group.cont_select {
  flex: 0 1 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 none !important;
  float: none !important;
  width: auto !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .form-group.cont_select label {
  font-size: 0.85rem !important;
  color: var(--clr-text-body) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
  text-align: left !important;
  flex: 0 0 auto;
}
#page-main.doc_advanced .form-advanced .footer_portlets .form-group.cont_select .titulo {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .form-group.cont_select .control-component {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets select {
  height: 38px !important;
  min-width: 110px !important;
  width: auto !important;
  padding: 0 2rem 0 0.75rem !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
}
/* Bloque derecho: botonera con dos botones inline */
#page-main.doc_advanced .form-advanced .footer_portlets .cont_botonera {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
  border: 0 none !important;
  text-align: right !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .cont_botonera input,
#page-main.doc_advanced .form-advanced .footer_portlets .cont_botonera .btn {
  margin: 0 !important;
  padding: 0.45rem 1.1rem !important;
  font-size: 0.85rem !important;
  border-radius: var(--radius-sm) !important;
  height: 38px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#page-main.doc_advanced .form-advanced .footer_portlets .btn-primary,
#page-main.doc_advanced .form-advanced .footer_portlets .btn_buscar {
  background: var(--clr-primary) !important;
  border: 1px solid var(--clr-primary) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .btn-primary:hover,
#page-main.doc_advanced .form-advanced .footer_portlets .btn_buscar:hover {
  background: var(--clr-primary-mid) !important;
  border-color: var(--clr-primary-mid) !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .btn-warning,
#page-main.doc_advanced .form-advanced .footer_portlets .btn_limpiar {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  color: var(--clr-text-body) !important;
}
#page-main.doc_advanced .form-advanced .footer_portlets .btn-warning:hover,
#page-main.doc_advanced .form-advanced .footer_portlets .btn_limpiar:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-text-light) !important;
  color: var(--clr-text-main) !important;
}
/* Responsive: en pantallas estrechas las dos partes apiladas */
@media (max-width: 575.98px) {
  #page-main.doc_advanced .form-advanced .footer_portlets .contenedor {
    flex-wrap: wrap !important;
    justify-content: stretch !important;
  }
  #page-main.doc_advanced .form-advanced .footer_portlets .cont_botonera {
    width: 100% !important;
    justify-content: flex-end !important;
  }
}
/* ── Hierarchical and selector field components ────────────── */
#page-main.doc_advanced .form-advanced .selectorFields,
#page-main.doc_advanced .form-advanced select.selectorFields {
  display: block;
  width: 100% !important;
  height: 38px !important;
  padding: 0 2rem 0 0.75rem !important;
  font-size: 0.85rem !important;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  margin: 0 0 0.75rem 0 !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  cursor: pointer;
}
/* ── Hierarchical component (.hierarchical_component) ──────────
   The inner JS (msearch.core.nestedcombos) generates a stack of
   <div.form-group data-field_name="..."><label><div><select></div></div>
   rows, then Selectize replaces each <select> with its own widget.
   We want each row to occupy near-full width with the select taking
   the dominant share, in a clean modern look matching the rest. */
#page-main.doc_advanced .form-advanced .hierarchical_component {
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  margin: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
#page-main.doc_advanced .form-advanced .hierarchical_component > div[id^="cont_selects_dependientes_"] {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  width: 100%;
}
/* Each level row: [label 30%] [select widget 70%] */
#page-main.doc_advanced .form-advanced .hierarchical_component .form-group:not(.oculto) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.85rem;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
  border: none !important;
}
#page-main.doc_advanced .form-advanced .hierarchical_component .form-group > label.control-label {
  flex: 0 0 30%;
  max-width: 30%;
  width: 30%;
  margin: 0 !important;
  padding: 0 0.25rem 0 0 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-body) !important;
  text-align: left !important;
  display: flex;
  align-items: center;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3 !important;
}
#page-main.doc_advanced .form-advanced .hierarchical_component .form-group > label.control-label .titulo {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
/* The wrapper div that contains the select (col-md-8 col-sm-8 col-xs-12) */
#page-main.doc_advanced .form-advanced .hierarchical_component .form-group > div[class*="col-"] {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}
/* Native fallback select (before Selectize attaches) */
#page-main.doc_advanced .form-advanced .hierarchical_component select.seleccion.hierachical,
#page-main.doc_advanced .form-advanced .hierarchical_component select.form-control.select_dependiente,
#page-main.doc_advanced .form-advanced .hierarchical_component select.form-control.select_no_dependiente {
  width: 100% !important;
  height: 38px !important;
  padding: 0 2rem 0 0.75rem !important;
  font-size: 0.85rem !important;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  cursor: pointer;
  margin: 0 !important;
  box-shadow: none !important;
}
/* Stack on small screens */
@media (max-width: 575.98px) {
  #page-main.doc_advanced .form-advanced .hierarchical_component .form-group > label.control-label {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }
  #page-main.doc_advanced .form-advanced .hierarchical_component .form-group > div[class*="col-"] {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}
/* ── Selectize plugin styling (used by hierarchical selects) ──
   Selectize wraps each <select> in <div.selectize-control> AND copies
   the original <select>'s classes onto that wrapper. So the wrapper
   typically ends up with `.form-control`, which triggers our generic
   form-control styling (border + bg + padding) and makes the actual
   .selectize-input visually offset inside. We must reset the wrapper
   to a transparent positioning shell — only .selectize-input carries
   the visible styling. */
/* Wrapper: zero padding/border/bg, just position:relative for the dropdown */
#page-main.doc_advanced .form-advanced .selectize-control,
#page-main.doc_advanced .form-advanced .selectize-control.single,
#page-main.doc_advanced .form-advanced .selectize-control.form-control,
#page-main.doc_advanced .form-advanced .selectize-control.single.form-control,
#page-main.doc_advanced .form-advanced div.selectize-control[class*="form-control"] {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 none transparent !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  cursor: default;
  overflow: visible !important;
  line-height: 1 !important;
}
/* Hide the original native <select> that Selectize is replacing */
#page-main.doc_advanced .form-advanced .selectize-control > select.seleccion,
#page-main.doc_advanced .form-advanced .selectize-control > select.form-control {
  display: none !important;
}
/* The actual visible selectize widget — fills the wrapper */
#page-main.doc_advanced .form-advanced .selectize-control .selectize-input,
#page-main.doc_advanced .form-advanced .selectize-control.single .selectize-input {
  position: relative !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0.35rem 2rem 0.35rem 0.75rem !important;
  margin: 0 !important;
  font-size: 0.85rem !important;
  font-weight: 400;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: border-color 0.12s, box-shadow 0.12s;
  line-height: 1.3 !important;
  box-sizing: border-box;
}
#page-main.doc_advanced .form-advanced .selectize-control.single .selectize-input.input-active,
#page-main.doc_advanced .form-advanced .selectize-control.single .selectize-input.focus,
#page-main.doc_advanced .form-advanced .selectize-control.single .selectize-input.dropdown-active {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
/* Kill the default Selectize chevron — we use our own SVG bg-image */
#page-main.doc_advanced .form-advanced .selectize-input::after,
#page-main.doc_advanced .form-advanced .selectize-control.single .selectize-input::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
}
/* The hidden text input inside .selectize-input (for typing/search) */
#page-main.doc_advanced .form-advanced .selectize-input > input,
#page-main.doc_advanced .form-advanced .selectize-input input[type="text"] {
  flex: 1 1 auto !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  min-width: 1ch;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: inherit !important;
}
/* Selected item display inside .selectize-input */
#page-main.doc_advanced .form-advanced .selectize-input .item {
  color: var(--clr-text-main) !important;
  font-size: 0.85rem;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: inherit !important;
}
/* Selectize dropdown menu */
/* Ojo: selectize copia las clases del <select> original tambien al div del
   desplegable, asi que este lleva .form-control y le entraba el
   `height: 38px !important` generico del formulario -> el menu quedaba de una
   sola linea con scroll. La altura la manda el contenido, con tope de 280px. */
#page-main.doc_advanced .form-advanced .selectize-dropdown,
#page-main.doc_advanced .form-advanced .selectize-dropdown.form-control,
#page-main.doc_advanced .form-advanced .selectize-control.single .selectize-dropdown {
  position: absolute !important;
  z-index: 1060 !important;
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0.25rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16) !important;
  padding: 0.25rem 0 !important;
  font-size: 0.85rem !important;
  max-height: 280px !important;
  overflow-y: auto;
}
#page-main.doc_advanced .form-advanced .selectize-dropdown .selectize-dropdown-content {
  padding: 0 !important;
  max-height: 280px;
  overflow-y: auto;
}
#page-main.doc_advanced .form-advanced .selectize-dropdown .option {
  padding: 0.4rem 0.85rem !important;
  font-size: 0.82rem !important;
  color: var(--clr-text-body) !important;
  background: transparent !important;
  cursor: pointer;
  line-height: 1.35;
}
#page-main.doc_advanced .form-advanced .selectize-dropdown .option.active,
#page-main.doc_advanced .form-advanced .selectize-dropdown .option:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
#page-main.doc_advanced .form-advanced .selectize-dropdown .option.selected {
  background: var(--clr-accent) !important;
  color: #fff !important;
}
#page-main.doc_advanced .form-advanced .selectize-dropdown .option-disabled {
  color: var(--clr-text-light) !important;
  cursor: not-allowed;
}
#page-main.doc_advanced .form-advanced .selectize-dropdown-emptyoptionlabel,
#page-main.doc_advanced .form-advanced .selectize-dropdown .selectize-no-results {
  padding: 0.55rem 0.85rem;
  color: var(--clr-text-light);
  font-style: italic;
}
/* ── Force .cont_btn_ayuda always at the visual end of input-group ──
   In some JSP variations the help-button div appears in DOM BEFORE the
   input (e.g. text-without-index case). Use flex order to push it to
   the end so the layout is always [controls] [help-button at right]. */
#page-main.doc_advanced .form-advanced .input-group > .cont_btn_ayuda,
#page-main.doc_advanced .form-advanced .input-group.con_select > .cont_btn_ayuda {
  order: 99;
  display: inline-flex !important;
  align-items: stretch;
  flex-shrink: 0;
  margin: 0 0 0 0.35rem !important;
}
#page-main.doc_advanced .form-advanced .input-group > input.form-control,
#page-main.doc_advanced .form-advanced .input-group > input[type="text"],
#page-main.doc_advanced .form-advanced .input-group.con_select > input.form-control,
#page-main.doc_advanced .form-advanced .input-group.con_select > input[type="text"],
#page-main.doc_advanced .form-advanced .input-group.con_select > select.form-control:not(.select_nexo):not(.select_00):not(.select_01):not(.select_02),
#page-main.doc_advanced .form-advanced .input-group.con_select > select.th-h-base {
  order: 2;
}
/* El operador SIEMPRE el primero del grupo, en cualquier tipo de control.
   Estaba en order:1, y el valor por defecto de flex es 0: bastaba con que apareciera un
   elemento sin orden asignado —el envoltorio que algunos widgets ponen alrededor del input,
   por ejemplo— para que se colara delante y el selector Y/O/NO saliera a la DERECHA del
   campo, como pasaba en los campos con botón de índice. Con el operador en 0 y un suelo de 1
   para el resto de hijos del grupo, el orden ya no depende de qué envoltorios haya:
   [operador][campo][botones auxiliares][ayuda]. Se limita a .con_select, o sea a los grupos
   que de verdad llevan operador. */
#page-main.doc_advanced .form-advanced .input-group.con_select > * {
  order: 1;
}
#page-main.doc_advanced .form-advanced .input-group > .select_nexo,
#page-main.doc_advanced .form-advanced .input-group > .select_00,
#page-main.doc_advanced .form-advanced .input-group > .select_01,
#page-main.doc_advanced .form-advanced .input-group > .select_02,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_nexo,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_00,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_01,
#page-main.doc_advanced .form-advanced .input-group.con_select > .select_02 {
  order: 0 !important;
}
#page-main.doc_advanced .form-advanced .input-group > .btn.btn_form-group,
#page-main.doc_advanced .form-advanced .input-group > .btn.modal_cruce_data,
#page-main.doc_advanced .form-advanced .input-group.con_select > .btn.btn_form-group,
#page-main.doc_advanced .form-advanced .input-group.con_select > .btn.modal_cruce_data {
  order: 3;
}
/* Campo con origen TESAURO: el desplegable del vocabulario ocupa el sitio del input
   (2) y el botón del árbol el de los botones auxiliares (3). Sin esto ambos se
   quedaban en el order por defecto (0) y se colocaban DELANTE del selector de
   operador (1), que salía a la derecha del campo en lugar de a su izquierda. */
#page-main.doc_advanced .form-advanced .input-group > select.th-h-base {
  order: 2;
}
#page-main.doc_advanced .form-advanced .input-group > .btn.th-h-tree,
#page-main.doc_advanced .form-advanced .input-group > .th-h-tree {
  order: 3;
}
/* ── Two-select facet input-group (.cont_dos_selects) ─────────
   Structure: [hidden][operator-select?][value-select.select_03][cont_btn_ayuda]
   Both selects flow horizontally; value-select grows to fill. */
#page-main.doc_advanced .form-advanced .input-group.cont_dos_selects {
  flex-wrap: nowrap;
}
#page-main.doc_advanced .form-advanced .input-group.cont_dos_selects > .select_03,
#page-main.doc_advanced .form-advanced .input-group.cont_dos_selects > select.form-control:not(.select_nexo):not(.select_00):not(.select_01):not(.select_02) {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 2rem 0 0.75rem !important;
  font-size: 0.85rem !important;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  margin: 0 !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  cursor: pointer;
}
/* When both selects are present, flatten the inner edges */
#page-main.doc_advanced .form-advanced .input-group.cont_dos_selects.con_select > .select_03 {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
/* ── Date / Year range (two inputs joined seamlessly) ─────────
   Reinforce the from/to seam so the two inputs read as one range.
   Already partially handled above; this adds explicit ordering and
   border collapse for the operator-select variant. */
#page-main.doc_advanced .form-advanced .form-group.range .input-group {
  flex-wrap: nowrap;
}
#page-main.doc_advanced .form-advanced .form-group.range .input-group > input.from {
  order: 2;
}
#page-main.doc_advanced .form-advanced .form-group.range .input-group > input.to {
  order: 3;
}
#page-main.doc_advanced .form-advanced .form-group.range .input-group.con_select > input.from {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
#page-main.doc_advanced .form-advanced .form-group.range .input-group > input.to {
  border-top-right-radius: var(--radius-sm) !important;
  border-bottom-right-radius: var(--radius-sm) !important;
}
/* ── Standalone .cont_btn_ayuda outside input-group ──────────
   When the help button div is a SIBLING of the input (not inside
   any .input-group), e.g. for text fields without index/operator,
   keep the small spacing without breaking the row layout. */
#page-main.doc_advanced .form-advanced .control-component > .cont_btn_ayuda {
  display: inline-flex;
  align-items: stretch;
  flex-shrink: 0;
  margin-left: 0.35rem;
}
/* Datepicker inputs */
#page-main.doc_advanced .form-advanced .datepicker-datetime,
#page-main.doc_advanced .form-advanced .datepicker-year {
  background-color: var(--clr-bg-card) !important;
}
/* Field hide-button area: don't take a whole column */
#page-main.doc_advanced .form-advanced .col-md-1.cont_btn_hide {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
/* ── Index-modal trigger button (.btn_form-group, .modal_cruce_data) ───
   Sits flush against the right edge of the input. Inherits the input's
   rounded-right corners so the [input][button] pair reads as one unit. */
#page-main.doc_advanced .form-advanced .btn.btn_form-group,
#page-main.doc_advanced .form-advanced .input-group .btn.modal_cruce_data,
#page-main.doc_advanced .form-advanced .input-group .btn.btn_form-group.modal_cruce_data {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  flex-grow: 0;
  width: 40px !important;
  min-width: 40px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border) !important;
  border-left: 1px solid var(--clr-border-light) !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
  color: var(--clr-text-muted) !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  cursor: pointer;
  box-shadow: none !important;
  outline: none !important;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
#page-main.doc_advanced .form-advanced .btn.btn_form-group:hover,
#page-main.doc_advanced .form-advanced .input-group .btn.modal_cruce_data:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
#page-main.doc_advanced .form-advanced .btn.btn_form-group:focus,
#page-main.doc_advanced .form-advanced .input-group .btn.modal_cruce_data:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  z-index: 2;
}
/* The clone icon inside */
#page-main.doc_advanced .form-advanced .btn.btn_form-group i,
#page-main.doc_advanced .form-advanced .btn.btn_form-group .icono,
#page-main.doc_advanced .form-advanced .btn.btn_form-group .fa,
#page-main.doc_advanced .form-advanced .input-group .btn.modal_cruce_data i,
#page-main.doc_advanced .form-advanced .input-group .btn.modal_cruce_data .fa {
  color: inherit !important;
  margin: 0 !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
/* ── Help inline text (.html_ayuda when shown) ─────────────── */
#page-main.doc_advanced .form-advanced .html_ayuda {
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  background: var(--clr-bg-subtle);
  border-left: 3px solid var(--clr-accent);
  padding: 0.45rem 0.75rem;
  margin: 0.35rem 0 0 0;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
#page-main.doc_advanced .form-advanced .html_ayuda p {
  margin: 0;
}
/* ── Related listings inside advanced (.cont_paneles) ──────── */
#page-main.doc_advanced .cont_paneles {
  margin-top: 1rem !important;
}
/* ============================================================
   FINAL OVERRIDE — .btn_avanzada icon + text on same line
   ============================================================
   Beats styles.css's `.tipo_columnas .btn .titulo { display: flex;
   flex-direction: column }` which was forcing the .titulo span to
   be a block-level flex container, pushing it onto a new line below
   the icon. Uses #site-search ID anchor for high specificity, plus
   the html-body chain for an extra level so no legacy rule can win. */
html body form#site-search .btn_avanzada,
html body #site-search .btn_avanzada,
html body form#site-search a.btn_avanzada,
html body form#site-search .btn.btn_avanzada,
html body form#site-search .btn.btn-opaqued.btn_avanzada {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  white-space: nowrap !important;
  text-align: center !important;
}
/* Direct children .icono and .titulo — inline-flex, side by side */
html body form#site-search .btn_avanzada > *,
html body form#site-search .btn_avanzada .icono,
html body form#site-search .btn_avanzada .titulo,
html body form#site-search .btn_avanzada > i,
html body form#site-search .btn_avanzada > span,
html body form#site-search a.btn_avanzada .icono,
html body form#site-search a.btn_avanzada .titulo,
html body form#site-search .btn.btn_avanzada .icono,
html body form#site-search .btn.btn_avanzada .titulo {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  color: inherit !important;
  font-size: inherit !important;
  background: transparent !important;
  border: 0 none transparent !important;
  vertical-align: middle !important;
  text-shadow: none !important;
}
/* Tighten the FontAwesome glyph specifically (sometimes the inline-flex
   above renders it slightly off because of fa pseudo-element baseline) */
html body form#site-search .btn_avanzada .icono::before,
html body form#site-search .btn_avanzada > i::before,
html body form#site-search .btn_avanzada > .fa::before {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
  font-size: inherit;
}
/* ── Reset border en cont_select del footer_portlets / panel-footer ── */
#page-main.doc_advanced .footer_portlets .cont_select,
#page-main.doc_advanced .panel .panel-footer .cont_select {
  border-left: 0px solid black !important;
}
/* ==========================================================================
   Campo de búsqueda avanzada con origen TESAURO (jerárquico)
   Combos de cascada apilados DEBAJO del combo principal + modal de árbol.
   (Editar aquí, en LESS; recompilar newdefault.less. No tocar styles_mods.css.)
   ========================================================================== */
/* OJO especificidad: el tema define
   `#page-main.doc_advanced .form-advanced .control-component{display:flex!important}`
   (1,3,0). Para ganarle hay que igualar/superar esa especificidad, así que estas
   reglas se anclan bajo `#page-main.doc_advanced .form-advanced` (1,4,0). */
#page-main.doc_advanced .form-advanced .th-hier {
  /* .control-component en columna: los sub-niveles van DEBAJO del combo base
	   (el tema lo pinta flex-row y los dejaba como flex item A LA DERECHA). */
  /* fila principal: combo base + botón árbol (+ ayuda) en línea */
  /* Aspecto: comparte la regla del botón de ayuda (más arriba). Aquí solo el flujo. */
  /* sub-niveles: SIEMPRE debajo del combo principal, uno por línea, a lo ancho */
}
#page-main.doc_advanced .form-advanced .th-hier .control-component {
  display: block !important;
}
#page-main.doc_advanced .form-advanced .th-hier .input-group {
  display: flex !important;
  width: 100%;
  align-items: stretch;
}
#page-main.doc_advanced .form-advanced .th-hier .th-h-base {
  flex: 1 1 auto;
}
#page-main.doc_advanced .form-advanced .th-hier .th-h-tree {
  flex: 0 0 auto;
  white-space: nowrap;
  align-self: center;
}
#page-main.doc_advanced .form-advanced .th-hier .th-h-levels {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin-top: 0.4rem;
  clear: both;
}
#page-main.doc_advanced .form-advanced .th-hier .th-h-level {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin-top: 0.4rem;
}
#page-main.doc_advanced .form-advanced .th-hier .th-h-level .th-h-select {
  display: block !important;
  width: 100% !important;
}
/* Modal del árbol de relaciones del tesauro */
#th-tree-modal {
  /* scroll acotado para listas/árboles con miles de elementos */
}
#th-tree-modal .th-initials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}
#th-tree-modal .th-initials .th-letter {
  min-width: 2rem;
}
#th-tree-modal .th-initials .th-letter.active {
  font-weight: 700;
}
#th-tree-modal .th-tree,
#th-tree-modal .th-tree ul {
  list-style: none;
  margin: 0;
  padding-left: 1.1rem;
}
#th-tree-modal .th-tree > li {
  margin: 0.1rem 0;
}
#th-tree-modal .th-tree .th-exp {
  display: inline-block;
  width: 1rem;
  text-align: center;
  text-decoration: none;
  color: #999;
  cursor: pointer;
}
#th-tree-modal .th-tree .th-exp:hover {
  color: #333;
}
#th-tree-modal .th-tree .th-pick {
  text-decoration: none;
  cursor: pointer;
}
#th-tree-modal .th-tree .th-pick:hover {
  text-decoration: underline;
}
#th-tree-modal .th-tree .th-sub {
  margin-left: 0.25rem;
}
#th-tree-modal .th-tree-hint {
  margin: 0.25rem 0;
  font-size: 0.9em;
}
#th-tree-modal .th-tree-tools {
  margin-bottom: 0.5rem;
}
#th-tree-modal .th-tree-scroll {
  max-height: 55vh;
  overflow: auto;
}
#th-tree-modal .th-more {
  display: block;
  margin: 0.5rem auto 0;
}
/* ── .oculto gana SIEMPRE dentro del formulario de avanzada ─────────────
   El plugin de la cascada jerárquica (msearch.core.nestedcombos) pinta los 29
   niveles y marca con .oculto los que la plantilla no activa. Pero .oculto es
   `display:none!important` con especificidad (0,1,0) y las reglas de maquetación
   de esta página son `display:flex!important` con (1,4,0): entre dos !important
   gana la más específica, así que los niveles ocultos se volvían a mostrar y la
   configuración de niveles del grupo no tenía ningún efecto visible — sin ningún
   error en consola, porque el JS hacía su trabajo.
   Además del :not(.oculto) en esas reglas, se blinda aquí con especificidad
   suficiente para cubrir cualquier regla futura que vuelva a forzar display. */
#page-main.doc_advanced .form-advanced .oculto,
#page-main.doc_advanced .form-advanced .form-group.oculto,
#page-main.doc_advanced .form-advanced .hierarchical_component .form-group.oculto,
#page-main.doc_advanced .form-advanced .cont_form-group .form-group.oculto {
  display: none !important;
}
/* blindaje .oculto en avanzada */
/* ─────────────────────────────────────────────────────────────────────────────
   Sugerencias de autocompletado (typeahead) en los campos de autoridades

   Sin nada específico para esta página caían en el estilo heredado de
   `_core.less` (`span.twitter-typeahead`): caja sin borde ni sombra, opciones
   flotadas con sangría fija de 25px para el icono y realce en azul marino
   sólido. Aquí se alinean con el resto del formulario y, sobre todo, con el
   desplegable de selectize: misma tarjeta, mismo realce suave y mismo tope de
   altura, para que las dos listas que puede abrir el usuario se parezcan.
   ───────────────────────────────────────────────────────────────────────────── */
/* El envoltorio que inserta typeahead alrededor del input tiene que
   comportarse como el propio input dentro del `input-group` en flex. */
#page-main.doc_advanced .form-advanced span.twitter-typeahead {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: block !important;
}
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-menu,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-dropdown-menu {
  width: 100% !important;
  min-width: 100%;
  margin-top: 0.25rem !important;
  padding: 0.25rem 0 !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16) !important;
  max-height: 280px;
  overflow-y: auto;
  z-index: 1060 !important;
}
/* Se anula el float + sangría del estilo heredado: el icono deja de estar
   posicionado en absoluto y pasa a ser la primera celda de una fila flex, así
   los títulos de dos líneas ya no se meten debajo de él. */
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion {
  position: static;
  float: none;
  width: auto;
  padding: 0 !important;
  border: 0;
  cursor: pointer;
}
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion .autocomplete {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.38rem 0.8rem;
  font-size: 0.85rem;
  line-height: 1.35;
  color: var(--clr-text-body);
}
/* El icono va en una pastilla tenue de ancho fijo: alinea todos los títulos en
   la misma columna aunque el icono cambie de tipo, y de paso deja de competir
   con el texto — es una señal, no el protagonista de la fila. */
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion i {
  position: static;
  top: auto;
  left: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--clr-bg-muted);
  font-size: 0.72rem;
  line-height: 1;
  color: var(--clr-text-light);
  transition: background-color 0.12s ease, color 0.12s ease;
}
/* typeahead envuelve en <strong> el trozo que coincide con lo tecleado: se
   marca con color en vez de con negrita a secas, que en una lista larga cansa. */
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion .titulo strong,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion strong {
  font-weight: 600;
  color: var(--clr-accent);
}
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion .titulo {
  position: static;
  float: none;
  width: auto;
  font-size: inherit;
  text-align: left;
  white-space: normal;
}
/* Realce: el mismo gris suave + acento del desplegable de selectize, tanto con
   el ratón como con las flechas del teclado (`tt-cursor`). */
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion:hover,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion:focus,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion.tt-cursor,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion.tt-selectable:hover,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion.tt-selectable:focus {
  background-color: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion:hover .autocomplete,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion.tt-cursor .autocomplete {
  color: var(--clr-accent);
}
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion:hover i,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion.tt-cursor i {
  background: var(--clr-accent);
  color: #fff;
}
/* Mensaje de "sin resultados", con el mismo tratamiento que en selectize. */
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-empty-message,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .empty-message {
  padding: 0.55rem 0.85rem;
  color: var(--clr-text-light);
  font-size: 0.82rem;
  font-style: italic;
}
/* ─────────────────────────────────────────────────────────────────────────────
   Listas desplegables: recorte, alineación y aire

   Tres problemas que venían del mismo sitio —el contenedor, no la lista—:

   1. Los últimos elementos se perdían por debajo de la tarjeta. La tarjeta de
      cada sección (`.card`) tiene `overflow:hidden`, y eso recorta a cualquier
      hijo posicionado en absoluto, que es justo lo que son el desplegable de
      selectize y el panel de sugerencias de typeahead.
   2. Además, aunque no se recorte, la tarjeta siguiente del formulario se pinta
      después y tapaba la lista abierta.
   3. Las opciones salían centradas por herencia: el tema trae un
      `.row{text-align:center}` global que se cuela hasta dentro del desplegable.
   ───────────────────────────────────────────────────────────────────────────── */
#page-main.doc_advanced .form-advanced .card,
#page-main.doc_advanced .form-advanced .card-body,
#page-main.doc_advanced .form-advanced .row,
#page-main.doc_advanced .form-advanced .cont_form-group,
#page-main.doc_advanced .form-advanced .hierarchical_component {
  overflow: visible !important;
}
/* La sección en la que se está trabajando pasa por delante de las de abajo.
   `:focus-within` es lo que hace que valga para los dos casos: al abrir el
   desplegable de selectize el foco está en su input interno, y al escribir en
   un campo de autoridades, en el input de texto. */
#page-main.doc_advanced .form-advanced .card:focus-within {
  position: relative;
  z-index: 30;
}
/* Alineación a la izquierda: se corta la herencia del `.row{text-align:center}`
   en las dos listas, no en todo el formulario, para no mover nada más. */
#page-main.doc_advanced .form-advanced .selectize-dropdown,
#page-main.doc_advanced .form-advanced .selectize-dropdown .selectize-dropdown-content,
#page-main.doc_advanced .form-advanced .selectize-dropdown .option,
#page-main.doc_advanced .form-advanced .selectize-dropdown .optgroup-header,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-menu,
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion {
  text-align: left !important;
}
/* Un poco más de aire arriba y abajo en ambas listas: las filas eran demasiado
   apretadas para leerlas de un vistazo. */
#page-main.doc_advanced .form-advanced .selectize-dropdown .option {
  padding: 0.5rem 0.85rem !important;
}
#page-main.doc_advanced .form-advanced span.twitter-typeahead .tt-suggestion .autocomplete {
  padding: 0.5rem 0.8rem;
}
/* ─────────────────────────────────────────────────────────────────────────────
   Valores seleccionados (tags) de los campos de autoridades

   El estilo heredado (`_core.less`) los pintaba como barras de ancho completo
   en azul marino, una debajo de otra, dentro de una caja con borde: ocupaban
   muchísimo para lo que son y no se leían como "valores elegidos" sino como
   filas de resultados. Aquí pasan a ser pastillas en línea, del mismo tamaño y
   color que el resto de acentos del formulario.
   ───────────────────────────────────────────────────────────────────────────── */
#page-main.doc_advanced .form-advanced .cont_tags {
  position: relative;
  float: none !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  width: 100% !important;
  margin: 0.45rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes {
  position: relative;
  float: none !important;
  display: inline-flex !important;
  /* La regla heredada mete `flex-direction: column`, que es lo que tiraba la
     'x' a una segunda línea debajo del texto. Hay que resetearla, no basta con
     cambiar el display. */
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.4rem;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0.22rem 0.5rem 0.22rem 0.55rem !important;
  background: var(--clr-bg-muted) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: 999px !important;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--clr-text-main) !important;
  word-break: break-word;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .icono {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  font-size: 0.72rem;
  line-height: 1;
  color: var(--clr-accent);
}
/* La 'x' deja de ir posicionada en absoluto sobre la esquina: es el último
   elemento de la pastilla, con su propia zona de pulsación. */
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .btn_borra_item {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 0.1rem;
  border-radius: 50%;
  font-size: 0.68rem;
  color: var(--clr-text-light);
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
#page-main.doc_advanced .form-advanced .cont_tags .tag_indexes .btn_borra_item:hover {
  background-color: var(--clr-danger, #c0392b) !important;
  /* antes: greenyellow */
  color: #fff !important;
}
/* "Borrar todos" pasa a ser una pastilla más, al final de la fila. */
#page-main.doc_advanced .form-advanced .cont_tags .btn_borra_todos {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: 0.15rem;
  border-radius: 50%;
  font-size: 0.75rem;
  color: var(--clr-text-light);
  cursor: pointer;
}
#page-main.doc_advanced .form-advanced .cont_tags .btn_borra_todos:hover {
  background-color: var(--clr-danger, #c0392b);
  color: #fff;
}
/* ─────────────────────────────────────────────────────────────────────────────
   Modal de índices (.modal_cruce_data)

   Venía con la paleta de la maqueta antigua: cabecera y pie en azul marino
   sólido, botones grises de tamaños distintos y filas con contadores en gris
   oscuro. Se alinea con el resto del OPAC usando las variables del tema.
   ───────────────────────────────────────────────────────────────────────────── */
.modal.modal_cruce_data .modal-content {
  border: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.modal.modal_cruce_data .modal-header {
  align-items: center;
  padding: 0.85rem 1.1rem !important;
  background: var(--clr-bg-subtle) !important;
  border-bottom: 1px solid var(--clr-border) !important;
  /* El filete de acento a la izquierda, igual que las tarjetas de sección. */
  border-left: 3px solid var(--clr-accent) !important;
}
.modal.modal_cruce_data .modal-header .modal-title,
.modal.modal_cruce_data .modal-header h4 {
  margin: 0;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-main) !important;
}
.modal.modal_cruce_data .modal-body {
  padding: 0.9rem 1.1rem !important;
  background: var(--clr-bg-card) !important;
}
/* Pestañas de iniciales */
.modal.modal_cruce_data .cont_tabs_pagination .nav-tabs {
  gap: 0.15rem;
  border-bottom: 1px solid var(--clr-border);
}
.modal.modal_cruce_data .cont_tabs_pagination .nav-link {
  min-width: 2rem;
  padding: 0.3rem 0.55rem !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--clr-text-body) !important;
}
.modal.modal_cruce_data .cont_tabs_pagination .nav-link:hover {
  color: var(--clr-accent) !important;
  background: var(--clr-bg-muted) !important;
}
.modal.modal_cruce_data .cont_tabs_pagination .nav-link.active {
  color: var(--clr-accent) !important;
  border-bottom-color: var(--clr-accent) !important;
}
/* Filas de descriptores */
.modal.modal_cruce_data .indexes-content .list-group-item {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.5rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--clr-border-light, var(--clr-border)) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 0.82rem;
  line-height: 1.35;
}
.modal.modal_cruce_data .indexes-content .list-group-item:hover {
  background: var(--clr-bg-muted) !important;
}
.modal.modal_cruce_data .indexes-content .list-group-item.seleccionado {
  background: var(--clr-bg-muted) !important;
  box-shadow: inset 3px 0 0 var(--clr-accent);
}
/* Botón de información: pastilla discreta, no un disco negro. */
.modal.modal_cruce_data .indexes-content .btn_descriptor {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--clr-bg-muted) !important;
  font-size: 0.72rem;
  color: var(--clr-text-light) !important;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.modal.modal_cruce_data .indexes-content .btn_descriptor:hover {
  background: var(--clr-accent) !important;
  color: #fff !important;
}
.modal.modal_cruce_data .indexes-content .btn_dato {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  font-size: inherit;
  color: var(--clr-text-body) !important;
  word-break: break-word;
}
.modal.modal_cruce_data .indexes-content .list-group-item:hover .btn_dato,
.modal.modal_cruce_data .indexes-content .btn_dato:hover {
  color: var(--clr-accent) !important;
  text-decoration: underline;
}
/* Contador: pastilla tenue, no un badge negro. */
.modal.modal_cruce_data .indexes-content .badge {
  flex: 0 0 auto;
  min-width: 1.9rem;
  padding: 0.15rem 0.4rem !important;
  border-radius: 999px !important;
  background: var(--clr-bg-muted) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-light) !important;
}
/* Pie: todos los botones del mismo tamaño y familia. El de guardar es el único
   con acento; el resto son secundarios. Antes eran btn-warning/btn-success
   heredados de Bootstrap 3, de ahí la mezcla de grises y tamaños. */
.modal.modal_cruce_data .modal-footer {
  gap: 0.4rem;
  padding: 0.7rem 1.1rem !important;
  background: var(--clr-bg-subtle) !important;
  border-top: 1px solid var(--clr-border) !important;
}
.modal.modal_cruce_data .modal-footer .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 34px;
  min-width: 36px;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--clr-bg-card) !important;
  font-size: 0.82rem;
  color: var(--clr-text-body) !important;
  box-shadow: none !important;
  transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}
.modal.modal_cruce_data .modal-footer .btn:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
}
.modal.modal_cruce_data .modal-footer .btn.disabled,
.modal.modal_cruce_data .modal-footer .btn:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.modal.modal_cruce_data .modal-footer .btn-save {
  width: auto;
  min-width: 44px;
  padding: 0 0.9rem !important;
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
.modal.modal_cruce_data .modal-footer .btn-save:hover {
  filter: brightness(0.94);
  color: #fff !important;
}
/* Capa de descripción del descriptor */
.modal.modal_cruce_data .capa_descripcion {
  background: var(--clr-bg-card);
  border-right: 1px solid var(--clr-border);
  box-shadow: 6px 0 24px rgba(0, 0, 0, 0.12);
  font-size: 0.85rem;
}
/* ── Correcciones sobre el estilo heredado del modal de índices ───────────────
   Medido en la página real: el botón de información salía `position:absolute`
   (regla antigua) y se comía los primeros 20px del texto del descriptor, y el
   texto se pintaba a 8px. Ambas cosas se corrigen aquí. */
.modal.modal_cruce_data .indexes-content .list-group-item {
  font-size: 0.88rem !important;
}
.modal.modal_cruce_data .indexes-content .btn_descriptor {
  position: static !important;
  /* era absolute: tapaba el principio del texto */
  top: auto !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  overflow: visible !important;
}
.modal.modal_cruce_data .indexes-content .btn_dato {
  font-size: 0.88rem !important;
  /* heredaba 8px de la maqueta antigua */
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow: visible !important;
  height: auto !important;
}
.modal.modal_cruce_data .indexes-content .badge {
  font-size: 0.74rem !important;
}
/* El texto de paginación del pie salía en blanco sobre fondo claro. */
.modal.modal_cruce_data .modal-footer,
.modal.modal_cruce_data .modal-footer span,
.modal.modal_cruce_data .modal-footer div,
.modal.modal_cruce_data .modal-footer p {
  color: var(--clr-text-light) !important;
  font-size: 0.8rem;
}
/* ─────────────────────────────────────────────────────────────────────────────
   Capa de descripción del descriptor (se despliega al pulsar la 'i')

   Mantiene el mecanismo de siempre —panel absoluto que entra desde la
   izquierda sobre el cuerpo del modal— pero con la piel del tema: nada de
   títulos con fondo de color plano, filetes gruesos ni la 'x' de 3,2rem.
   ───────────────────────────────────────────────────────────────────────────── */
.modal.modal_cruce_data .capa_descripcion {
  z-index: 20;
  background: var(--clr-bg-card) !important;
  border-right: 1px solid var(--clr-border);
  box-shadow: 8px 0 28px rgba(0, 0, 0, 0.14) !important;
  overflow-y: auto;
  text-align: left;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--clr-text-body);
}
.modal.modal_cruce_data .capa_descripcion .btn_cierra_info {
  position: absolute !important;
  top: 0.6rem !important;
  right: 0.6rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--clr-bg-muted);
  font-size: 1rem !important;
  /* eran 3.2rem */
  line-height: 1;
  color: var(--clr-text-light);
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.modal.modal_cruce_data .capa_descripcion .btn_cierra_info:hover {
  background: var(--clr-danger, #ef4444);
  color: #fff;
}
.modal.modal_cruce_data .capa_descripcion .contenedor {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 1rem 1.2rem 1.4rem !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
/* Título del descriptor: se queda como cabecerita con filete de acento, en
   lugar del bloque con fondo plano. */
.modal.modal_cruce_data .capa_descripcion .titulo_contenedor {
  float: none !important;
  display: block;
  margin: 0 2.2rem 0.9rem 0 !important;
  padding: 0 0 0.5rem !important;
  background: transparent !important;
  border-bottom: 2px solid var(--clr-accent);
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-main) !important;
}
.modal.modal_cruce_data .capa_descripcion .bloque_contenedor {
  float: none !important;
  width: auto !important;
  margin: 0 0 1rem !important;
}
.modal.modal_cruce_data .capa_descripcion .bloque_contenedor .cont_titulo {
  float: none !important;
  width: auto !important;
}
.modal.modal_cruce_data .capa_descripcion .bloque_contenedor .cont_titulo .titulo {
  float: none !important;
  width: auto !important;
  margin: 0 0 0.5rem !important;
  padding: 0 0 0.25rem !important;
  border-bottom: 1px solid var(--clr-border) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--clr-text-light) !important;
}
/* Cada campo, en dos columnas: etiqueta tenue y valor legible. */
.modal.modal_cruce_data .capa_descripcion .campo {
  float: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.75rem;
  width: auto !important;
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
}
.modal.modal_cruce_data .capa_descripcion .campo .label {
  flex: 0 0 auto;
  width: 30%;
  min-width: 8rem;
  max-width: 100%;
  padding: 0 !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  text-align: left !important;
  color: var(--clr-text-light) !important;
}
.modal.modal_cruce_data .capa_descripcion .campo .dato {
  flex: 1 1 12rem;
  width: auto !important;
  padding: 0 !important;
  color: var(--clr-text-main);
}
.modal.modal_cruce_data .capa_descripcion .campo .dato .valor.linea {
  float: none !important;
  display: block;
  width: auto !important;
}
.modal.modal_cruce_data .capa_descripcion .campo:last-child {
  margin-bottom: 0.5rem !important;
}
/* Mensaje de "no hay datos para este descriptor". */
.modal.modal_cruce_data .alert {
  width: auto !important;
  margin: 0.5rem 0 0 !important;
  padding: 0.55rem 0.8rem !important;
  border: 1px solid var(--clr-border) !important;
  border-left: 3px solid var(--clr-accent) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--clr-bg-subtle) !important;
  font-size: 0.82rem !important;
  color: var(--clr-text-body) !important;
}
/* toque para el watcher */
/* ── Aviso "no existen datos para el descriptor" ──────────────────────────────
   El marcado lo genera $.msearch.pinta_mensaje() con el patrón de Bootstrap 3:
   `button.close` y un `glyphicon` en la cabecera. BS5 ya no estiliza ninguna de
   las dos cosas, así que la 'x' salía como un botón nativo —cuadrado, con borde
   negro— montado encima del título, y el icono como un hueco vacío. */
.modal.modal_cruce_data .alert .alert_header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}
.modal.modal_cruce_data .alert .alert_header .titulo {
  flex: 1 1 auto;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--clr-text-main);
}
/* Los glyphicon son de la maqueta antigua y esa fuente ya no se carga: el
   elemento solo aporta un hueco. */
.modal.modal_cruce_data .alert .alert_header .glyphicon {
  display: none;
}
.modal.modal_cruce_data .alert .close {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  font-size: 1rem;
  line-height: 1;
  color: var(--clr-text-light) !important;
  text-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.modal.modal_cruce_data .alert .close:hover {
  background: var(--clr-danger, #ef4444) !important;
  color: #fff !important;
}
.modal.modal_cruce_data .alert .close span {
  display: block;
  line-height: 1;
}
.modal.modal_cruce_data .alert .alert_body {
  margin-top: 0.35rem;
}
.modal.modal_cruce_data .alert .alert_body .message-inner-separator {
  display: none;
  /* la cabecera ya separa; el <hr> solo añadía ruido */
}
.modal.modal_cruce_data .alert .alert_body p {
  margin: 0;
  padding-left: 0;
  list-style: none;
  font-size: 0.82rem;
  color: var(--clr-text-body);
}
/* recompila */
/* ==========================================================================
   Tesauro OPAC (página /thesaurus): tarjeta de browse con buscador + A-Z,
   items con panel desplegable inline (ficha + relaciones en árbol gráfico).
   Editar aquí (LESS) y recompilar newdefault.less. No tocar styles_mods.css.
   ========================================================================== */
#page-main.doc_thesaurus {
  /* ---- cabecera del panel: icono+titulo a la izquierda, buscador a la
	   derecha (antes el icono+"Tesauro" iba en un .portlet.titulo_general
	   suelto encima del panel -- quedaba como un bloque descolgado). ---- */
  /* ---- barra de herramientas: buscador + A-Z ---- */
  /* ---- lista de descriptores ---- */
  /* etiquetas tipo/vocabulario */
  /* ---- panel de detalle desplegable ---- */
  /* ---- relaciones en árbol gráfico ---- */
}
#page-main.doc_thesaurus .th-browse-card {
  background: #fff;
  border: 1px solid var(--clr-border, #e3e8ee);
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  padding: 1rem 1.15rem 1.25rem;
  /* el tema centra el contenido de #page-main.doc_thesaurus; forzamos IZQUIERDA
		   para que la lista y el árbol de relaciones queden alineados con sangría. */
  text-align: left;
}
#page-main.doc_thesaurus .th-browse-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--clr-border, #e3e8ee);
}
#page-main.doc_thesaurus .th-browse-title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
#page-main.doc_thesaurus .th-browse-title .fa {
  font-size: 1.3rem;
  color: var(--clr-primary, #1e5687);
}
#page-main.doc_thesaurus .th-browse-title h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--clr-text-main, #222);
}
#page-main.doc_thesaurus .th-browse-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
#page-main.doc_thesaurus .th-browse-q {
  max-width: 360px;
  width: 100%;
  margin-bottom: 0;
}
#page-main.doc_thesaurus .th-browse-type {
  max-width: 200px;
  width: auto;
  margin-bottom: 0;
}
#page-main.doc_thesaurus .th-az {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}
#page-main.doc_thesaurus .th-az-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  height: 1.85rem;
  padding: 0 0.35rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--clr-primary, #1e5687);
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  line-height: 1;
}
#page-main.doc_thesaurus .th-az-btn:hover {
  background: var(--clr-bg-muted, #f5f7fa);
}
#page-main.doc_thesaurus .th-az-btn.active {
  background: var(--clr-primary, #1e5687);
  color: #fff;
}
#page-main.doc_thesaurus .th-az-btn.disabled {
  color: #c3ccd6;
  cursor: default;
  font-weight: 400;
}
#page-main.doc_thesaurus .th-browse-status {
  font-size: 0.82rem;
  margin-bottom: 0.5rem;
}
#page-main.doc_thesaurus .th-list {
  margin: 0;
  border-top: 1px solid var(--clr-border, #e3e8ee);
}
#page-main.doc_thesaurus .th-item {
  border-bottom: 1px solid var(--clr-border, #e3e8ee);
}
#page-main.doc_thesaurus .th-item-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.25rem;
}
#page-main.doc_thesaurus .th-toggle {
  flex: 0 0 auto;
  width: 1.7rem;
  height: 1.7rem;
  padding: 0;
  border: 1px solid var(--clr-border, #e3e8ee);
  border-radius: 6px;
  background: #fff;
  color: var(--clr-text-muted, #6b7683);
  cursor: pointer;
  line-height: 1;
}
#page-main.doc_thesaurus .th-toggle:hover {
  border-color: var(--clr-primary, #1e5687);
  color: var(--clr-primary, #1e5687);
}
#page-main.doc_thesaurus .th-item-name {
  flex: 1 1 auto;
  color: var(--clr-text-main, #222);
  font-weight: 600;
  text-decoration: none;
}
#page-main.doc_thesaurus .th-item-name:hover {
  color: var(--clr-primary, #1e5687);
  text-decoration: underline;
}
#page-main.doc_thesaurus .th-item-meta {
  flex: 0 0 auto;
  display: flex;
  gap: 0.3rem;
}
#page-main.doc_thesaurus .th-item-go {
  flex: 0 0 auto;
  color: var(--clr-text-muted, #6b7683);
  text-decoration: none;
  padding: 0.2rem 0.35rem;
  border-radius: 6px;
}
#page-main.doc_thesaurus .th-item-go:hover {
  color: var(--clr-primary, #1e5687);
  background: var(--clr-bg-muted, #f5f7fa);
}
#page-main.doc_thesaurus .th-badge {
  display: inline-block;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: var(--clr-bg-muted, #f5f7fa);
  color: var(--clr-text-muted, #6b7683);
  border: 1px solid var(--clr-border, #e3e8ee);
}
#page-main.doc_thesaurus .th-badge-type {
  color: var(--clr-primary, #1e5687);
  border-color: rgba(30, 86, 135, 0.25);
}
#page-main.doc_thesaurus .th-badge-voc {
  color: #7a5a00;
  background: #fff7e6;
  border-color: #f0dca8;
}
#page-main.doc_thesaurus .th-detail {
  padding: 0.75rem 0.9rem 1rem 2.2rem;
  background: var(--clr-bg-muted, #f5f7fa);
  border-left-width: 3px;
  border-left-style: solid;
  border-left-color: var(--clr-primary, #1e5687);
  margin: 0 0.25rem 0.5rem 2rem;
  border-radius: 0 8px 8px 0;
  transition: background-color 0.15s ease, border-left-color 0.15s ease, padding-left 0.15s ease;
}
#page-main.doc_thesaurus .th-detail.th-navigated {
  border-left-width: 5px;
  border-left-color: #6a4c93;
  background: #f3effa;
  padding-left: 2.75rem;
}
#page-main.doc_thesaurus .th-detail-meta {
  margin-bottom: 0.5rem;
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}
#page-main.doc_thesaurus .th-scopenote {
  font-size: 0.9rem;
  color: var(--clr-text-main, #222);
  background: #fff;
  border: 1px solid var(--clr-border, #e3e8ee);
  border-radius: 6px;
  padding: 0.5rem 0.65rem;
  margin-bottom: 0.75rem;
}
#page-main.doc_thesaurus .th-detail-actions {
  margin-top: 0.75rem;
}
#page-main.doc_thesaurus .th-norel,
#page-main.doc_thesaurus .th-loading {
  font-size: 0.88rem;
  margin: 0.25rem 0;
}
#page-main.doc_thesaurus .th-rel-group {
  margin-bottom: 0.8rem;
}
#page-main.doc_thesaurus .th-rel-group:last-child {
  margin-bottom: 0;
}
#page-main.doc_thesaurus .th-rel-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--clr-primary-mid, #2c6280);
  margin-bottom: 0.35rem;
}
#page-main.doc_thesaurus .th-rel-label i {
  margin-right: 0.35rem;
}
#page-main.doc_thesaurus .th-rel-count {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: var(--clr-primary, #1e5687);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
}
#page-main.doc_thesaurus .th-rel-tree {
  list-style: none;
  margin: 0;
  padding-left: 1.1rem;
  position: relative;
}
#page-main.doc_thesaurus .th-rel-tree:before {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 0.2rem;
  bottom: 0.55rem;
  border-left: 2px solid var(--clr-border, #e3e8ee);
}
#page-main.doc_thesaurus .th-rel-node {
  position: relative;
  padding: 0.2rem 0 0.2rem 0.55rem;
}
#page-main.doc_thesaurus .th-rel-node:before {
  content: "";
  position: absolute;
  left: -0.75rem;
  top: 0.95rem;
  width: 0.7rem;
  border-top: 2px solid var(--clr-border, #e3e8ee);
}
#page-main.doc_thesaurus .th-rel-name,
#page-main.doc_thesaurus .th-crumb-link,
#page-main.doc_thesaurus .th-chip {
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
#page-main.doc_thesaurus .th-rel-name {
  color: var(--clr-primary, #1e5687);
  text-decoration: none;
  font-weight: 600;
}
#page-main.doc_thesaurus .th-rel-name:hover {
  text-decoration: underline;
}
#page-main.doc_thesaurus .th-rel-equiv {
  background: #fff7e6;
  border: 1px solid #f0dca8;
  border-radius: 8px;
  padding: 0.55rem 0.75rem;
  margin-bottom: 0.8rem;
  font-size: 0.88rem;
}
#page-main.doc_thesaurus .th-rel-equiv-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.3rem;
  color: #7a5a00;
}
#page-main.doc_thesaurus .th-rel-equiv-row + .th-rel-equiv-row {
  margin-top: 0.3rem;
}
#page-main.doc_thesaurus .th-rel-equiv-row .fa {
  color: #7a5a00;
}
#page-main.doc_thesaurus .th-rel-equiv-text {
  font-weight: 600;
}
#page-main.doc_thesaurus .th-rel-equiv-links .th-rel-name {
  color: #7a5a00;
}
#page-main.doc_thesaurus .th-rel-broader {
  font-size: 0.85rem;
  color: var(--clr-text-muted, #6b7683);
  margin-bottom: 0.6rem;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.3rem;
}
#page-main.doc_thesaurus .th-rel-broader .fa {
  color: var(--clr-primary-mid, #2c6280);
}
#page-main.doc_thesaurus .th-breadcrumb {
  font-size: 0.85rem;
  color: var(--clr-text-muted, #6b7683);
  margin-bottom: 0.6rem;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.3rem;
}
#page-main.doc_thesaurus .th-breadcrumb .fa {
  color: #6a4c93;
}
#page-main.doc_thesaurus .th-crumb-link {
  color: #6a4c93;
  font-weight: 600;
}
#page-main.doc_thesaurus .th-crumb-link:hover {
  text-decoration: underline;
}
#page-main.doc_thesaurus .th-crumb-current {
  font-weight: 700;
  color: #6a4c93;
}
#page-main.doc_thesaurus .th-rel-more-btn {
  display: inline-block;
  margin: 0.3rem 0 0 1.1rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--clr-primary, #1e5687);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
}
#page-main.doc_thesaurus .th-rel-more-btn:hover {
  text-decoration: underline;
}
#page-main.doc_thesaurus .th-rel-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
#page-main.doc_thesaurus .th-chip {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: var(--clr-bg-muted, #f5f7fa);
  border: 1px solid var(--clr-border, #e3e8ee);
  color: var(--clr-text-main, #222);
  font-size: 0.82rem;
  text-decoration: none;
}
#page-main.doc_thesaurus .th-chip:hover {
  border-color: var(--clr-primary, #1e5687);
  color: var(--clr-primary, #1e5687);
}
#page-main.doc_thesaurus .th-pager {
  margin-top: 1rem;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}
#page-main.doc_thesaurus .th-empty {
  padding: 1rem 0.25rem;
}
/*!
	@file        : _more_info.less

	@description : Página "Más información" (more-info.jsp).
	               Migrado desde _mods.less (Fase 4.13).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura JSP:
	  #page-main.doc_more_info
	    #cont_principal.bloque.row
	      ├─ .portlet.col-md-4.titulo_general    ← cabecera con icono
	      └─ .portlet.col-md-8.more-info         ← contenido
	             └─ .panel.panel-busqueda_avanzada.panel_tipo_transparente
	                  └─ .panel-heading.section_X    (cabecera sección)
	                  └─ .panel-body                  (texto + img)
	                  └─ ... (repite por sección)
---------------------------------------------------- */
/* ============================================================
   MORE-INFO PAGE  (more-info.jsp — page-main.doc_more_info)
   ============================================================
   Estructura JSP:
     #cont_principal.bloque.row
       ├─ .portlet.col-md-4.titulo_general     ← cabecera con icono
       └─ .portlet.col-md-8.more-info          ← contenido
              └─ .panel.panel-busqueda_avanzada.panel_tipo_transparente
                    └─ .panel-heading.section_X   (cabecera sección)
                    └─ .panel-body                 (texto + img)
                    └─ ...repite por sección
   Look: igual que advanced.jsp + doc_site_map — titulo_general con
   gradiente primario a la izquierda (25%) y a la derecha (75%) las
   secciones como tarjetas blancas.                                */
#page-main.doc_more_info {
  padding-top: 0.75rem;
  padding-bottom: 2rem;
}
/* Layout 25% / 75% — sobreescribe col-md-4/col-md-8 de Bootstrap.
   En vez de padding interno (que dejaba el .cont_titulo más estrecho que
   el card y producía un borde derecho aparentemente recto), usamos gap
   en el flex container y los hijos sin padding. Así el card del título
   ocupa todo su 25% y el gradiente interno llega borde a borde. */
#page-main.doc_more_info #cont_principal,
#page-main.doc_more_info #cont_principal.bloque,
#page-main.doc_more_info #cont_principal.bloque.row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 1rem !important;
  align-items: stretch !important;
  align-content: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 none !important;
}
#page-main.doc_more_info #cont_principal > .portlet.titulo_general,
#page-main.doc_more_info #cont_principal > .col-md-4.titulo_general {
  flex: 0 0 calc(25% - 0.5rem) !important;
  width: calc(25% - 0.5rem) !important;
  max-width: calc(25% - 0.5rem) !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
#page-main.doc_more_info #cont_principal > .portlet.more-info,
#page-main.doc_more_info #cont_principal > .col-md-8.more-info {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
  display: block !important;
}
@media (max-width: 991.98px) {
  #page-main.doc_more_info #cont_principal {
    flex-wrap: wrap !important;
  }
  #page-main.doc_more_info #cont_principal > .portlet.titulo_general,
  #page-main.doc_more_info #cont_principal > .portlet.more-info {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
  }
}
/* Portlet titulo_general — card con cabecera gradiente (igual que advanced) */
#page-main.doc_more_info .portlet.titulo_general {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column;
  align-self: stretch !important;
  height: auto !important;
  min-height: 100%;
  padding: 0 !important;
}
#page-main.doc_more_info .portlet.titulo_general .cont_titulo {
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  padding: 0.9rem 1.1rem !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  width: 100% !important;
  border: 0 none !important;
  border-radius: 0 !important;
  position: static !important;
  float: none !important;
}
#page-main.doc_more_info .portlet.titulo_general .cont_icono {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  flex-shrink: 0;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
#page-main.doc_more_info .portlet.titulo_general .cont_icono .icono,
#page-main.doc_more_info .portlet.titulo_general .cont_icono .fa {
  color: #fff !important;
  font-size: 1rem !important;
  margin: 0 !important;
  position: static !important;
  float: none !important;
}
#page-main.doc_more_info .portlet.titulo_general .cont_texto {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  float: none !important;
  background: transparent !important;
}
#page-main.doc_more_info .portlet.titulo_general h1,
#page-main.doc_more_info .portlet.titulo_general h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  font-style: normal;
  word-wrap: break-word;
}
/* Portlet more-info — wrapper transparente, las secciones internas son cards */
#page-main.doc_more_info .portlet.more-info {
  background: transparent !important;
  border: 0 none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column;
  gap: 0.9rem;
}
#page-main.doc_more_info .portlet.more-info > .panel.panel-busqueda_avanzada,
#page-main.doc_more_info .portlet.more-info > .panel.panel_tipo_transparente {
  background: transparent !important;
  border: 0 none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 0.9rem;
  width: 100% !important;
  float: none !important;
}
/* Cada sección como una tarjeta independiente — heading suave, no gradiente,
   y fuente del título apagada (color cuerpo, no primary). */
#page-main.doc_more_info .portlet.more-info .panel-heading[class*="section_"] {
  background: var(--clr-bg-subtle) !important;
  color: var(--clr-text-body) !important;
  padding: 0.6rem 1rem !important;
  margin: 0 !important;
  border: 1px solid var(--clr-border-light) !important;
  border-bottom: 0 none !important;
  border-left: 3px solid var(--clr-accent) !important;
  /* pequeño acento sólido */
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
  width: 100% !important;
  float: none !important;
  position: static !important;
  display: flex !important;
  align-items: center !important;
}
#page-main.doc_more_info .portlet.more-info .panel-heading[class*="section_"] .cont_titulo {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 none !important;
  width: auto !important;
}
#page-main.doc_more_info .portlet.more-info .panel-heading[class*="section_"] .titulo {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-muted) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  font-style: normal;
  background: transparent !important;
  border: 0 none !important;
}
/* panel-body asociada a una section: se "pega" visualmente a su panel-heading anterior */
#page-main.doc_more_info .portlet.more-info .panel-heading[class*="section_"] + .panel-body {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-top: 0 none !important;
  border-left: 3px solid var(--clr-accent) !important;
  /* sigue el acento de la cabecera */
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 0.25rem 0 !important;
  box-shadow: var(--shadow-xs);
  width: 100% !important;
  float: none !important;
  display: block !important;
}
#page-main.doc_more_info .portlet.more-info .panel-body img[class*="image_section_"] {
  display: block;
  max-width: 200px;
  height: auto;
  margin: 0 0 1rem 0;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-xs);
}
#page-main.doc_more_info .portlet.more-info .panel-body img[class*="image_section_"]:not([src]),
#page-main.doc_more_info .portlet.more-info .panel-body img[class*="image_section_"][src=""] {
  display: none;
  /* oculta img sin src para no romper layout */
}
#page-main.doc_more_info .portlet.more-info .panel-body p,
#page-main.doc_more_info .portlet.more-info .panel-body .text-muted,
#page-main.doc_more_info .portlet.more-info .panel-body .text-justify {
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: var(--clr-text-body) !important;
  font-weight: 400 !important;
  /* anula .row { font-weight: bold } de _core.less */
  font-family: var(--font-base, inherit) !important;
  margin: 0 0 0.65rem 0 !important;
  text-align: justify;
}
#page-main.doc_more_info .portlet.more-info .panel-body p:last-child {
  margin-bottom: 0 !important;
}
/*!
	@file        : _static_pages.less

	@description : Estilos unificados para páginas estáticas:
	               legal-warn, policy-warn, contact, cita-previa,
	               mapSite, login y register.
	               Migrado desde _mods.less (Fase 4.1).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	JSP estructura común:
	  .container-fluid
	    <header id="Header">
	    <aside #cont_busqueda .bloque .registerjsp>      ← solo breadcrumb
	    <main #page-main .doc_X.container.d-flex.flex-column>
	      .page-header (h1 + small subtitle)
	      .col.d-flex
	        .col-md-2 (icono decorativo)
	        .portlet.col-md-8 (panel de contenido)
	    <footer>
---------------------------------------------------- */
/* ── Aside: barra azul oscuro con solo el breadcrumb ─────────── */
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda,
#cont_busqueda.bloque.registerjsp,
#cont_busqueda.cont_busqueda.bloque.registerjsp {
  float: none !important;
  background: var(--clr-primary) !important;
  padding: 0.75rem 1.5rem !important;
  margin: 0 !important;
  width: 100% !important;
  position: relative;
  overflow: visible;
  border-bottom: 2px solid var(--clr-accent);
}
/* Breadcrumb dentro del aside — compacto blanco sobre azul */
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .cont_migas,
#cont_busqueda.bloque.registerjsp .cont_migas {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb,
#cont_busqueda.bloque.registerjsp .main_breadcrumb {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/*
   NOTA (fix): las 6 reglas de abajo solo tenian la variante
   ":is(...) #cont_busqueda ..." (combinador descendiente), que nunca
   coincide -- #cont_busqueda es HERMANO de #page-main.doc_X, no su
   descendiente (ver JSP: <aside id="cont_busqueda">...</aside><main
   id="page-main" class="doc_X">). Sin la variante de clase propia
   "#cont_busqueda.bloque.registerjsp ..." (igual que ya tienen el fondo
   azul de la linea 26 y el .cont_migas/.main_breadcrumb de las lineas
   40/49) el breadcrumb se quedaba con el color por defecto (negro/azul
   oscuro) sobre el fondo azul oscuro del aside -- casi ilegible. Afecta a
   las 7 paginas de este grupo (legal-warn, policy-warn, contact,
   cita-previa, mapSite, login, register), no solo a mapSite.
*/
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb ol.breadcrumb,
#cont_busqueda.bloque.registerjsp .main_breadcrumb ol.breadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.76rem;
  list-style: none;
  line-height: 1;
}
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb .breadcrumb-item,
#cont_busqueda.bloque.registerjsp .main_breadcrumb .breadcrumb-item {
  float: none !important;
  display: inline-flex;
  align-items: center;
  font-size: 0.76rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
}
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb .breadcrumb-item a,
#cont_busqueda.bloque.registerjsp .main_breadcrumb .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb .breadcrumb-item a:hover,
#cont_busqueda.bloque.registerjsp .main_breadcrumb .breadcrumb-item a:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff !important;
}
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb .breadcrumb-item.active,
#cont_busqueda.bloque.registerjsp .main_breadcrumb .breadcrumb-item.active {
  color: rgba(255, 255, 255, 0.95) !important;
  font-weight: 500;
  padding: 0.15rem 0.35rem;
}
:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_busqueda .main_breadcrumb .breadcrumb-item + .breadcrumb-item::before,
#cont_busqueda.bloque.registerjsp .main_breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  color: rgba(255, 255, 255, 0.45);
  padding: 0 0.15rem;
  float: none !important;
}
/* ── Wrapper principal — 10/12 col centrado, 1-col margen cada lado ── */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) {
  padding-top: 1.5rem !important;
  padding-bottom: 2.5rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  display: flex !important;
  flex-direction: column;
  width: 83.333333% !important;
  /* 10 / 12 */
  max-width: 83.333333% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
@media (max-width: 991.98px) {
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}
/* ── Page header card (h1 grande + subtitle pequeño) ─────────── */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .page-header {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-left: 4px solid var(--clr-accent);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 1.1rem 1.4rem !important;
  margin: 0 0 1.25rem 0 !important;
  width: 100% !important;
  border-top: 1px solid var(--clr-border-light) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  border-right: 1px solid var(--clr-border-light) !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .page-header h1 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .page-header h1 small {
  display: inline-block;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: var(--clr-text-muted) !important;
  margin: 0 !important;
  letter-spacing: 0;
  line-height: 1.4;
}
/* ── Body de dos columnas: icono decorativo + portlet de contenido ──
   Inner row (.col-md-12.d-flex dentro de main) sostiene:
   [.col-md-2 icono] [.portlet.col-md-8 contenido] lado a lado.
   Forzamos este layout desde desktop a tablets pequeñas;
   solo apilamos en móviles reales. */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .col-md-12.d-flex,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex.col-md-12,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_principal {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 1.5rem;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}
/* Columna del icono — exactamente 2/12 (~16.67%) — fijo a la IZQUIERDA */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .col-md-2,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex .col-md-2,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .col-md-2[class*="ps-3"] {
  flex: 0 0 16.666667% !important;
  width: 16.666667% !important;
  max-width: 16.666667% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
}
/* Badge de icono decorativo dentro de la columna */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .icon_page,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .col-md-2 .icon_page,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .col-md-2 i.fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  font-size: 2.2rem !important;
  color: var(--clr-accent) !important;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(11, 63, 98, 0.04));
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 50%;
  margin-top: 0.25rem;
  line-height: 1 !important;
  flex-shrink: 0;
}
/* Portlet de contenido — flex-grows para llenar el resto (DERECHA) */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .portlet,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex .portlet.col-md-8,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .col-md-8,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .panel-body.col-md-8,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .col-md-8.panel-body {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  flex-direction: column;
  gap: 1rem;
  box-sizing: border-box;
}
/* Apila en móviles reales — icono se oculta, contenido al 100% */
@media (max-width: 575.98px) {
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .col-md-12.d-flex,
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex.col-md-12,
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) #cont_principal {
    flex-wrap: wrap !important;
    gap: 0.85rem;
  }
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .col-md-2 {
    display: none !important;
  }
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .portlet,
  #page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) > .d-flex > .col-md-8 {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}
/* ── Cards del panel de contenido — cards modernas blancas ──── */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel.panel_tipo_transparente,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel.panel-busqueda_avanzada,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel.panel-contact {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  float: none !important;
  position: static !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel.panel_tipo_transparente .panel-heading,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-busqueda_avanzada .panel-heading {
  background: var(--clr-bg-subtle) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  padding: 0.7rem 1.2rem !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  border-radius: 0 !important;
  border: none !important;
  position: static !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-heading .cont_titulo {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  position: static !important;
  flex-wrap: nowrap;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-heading .cont_titulo .titulo {
  display: inline-flex !important;
  align-items: center;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: 0;
  line-height: 1.3 !important;
  background: transparent !important;
  border: none !important;
  width: auto !important;
  float: none !important;
  position: static !important;
  text-shadow: none !important;
}
/* Panel body: párrafos de contenido */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel.panel_tipo_transparente .panel-body,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-busqueda_avanzada .panel-body {
  padding: 1.25rem 1.4rem !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-body p {
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: var(--clr-text-body) !important;
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  text-align: justify;
  hyphens: auto;
  word-wrap: break-word;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-body p:last-child {
  margin-bottom: 0 !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-body p.text-muted {
  color: var(--clr-text-body) !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-body a {
  color: var(--clr-accent);
  text-decoration: none;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-body a:hover {
  color: var(--clr-accent-dark);
  text-decoration: underline;
}
/* ── Contact / Cita-previa form ────────────────────────────────── */
#page-main.doc_contact .panel.panel-contact .cont_form {
  padding: 1.25rem 1.4rem !important;
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
  float: none !important;
}
#page-main.doc_contact .cita_previa_form,
#page-main.doc_contact form.cita_previa_form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  margin: 0;
}
#page-main.doc_contact .cita_previa_form .mb-3,
#page-main.doc_contact .cita_previa_form .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_contact .cita_previa_form label,
#page-main.doc_contact .cita_previa_form .form-label {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35;
}
#page-main.doc_contact .cita_previa_form .form-control {
  display: block;
  width: 100% !important;
  height: 38px !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.88rem !important;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0 !important;
}
#page-main.doc_contact .cita_previa_form .form-control:focus {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
#page-main.doc_contact .cita_previa_form textarea.form-control {
  height: auto !important;
  min-height: 100px;
  resize: vertical;
}
/* ── Página Site-map (mapSite.jsp) extras ──────────────────────
   Tiene un portlet .titulo_general a la izquierda + .more-info portlet
   con varios paneles. Más una lista final de <div><a></a></div> hard-coded.

   Bug real (2026-08-16): la regla compartida de arriba (línea ~169,
   #page-main:is(...) #cont_principal) fuerza flex-wrap:nowrap !important
   para el grupo "página simple" (legal/policy/contact/cita-previa/
   mapSite/login/registro), pensada para el caso normal de solo 2 hijos en
   fila (icono + portlet). Pero en mapSite, #cont_principal además
   contiene ~11 enlaces sueltos como hijos directos (la lista final de
   <div><a></a></div> hard-coded), y con nowrap se estiran todos en una
   única fila, ensanchando la página entera (scroll horizontal real). El
   flex-wrap:wrap de aquí abajo NO tenía !important, así que nunca ganaba
   a la regla compartida. */
#page-main.doc_site_map #cont_principal {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.25rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
#page-main.doc_site_map .portlet.titulo_general {
  flex: 0 0 280px;
  width: 280px;
  max-width: 100%;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-xs);
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
}
#page-main.doc_site_map .portlet.titulo_general .cont_titulo {
  background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-mid) 100%) !important;
  color: #fff !important;
  padding: 0.9rem 1.1rem !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  width: 100% !important;
  position: static !important;
  border-radius: 0 !important;
  border: none !important;
  float: none !important;
}
#page-main.doc_site_map .portlet.titulo_general .cont_icono {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  flex-shrink: 0;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main.doc_site_map .portlet.titulo_general .cont_icono .icono,
#page-main.doc_site_map .portlet.titulo_general .cont_icono .fa {
  color: #fff !important;
  font-size: 1rem !important;
  margin: 0 !important;
  position: static !important;
  float: none !important;
}
#page-main.doc_site_map .portlet.titulo_general .cont_texto {
  flex: 1 1 auto;
  min-width: 0;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
#page-main.doc_site_map .portlet.titulo_general h1,
#page-main.doc_site_map .portlet.titulo_general h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  font-style: normal;
}
#page-main.doc_site_map .portlet.more-info {
  flex: 1 1 auto;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column;
  gap: 1rem;
}
/* Lista de links hard-coded al final de mapSite.jsp (bloques <div><a></a></div>) */
#page-main.doc_site_map #cont_principal > div:not([class]) {
  flex: 1 1 100%;
  width: 100%;
  margin: 1rem 0 0;
  padding: 0;
}
#page-main.doc_site_map #cont_principal > div:not([class]):has(> a) {
  display: inline-flex;
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}
#page-main.doc_site_map #cont_principal > div > a:only-child {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.85rem;
  margin: 0.25rem 0.35rem 0.25rem 0;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  color: var(--clr-accent) !important;
  text-decoration: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.doc_site_map #cont_principal > div > a:only-child:hover {
  background: var(--clr-accent);
  border-color: var(--clr-accent);
  color: #fff !important;
}
@media (max-width: 767.98px) {
  #page-main.doc_site_map .portlet.titulo_general {
    flex: 1 1 100%;
    width: 100%;
  }
}
/* Contenido de mapSite.jsp (rediseño): secciones categorizadas de enlaces
   reales en vez de los paneles "sitemap.page.X" (claves de i18n que nunca se
   tradujeron, ver mapSite.jsp) y la lista final de enlaces sueltos que
   apuntaba a un dominio de OTRO cliente (consulta-jcclm.albadoc.com),
   copiada por error de otra personalizacion. .sitemap-body es hijo unico de
   #cont_principal, asi que el flex-wrap de la regla de arriba no le afecta. */
#page-main.doc_site_map .sitemap-body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}
#page-main.doc_site_map .sitemap-section {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 1.25rem 1.5rem;
}
#page-main.doc_site_map .sitemap-section h2 {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 1rem;
  padding: 0 0 0.75rem;
  border-bottom: 1px solid var(--clr-border-light);
  font-size: 1rem;
  font-weight: 600;
  color: var(--clr-text-main);
}
#page-main.doc_site_map .sitemap-section h2 .fa {
  color: var(--clr-accent);
  font-size: 1.1rem;
}
#page-main.doc_site_map .sitemap-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
#page-main.doc_site_map .sitemap-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1rem;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  color: var(--clr-text-body) !important;
  font-size: 0.88rem;
  text-decoration: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s, transform 0.12s;
}
#page-main.doc_site_map .sitemap-links a .fa {
  color: var(--clr-accent);
  width: 1.1em;
  text-align: center;
}
#page-main.doc_site_map .sitemap-links a:hover {
  background: var(--clr-accent);
  border-color: var(--clr-accent);
  color: #fff !important;
  transform: translateY(-1px);
}
#page-main.doc_site_map .sitemap-links a:hover .fa {
  color: #fff;
}
/* ============================================================
   STATIC INFO PAGES — REVIEW (refinamiento sobre los bloques de
   arriba: forms, alerts, buttons, icon refinement, login/register)
   ============================================================ */
/* ── Slightly tighter page-header (review) ─────────────────── */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .page-header {
  padding: 0.9rem 1.2rem !important;
  margin: 0 0 1.1rem 0 !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .page-header h1 {
  font-size: 1.35rem !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .page-header h1 small {
  font-size: 0.82rem !important;
  margin-top: 0.2rem !important;
}
/* Smaller icon badge — less heavy, more elegant */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .col-md-2 {
  flex: 0 0 96px;
  width: 96px;
  max-width: 96px;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .icon_page,
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .col-md-2 i.fa {
  width: 80px;
  height: 80px;
  font-size: 2.2rem !important;
}
/* Body paragraphs slightly smaller for cleaner look */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .panel-body p {
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  margin-bottom: 0.7rem !important;
}
/* ── Login / Register page wrappers ────────────────────────── */
#page-main.loginjsp,
#page-main.registerjsp {
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
  display: flex !important;
  flex-direction: column;
}
#page-main.loginjsp > .col-md-12.d-flex,
#page-main.registerjsp > .col-md-12.d-flex {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1.25rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
/* Login/register: the form column uses .panel-body.col-md-8 (different from static-page .portlet.col-md-8) */
#page-main.loginjsp .panel-body.col-md-8,
#page-main.registerjsp .panel-body.col-md-8 {
  flex: 1 1 auto;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
#page-main.loginjsp .cont_formulario,
#page-main.registerjsp .cont_formulario {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 1.5rem 1.75rem !important;
  margin: 0 !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 767.98px) {
  #page-main.loginjsp .cont_formulario,
  #page-main.registerjsp .cont_formulario {
    padding: 1.25rem 1.1rem !important;
  }
}
/* ── Alerts (Bootstrap .alert) — modernized ────────────────── */
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem 1rem !important;
  margin: 0 !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid transparent !important;
  font-size: 0.85rem;
  line-height: 1.5;
  background: var(--clr-bg-subtle);
  color: var(--clr-text-body);
  position: relative;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert .alert-heading {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert hr {
  margin: 0.35rem 0 !important;
  border: 0;
  border-top: 1px solid currentColor;
  opacity: 0.15;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.85rem;
  line-height: 1.5;
  color: inherit !important;
  text-align: left !important;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert.alert-warning {
  background: #fff7ed;
  border-color: #fed7aa !important;
  color: #92400e;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert.alert-secondary {
  background: #eff6ff;
  border-color: #bfdbfe !important;
  color: #1e3a8a;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert.alert-success {
  background: #f0fdf4;
  border-color: #bbf7d0 !important;
  color: #166534;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert.alert-danger {
  background: #fef2f2;
  border-color: #fecaca !important;
  color: #991b1b;
}
#page-main:is(.doc_legal_warn, .doc_policy_warn, .doc_contact, .doc_cita_previa, .doc_site_map, .loginjsp, .registerjsp) .alert .alert-link {
  color: inherit !important;
  font-weight: 600;
  text-decoration: underline;
}
/* ── Form rows (.mb-3, .form-group) ────────────────────────── */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .mb-3,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .form-group {
  display: flex !important;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form label,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .form-label {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--clr-text-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  display: block;
}
/* All inputs — flat modern style with accent focus ring */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .form-control,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form input[type="text"],
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form input[type="email"],
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form input[type="password"],
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form input[type="tel"],
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form select.form-control {
  display: block;
  width: 100% !important;
  height: 38px !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.88rem !important;
  font-weight: 400;
  color: var(--clr-text-main) !important;
  background-color: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: none !important;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0 !important;
  line-height: 1.4;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .form-control:focus,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form select.form-control:focus {
  border-color: var(--clr-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  outline: none !important;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .form-control::placeholder {
  color: var(--clr-text-light);
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form select.form-control {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  padding-right: 2rem !important;
  cursor: pointer;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form textarea.form-control {
  height: auto !important;
  min-height: 100px;
  resize: vertical;
  line-height: 1.5;
}
/* Inline form validation hint (.forminfo) */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .forminfo,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .form-text {
  font-size: 0.72rem;
  color: var(--clr-text-muted);
  margin: 0;
  padding: 0;
  min-height: 1em;
  line-height: 1.4;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) form .forminfo:not(:empty) {
  color: #b91c1c;
  font-weight: 500;
}
/* ── Button bar (.cont_botonera + .botonera) ───────────────── */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .cont_botonera {
  display: flex !important;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.65rem;
  margin: 0.25rem 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .cont_botonera .panel-heading {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--clr-border-light) !important;
  padding: 0.85rem 0 0 !important;
  margin: 0 !important;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .cont_botonera .panel-heading .panel_titulo {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--clr-text-muted) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  background: transparent !important;
  border: none !important;
  text-shadow: none !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  position: static !important;
  line-height: 1.3 !important;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .botonera {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
}
/* Anula floats/width:100% que el legacy mete a los hijos directos
   (a, input.btn) de .botonera en el contexto de loginjsp/registerjsp. */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .botonera > a,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .botonera > input,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .botonera > button,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .botonera > .btn {
  flex: 0 1 auto !important;
  float: none !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
}
/* Primary button (Submit / "Acceder/Enviar") y Secondary (Limpiar):
   misma altura, mismo min-width, mismo padding — solo cambia el color.
   display:inline-flex !important + float:none !important para que no
   caigan a bloque por reglas legacy de _core.less. */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn_enviar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input.btn_enviar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) button.btn_enviar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn-primary[type="submit"],
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input[type="submit"].btn-primary,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn_limpiar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input.btn_limpiar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input[type="reset"].btn-warning {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  height: 40px !important;
  min-width: 140px !important;
  width: auto !important;
  padding: 0 1.2rem !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.85rem !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  box-sizing: border-box;
  float: none !important;
  margin: 0 !important;
  vertical-align: middle;
}
/* Primario — Acceder / Enviar */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn_enviar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input.btn_enviar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) button.btn_enviar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn-primary[type="submit"],
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input[type="submit"].btn-primary {
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn_enviar:hover,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn-primary[type="submit"]:hover,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input[type="submit"].btn-primary:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
/* Secundario — Limpiar */
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn_limpiar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input.btn_limpiar,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input[type="reset"].btn-warning {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  color: var(--clr-text-body) !important;
  font-weight: 500 !important;
}
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) .btn_limpiar:hover,
#page-main:is(.doc_contact, .doc_cita_previa, .loginjsp, .registerjsp) input[type="reset"].btn-warning:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-text-light) !important;
  color: var(--clr-text-main) !important;
}
/* Alternative login providers (Facebook, Office365, ComunidadMadrid, Google,
   Clave). min-width reducido y flex:1 1 auto para que 4 botones quepan en la
   misma línea dentro del col-md-8 (~760px). */
#page-main:is(.loginjsp, .registerjsp) .btn_facebook,
#page-main:is(.loginjsp, .registerjsp) .btn_google,
#page-main:is(.loginjsp, .registerjsp) .btn_clave,
#page-main:is(.loginjsp, .registerjsp) a.btn-info {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  height: 40px !important;
  min-width: 0 !important;
  flex: 1 1 140px !important;
  padding: 0 0.85rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  float: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#page-main:is(.loginjsp, .registerjsp) .botonera_alternativas {
  align-items: stretch !important;
}
#page-main:is(.loginjsp, .registerjsp) .btn_facebook:hover,
#page-main:is(.loginjsp, .registerjsp) .btn_google:hover,
#page-main:is(.loginjsp, .registerjsp) a.btn-info:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-accent) !important;
  color: var(--clr-accent-dark) !important;
}
#page-main:is(.loginjsp, .registerjsp) .btn_facebook .btn_titulo,
#page-main:is(.loginjsp, .registerjsp) .btn_google .btn_titulo,
#page-main:is(.loginjsp, .registerjsp) a.btn-info .btn_titulo,
#page-main:is(.loginjsp, .registerjsp) a.btn-info .fa {
  color: inherit !important;
  font-size: inherit !important;
}
/* Provider badges — branded left accent strip via ::before */
#page-main:is(.loginjsp, .registerjsp) #button-google::before,
#page-main:is(.loginjsp, .registerjsp) .btn_google::before {
  content: "\f0d5";
  /* fa-google-plus-square */
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 1rem;
  color: #ea4335;
}
#page-main:is(.loginjsp, .registerjsp) #office365::before {
  content: "\f17a";
  /* fa-windows */
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 1rem;
  color: #0078d4;
}
#page-main:is(.loginjsp, .registerjsp) #comunidadMadrid::before {
  content: "\f041";
  /* fa-map-marker */
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 1rem;
  color: var(--clr-accent);
}
/* Cl@ve — Spanish government digital identity service */
#page-main:is(.loginjsp, .registerjsp) #clave::before,
#page-main:is(.loginjsp, .registerjsp) .btn_clave::before {
  content: "\f084";
  /* fa-key */
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 1rem;
  color: #e67e22;
  /* Cl@ve brand orange */
}
/* Cl@ve button — overrides the generic .btn-info to share the provider style */
#page-main:is(.loginjsp, .registerjsp) #clave,
#page-main:is(.loginjsp, .registerjsp) .btn_clave {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  height: 38px;
  min-width: 180px;
  padding: 0 1rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main:is(.loginjsp, .registerjsp) #clave:hover,
#page-main:is(.loginjsp, .registerjsp) .btn_clave:hover {
  background: var(--clr-bg-muted) !important;
  border-color: #e67e22 !important;
  color: #b35a0c !important;
}
#page-main:is(.loginjsp, .registerjsp) #clave .btn_titulo,
#page-main:is(.loginjsp, .registerjsp) .btn_clave .btn_titulo {
  color: inherit !important;
  font-size: inherit !important;
}
/* If the JSP renders the icon inline (inside <i>), suppress the ::before */
#page-main:is(.loginjsp, .registerjsp) .btn_google:has(.fa)::before,
#page-main:is(.loginjsp, .registerjsp) .btn_facebook:has(.fa)::before,
#page-main:is(.loginjsp, .registerjsp) a.btn-info:has(.fa)::before {
  display: none;
}
#page-main:is(.loginjsp, .registerjsp) a.btn-info > i,
#page-main:is(.loginjsp, .registerjsp) a.btn-info > .fa {
  font-size: 1rem !important;
  color: inherit;
}
/* ── Register-specific extras ──────────────────────────────── */
/* Register alerts subscription block */
#page-main.registerjsp .cont_general_alertas {
  margin: 1rem 0 0.5rem;
  padding: 1rem;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
}
#page-main.registerjsp .cont_general_alertas h3 {
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--clr-primary) !important;
  margin: 0 0 0.65rem !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
#page-main.registerjsp .cont_general_alertas h4 {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--clr-text-muted) !important;
  margin: 0.85rem 0 0.35rem !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-family: inherit !important;
}
#page-main.registerjsp .cont_general_alertas h4 strong {
  font-weight: 600;
  color: inherit;
}
#page-main.registerjsp .cont_bloque_alertas {
  flex: 0 0 auto;
  width: 50%;
  padding: 0.25rem !important;
}
@media (max-width: 575.98px) {
  #page-main.registerjsp .cont_bloque_alertas {
    width: 100%;
  }
}
#page-main.registerjsp .bloque_alertas {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.55rem;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
}
#page-main.registerjsp .bloque_alertas:hover {
  border-color: var(--clr-accent);
}
#page-main.registerjsp .bloque_alertas .control-label {
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.82rem;
  color: var(--clr-text-body);
  font-weight: 500;
  cursor: pointer;
}
#page-main.registerjsp .bloque_alertas .titulo {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Captcha block */
#page-main.registerjsp .cont_captcha {
  margin: 1rem 0;
  padding: 1rem;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
}
#page-main.registerjsp .cont_captcha label {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--clr-text-body);
  margin-bottom: 0.35rem;
}
/* ── Userinfo page (userinfo.jsp uses .userinfojsp) ────────── */
#page-main.userinfojsp {
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}
#page-main.userinfojsp .cont_migas {
  margin-bottom: 1rem;
}
#page-main.userinfojsp .cont_migas .breadcrumb {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  padding: 0.5rem 0.9rem !important;
  margin: 0 !important;
  font-size: 0.78rem;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.15rem;
  list-style: none;
}
#page-main.userinfojsp .cont_migas .breadcrumb li {
  float: none !important;
  display: inline-flex;
  align-items: center;
}
#page-main.userinfojsp .cont_migas .breadcrumb li a {
  color: var(--clr-accent) !important;
  text-decoration: none;
  padding: 0.15rem 0.35rem;
}
#page-main.userinfojsp .cont_migas .breadcrumb li a:hover {
  color: var(--clr-accent-dark) !important;
  text-decoration: underline;
}
#page-main.userinfojsp .cont_migas .breadcrumb li + li::before {
  content: '/';
  color: var(--clr-text-light);
  padding: 0 0.15rem;
}
/*!
	@file        : _user_pages.less

	@description : Páginas del área de usuario "Mi mediasearch":
	                  myBookmarks, myComments, myTags, myRates,
	                  myAlbumns, myAlbumnsShared, myCitations, myPurchases,
	                  alertsOpac, userinfo, rememberuser, error,
	                  update, update2, updatepassword, oauth2Info.
	               Migrado desde _mods.less (Fase 4.8).

	@dependencies: _palette.less (variables --clr-*),
	               _breakpoints.less (variables @bp-*).

	Estructura JSP común:
	  <main class="myXjsp tipo_mymediasearch cont_general ...">
	    .cont_migas
	    .page-header
	    .ColumnaGeneral
	      .col_izqda  (menú lateral del área)
	      .col_dcha   (tabla de contenido)

	Las páginas error.jsp y rememberuser.jsp tienen layouts más
	simples (cards centradas).

	Notas:
	- Los alerts de estas páginas (.alert con .alert_header + .alert_body)
	  están en _alerts.less.
	- El header en estas páginas hereda de _header.less (mymediasearch
	  + perfil/error/oauth no tienen <aside id="cont_busqueda">).
---------------------------------------------------- */
/* ============================================================
   MI MEDIASEARCH — user-area pages (bookmarks, tags, comments, rates,
   albums, citations, purchases, alerts) + error + remember + userinfo
   ============================================================
   Pages share <main class="myXjsp tipo_mymediasearch cont_general ...">
   with .cont_migas → .page-header → .ColumnaGeneral (col_izqda menu +
   col_dcha content table). Error and remember are simpler centered cards.
*/
/* Common page wrapper — same selector group used everywhere below */
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) {
  padding: 1rem 1.25rem 2.5rem !important;
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  max-width: 1240px;
  margin: 0 auto !important;
  min-height: auto;
  float: none !important;
}
/* ── Top breadcrumb (.cont_migas inside main) ──────────────── */
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_migas {
  width: 100% !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  float: none !important;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-xs);
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_migas > div {
  padding: 0.5rem 0.9rem !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_migas .breadcrumb,
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .cont_migas ol.breadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.15rem;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.78rem;
  list-style: none !important;
  border: none !important;
  line-height: 1;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb li,
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb-item {
  float: none !important;
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  line-height: 1.4;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb a {
  color: var(--clr-accent) !important;
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb a:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-accent-dark) !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb li.active,
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb-item.active {
  color: var(--clr-text-body) !important;
  font-weight: 500;
  padding: 0.15rem 0.35rem;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb li + li::before,
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp) .cont_migas .breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  color: var(--clr-text-light);
  padding: 0 0.15rem;
  float: none !important;
}
/* ── Page header card (h1 + small subtitle) ────────────────── */
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .page-header {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-left: 4px solid var(--clr-accent);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.9rem 1.2rem !important;
  margin: 0 0 1.1rem 0 !important;
  width: 100% !important;
  border-top: 1px solid var(--clr-border-light) !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  border-right: 1px solid var(--clr-border-light) !important;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .page-header h1 {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .page-header h1 small {
  display: inline-block;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--clr-text-muted) !important;
  margin: 0 !important;
  letter-spacing: 0;
  line-height: 1.4;
}
#page-main:is(.myBookmarksjsp, .myCommentsjsp, .myTagsjsp, .myRatesjsp,
             .myAlbumnsjsp, .myAlbumnsSharedjsp, .myCitationsjsp,
             .myPurchasesjsp, .alertsOpacjsp, .userinfojsp,
             .rememberuserjsp, .errorjsp, .updatejsp, .update2jsp,
             .updatepasswordjsp, .oauth2Infojsp) .page-header h1 small.oculto {
  display: none !important;
}
/* ── Two-column layout for Mi mediaSearch pages (.ColumnaGeneral) ── */
#page-main.tipo_mymediasearch .ColumnaGeneral {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 1rem;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: flex-start;
}
#page-main.tipo_mymediasearch .col_izqda {
  flex: 0 0 240px;
  width: 240px;
  max-width: 240px;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}
#page-main.tipo_mymediasearch .col_dcha {
  flex: 1 1 auto;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
}
@media (max-width: 767.98px) {
  #page-main.tipo_mymediasearch .ColumnaGeneral {
    flex-wrap: wrap;
  }
  #page-main.tipo_mymediasearch .col_izqda,
  #page-main.tipo_mymediasearch .col_dcha {
    flex: 1 1 100%;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ── Side menu (menu_lateral.jsp) ──────────────────────────── */
#page-main.tipo_mymediasearch .col_izqda .cont_enlaces,
#page-main.tipo_mymediasearch .col_izqda .list-group {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  padding: 0;
  margin: 0;
}
#page-main.tipo_mymediasearch .col_izqda .cont_lista_opciones {
  padding: 0.35rem;
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item {
  margin: 0;
  padding: 0;
  list-style: none;
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item_enlace {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--radius-sm);
  color: var(--clr-text-body) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
  line-height: 1.3;
}
/* Iconos del sidebar: el <i class="fa ..."> dentro de cada .item_enlace
   en menu_lateral.jsp ya pinta el icono; el color se hereda del enlace
   (FontAwesome 4 son glifos que toman 'color' del padre). Las reglas
   ::before legacy con `content:"\fXXX"` duplicaban el icono — eliminadas. */
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item_enlace .fa {
  width: 16px;
  text-align: center;
  font-size: 0.9rem;
  color: var(--clr-text-muted);
  flex-shrink: 0;
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item_enlace:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item_enlace:hover .fa {
  color: var(--clr-accent);
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item.active .item_enlace,
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item_enlace.active {
  background: var(--clr-accent) !important;
  color: #fff !important;
  border-color: var(--clr-accent) !important;
  font-weight: 600;
}
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item.active .item_enlace .fa,
#page-main.tipo_mymediasearch .col_izqda .lista_opciones .item_enlace.active .fa {
  color: #fff;
}
/* ── col_dcha content (data table) ─────────────────────────── */
#page-main.tipo_mymediasearch .col_dcha .titulo_bloque {
  background: var(--clr-bg-subtle);
  border-bottom: 1px solid var(--clr-border-light);
  padding: 0.65rem 1rem;
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--clr-primary);
}
#page-main.tipo_mymediasearch .col_dcha .titulo_bloque.oculto {
  display: none;
}
#page-main.tipo_mymediasearch .col_dcha .listTable {
  padding: 0;
  margin: 0;
  width: 100%;
}
#page-main.tipo_mymediasearch .col_dcha .cont_tabla_general {
  width: 100%;
  overflow-x: auto;
}
#page-main.tipo_mymediasearch .col_dcha table.dataTable,
#page-main.tipo_mymediasearch .col_dcha table.table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.85rem;
}
#page-main.tipo_mymediasearch .col_dcha table thead th {
  background: var(--clr-bg-subtle);
  color: var(--clr-text-muted);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.65rem 0.85rem !important;
  border: none !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  text-align: left;
}
#page-main.tipo_mymediasearch .col_dcha table thead th.text-center {
  text-align: center;
}
#page-main.tipo_mymediasearch .col_dcha table tbody td {
  padding: 0.7rem 0.85rem !important;
  border: none !important;
  border-bottom: 1px solid var(--clr-border-light) !important;
  color: var(--clr-text-body);
  font-size: 0.85rem;
  vertical-align: middle;
}
#page-main.tipo_mymediasearch .col_dcha table tbody tr:hover td {
  background: var(--clr-bg-muted);
}
#page-main.tipo_mymediasearch .col_dcha table tbody tr:last-child td {
  border-bottom: none !important;
}
#page-main.tipo_mymediasearch .col_dcha table tbody td a.media-object,
#page-main.tipo_mymediasearch .col_dcha table tbody td > a {
  color: var(--clr-accent) !important;
  text-decoration: none;
  font-weight: 500;
}
#page-main.tipo_mymediasearch .col_dcha table tbody td > a:hover {
  color: var(--clr-accent-dark) !important;
  text-decoration: underline;
}
/* Action buttons column */
#page-main.tipo_mymediasearch .col_dcha .col_acciones,
#page-main.tipo_mymediasearch .col_dcha .cont_acciones {
  text-align: right;
  white-space: nowrap;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  justify-content: flex-end;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn,
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda a.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.8rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  box-shadow: none !important;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-accent) !important;
  color: var(--clr-accent) !important;
}
/* Delete button — turns red on hover */
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn_delete:hover,
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn.delete:hover {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
  color: #ef4444 !important;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn i,
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn .icono {
  color: inherit !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera_celda .btn span.hidden {
  display: none !important;
}
/* "Show more" button below the table */
#page-main.tipo_mymediasearch .col_dcha .cont_botonera {
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--clr-border-light);
  background: var(--clr-bg-subtle);
  text-align: center;
  margin: 0;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera .botonera {
  display: inline-flex;
  margin: 0;
  padding: 0;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera .btn,
#page-main.tipo_mymediasearch .col_dcha .cont_botonera a.btn,
#page-main.tipo_mymediasearch .col_dcha .cont_botonera .jscroll-next {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 1rem !important;
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--clr-text-body) !important;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.tipo_mymediasearch .col_dcha .cont_botonera .btn:hover {
  background: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
  color: #fff !important;
}
/* ── Mi mediaSearch dashboard (mymediasearch.jsp — list-group menu) ─ */
#page-main.mymediasearchjsp,
.mymediasearchjsp {
  /* The dashboard JSP uses .col-md-10 directly without main; style anyway */
}
.mymediasearchjsp .container-fluid > .col-md-12,
.mymediasearchjsp .container-fluid > div {
  padding: 1rem 1.25rem 2.5rem;
  max-width: 1240px;
  margin: 0 auto;
}
.mymediasearchjsp .container-fluid .breadcrumb,
.mymediasearchjsp .container-fluid ol.breadcrumb {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-sm);
  padding: 0.5rem 0.9rem;
  margin: 1rem 0;
  font-size: 0.78rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem;
  list-style: none;
}
.mymediasearchjsp .page-header {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-left: 4px solid var(--clr-accent);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.9rem 1.2rem !important;
  margin: 0 0 1.5rem !important;
}
.mymediasearchjsp .page-header h1 {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary) !important;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.mymediasearchjsp .page-header h1 small {
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--clr-text-muted);
}
/* Mini dashboard menu (uses Bootstrap .list-group) */
.mymediasearchjsp .list-group {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.mymediasearchjsp .list-group .list-group-item {
  display: block;
  padding: 0.55rem 0.75rem;
  color: var(--clr-text-body) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.mymediasearchjsp .list-group .list-group-item:hover {
  background: var(--clr-bg-muted) !important;
  color: var(--clr-accent) !important;
}
.mymediasearchjsp .list-group .list-group-item.active {
  background: var(--clr-accent) !important;
  color: #fff !important;
  border-color: var(--clr-accent) !important;
  font-weight: 600;
}
/*
	Capa de personalización del cliente.
	Se carga AL FINAL para que cualquier override aquí gane por
	cascada. Actualmente vacío.
---------------------------------------------------- */
/*!
	@file        : _mods.less

	@description : Capa de personalización del cliente.
	               Reservada para overrides puntuales que el cliente
	               necesite aplicar sobre la base de mediaSearch.

	               Se carga AL FINAL del orden de @import en newdefault.less
	               para que cualquier regla escrita aquí pueda sobrescribir
	               las reglas de los archivos temáticos previos sin necesidad
	               de !important ni de selectores excesivamente específicos.

	               Si está vacío, no añade ningún byte al CSS final.

	@history     : Hasta el 2026-05-08 este archivo contenía 13.929 líneas
	               con todos los estilos del proyecto mezclados. La Fase 4
	               de la refactorización los distribuyó en archivos temáticos
	               (_header, _toolbar, _filters, _footer, _modals, _alerts,
	                _index_hero, _index_main, _search_aside, _static_pages,
	                _user_pages, _advanced_search, _more_info, _results,
	                _globals, _breadcrumb).
---------------------------------------------------- */
/* ============================================================
   FIX 2026-05-12  —  Nube de etiquetas, tokenfield y módulo de
   comentarios en /doc. Estas reglas viven aquí (capa final
   de cascada) para garantizar que sobreescriben las legacy
   de _core.less sin volver a tocarlas.
   ============================================================ */
/* -----------------------------------------------------------
   A) Anular `.nube_tags a.tag{color:transparent!important}`
      legacy de _core.less. Aplica a /doc, /search, /mosaic,
      /index, /myTags — cualquier wrapper.
   ----------------------------------------------------------- */
html body .nube_tags a.tag,
html body .nube_tags .tagcloud a.tag,
html body .boxFilter.nube_tags .tagcloud a.tag,
html body .boxFilter.filter_facets.nube_tags .tagcloud a.tag,
html body .panel.filter_doc.nube_tags .tagcloud a.tag,
html body .panel.filter_doc.nube_tags .panel-body .tagcloud a.tag,
html body #page-main .col_izqda .panel.filter_doc.nube_tags .panel-body .tagcloud a.tag,
html body #page-main .col_izqda .boxFilter.nube_tags .tagcloud a.tag,
html body #page-main .col_dcha .cont_social .tagcloud a {
  color: var(--clr-text-muted) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 999px !important;
  padding: 0.28rem 0.7rem !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}
html body .nube_tags a.tag:hover,
html body .nube_tags a.tag:focus,
html body .nube_tags a.tag:focus-visible,
html body .boxFilter.nube_tags .tagcloud a.tag:hover,
html body .panel.filter_doc.nube_tags .panel-body .tagcloud a.tag:hover,
html body #page-main .col_izqda .panel.filter_doc.nube_tags .panel-body .tagcloud a.tag:hover,
html body #page-main .col_izqda .boxFilter.nube_tags .tagcloud a.tag:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #1d4ed8 !important;
  box-shadow: 0 3px 8px rgba(37, 99, 235, 0.3) !important;
  transform: translateY(-1px);
}
/* -----------------------------------------------------------
   B) Tokenfield (input para añadir etiquetas en /doc)
      Markup que produce bootstrap-tokenfield:
        <div class="tokenfield">
           <div class="token">
              <span class="token-label">cosa 1</span>
              <a class="close" tabindex="-1">&#215;</a>
           </div>
           <div class="twitter-typeahead">
              <input class="token-input ..." />
              <span class="tt-hint">...</span>
              <span class="tt-menu">...sugerencias...</span>
           </div>
        </div>
   ----------------------------------------------------------- */
/* Propagamos overflow:visible por TODA la cadena ancestral del panel de
   tags, incluyendo el wrapper #col_izqda y el .panel.panel_collapse.
   El border-radius lo movemos al .panel-heading y .panel-body para
   conservar el aspecto redondeado del card. */
#page-main #col_izqda,
#page-main .col_izqda,
#page-main #col_izqda .doc_tags,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags.panel.panel-default,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags.panel.panel-default.panel_collapse,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-collapse,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-collapse.collapse,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-collapse.collapse.show,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-body,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-body.cont_input_tags {
  overflow: visible !important;
}
/* Compensamos el border-radius del wrapper aplicándolo a las esquinas
   del heading y del body por separado. */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags.panel.panel-default {
  border-radius: 10px !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-heading {
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .panel-body {
  border-bottom-left-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.3rem !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0.35rem 0.45rem !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  overflow: visible !important;
  align-items: center;
  height: auto !important;
  position: relative;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield.focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18) !important;
}
/* Cada chip (token) ya añadido */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0.2rem 0.35rem 0.2rem 0.7rem !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  color: #ffffff !important;
  line-height: 1.3 !important;
  height: auto !important;
  max-width: 100% !important;
  float: none !important;
  position: relative !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token .token-label {
  color: #ffffff !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: 500 !important;
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3 !important;
}
/* X de quitar etiqueta — círculo blanco translúcido con ✕ blanco */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token .close,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token a.close,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token button.close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.22) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  text-shadow: none !important;
  font-size: 0 !important;
  /* oculta el `×` original */
  line-height: 1 !important;
  opacity: 1 !important;
  cursor: pointer;
  text-decoration: none !important;
  float: none !important;
  position: static !important;
  box-shadow: none !important;
  transition: background 0.15s ease, transform 0.12s ease;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token .close::before {
  content: "✕";
  display: inline-block;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1;
  color: #ffffff;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token .close:hover,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token .close:focus-visible {
  background: rgba(255, 255, 255, 0.45) !important;
  transform: scale(1.1);
  outline: none !important;
}
/* Token-input dentro del tokenfield (el campo "vivo" donde se escribe) */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield .token-input,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tokenfield input.token-input {
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  font-size: 0.85rem !important;
  flex: 1 1 90px;
  min-width: 90px;
  height: 28px !important;
  padding: 0 0.35rem !important;
  margin: 0 !important;
  color: #0f172a !important;
  box-shadow: none !important;
}
/* Typeahead — wrapper visible y dropdown por encima */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .twitter-typeahead {
  flex: 1 1 90px;
  min-width: 90px;
  display: inline-flex !important;
  align-items: center;
  position: relative !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tt-hint {
  color: transparent !important;
  /* oculta el hint legacy fucsia */
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tt-menu,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tt-dropdown-menu {
  z-index: 1050 !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  width: max-content !important;
  min-width: 100% !important;
  max-width: 320px !important;
  margin-top: 0.3rem !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.14) !important;
  padding: 0.3rem 0 !important;
  font-size: 0.85rem !important;
  max-height: 240px !important;
  overflow-y: auto !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tt-suggestion {
  padding: 0.4rem 0.85rem !important;
  cursor: pointer;
  color: #0f172a !important;
  display: block;
  line-height: 1.4;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tt-suggestion.tt-cursor,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .tt-suggestion:hover {
  background: #eff6ff !important;
  color: var(--clr-text-muted) !important;
}
/* -----------------------------------------------------------
   C) Módulo de comentarios — vista, lista y formulario (BS5)
   ----------------------------------------------------------- */
/* Stats bar arriba (visits/comments/score) — pills compactos */
#page-main .col_dcha .list-record-social,
#page-main #col_dcha .list-record-social {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem !important;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0.85rem 0 0.65rem 0 !important;
  width: 100% !important;
  float: none !important;
  min-height: 0 !important;
  height: auto !important;
}
#page-main .col_dcha .list-record-social .icono {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.6rem !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  line-height: 1.3;
  white-space: nowrap;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  cursor: default;
}
#page-main .col_dcha .list-record-social .record-visit::before {
  content: "\f06e";
  font-family: FontAwesome;
  color: #2563eb;
  opacity: 0.85;
  margin-right: 0.15rem;
}
#page-main .col_dcha .list-record-social .record-comments::before {
  content: "\f075";
  font-family: FontAwesome;
  color: #2563eb;
  opacity: 0.85;
  margin-right: 0.15rem;
}
#page-main .col_dcha .list-record-social .record-score::before {
  content: "\f005";
  font-family: FontAwesome;
  color: #f59e0b;
  margin-right: 0.15rem;
}
/* Card principal del módulo de comentarios */
#page-main .doc_commentsjsp.card-comments,
#page-main .doc_comments .doc_commentsjsp,
#social-layer .doc_commentsjsp {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  overflow: hidden;
  position: relative;
  display: block;
}
/* Cabecera del card */
#page-main .doc_commentsjsp .comments_heading {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem !important;
  flex-wrap: wrap;
  padding: 1rem 1.25rem !important;
  margin: 0 !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  width: 100% !important;
  position: static !important;
  float: none !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}
#page-main .doc_commentsjsp .comments_heading .comments_title_wrap {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem !important;
  flex: 1 1 auto;
  min-width: 0;
}
#page-main .doc_commentsjsp .comments_heading .comments_title_wrap > .fa {
  color: #2563eb;
  font-size: 1.05rem;
}
#page-main .doc_commentsjsp.entrada_comentarios .comments_title_wrap > .fa {
  color: #16a34a;
}
#page-main .doc_commentsjsp .comments_heading .titulo,
#page-main .doc_commentsjsp .comments_heading h2.titulo,
#page-main .doc_commentsjsp .comments_heading h3.titulo {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  font-family: inherit !important;
  letter-spacing: 0;
  text-transform: none !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  display: inline !important;
  width: auto !important;
  float: none !important;
}
#page-main .doc_commentsjsp .comments_heading .titulo > span {
  color: inherit !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Badge contador */
#page-main .doc_commentsjsp .comments_heading .comments_badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 1.6rem;
  height: 1.4rem;
  padding: 0 0.5rem !important;
  background: #2563eb !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  margin: 0 !important;
}
/* Sup#num_comentarios queda oculto, el badge lo sustituye */
#page-main .doc_commentsjsp .comments_heading sup#num_comentarios {
  display: none !important;
}
/* Botonera del header (Insertar comentario) */
#page-main .doc_commentsjsp .comments_heading .botonera {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center;
}
#page-main .doc_commentsjsp .btn_comentario,
#page-main .doc_commentsjsp .btn-outline-primary {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem !important;
  padding: 0.4rem 0.9rem !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: 1px solid #2563eb !important;
  color: #2563eb !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  cursor: pointer;
  height: auto !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
#page-main .doc_commentsjsp .btn_comentario:hover,
#page-main .doc_commentsjsp .btn-outline-primary:hover {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #1d4ed8 !important;
}
#page-main .doc_commentsjsp .btn_comentario .fa {
  font-size: 0.78rem !important;
}
/* Body del card */
#page-main .doc_commentsjsp .comments_body {
  padding: 1.25rem !important;
  background: transparent !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* Estado vacío */
#page-main .doc_commentsjsp .comments_empty,
#page-main .doc_comments .comments_empty,
#page-main .doc_commentsjsp .cont_informaciones,
#page-main .doc_comments .cont_informaciones {
  display: flex !important;
  align-items: center;
  gap: 0.85rem;
  padding: 1.1rem 1.25rem !important;
  margin: 0 !important;
  background: #f8fafc !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 10px !important;
  color: #475569 !important;
  font-size: 0.88rem;
  line-height: 1.5;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp .comments_empty > .fa,
#page-main .doc_comments .comments_empty > .fa {
  font-size: 1.6rem;
  color: #94a3b8;
  flex-shrink: 0;
}
#page-main .doc_commentsjsp .comments_empty p,
#page-main .doc_comments .comments_empty p {
  margin: 0 !important;
}
/* Variantes legacy del empty (alert-info dentro de cont_informaciones) */
#page-main .doc_commentsjsp .cont_informaciones .alert,
#page-main .doc_comments .cont_informaciones .alert {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-main .doc_commentsjsp .cont_informaciones .alert .alert_header,
#page-main .doc_commentsjsp .cont_informaciones .alert .alert_body,
#page-main .doc_comments .cont_informaciones .alert .alert_header,
#page-main .doc_comments .cont_informaciones .alert .alert_body {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-main .doc_commentsjsp .cont_informaciones .alert hr {
  display: none !important;
}
#page-main .doc_commentsjsp .cont_informaciones .alert .close,
#page-main .doc_commentsjsp .cont_informaciones .alert .btn-close {
  margin-left: auto;
}
/* Card por cada comentario */
#page-main .doc_commentsjsp .doc-comments {
  display: flex !important;
  flex-direction: column;
  gap: 0.85rem !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp .bloque_comentario.comment-card,
#page-main .doc_commentsjsp .doc-comments .bloque_comentario {
  display: flex !important;
  flex-direction: column;
  gap: 0.55rem !important;
  padding: 0.85rem 1rem !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
#page-main .doc_commentsjsp .bloque_comentario.comment-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}
#page-main .doc_commentsjsp .comment-card_header {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
#page-main .doc_commentsjsp .comment-card_avatar,
#page-main .doc_commentsjsp .bloque_comentario figure {
  display: inline-block !important;
  width: 36px;
  height: 36px;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0;
  border-radius: 50% !important;
  overflow: hidden;
  background: #e2e8f0;
  border: 1px solid #e2e8f0;
}
#page-main .doc_commentsjsp .comment-card_avatar img,
#page-main .doc_commentsjsp .comment-card_avatar .avatar,
#page-main .doc_commentsjsp .bloque_comentario figure img,
#page-main .doc_commentsjsp .bloque_comentario figure .avatar {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
}
#page-main .doc_commentsjsp .comment-card_meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  flex: 1 1 auto;
}
#page-main .doc_commentsjsp .comment-card_meta .comentario_user,
#page-main .doc_commentsjsp .bloque_comentario .comentario_user {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
#page-main .doc_commentsjsp .comment-card_meta .comentario_fecha,
#page-main .doc_commentsjsp .bloque_comentario .comentario_fecha {
  font-size: 0.72rem !important;
  color: #64748b !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
#page-main .doc_commentsjsp .comment-card_meta .comentario_fecha .fa {
  font-size: 0.7rem;
  color: #94a3b8;
}
#page-main .doc_commentsjsp .comment-card_body,
#page-main .doc_commentsjsp .comment-card_body .comment_body,
#page-main .doc_commentsjsp .bloque_comentario .comment_body {
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  color: #334155 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: pre-wrap;
  word-break: break-word;
  background: transparent !important;
  border: 0 !important;
  width: 100% !important;
  float: none !important;
}
/* Footer "Ver anteriores" */
#page-main .doc_commentsjsp .comments_footer {
  padding: 0.85rem 1.25rem !important;
  margin: 0 !important;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
  display: flex;
  justify-content: center;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp .comments_footer .botonera {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
}
/* ---------- Formulario de entrada ---------- */
#page-main .doc_commentsjsp.entrada_comentarios {
  margin-top: 1rem !important;
}
#page-main .doc_commentsjsp.entrada_comentarios .entrada_comentarios_body {
  padding: 1.25rem !important;
  background: transparent !important;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form,
#page-main .doc_commentsjsp.entrada_comentarios #comments-form {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .form-group,
#page-main .doc_commentsjsp.entrada_comentarios form .mb-3 {
  display: flex !important;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form label,
#page-main .doc_commentsjsp.entrada_comentarios form .form-label,
#page-main .doc_commentsjsp.entrada_comentarios form .control-label {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  margin: 0 0 0.25rem 0 !important;
  padding: 0 !important;
  display: block !important;
  line-height: 1.3 !important;
  float: none !important;
  width: auto !important;
  text-align: left !important;
  text-shadow: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .cont_textarea {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .form-control,
#page-main .doc_commentsjsp.entrada_comentarios form textarea,
#page-main .doc_commentsjsp.entrada_comentarios form textarea.form-control {
  width: 100% !important;
  min-height: 100px !important;
  padding: 0.65rem 0.85rem !important;
  font-size: 0.9rem !important;
  font-family: inherit !important;
  color: #0f172a !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  resize: vertical;
  line-height: 1.5 !important;
  transition: border-color 0.12s, box-shadow 0.12s;
  height: auto !important;
  margin: 0 !important;
  float: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .form-control:focus,
#page-main .doc_commentsjsp.entrada_comentarios form textarea:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18) !important;
  outline: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .info_entrada,
#page-main .doc_commentsjsp.entrada_comentarios form .form-text {
  font-size: 0.72rem !important;
  color: #64748b !important;
  margin: 0.25rem 0 0 !important;
  padding: 0 !important;
  min-height: 1em;
  line-height: 1.4 !important;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .info_entrada:not(:empty) {
  color: #b91c1c !important;
  font-weight: 500;
}
#page-main .doc_commentsjsp.entrada_comentarios form .botonera {
  margin: 1rem 0 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: flex-end;
  width: 100% !important;
  float: none !important;
  background: transparent !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .btn_enviar,
#page-main .doc_commentsjsp.entrada_comentarios form button.btn_enviar,
#page-main .doc_commentsjsp.entrada_comentarios form .btn-primary,
#page-main .doc_commentsjsp.entrada_comentarios form button[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem !important;
  padding: 0.55rem 1.4rem !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  background-color: #2563eb !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  cursor: pointer;
  height: auto !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.18) !important;
  transition: filter 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
  min-width: 140px;
  justify-content: center;
}
#page-main .doc_commentsjsp.entrada_comentarios form .btn_enviar:hover,
#page-main .doc_commentsjsp.entrada_comentarios form .btn-primary:hover,
#page-main .doc_commentsjsp.entrada_comentarios form button[type="submit"]:hover {
  filter: brightness(0.95);
  box-shadow: 0 3px 8px rgba(37, 99, 235, 0.28) !important;
  transform: translateY(-1px);
}
#page-main .doc_commentsjsp.entrada_comentarios form .btn_enviar:active,
#page-main .doc_commentsjsp.entrada_comentarios form .btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.2) !important;
}
#page-main .doc_commentsjsp.entrada_comentarios form .btn_enviar .fa {
  font-size: 0.85rem !important;
}
/* visually-hidden BS5 helper */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* -----------------------------------------------------------
   D) Alert "Puede añadir etiquetas a este registro" (inyectado
   por pinta_contenedor en msearch.core.social.js). La X de
   cierre se renderiza como btn-close BS5; aquí garantizamos su
   alineación dentro del alert flex.
   ----------------------------------------------------------- */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.55rem !important;
  padding: 0.6rem 0.8rem !important;
  margin: 0 0 0.65rem 0 !important;
  /* Aviso NEUTRO (mismo sistema visual que comentarios/ficha), con un
	   filete a la izquierda que conserva el estado info/warning/danger. */
  background: var(--clr-bg-subtle) !important;
  border: 1px solid var(--clr-border-light) !important;
  border-left: 3px solid var(--clr-primary) !important;
  border-radius: 8px !important;
  color: var(--clr-text-body) !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  width: 100% !important;
  float: none !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert.alert-warning {
  border-left-color: #f59e0b !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert.alert-danger {
  border-left-color: #ef4444 !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert > .fa,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert > .fa-info-circle {
  color: var(--clr-primary) !important;
  font-size: 1rem !important;
  flex-shrink: 0;
  margin: 0 !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert.alert-warning > .fa {
  color: #f59e0b !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert.alert-danger > .fa {
  color: #ef4444 !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert > div,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert > .flex-grow-1 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
}
/* Botón X — BS5 .btn-close, pero ajustamos tamaño/colores y caja
   por si Bootstrap CSS no termina aplicándolo correctamente sobre
   un alert inyectado dinámicamente. */
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert .btn-close,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert button.btn-close,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert button.close,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert .close {
  box-sizing: content-box !important;
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 14px !important;
  padding: 4px !important;
  margin: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--clr-text-muted) !important;
  text-shadow: none !important;
  font-size: 0 !important;
  /* oculta cualquier "x"/"&times;" original */
  line-height: 1 !important;
  opacity: 1 !important;
  cursor: pointer !important;
  position: static !important;
  float: none !important;
  transition: background 0.15s ease;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert .btn-close::before,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert .close::before {
  content: "✕";
  display: inline-block;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--clr-text-muted) !important;
  line-height: 1 !important;
  font-family: Arial, "Helvetica Neue", sans-serif !important;
}
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert .btn-close:hover,
#page-main :is(.col_izqda, #tags-tab-pane) .doc_tags .cont_input_tags .alert .close:hover {
  background: rgba(15, 23, 42, 0.08) !important;
}
/* -----------------------------------------------------------
   E) Stats bar arriba de comentarios (record-comments).
   Si usuario logueado y existe el módulo de comentarios con
   badge contador en su cabecera, ocultamos esta stats bar para
   no duplicar información. Si NO está logueado, dejamos la
   stats bar visible (informativa).
   ----------------------------------------------------------- */
#page-main .col_dcha:has(.doc_commentsjsp.vista_comentarios) .list-record-social {
  display: none !important;
}
/* Si solo hay un único `.icono` visible (sin visits/score), también
   ocultamos por redundancia con el badge del card de comentarios. */
#page-main .col_dcha .list-record-social:has(.record-comments:only-child) {
  display: none !important;
}
/* -----------------------------------------------------------
   F) Lista de comentarios — burbujas estilo conversación
   (WhatsApp / Telegram). Comentarios propios alineados a la
   derecha con burbuja verde-azulada; ajenos a la izquierda con
   burbuja blanca; ambas con tail (esquina hablante).

   Estructura JSP:
     <article class="comment-bubble is-own|is-other">
        <a class="comment-bubble_avatar-link">
           <figure class="comment-bubble_avatar"><img></figure>
        </a>
        <div class="comment-bubble_wrap">
           <header class="comment-bubble_meta">
              <span class="comentario_user">...</span>
           </header>
           <div class="comment-bubble_bubble">
              <div class="comment_body">...</div>
              <footer class="comment-bubble_footer">
                 <span class="comentario_fecha">...</span>
              </footer>
           </div>
        </div>
     </article>
   ----------------------------------------------------------- */
#page-main .doc_commentsjsp .doc-comments.comments-chat,
#page-main .doc_commentsjsp .comments-chat {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp .comments-chat .bloque_comentario.comment-bubble {
  display: flex !important;
  align-items: flex-end !important;
  gap: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
/* Comentarios ajenos: avatar a la izquierda + burbuja a la derecha */
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-other {
  flex-direction: row !important;
  justify-content: flex-start !important;
}
/* Comentarios propios: avatar a la derecha + burbuja a la izquierda */
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own {
  flex-direction: row-reverse !important;
  justify-content: flex-start !important;
}
/* Avatar — círculo */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar-link {
  display: inline-block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar {
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: #e2e8f0 !important;
  border: 1px solid #cbd5e1 !important;
  display: block !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar img,
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar .avatar {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
}
/* Wrap contenedor de la burbuja (meta + bubble + footer) */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
  max-width: 75% !important;
  min-width: 0 !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_wrap {
  align-items: flex-end !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-other .comment-bubble_wrap {
  align-items: flex-start !important;
}
/* Meta (nombre arriba de la burbuja) */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_meta {
  display: flex !important;
  align-items: baseline !important;
  gap: 0.4rem !important;
  margin: 0 0 0.15rem 0 !important;
  padding: 0 0.35rem !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  float: none !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_meta .comentario_user {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_meta .comentario_user {
  color: #16a34a !important;
}
/* Burbuja con tail */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_bubble {
  position: relative !important;
  padding: 0.55rem 0.85rem 0.45rem !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  max-width: 100%;
  word-break: break-word;
}
/* Tail (esquina hablante) ajeno: lado izquierdo */
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-other .comment-bubble_bubble {
  border-top-left-radius: 4px !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-other .comment-bubble_bubble::before {
  content: "";
  position: absolute;
  top: 0;
  left: -8px;
  width: 14px;
  height: 14px;
  background: inherit;
  border-left: 1px solid #e2e8f0;
  border-top: 1px solid #e2e8f0;
  border-bottom-right-radius: 12px;
  transform: skewX(-25deg) rotate(-15deg);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
}
/* Comentarios propios — burbuja verde clara tipo WhatsApp */
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_bubble {
  background: #dcfce7 !important;
  border-color: #bbf7d0 !important;
  border-top-right-radius: 4px !important;
  color: #052e16 !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_bubble::before {
  content: "";
  position: absolute;
  top: 0;
  right: -8px;
  width: 14px;
  height: 14px;
  background: #dcfce7;
  border-right: 1px solid #bbf7d0;
  border-top: 1px solid #bbf7d0;
  border-bottom-left-radius: 12px;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
}
/* Cuerpo del comentario */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_body,
#page-main .doc_commentsjsp .comments-chat .comment_body {
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  background: transparent !important;
  border: 0 !important;
  width: 100% !important;
  float: none !important;
  text-align: left !important;
}
/* Footer (fecha) */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.35rem !important;
  margin: 0.25rem 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  float: none !important;
  width: auto !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_footer .comentario_fecha {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  font-size: 0.68rem !important;
  color: #64748b !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_footer .comentario_fecha {
  color: #15803d !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_footer .comentario_fecha .fa {
  font-size: 0.65rem !important;
  opacity: 0.8;
}
/* Animación de aparición del comentario recién enviado */
#page-main .doc_commentsjsp .comments-chat .comment-bubble.nuevo_comentario {
  animation: comment-pop 0.35s ease-out;
}
@keyframes comment-pop {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* Responsive: en móviles las burbujas pueden ocupar más ancho */
@media (max-width: 575.98px) {
  #page-main .doc_commentsjsp .comments-chat .comment-bubble_wrap {
    max-width: 85% !important;
  }
  #page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar {
    width: 32px !important;
    height: 32px !important;
  }
}
/* -----------------------------------------------------------
   G) Avatar fallback con iniciales — comentarios estilo chat
   Si la <img> falla (onerror), JS añade clase .avatar-fallback
   al <figure> que tiene el attr data-initials="XY". Aquí
   mostramos un círculo coloreado con las iniciales.
   ----------------------------------------------------------- */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar.avatar-fallback {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_avatar.avatar-fallback {
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important;
  border-color: #15803d !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar.avatar-fallback::before {
  content: attr(data-initials);
  display: inline-block;
  line-height: 1;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
/* Soporte aria-label fallback si no hubiera data-initials (icono user) */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar.avatar-fallback[data-initials=""]::before,
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar.avatar-fallback:not([data-initials])::before {
  content: "\f007";
  font-family: FontAwesome;
  font-size: 0.9rem;
}
/* -----------------------------------------------------------
   H) Card "Comentarios privados" cuando no logueado y los
   comentarios públicos están deshabilitados. Reemplaza la
   capa vacía blanca que se veía antes.
   ----------------------------------------------------------- */
#page-main .doc_commentsjsp.comments-locked .comments_body {
  padding: 1.5rem 1.25rem !important;
}
#page-main .doc_commentsjsp.comments-locked .comments_locked_msg {
  display: flex !important;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.1rem 1.25rem !important;
  margin: 0 !important;
  background: #f8fafc !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 10px !important;
  color: #475569 !important;
  width: 100% !important;
  float: none !important;
}
#page-main .doc_commentsjsp.comments-locked .comments_locked_msg > .fa-lock {
  font-size: 1.5rem;
  color: #94a3b8;
  flex-shrink: 0;
  margin-top: 2px;
}
#page-main .doc_commentsjsp.comments-locked .comments_locked_msg strong {
  font-size: 0.9rem;
  color: #0f172a;
  font-weight: 600;
}
#page-main .doc_commentsjsp.comments-locked .comments_locked_msg p {
  margin: 0 0 0.65rem 0;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #64748b;
}
#page-main .doc_commentsjsp.comments-locked .comments_locked_msg .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.4rem 1rem !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
}
#page-main .doc_commentsjsp.comments-locked .comments_locked_msg .btn-primary:hover {
  filter: brightness(0.95);
}
/* -----------------------------------------------------------
   I) "Elementos relacionados" — ancho completo y card vacío
   horizontal. Antes el bloque era estrecho y aparecían dos
   cajas con borde discontinuo duplicadas porque el ::after se
   aplicaba tanto al wrapper externo como al interno.
   ----------------------------------------------------------- */
/* Wrapper exterior: mismo ancho/centrado que #page-main.container (1440px)
   para alinearse con el contenido de arriba. El padding-left deja el hueco
   del rail colapsado (col_izqda 16px + gap 8px) para que la card cuadre con
   la columna .col_dcha; a la derecha sin padding (llega al borde del container). */
/* El separador horizontal de la sección es el `border-top: 3px solid #ddd` que
   _core.less pone en este MISMO elemento (`&.doc_doc`, _core.less:2292). El
   `margin-top` separa el bloque de lo de arriba, pero entre esa línea y la card
   no hay nada que la separe: el hijo `.cont_sliders` lleva `margin: 0`. De ahí el
   `padding-top`, que es lo único que abre hueco entre el borde y la tarjeta. */
.container-fluid > .cont_customs.mlt.doc_doc {
  width: 100% !important;
  max-width: 1440px !important;
  /* = #page-main.container */
  margin: 1.25rem auto 2.5rem auto !important;
  padding: 1.5rem 0 0 24px !important;
  float: none !important;
  background: transparent !important;
  box-sizing: border-box;
}
/* En apilado (<992px, col_izqda arriba) ya no hay rail lateral → sin offset.
   Se repite el padding-top: si solo se fijan los laterales, la declaración
   abreviada de arriba sigue mandando, pero dejarlo explícito evita que un cambio
   futuro en este bloque vuelva a pegar la card al separador. */
@media (max-width: 991.98px) {
  .container-fluid > .cont_customs.mlt.doc_doc {
    padding-top: 1.5rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}
/* Estructura interna como card */
.cont_customs.mlt.doc_doc .cont_sliders {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  overflow: hidden;
}
.cont_customs.mlt.doc_doc .bloque_slider.slider_1.slider_tipo_00,
.cont_customs.mlt.doc_doc .bloque_slider.slider_1.slider_tipo_00 > .bloque_slider.slider_1 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}
/* Header del bloque (icono + título) — banner con padding, a la izquierda */
.cont_customs.mlt.doc_doc .cont_slider_datos {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 0.85rem 1.25rem !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  border-radius: 0 !important;
  text-align: left;
}
.cont_customs.mlt.doc_doc .cont_general_datos {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.6rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  flex-wrap: wrap;
}
.cont_customs.mlt.doc_doc .cont_general_datos .cont_titulo {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: auto !important;
  text-align: left !important;
}
/* Título: tamaño/peso/color del sistema (sin el legacy de 2.2rem) */
.cont_customs.mlt.doc_doc .cont_general_datos .slider_titulo,
.cont_customs.mlt.doc_doc h1.slider_titulo {
  font-family: inherit !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  float: none !important;
  width: auto !important;
}
/* Icono en círculo (sin el fa-2x legacy) */
.cont_customs.mlt.doc_doc .cont_general_datos .cont_icono {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--clr-bg-subtle) !important;
}
.cont_customs.mlt.doc_doc .cont_general_datos .cont_icono .icon_title,
.cont_customs.mlt.doc_doc .cont_general_datos .cont_icono i {
  font-size: 1rem !important;
  color: var(--clr-primary) !important;
  margin: 0 !important;
}
/* Hacemos que el card ocupe TODO el alto disponible y la zona del
   placeholder quede centrada vertical y horizontalmente. */
.cont_customs.mlt.doc_doc {
  min-height: 220px;
  display: flex !important;
  flex-direction: column !important;
}
.cont_customs.mlt.doc_doc .cont_sliders {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.cont_customs.mlt.doc_doc .cont_sliders > .bloque_slider,
.cont_customs.mlt.doc_doc .cont_sliders .bloque_slider.slider_1.slider_tipo_00 {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.cont_customs.mlt.doc_doc .cont_sliders .bloque_slider.slider_1.slider_tipo_00 > .bloque_slider.slider_1 {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
/* Estado vacío: UNA sola caja. Quitamos cualquier ::after de los
   .bloque_slider (evita el mensaje duplicado) y dibujamos el mensaje
   una única vez en el ::after de .cont_sliders. */
.cont_customs.mlt.doc_doc .bloque_slider::after,
.cont_customs.mlt.doc_doc:not(:has(.cont_carousel))::after {
  content: none !important;
}
.cont_customs.mlt.doc_doc:not(:has(.cont_carousel)) .cont_sliders::after {
  content: "Aún no hay documentos relacionados disponibles";
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1 1 auto;
  min-height: 120px;
  margin: 0;
  padding: 2rem 1.5rem;
  color: #94a3b8;
  font-size: 0.88rem;
  font-style: italic;
  text-align: center;
  box-sizing: border-box;
}
/* Si hay carouseles, los apilamos en grid horizontal anchos */
.cont_customs.mlt.doc_doc .cont_sliders:has(.cont_carousel) {
  padding-bottom: 1rem !important;
}
.cont_customs.mlt.doc_doc .cont_carousel {
  width: 100% !important;
  padding: 1rem 1.25rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  box-sizing: border-box;
}
.cont_customs.mlt.doc_doc .cont_carousel:first-of-type {
  border-top: 0 !important;
}
/* En pantallas pequeñas, padding reducido */
@media (max-width: 767.98px) {
  .container-fluid > .cont_customs.mlt.doc_doc {
    padding: 0 0.85rem !important;
    margin: 1rem auto !important;
  }
}
/* -----------------------------------------------------------
   I bis) Carrusel interno (swiper) de "Elementos relacionados"
   Bug real (2026-08-16): las miniaturas .image_slider (dentro de
   .swiper-slide > figure > .cont_imagen) no tenían NINGUNA regla de
   tamaño propia. Cuando el elemento relacionado no tiene miniatura real y
   cae al placeholder por defecto, el <img> se pinta a su resolución
   nativa (varios miles de píxeles) y revienta el carrusel y el resto de
   la página (varios miles de píxeles de alto). El carrusel del home
   (.doc_index ... .cont_carousel, en _index_main.less) sí tiene esto
   resuelto porque usa .slide_card con aspect-ratio fijo; aquí la <figure>
   no lleva clase propia y nunca se portó el mismo tratamiento cuando este
   bloque de "elementos relacionados" (MLT) se migró de slick a swiper
   (la regla vieja para slick sigue en _core.less, `.slick-slider
   .cont_imagen .image_slider{width:180px;height:180px}`, pero no aplica:
   el markup real ya no usa slick aquí).

   Repaso (2026-08-16, mismo día, tras desplegar en pre): la primera
   versión forzaba un cuadro 1:1 con object-fit:cover — con miniaturas
   verticales (el placeholder por defecto mide 2877×4067, mucho más alto
   que ancho) eso recorta buena parte de la imagen arriba/abajo (se veía
   el logo "IPCE" cortado a la mitad). El aviso del usuario fue explícito:
   la imagen debe ocupar el ANCHO de su celda SIN recortarse. Se quita el
   aspect-ratio fijo y el object-fit:cover: la imagen ocupa el 100% del
   ancho y el alto se ajusta a su proporción real (auto), mostrando la
   miniatura completa. Como todas las miniaturas relacionadas comparten
   hoy la misma imagen de placeholder, las tarjetas siguen quedando
   parejas en alto; con miniaturas reales de distintas proporciones cada
   tarjeta tomaría su alto propio (sin deformar ni recortar, que es lo
   que se pidió). */
.cont_customs.mlt.doc_doc .cont_carousel .swiper-slide {
  height: auto;
  display: flex !important;
}
.cont_customs.mlt.doc_doc .cont_carousel .swiper-slide figure {
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.cont_customs.mlt.doc_doc .cont_carousel .swiper-slide figure .cont_imagen {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  background: var(--clr-bg-subtle, #f3f4f6);
}
.cont_customs.mlt.doc_doc .cont_carousel .swiper-slide figure .cont_imagen img.image_slider {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
/* Título de cada miniatura (figcaption .fig_title) — bug real (2026-08-16,
   detectado a peticion del usuario: "revisa que app.doc.js procese todas
   las miniaturas del carrusel"). NO es un bug de app.doc.js: el propio
   ELLIPSIS()/dotdotdot (ver app.generic.functions.js) sí procesa las 10
   miniaturas, pero .fig_title es un <span> sin ninguna regla de display
   propia en este carrusel (la única que existe, en _core.less, esta
   anidada bajo .slick-slide — carrusel viejo, no aplica aquí) → queda
   display:inline por defecto del navegador. ELLIPSIS calcula el máximo de
   alto llamando a $caption.height(...), pero `height` no tiene efecto
   sobre un elemento inline (CSS spec), así que dotdotdot mide una caja
   inconsistente y en varias miniaturas termina recortando el texto hasta
   dejarlo vacío en vez de a "Texto largo...". Verificado en vivo: forzando
   display:block aquí, las 10 miniaturas muestran su título completo (la
   columna tiene sitio de sobra para 1-2 líneas, muy por debajo del límite
   de 3 que pide ELLIPSIS(...,3), así que ni siquiera hace falta truncar). */
.cont_customs.mlt.doc_doc .cont_carousel .swiper-slide figcaption .fig_title {
  display: block;
  width: 100%;
}
/* Título de sección ("Elementos relacionados") en una sola línea con el
   icono — bug real (2026-08-16): .cont_general_datos{display:flex} ya
   ponía icono y título en fila, pero .cont_titulo seguía forzado a
   width:100% por una regla mucho más vieja y genérica de _core.less
   (`&.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo
   {width:100% !important}`, pensada para OTRO bloque de slider de
   doc_doc que sí oculta el icono). Esa regla tiene más clases en el
   selector (6) que la de aquí arriba (5) y con !important en ambos
   lados gana la más específica — por eso el título seguía cayendo en su
   propia línea aunque el flex ya estuviera puesto. Se iguala añadiendo
   `.slidex.cont_slider_datos` (que este elemento también lleva) para
   igualar y superar esa especificidad. */
.cont_customs.mlt.doc_doc .slidex.cont_slider_datos .cont_general_datos .cont_titulo {
  width: auto !important;
  flex: 0 0 auto !important;
}
/* Flechas del carrusel: las de swiper-bundle por defecto (gris, cuadradas)
   en vez de las modernas del home — aviso del usuario (2026-08-16). Se
   replica el mismo diseño de .doc_index (_index_main.less): círculo
   36×36 blanco, borde fino, sombra; el chevron lo sigue pintando Swiper
   vía su propio ::after (fuente swiper-icons), por eso NO se define
   contenido propio aquí — solo el "marco" del botón. */
.cont_customs.mlt.doc_doc .cont_carousel {
  --swiper-navigation-size: 18px;
}
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-prev,
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-next {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--clr-border, #e2e8f0) !important;
  border-radius: 50% !important;
  background-color: var(--clr-bg-card, #fff) !important;
  background-image: none !important;
  color: var(--clr-primary) !important;
  cursor: pointer;
  z-index: 10 !important;
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, 0.12)) !important;
  opacity: 1 !important;
  overflow: hidden !important;
  text-indent: 0 !important;
  transform: translateY(-50%) !important;
  transition: background 0.18s, color 0.18s, border-color 0.18s, box-shadow 0.18s, transform 0.18s;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-prev {
  left: 4px !important;
  right: auto !important;
}
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-next {
  right: 4px !important;
  left: auto !important;
}
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-prev:hover,
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-next:hover {
  background-color: var(--clr-primary) !important;
  color: #fff !important;
  border-color: var(--clr-primary) !important;
  transform: translateY(-50%) scale(1.06) !important;
}
.cont_customs.mlt.doc_doc .cont_carousel > .swiper-button-disabled {
  opacity: 0.35 !important;
  cursor: default;
  pointer-events: none;
}
/* -----------------------------------------------------------
   J) Avatar de chat con iniciales SIEMPRE (estilo Discord/Slack)
   Cuando el servidor responde con la imagen "AVA" por defecto
   el onerror no se dispara porque la imagen sí carga, así que
   el fallback condicional no se aplicaba. Solución más limpia:
   ocultar SIEMPRE la <img> y mostrar siempre las iniciales del
   usuario con un gradiente del color de la conversación.
   ----------------------------------------------------------- */
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar img,
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar .avatar {
  display: none !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-family: inherit;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble.is-own .comment-bubble_avatar {
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important;
  border-color: #15803d !important;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar::before {
  content: attr(data-initials);
  display: inline-block;
  line-height: 1;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar[data-initials=""]::before,
#page-main .doc_commentsjsp .comments-chat .comment-bubble_avatar:not([data-initials])::before {
  content: "\f007";
  /* fa-user */
  font-family: FontAwesome;
  font-size: 0.9rem;
  font-weight: normal;
}
/* -----------------------------------------------------------
   K) Bocadillo .list-record-social en /doc — atenuado en vez de
   oculto. Ocultarlo del todo provocaba en algunos navegadores un
   reflow extraño en el .col_dcha que dejaba los metadatos
   "fantasma". Aquí solo le rebajamos visualmente el peso, ya que
   el contador real ya está en la cabecera del card de Comentarios.
   ----------------------------------------------------------- */
#page-main.doc_doc .col_dcha .list-record-social,
.doc_doc .col_dcha .list-record-social {
  margin: 0.35rem 0 !important;
  gap: 0.35rem !important;
  min-height: 0 !important;
}
#page-main.doc_doc .col_dcha .list-record-social .icono.record-comments,
.doc_doc .col_dcha .list-record-social .icono.record-comments {
  opacity: 0.55;
}
/* -----------------------------------------------------------
   L) Páginas de mensaje del sistema (message.jsp, error.jsp)
   Reescritas en BS5 con componente .system-message.
   ----------------------------------------------------------- */
#page-main.messagejsp,
#page-main.errorjsp {
  padding: 1rem 1.25rem 2.5rem !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
}
#page-main.messagejsp .page-header,
#page-main.errorjsp .page-header {
  background: var(--clr-bg-card, #ffffff) !important;
  border: 1px solid var(--clr-border-light, #e2e8f0) !important;
  border-left: 4px solid var(--clr-accent, #2563eb) !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 1rem 0 !important;
  width: 100% !important;
}
#page-main.errorjsp .page-header {
  border-left-color: #dc2626 !important;
}
#page-main.messagejsp .page-header h1,
#page-main.errorjsp .page-header h1 {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--clr-primary, #0f172a) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
#page-main.messagejsp .page-header h1 small,
#page-main.errorjsp .page-header h1 small {
  display: inline-block;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: var(--clr-text-muted, #64748b) !important;
  margin: 0 !important;
}
#page-main.errorjsp .cont_migas {
  width: 100% !important;
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#page-main.errorjsp .cont_migas .breadcrumb {
  background: var(--clr-bg-card, #ffffff);
  border: 1px solid var(--clr-border-light, #e2e8f0);
  border-radius: 6px;
  padding: 0.5rem 0.9rem;
  margin: 0;
  font-size: 0.78rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem;
  list-style: none;
}
#page-main.errorjsp .cont_migas .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  color: var(--clr-text-muted, #64748b);
}
#page-main.errorjsp .cont_migas .breadcrumb-item a {
  color: var(--clr-accent, #2563eb);
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
}
#page-main.errorjsp .cont_migas .breadcrumb-item a:hover {
  background: var(--clr-bg-muted, #f1f5f9);
}
#page-main.errorjsp .cont_migas .breadcrumb-item.active {
  color: var(--clr-text-body, #334155);
  font-weight: 500;
  padding: 0.15rem 0.35rem;
}
#page-main.errorjsp .cont_migas .breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  color: var(--clr-text-light, #94a3b8);
  padding: 0 0.15rem;
}
/* Componente principal .system-message — un alert grande con icono,
   título, texto y acciones. */
.system-message-wrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.system-message {
  display: flex !important;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.4rem !important;
  margin: 0 !important;
  background: var(--clr-bg-card, #ffffff) !important;
  border: 1px solid var(--clr-border-light, #e2e8f0) !important;
  border-left: 4px solid #f59e0b !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  width: 100% !important;
}
.system-message.system-message--warning {
  border-left-color: #f59e0b !important;
}
.system-message.system-message--danger {
  border-left-color: #dc2626 !important;
  background: #fef2f2 !important;
}
.system-message.system-message--info {
  border-left-color: #2563eb !important;
}
.system-message.system-message--success {
  border-left-color: #16a34a !important;
}
.system-message__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff7ed;
  color: #b45309;
  font-size: 1.3rem;
}
.system-message.system-message--danger .system-message__icon {
  background: #fee2e2;
  color: #b91c1c;
}
.system-message.system-message--info .system-message__icon {
  background: #eff6ff;
  color: #1d4ed8;
}
.system-message.system-message--success .system-message__icon {
  background: #ecfdf5;
  color: #15803d;
}
.system-message__body {
  flex: 1 1 auto;
  min-width: 0;
}
.system-message__title {
  margin: 0 0 0.35rem 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  font-family: inherit !important;
  letter-spacing: 0;
  text-transform: none !important;
  line-height: 1.3 !important;
}
.system-message__text {
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  color: #334155 !important;
}
.system-message.system-message--danger .system-message__text {
  color: #7f1d1d !important;
}
.system-message__details {
  margin: 0 0 1rem 0;
  padding: 0.65rem 0.85rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
}
.system-message__details > summary {
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 500;
  color: #475569;
  user-select: none;
}
.system-message__details > summary:hover {
  color: #0f172a;
}
.system-message__stack {
  margin: 0.65rem 0 0 0;
  padding: 0.65rem;
  background: #0f172a;
  color: #e2e8f0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  line-height: 1.4;
  border-radius: 4px;
  overflow-x: auto;
  white-space: pre;
  max-height: 280px;
  overflow-y: auto;
}
.system-message__actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}
.system-message__actions .btn,
.system-message__actions a.btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  line-height: 1.3 !important;
  height: auto !important;
  margin: 0 !important;
}
.system-message__actions .btn.btn-primary {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
}
.system-message__actions .btn.btn-primary:hover {
  filter: brightness(0.95);
}
.system-message__actions .btn.btn-outline-secondary {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
}
.system-message__actions .btn.btn-outline-secondary:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}
@media (max-width: 575.98px) {
  .system-message {
    flex-direction: column;
    gap: 0.75rem;
  }
}
/* ============================================================
   M) MyMediasearch — rediseño completo BS5 (2026-05-12)
   Aplica a /mymediasearch/* (.tipo_mymediasearch wrapper).
   Compone:
     - .user-sidebar       : columna izquierda con perfil + nav
     - .dashboard-pane     : panel derecho del dashboard
     - .mims-list-pane     : panel derecho de listados
     - .kpi-card           : tarjetas KPI del dashboard
     - .quick-action       : accesos rápidos
     - .activity-feed      : feed de actividad reciente
     - .mims-card          : card de cada item (bookmark, comment, rate, ...)
     - .mims-tag-chip      : chip de etiqueta
     - .mims-empty         : estado vacío
   ============================================================ */
/* ---------- Layout general ---------- */
#page-main.tipo_mymediasearch {
  padding: 1rem 1.25rem 2.5rem !important;
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
#page-main.tipo_mymediasearch .cont_migas {
  margin: 0 0 0.85rem 0 !important;
  padding: 0 !important;
}
#page-main.tipo_mymediasearch .cont_migas .breadcrumb {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 0.5rem 0.9rem;
  margin: 0;
  font-size: 0.78rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem;
  list-style: none;
  align-items: center;
}
#page-main.tipo_mymediasearch .cont_migas .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: #64748b;
}
#page-main.tipo_mymediasearch .cont_migas .breadcrumb-item a {
  color: #2563eb;
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
}
#page-main.tipo_mymediasearch .cont_migas .breadcrumb-item a:hover {
  background: #eff6ff;
}
#page-main.tipo_mymediasearch .cont_migas .breadcrumb-item.active {
  color: #334155;
  font-weight: 500;
}
#page-main.tipo_mymediasearch .cont_migas .breadcrumb-item + .breadcrumb-item::before {
  content: '/';
  color: #cbd5e1;
  padding: 0 0.25rem;
}
#page-main.tipo_mymediasearch .page-header {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #2563eb !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  padding: 1.1rem 1.4rem !important;
  margin: 0 0 1.25rem 0 !important;
  width: 100% !important;
}
#page-main.tipo_mymediasearch .page-header h1 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.25 !important;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
#page-main.tipo_mymediasearch .page-header h1 small {
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  margin: 0 !important;
  letter-spacing: 0;
}
#page-main.tipo_mymediasearch .ColumnaGeneral {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 1.25rem;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: flex-start;
}
#page-main.tipo_mymediasearch .col_izqda {
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 260px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
#page-main.tipo_mymediasearch .col_dcha {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
/* Cuando .col_dcha ES el propio panel de listados (myBookmarks, myComments,
   myRates, myCitations, myPurchases, alertsOpac...), el reset de fondo/borde
   de arriba (misma especificidad ID+2 clases, !important) ganaba a la tarjeta
   blanca de .mims-list-pane (solo 1 clase): el panel quedaba transparente y
   se confundía con el fondo de la página. Selector más específico para que
   la tarjeta recupere su fondo blanco propio. */
#page-main.tipo_mymediasearch .col_dcha.mims-list-pane {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
}
@media (max-width: 991.98px) {
  #page-main.tipo_mymediasearch .ColumnaGeneral {
    flex-wrap: wrap;
  }
  #page-main.tipo_mymediasearch .col_izqda,
  #page-main.tipo_mymediasearch .col_dcha {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ---------- User sidebar ---------- */
.user-sidebar {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  position: sticky;
  top: 1rem;
}
.user-sidebar__profile {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
}
.user-sidebar__avatar {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: rgba(255, 255, 255, 0.18);
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.user-sidebar__avatar::before {
  content: attr(data-initials);
}
.user-sidebar__identity {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.user-sidebar__name {
  font-size: 0.92rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-sidebar__email {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.82);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-sidebar__nav {
  padding: 0.5rem 0.35rem 0.65rem 0.35rem;
}
.user-sidebar__section-title {
  display: block;
  padding: 0.85rem 0.8rem 0.35rem 0.8rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #94a3b8;
}
.user-sidebar .lista_opciones {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.user-sidebar .lista_opciones .item {
  margin: 0;
  padding: 0;
  list-style: none;
}
.user-sidebar .lista_opciones .item_enlace {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  padding: 0.55rem 0.8rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease !important;
  line-height: 1.3 !important;
  width: 100% !important;
  float: none !important;
  height: auto !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.user-sidebar .lista_opciones .item_enlace > .fa {
  flex: 0 0 18px;
  font-size: 0.9rem;
  color: #64748b;
  width: 18px;
  text-align: center;
}
.user-sidebar .lista_opciones .item_enlace .titulo {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-sidebar__badge {
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.25rem;
  padding: 0 0.4rem;
  background: #e2e8f0;
  color: #475569;
  font-size: 0.68rem;
  font-weight: 700;
  border-radius: 999px;
  line-height: 1;
}
.user-sidebar .lista_opciones .item_enlace:hover {
  background: #f1f5f9 !important;
  color: var(--clr-text-muted) !important;
}
.user-sidebar .lista_opciones .item_enlace:hover > .fa {
  color: #2563eb;
}
.user-sidebar .lista_opciones .item_enlace.active,
.user-sidebar .lista_opciones .item.active .item_enlace {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border-color: #bfdbfe !important;
  font-weight: 600 !important;
}
.user-sidebar .lista_opciones .item.active .item_enlace > .fa,
.user-sidebar .lista_opciones .item_enlace.active > .fa {
  color: #2563eb;
}
.user-sidebar .lista_opciones .item.active .item_enlace .user-sidebar__badge,
.user-sidebar .lista_opciones .item_enlace.active .user-sidebar__badge {
  background: #2563eb;
  color: #ffffff;
}
.user-sidebar__logout {
  color: #dc2626 !important;
}
.user-sidebar__logout > .fa {
  color: #dc2626 !important;
}
.user-sidebar__logout:hover {
  background: #fef2f2 !important;
  color: #b91c1c !important;
}
/* ---------- Dashboard pane ---------- */
.dashboard-pane {
  display: flex !important;
  flex-direction: column;
  gap: 1.25rem;
}
.dashboard-section {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  padding: 1.1rem 1.25rem 1.25rem 1.25rem;
}
.dashboard-section__title {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: 0;
  line-height: 1.3 !important;
  border: 0;
}
.dashboard-section__title > .fa {
  color: #2563eb;
  font-size: 1rem;
}
/* KPI grid + cards */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.85rem;
}
.kpi-card {
  display: flex !important;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  color: inherit;
  text-decoration: none !important;
  transition: transform 0.12s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
  position: relative;
  overflow: hidden;
}
.kpi-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #2563eb;
}
.kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  border-color: #cbd5e1;
  background: #ffffff;
}
.kpi-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #eff6ff;
  color: #2563eb;
  border-radius: 8px;
  font-size: 1rem;
}
.kpi-card__value {
  font-size: 1.65rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1;
  margin-top: 0.15rem;
}
.kpi-card__label {
  font-size: 0.82rem;
  color: #475569;
  font-weight: 500;
}
/* Variantes de color por KPI */
.kpi-card--bookmarks::before {
  background: #2563eb;
}
.kpi-card--bookmarks .kpi-card__icon {
  background: #eff6ff;
  color: #2563eb;
}
.kpi-card--comments::before {
  background: #0ea5e9;
}
.kpi-card--comments .kpi-card__icon {
  background: #e0f2fe;
  color: #0284c7;
}
.kpi-card--tags::before {
  background: #8b5cf6;
}
.kpi-card--tags .kpi-card__icon {
  background: #ede9fe;
  color: #7c3aed;
}
.kpi-card--rates::before {
  background: #f59e0b;
}
.kpi-card--rates .kpi-card__icon {
  background: #fffbeb;
  color: #d97706;
}
.kpi-card--alerts::before {
  background: #ef4444;
}
.kpi-card--alerts .kpi-card__icon {
  background: #fef2f2;
  color: #dc2626;
}
.kpi-card--citations::before {
  background: #16a34a;
}
.kpi-card--citations .kpi-card__icon {
  background: #ecfdf5;
  color: #15803d;
}
.kpi-card--purchases::before {
  background: #f97316;
}
.kpi-card--purchases .kpi-card__icon {
  background: #fff7ed;
  color: #ea580c;
}
/* Quick actions */
.quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}
.quick-action {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  color: inherit;
  text-decoration: none !important;
  transition: transform 0.12s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.quick-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  border-color: #2563eb;
  background: #ffffff;
}
.quick-action > .fa {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #2563eb;
  border-radius: 8px;
  font-size: 1rem;
}
.quick-action > div {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.quick-action strong {
  font-size: 0.9rem;
  font-weight: 600;
  color: #0f172a;
}
.quick-action small {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.3;
}
/* Activity feed */
.activity-feed {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.activity-feed__item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.65rem 0.85rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.activity-feed__icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 0.82rem;
}
.activity-feed__icon--bookmark {
  background: #eff6ff;
  color: #2563eb;
}
.activity-feed__icon--comment {
  background: #e0f2fe;
  color: #0284c7;
}
.activity-feed__icon--rate {
  background: #fffbeb;
  color: #d97706;
}
.activity-feed__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.activity-feed__label {
  font-size: 0.7rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}
.activity-feed__date {
  text-transform: none;
  letter-spacing: 0;
  color: #94a3b8;
}
.activity-feed__title {
  font-size: 0.88rem;
  color: var(--clr-text-muted) !important;
  font-weight: 500;
  text-decoration: none !important;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
}
.activity-feed__title:hover {
  color: #1d4ed8 !important;
  text-decoration: underline !important;
}
/* ---------- List pane (myBookmarks, myComments, myRates, myCitations, myPurchases) ---------- */
.mims-list-pane {
  display: flex !important;
  flex-direction: column;
  gap: 1rem;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  padding: 0 !important;
  overflow: hidden;
}
.mims-list-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem !important;
  margin: 0 !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border-bottom: 1px solid #e2e8f0;
  flex-wrap: wrap;
}
.mims-list-header__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex: 1 1 auto;
  min-width: 0;
}
.mims-list-header__title > .fa {
  color: #2563eb;
  font-size: 1.1rem;
}
.mims-list-header__title h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  font-family: inherit !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  border: 0 !important;
}
.mims-list-header__count {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 1.6rem;
  height: 1.4rem;
  padding: 0 0.55rem !important;
  background: #2563eb !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}
.mims-list-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mims-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1.25rem 1.25rem;
}
.mims-card {
  display: flex !important;
  align-items: stretch;
  gap: 0.85rem;
  padding: 0.85rem 0.95rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mims-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}
a.mims-card {
  color: inherit;
  text-decoration: none;
}
a.mims-card .mims-card__actions {
  align-self: center;
  color: #94a3b8;
  flex: 0 0 auto;
}
a.mims-card:hover .mims-card__actions {
  color: #2563eb;
}
.mims-card__icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 1rem;
  background: #eff6ff;
  color: #2563eb;
}
.mims-card__icon--bookmark {
  background: #eff6ff;
  color: #2563eb;
}
.mims-card__icon--comment {
  background: #e0f2fe;
  color: #0284c7;
}
.mims-card__icon--rate {
  background: #fffbeb;
  color: #d97706;
}
.mims-card__icon--citation {
  background: #ecfdf5;
  color: #15803d;
}
.mims-card__icon--purchase {
  background: #fff7ed;
  color: #ea580c;
}
.mims-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.mims-card__title,
.mims-card__title-plain {
  font-size: 0.92rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: hidden;
  margin: 0;
}
a.mims-card__title {
  color: #1d4ed8;
}
a.mims-card__title:hover {
  color: #1e3a8a;
  text-decoration: underline !important;
}
.mims-card__title-plain > .fa {
  color: #64748b;
  margin-right: 0.25rem;
}
.mims-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  font-size: 0.75rem;
  color: #64748b;
  align-items: center;
}
.mims-card__meta .fa {
  color: #94a3b8;
  margin-right: 0.2rem;
}
.mims-card__meta code {
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  padding: 0.05rem 0.35rem;
  font-size: 0.72rem;
  color: #475569;
}
.mims-card__quote {
  margin: 0;
  padding: 0.5rem 0.75rem;
  background: #f8fafc;
  border-left: 3px solid #0284c7;
  border-radius: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #334155;
  font-style: normal;
  max-width: 100%;
  word-break: break-word;
}
.mims-card__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  font-size: 0.9rem;
}
.mims-card__rating .fa {
  color: #d1d5db;
}
.mims-card__rating .fa.is-filled {
  color: #f59e0b;
}
.mims-card__rating-value {
  margin-left: 0.35rem;
  font-size: 0.8rem;
  color: #64748b;
  font-weight: 600;
}
.mims-status {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.55rem;
  font-size: 0.7rem;
  font-weight: 600;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.mims-status--pendiente,
.mims-status--solicitada,
.mims-status--pending {
  background: #fef3c7;
  color: #92400e;
}
.mims-status--confirmada,
.mims-status--confirmed {
  background: #dcfce7;
  color: #15803d;
}
.mims-status--cancelada,
.mims-status--cancelled,
.mims-status--rechazada {
  background: #fee2e2;
  color: #b91c1c;
}
/* Estados de ShopOrders (myOrders.jsp/myOrderDetail.jsp) — ShopService.OrderStatus */
.mims-status--initial {
  background: #e2e8f0;
  color: #475569;
}
.mims-status--validate {
  background: #dbeafe;
  color: #1e3a8a;
}
.mims-status--sended {
  background: #fef3c7;
  color: #92400e;
}
.mims-status--arrived {
  background: #dcfce7;
  color: #15803d;
}
.mims-status--canceled {
  background: #fee2e2;
  color: #b91c1c;
}
.mims-card__description--info {
  background: #eff6ff;
  border-left: 3px solid #2563eb;
  padding: 0.5rem 0.75rem;
  border-radius: 0 6px 6px 0;
  margin-top: 0.35rem;
  color: #1e3a8a;
  font-size: 0.85rem;
}
/* ---------- Mis prestamos: items dentro de una solicitud ---------- */
.mims-card__details {
  margin-top: 0.5rem;
}
.mims-card__details > summary {
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1e3a8a;
  padding: 0.25rem 0;
  user-select: none;
  list-style: none;
}
.mims-card__details > summary::-webkit-details-marker {
  display: none;
}
.mims-card__details > summary::before {
  content: "\f105";
  /* fa-angle-right */
  font-family: FontAwesome;
  display: inline-block;
  width: 1em;
  margin-right: 0.35rem;
  transition: transform 0.15s ease;
  color: #64748b;
}
.mims-card__details[open] > summary::before {
  transform: rotate(90deg);
}
.mims-card__itemlist {
  list-style: none;
  padding: 0.35rem 0 0.15rem 1.25rem;
  margin: 0;
  border-left: 2px solid #e2e8f0;
  margin-left: 0.5rem;
}
.mims-card__itemlist li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0;
  font-size: 0.85rem;
  line-height: 1.35;
}
.mims-card__itemlist li + li {
  border-top: 1px dashed #f1f5f9;
}
a.mims-item-title {
  color: #1d4ed8;
  font-weight: 500;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  word-break: break-word;
}
a.mims-item-title:hover {
  color: #1e3a8a;
  text-decoration: underline !important;
}
a.mims-item-title .fa {
  color: #64748b;
  flex: 0 0 auto;
}
.mims-card__itemlist .mims-item-title:not(a) {
  color: #475569;
  font-style: italic;
}
.mims-item-copies {
  font-size: 0.75rem;
  color: #64748b;
}
.mims-item-status {
  margin-left: auto;
}
.mims-card__actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  justify-content: center;
}
.mims-card__actions .btn,
.mims-card__actions a.btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.65rem !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  line-height: 1.3 !important;
  height: auto !important;
  margin: 0 !important;
}
.mims-card__actions .btn-outline-primary {
  background: transparent !important;
  border: 1px solid #2563eb !important;
  color: #2563eb !important;
}
.mims-card__actions .btn-outline-primary:hover {
  background: #2563eb !important;
  color: #ffffff !important;
}
.mims-card__actions .btn-outline-danger {
  background: transparent !important;
  border: 1px solid #dc2626 !important;
  color: #dc2626 !important;
}
.mims-card__actions .btn-outline-danger:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
}
@media (max-width: 575.98px) {
  .mims-card {
    flex-direction: column;
  }
  .mims-card__actions {
    flex-direction: row;
    justify-content: flex-end;
  }
}
/* ---------- Tag cloud personal ---------- */
.mims-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 1rem 1.25rem 1.25rem 1.25rem;
}
.mims-tag-chip {
  display: inline-flex;
  align-items: stretch;
  background: #ffffff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  overflow: hidden;
  transition: border-color 0.12s, box-shadow 0.12s, transform 0.1s;
}
.mims-tag-chip:hover {
  border-color: #2563eb;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.18);
  transform: translateY(-1px);
}
.mims-tag-chip__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.8rem;
  color: #1e3a8a;
  text-decoration: none !important;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1;
}
.mims-tag-chip__link::before {
  content: "#";
  font-weight: 700;
  color: #2563eb;
  opacity: 0.85;
}
.mims-tag-chip__link:hover {
  background: #eff6ff;
  color: #1d4ed8;
}
.mims-tag-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.35rem;
  background: #eff6ff;
  color: #1e3a8a;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  margin-left: 0.25rem;
}
.mims-tag-chip__delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.65rem;
  color: #94a3b8;
  background: transparent;
  border-left: 1px solid #e2e8f0;
  font-size: 0.75rem;
  text-decoration: none !important;
  transition: background 0.12s, color 0.12s;
}
.mims-tag-chip__delete:hover {
  background: #fee2e2;
  color: #dc2626;
}
/* ---------- Estado vacío ---------- */
.mims-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 2.5rem 1.5rem;
  margin: 0;
  text-align: center;
}
.mims-empty > .fa {
  font-size: 3rem;
  color: #cbd5e1;
}
.mims-empty strong {
  font-size: 1rem;
  color: #0f172a;
  font-weight: 600;
}
.mims-empty p {
  margin: 0;
  max-width: 480px;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #64748b;
}
.mims-empty .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 1rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: 0.3rem !important;
}
.mims-empty .btn:hover {
  filter: brightness(0.95);
}
/* ---------- Sin resultados (doc.jsp / search.jsp / mosaic.jsp / list.jsp) ----------
   Sustituye el .alert.alert-warning (o variantes .alert-danger, .toast sin
   .show) heredadas de Bootstrap 3 -- glyphicon sin equivalente en el set FA
   del tema, boton .close/data-dismiss sin estilo en BS5 (paso a llamarse
   .btn-close), o un .toast que nunca se muestra porque nada llama a
   bootstrap.Toast(...).show(). Mismo lenguaje visual que .mims-empty, pero
   autocontenido (tarjeta blanca propia) porque en estas 4 vistas no vive
   dentro de un .mims-list-pane. */
.no-results-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  max-width: 520px;
  margin: 2rem auto;
  padding: 2.5rem 1.5rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  text-align: center;
}
.no-results-card > .fa {
  font-size: 2.75rem;
  color: #f59e0b;
}
.no-results-card__msg {
  margin: 0;
  color: #334155;
  font-size: 0.95rem;
  line-height: 1.5;
}
.no-results-card__msg strong {
  color: #0f172a;
}
/* Sugerencia ortografica (search.jsp, response.info.collations) */
.no-results-card__suggest {
  margin: 0;
  color: #64748b;
  font-size: 0.85rem;
}
.no-results-card__suggest a {
  color: #2563eb;
  font-weight: 600;
  text-decoration: none;
}
.no-results-card__suggest a:hover {
  text-decoration: underline;
}
.no-results-card .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 1rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: 0.3rem !important;
}
.no-results-card .btn:hover {
  filter: brightness(0.95);
}
/* ---------- Modal de purchase / formularios in-page ---------- */
.mims-modal {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  margin: 1rem 1.25rem 1.25rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.mims-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.mims-form .form-control,
.mims-form .form-select {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  font-size: 0.88rem;
  box-shadow: none;
}
.mims-form .form-control:focus,
.mims-form .form-select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
  outline: none;
}
/* =====================================================================
   Detalle de pedido (login/myOrderDetail.jsp) — mismo lenguaje visual que
   .mims-list-pane/.mims-card (tarjetas blancas, borde #e2e8f0, radio 10-12px,
   acento #2563eb), reutilizando .mims-status para la pastilla de estado.
   ===================================================================== */
.mims-order-detail__back {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: #475569;
  margin-bottom: 0.75rem;
}
.mims-order-detail__back:hover {
  color: #2563eb;
}
.mims-order-panels {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 1rem;
  padding: 1.25rem;
}
@media (max-width: 900px) {
  .mims-order-panels {
    grid-template-columns: 1fr;
  }
}
.mims-order-panel {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}
.mims-order-panel__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1rem;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0f172a;
}
.mims-order-panel__head > .fa {
  color: #2563eb;
}
.mims-order-panel__body {
  padding: 0.9rem 1rem;
}
.mims-order-kv {
  width: 100%;
  border-collapse: collapse;
}
.mims-order-kv th,
.mims-order-kv td {
  text-align: left;
  padding: 0.4rem 0;
  font-size: 0.85rem;
  vertical-align: top;
  border-bottom: 1px solid #f1f5f9;
}
.mims-order-kv tr:last-child th,
.mims-order-kv tr:last-child td {
  border-bottom: none;
}
.mims-order-kv th {
  width: 40%;
  color: #64748b;
  font-weight: 500;
}
.mims-order-items {
  padding: 0 1.25rem 1.25rem;
}
.mims-order-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}
.mims-order-table th {
  text-align: left;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #64748b;
  background: #f8fafc;
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid #e2e8f0;
}
.mims-order-table td {
  padding: 0.6rem 0.75rem;
  font-size: 0.85rem;
  color: #1e293b;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
}
.mims-order-table tr:last-child td {
  border-bottom: none;
}
.mims-order-table td.num {
  text-align: right;
  white-space: nowrap;
}
.mims-order-table td.center {
  text-align: center;
}
.mims-order-table tr.total-row td {
  border-top: 1.5px solid #0f172a;
  border-bottom: none;
  font-weight: 700;
  padding-top: 0.75rem;
}
.mims-order-observations {
  margin: 0 1.25rem 1.25rem;
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  white-space: pre-wrap;
  font-size: 0.82rem;
  color: #334155;
}
/* =====================================================================
   M-bis) RESULTS-LIST TABLE — vista list (búsqueda en formato tabla)
   ===================================================================== */
.res_container.vista_list {
  margin: 0;
}
.results-list-wrap {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow-x: auto;
  /* scroll horizontal si hay demasiadas columnas */
  margin: 0 0 1rem;
}
.results-list-table {
  width: 100%;
  margin: 0;
  font-size: 0.82rem;
}
.results-list-table > thead > tr > th {
  background: var(--clr-bg-subtle);
  color: var(--clr-text-muted);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid var(--clr-border-light);
  border-top: 0;
  padding: 0.4rem 0.6rem;
  white-space: nowrap;
}
.results-list-table > tbody > tr {
  background: var(--clr-bg-card);
  transition: background 0.12s ease;
}
.results-list-table > tbody > tr:hover {
  background: var(--clr-bg-subtle);
}
.results-list-table > tbody > tr > td,
.results-list-table > tbody > tr > th {
  padding: 0.35rem 0.6rem;
  border-top: 1px solid var(--clr-border-light);
  border-bottom: 0;
  vertical-align: middle;
}
.results-list-table > tbody > tr:first-child > td,
.results-list-table > tbody > tr:first-child > th {
  border-top: 0;
}
/* ═══════════════════════════════════════════════════════════════════
   Vista TABLA: acabado más suave y compacto + columnas vacías plegadas
   ───────────────────────────────────────────────────────────────────
   El primer acabado salía "duro": cabeceras en mayúsculas, negrita y con
   letter-spacing, y las celdas heredaban del tema negrita y centrado, así
   que toda la tabla gritaba a la vez. Aquí se rebaja el contraste y se
   condensa para que quepan más columnas sin scroll.
   ═══════════════════════════════════════════════════════════════════ */
.results-list-table > thead > tr > th {
  /* Sin mayúsculas forzadas: las etiquetas ya vienen escritas como deben leerse,
	   y en mayúsculas los nombres largos ocupan casi el doble. */
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.74rem;
  font-weight: 600;
  padding: 0.35rem 0.5rem;
  background: var(--clr-bg-subtle);
  color: var(--clr-text-muted);
}
.results-list-table > tbody > tr > td,
.results-list-table > tbody > tr > th {
  padding: 0.3rem 0.5rem;
}
/* El contenido de las celdas hereda del tema negrita + centrado; aquí se normaliza
   a texto normal alineado a la izquierda, que es como se lee una tabla de datos. */
.results-list-table > tbody > tr > td,
.results-list-table > tbody > tr > td * {
  font-weight: 400;
}
.results-list-table > tbody > tr > td {
  text-align: left;
}
.results-list-table > tbody > tr > td.results-list-row__num,
.results-list-table > tbody > tr > th.results-list-row__num,
.results-list-table > tbody > tr > td.results-list-row__thumb {
  text-align: center;
}
.results-list-table > tbody > tr > td.results-list-row__actions {
  text-align: right;
}
/* El título sí mantiene algo de peso: es el ancla de la fila. */
.results-list-table > tbody > tr > td.results-list-row__title,
.results-list-table > tbody > tr > td.results-list-row__title a {
  font-weight: 500;
}
/* ── Columnas sin datos: plegadas a una banda, se despliegan al pulsar ──
   La clase la pone app.list.js tras comprobar que TODAS las celdas de esa
   columna están vacías. La etiqueta va en el title del th. */
.results-list-table > thead > tr > th.is-empty-col {
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  padding: 0.35rem 0.15rem;
  font-size: 0;
  /* oculta el texto sin sacarlo del DOM (accesible por title) */
  cursor: pointer;
  background: var(--clr-bg-muted);
  position: relative;
}
.results-list-table > thead > tr > th.is-empty-col::after {
  content: "⋯";
  display: block;
  font-size: 0.8rem;
  line-height: 1;
  text-align: center;
  color: var(--clr-text-light);
}
.results-list-table > thead > tr > th.is-empty-col:hover::after,
.results-list-table > thead > tr > th.is-empty-col:focus::after {
  color: var(--clr-accent);
}
.results-list-table > tbody > tr > td.is-empty-col {
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
/* Cualquier columna de plantilla o extra se puede plegar pulsando su cabecera; la
   decisión se recuerda en el navegador (localStorage). Se marca con un chevron discreto
   que solo aparece al pasar por encima, para no ensuciar la cabecera. */
.results-list-table > thead > tr > th.is-collapsible {
  cursor: pointer;
  user-select: none;
}
.results-list-table > thead > tr > th.is-collapsible:not(.is-empty-col)::after {
  content: "‹";
  margin-left: 0.3rem;
  color: var(--clr-text-light);
  opacity: 0;
  transition: opacity 0.12s;
}
.results-list-table > thead > tr > th.is-collapsible:not(.is-empty-col):hover::after,
.results-list-table > thead > tr > th.is-collapsible:not(.is-empty-col):focus::after {
  opacity: 1;
}
.results-list-table > thead > tr > th.is-collapsible:focus-visible {
  outline: 2px solid var(--clr-accent);
  outline-offset: -2px;
}
/* Botón "mostrar todas las columnas": vive en la cabecera del número y solo existe
   mientras haya alguna columna plegada. */
.results-list-table__restore {
  display: block;
  margin: 0.15rem auto 0;
  padding: 0 0.15rem;
  border: 0;
  background: transparent;
  color: var(--clr-text-light);
  font-size: 0.7rem;
  line-height: 1;
  cursor: pointer;
}
.results-list-table__restore:hover,
.results-list-table__restore:focus {
  color: var(--clr-accent);
}
/* Columnas (compactas) */
.results-list-table__col-num {
  width: 34px;
  text-align: center;
}
.results-list-table__col-thumb {
  width: 46px;
}
.results-list-table__col-rating {
  width: 110px;
}
.results-list-table__col-stats {
  width: 110px;
}
.results-list-table__col-actions {
  width: 1%;
  white-space: nowrap;
}
.results-list-table__col-extra {
  width: auto;
  max-width: 200px;
}
.results-list-table__col-tpl {
  white-space: nowrap;
}
/* ── Celda de acciones: botones (pequeños e iguales) + valoración/estadísticas debajo ── */
.results-list-row__actions {
  white-space: nowrap;
}
.results-list-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
}
.results-list-actions__btns {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.results-list-actions__btns .cont_seleccion {
  display: inline-flex;
  align-items: center;
  gap: 0;
}
/* Botones de acción: TODOS exactamente 24×24 e idénticos en forma.
   El motivo de que se descuadraran: impresión y carrito llevan la clase legacy
   .label_impresion, y reglas como `.cont_seleccion.cont_seleccion_impresion
   .label_impresion` (esp. 0,3,0) les imponen display:block / float:left / border:0 /
   background:none / margin, que NO afectan al botón "ver". Lo neutralizamos aquí
   con !important para que los tres tengan exactamente la misma caja. */
.results-list-actions__btns .btn,
.results-list-actions__btns .cont_seleccion .label_impresion,
.results-list-actions__btns .cont_seleccion .label_impresion.clickable {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  line-height: 1 !important;
  border-radius: var(--radius-sm) !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
}
/* El borde "bueno" es el del propio botón. Impresión/carrito (.label_impresion) lo
   recuperan en gris; "ver" conserva el azul de btn-outline-primary. */
.results-list-actions__btns .cont_seleccion .label_impresion {
  border: 1px solid var(--clr-border, #ced4da) !important;
  background: var(--color_04, #fff) !important;
  color: var(--clr-text-muted, #6c757d) !important;
}
/* El recuadro externo SOBRA: el contenedor .cont_seleccion trae border:1px / fondo /
   padding propios (legacy) que envolvían al botón con un segundo borde. Lo quitamos
   para que solo quede el borde del botón, igual que en "ver". */
.results-list-actions__btns .cont_seleccion {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.results-list-actions__btns .btn > .fa,
.results-list-actions__btns .btn > i,
.results-list-actions__btns .label_impresion > .fa,
.results-list-actions__btns .label_impresion > i {
  position: static !important;
  float: none !important;
  font-size: 12px !important;
  line-height: 1 !important;
  width: auto !important;
  margin: 0 !important;
  color: inherit !important;
}
/* El checkbox/switch de selección rompía la igualdad de los botones: lo ocultamos.
   La selección impresión/carrito se hace con el propio botón (clase clickable). */
.results-list-actions__btns .cont_seleccion .js-switch,
.results-list-actions__btns .cont_seleccion input[type="checkbox"],
.results-list-actions__btns .cont_seleccion .bootstrap-switch,
.results-list-actions__btns .cont_seleccion .switchery {
  display: none !important;
}
/* Como ocultamos el switch, el botón refleja el estado "seleccionado". */
.results-list-actions__btns .cont_seleccion:has(.switchery_true) .label_impresion,
.results-list-actions__btns .cont_seleccion:has(.switchery_true) .btn {
  background: var(--clr-primary) !important;
  color: var(--color_04, #fff) !important;
  border-color: var(--clr-primary) !important;
}
/* Meta: valoración + estadísticas en una línea, mínimo espacio. */
.results-list-actions__meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.3rem 0.45rem;
  font-size: 0.72rem;
  color: var(--clr-text-muted);
}
.results-list-actions__meta .valoraciones_usuario {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
}
.results-list-actions__meta .results-list-row__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0;
  white-space: nowrap;
}
/* Título: ancho mínimo para que no se aplaste (y pueda hacer wrap). */
.results-list-row__title {
  min-width: 150px;
}
/* Columnas de plantilla (campo=valor): compactas, una línea con elipsis. */
.results-list-row__tpl {
  color: var(--clr-text-body);
  font-size: 0.78rem;
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.results-list-row__num {
  color: var(--clr-text-light);
  font-weight: 600;
  text-align: center;
  font-size: 0.78rem;
}
/* Miniatura mucho más pequeña — es una tabla */
.results-list-row__thumb .cont_thumbnail {
  width: 36px;
  height: 48px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--clr-bg-muted);
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--clr-border-light);
}
.results-list-row__thumb .cont_thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.results-list-row__title .list-title {
  display: block;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--clr-text-main);
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: 0.1rem;
}
.results-list-row__title .list-title:hover {
  color: var(--clr-accent);
  text-decoration: underline;
}
.results-list-row__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.35rem;
  margin-top: 0.3rem;
}
.results-list-row__tag {
  font-size: 0.72rem;
  color: #1e3a8a;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
  line-height: 1.4;
}
.results-list-row__extra {
  color: #475569;
  font-size: 0.85rem;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Expandir al pulsar las celdas recortadas (plantilla / campos extra).
 * app.list.js marca con .is-truncated las celdas cuyo texto está recortado por
 * la elipsis (pista visual: cursor) y alterna .is-expanded al pulsar; en ese
 * estado se anula el recorte para ver el texto completo (envuelve y usa el
 * ancho que necesite). */
.results-list-row__tpl.is-truncated,
.results-list-row__extra.is-truncated {
  cursor: pointer;
}
.results-list-row__tpl.is-truncated:hover,
.results-list-row__extra.is-truncated:hover {
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}
.results-list-row__tpl.is-expanded,
.results-list-row__extra.is-expanded {
  max-width: none;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
}
.results-list-row__rating .valoraciones_usuario {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.results-list-row__rating .rating_cifra {
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 600;
}
.results-list-row__stats {
  white-space: nowrap;
}
.results-list-row__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0 0.35rem;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 600;
}
.results-list-row__stat .fa {
  color: #94a3b8;
}
.results-list-row__actions .btn {
  border-radius: 6px !important;
  width: 34px;
  height: 34px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.results-list-row__actions .cont_seleccion input[type="checkbox"] {
  display: none;
}
/* Empty / mensaje cuando no hay resultados */
.doc_list .toast {
  margin: 1.5rem auto;
  max-width: 600px;
}
/* Responsive: en móvil, colapsamos columnas no esenciales */
@media (max-width: 768px) {
  .results-list-table__col-num,
  .results-list-table__col-thumb,
  .results-list-row__num,
  .results-list-row__thumb {
    display: none;
  }
  .results-list-table__col-extra,
  .results-list-row__extra {
    display: none;
  }
  .results-list-table__col-stats {
    width: auto;
  }
}
/* =====================================================================
   N-bis) ALBUM CARDS — variants for myAlbumns / myAlbumnsShared
   ===================================================================== */
.mims-card__icon--album {
  background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);
  box-shadow: 0 2px 6px rgba(3, 105, 161, 0.25);
}
/* Portada del album (myAlbumns.jsp): mosaico 2x2 de hasta 4 miniaturas de sus
   registros ("una especie de album"), o el icono degradado de siempre si aun
   no tiene contenido (AlbumRecord vacio). Sustituye a .mims-card__icon--album
   como primer hijo flex de .mims-card cuando hay preview. */
a.mims-album-cover {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1px;
  background: #e2e8f0;
}
a.mims-album-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
a.mims-album-cover .mims-card__icon--album {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
/* Grid de contenido de un album (myAlbumDetail.jsp). */
.mims-album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
  padding: 1rem 1.25rem 1.25rem;
}
.mims-album-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mims-album-item:hover {
  border-color: #cbd5e1;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}
.mims-album-item__img {
  display: block;
  aspect-ratio: 1 / 1;
  background: #f1f5f9;
}
.mims-album-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mims-album-item__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  padding: 0.5rem 0.6rem;
  border-top: 1px solid #f1f5f9;
}
.mims-album-item__title {
  font-size: 0.78rem;
  color: #334155;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}
.mims-album-item__title:hover {
  color: #2563eb;
}
.mims-card__icon--shared {
  background: linear-gradient(135deg, #a855f7 0%, #7e22ce 100%);
  box-shadow: 0 2px 6px rgba(126, 34, 206, 0.25);
}
.mims-card__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.25rem;
}
.mims-card__description {
  margin: 0.1rem 0 0.35rem;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.45;
}
.mims-card__access {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
}
.mims-card__access--PUBLIC,
.mims-card__access--public {
  background: #dcfce7;
  color: #166534;
}
.mims-card__access--PRIVATE,
.mims-card__access--private {
  background: #fee2e2;
  color: #991b1b;
}
.mims-card__access--SHARED,
.mims-card__access--shared {
  background: #ede9fe;
  color: #5b21b6;
}
.mims-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1rem;
  color: #64748b;
  font-size: 0.82rem;
}
.mims-card__meta .fa {
  margin-right: 0.3rem;
  color: #94a3b8;
}
/* =====================================================================
   N) ALERTS PAGE — bloque de contacto (el catalogo de alertas y la
   bandeja de notificaciones se rediseñaron el 2026-09-12 como tarjetas
   simples, ver seccion "Q) alertsOpac.jsp" mas abajo; el toolbar/tabla/
   alert-row de esta seccion ya no se usan, se ha retirado ese CSS).
   ===================================================================== */
/* Utilidad legacy: .oculto */
/* ---------- Bloque colapsable de contacto ---------- */
.alerts-contact-block {
  margin: 1.25rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.alerts-contact-block__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 1.25rem !important;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%) !important;
  color: #1e293b !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  transition: background 0.15s ease;
}
.alerts-contact-block__toggle:hover {
  background: #eef2f7 !important;
}
.alerts-contact-block__toggle .fa-envelope-o {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex: 0 0 auto;
}
.alerts-contact-block__toggle > span {
  flex: 1 1 auto;
  text-align: left;
}
.alerts-contact-block__caret {
  color: #64748b;
  transition: transform 0.2s ease;
}
.alerts-contact-block__toggle[aria-expanded="true"] .alerts-contact-block__caret {
  transform: rotate(180deg);
}
.alerts-contact-block__body {
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: 1px solid #e2e8f0;
  background: #ffffff;
}
.alerts-contact-block__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.alerts-contact-block__title .fa {
  color: #2563eb;
}
.alerts-contact-block__intro {
  margin: 0 0 1rem;
  color: #475569;
  font-size: 0.9rem;
}
/* ============================================================
   FIX 2026-07-14 — FACETAS (col_izqda): etiqueta pegada al check,
   alineada a la IZQUIERDA, con aire respecto al check, y recorte
   con ellipsis (…) cuando el texto no cabe en la línea (el texto
   completo ya está en el tooltip nativo del <a title="...">).
   La cifra (badge) se mantiene al extremo derecho de la fila.

   Se fuerza aquí (capa final de cascada) con la misma especificidad
   :is(...) que el bloque de _filters.less + !important, para ganar a
   cualquier formato de faceta (tipo_switchery / tipo_icono /
   tipo_*_dato_texto…) o CSS de cliente que estuviera alineando el
   título a la derecha.
   ============================================================ */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda li.filter-facets {
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  /* aire entre el check y la etiqueta */
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links {
  justify-content: flex-start !important;
  text-align: left !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links .cont_titulo,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links .enlace,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links .titulo {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* La cifra/badge siempre a la derecha; las cifras nunca empujan el título. */
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links .cont_cifra.pos,
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links .badge {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}
#page-main:is(.doc_search, .doc_mosaic, .doc_doc, .doc_advanced, .doc_more_info, .doc_list) .col_izqda .list-group-item.filter-facets .facet-links .cont_cifra.ant {
  flex: 0 0 auto !important;
}
/* ═══════════════════════════════════════════════════════════════════════════
   Ventana de AYUDA de los campos (búsqueda avanzada) — solo albadoc
   ───────────────────────────────────────────────────────────────────────────
   La ayuda se pintaba en una modal genérica: alta y medio vacía (el
   `.modal .modal-body` global tiene `min-height:300px`, pensado para modales
   de contenido), sin jerarquía visual y con el botón de cerrar centrado.
   Aquí se le da tamaño según el contenido y un aspecto de "nota de ayuda".
   El tamaño horizontal lo traía `modal_50` (50% / 560px) desde el JSP; se
   ignora a propósito: para dos líneas de texto sobraba la mitad.
   ═══════════════════════════════════════════════════════════════════════════ */
.modal.modal_ayuda {
  /* Cabecera más contenida; el icono lo inyecta AYUDA.modal.pinta. */
  /* LO IMPORTANTE: la altura la manda el contenido. */
  /* El texto va en un panel suave con filete de acento a la izquierda: da
     jerarquía sin añadir ruido, y con poco texto no parece una modal vacía. */
  /* Pie discreto: botón a la derecha y sin barra corporativa. */
  /* Poco texto: aún más estrecha. La clase la pone el JS midiendo el contenido. */
}
.modal.modal_ayuda .modal-dialog {
  width: auto;
  max-width: 520px;
  /* Centrada en vertical: antes quedaba pegada arriba y con un hueco enorme
       debajo del texto. */
  min-height: calc(100% - 3.5rem);
  justify-content: center;
}
.modal.modal_ayuda .modal-content {
  border: 0;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1);
  overflow: hidden;
}
.modal.modal_ayuda .modal-header {
  padding: 10px 45px 10px 16px;
}
.modal.modal_ayuda .modal-header .modal-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
}
.modal.modal_ayuda .modal-header .modal-title .icono {
  font-size: 1.05rem;
  opacity: 0.85;
}
.modal.modal_ayuda .modal-body {
  min-height: 0;
  padding: 16px;
  font-size: 0.82rem;
  line-height: 1.6em;
  color: #334155;
  background-color: #ffffff;
}
.modal.modal_ayuda .modal_ayuda_cont {
  position: relative;
  padding: 12px 14px 12px 16px;
  border-left: 3px solid #3a7ca5;
  border-radius: 6px;
  background-color: #f8fafc;
  /* Cuando la clave i18n no está definida, el JSP pinta la propia clave.
       AYUDA.modal.pinta lo detecta y marca el contenido para que no se muestre
       un texto técnico al ciudadano. */
}
.modal.modal_ayuda .modal_ayuda_cont p {
  margin: 0 0 0.6em 0;
}
.modal.modal_ayuda .modal_ayuda_cont p:last-child {
  margin-bottom: 0;
}
.modal.modal_ayuda .modal_ayuda_cont ul,
.modal.modal_ayuda .modal_ayuda_cont ol {
  margin: 0 0 0.6em 1.2em;
  padding: 0;
}
.modal.modal_ayuda .modal_ayuda_cont.sin_ayuda {
  border-left-color: #d8dee9;
  color: #64748b;
  font-style: italic;
}
.modal.modal_ayuda .modal-footer {
  padding: 8px 12px;
  text-align: right;
  background-color: #f1f5f9;
  border-top: 1px solid #e2e8f0;
}
.modal.modal_ayuda .modal-footer .btn {
  min-width: auto;
  padding: 5px 14px;
  font-size: 0.78rem;
  background-color: #2c6280;
  color: #FFFFFF;
}
.modal.modal_ayuda .modal-footer .btn:hover,
.modal.modal_ayuda .modal-footer .btn:focus,
.modal.modal_ayuda .modal-footer .btn:active {
  background-color: #1e5687;
  color: #FFFFFF;
}
.modal.modal_ayuda.modal_ayuda_sm .modal-dialog {
  max-width: 400px;
}
@media screen and (max-width: 767.98px) {
  .modal.modal_ayuda .modal-dialog {
    width: 92%;
    max-width: none;
  }
}
/* vista tabla: plegado de columnas vacias */
/* plegado de columnas: manual + memoria */
/* ============================================================
   O) userinfo.jsp ("Mi perfil") — rediseño 2026-09-12
   ============================================================
   Antes .userinfojsp compartia el bloque "centered card" de
   _alerts.less/_core.less (misma familia que login/remember/
   update-password): panel limitado a max-width:640px + .botonera
   con flex-direction:column heredado del mixin .centrado. Tenia
   sentido para esas paginas de una sola columna, pero userinfo.jsp
   vive dentro del layout de dos columnas .tipo_mymediasearch (menu
   lateral + panel), asi que quedaba un panel estrecho y centrado
   dentro de una columna ancha, y los 3 botones (guardar/vaciar/
   eliminar) apilados en vertical con alturas distintas.
   Se ha quitado .userinfojsp de esos bloques compartidos (ver
   _alerts.less y _core.less) y aqui se define su propio estilo:
   panel a ancho completo, formulario legible, botonera en una
   linea con aspecto uniforme, canales de alertas agrupados en un
   panel de tarjetas, y un menu de anclas lateral a la derecha.
   ============================================================ */
/* ---------- Layout: contenido + menu de anclas a la derecha ---------- */
#page-main.userinfojsp .userinfo-layout {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  width: 100%;
}
#page-main.userinfojsp .userinfo-main {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
#page-main.userinfojsp .userinfo-anchor-nav {
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: sticky;
  top: 1rem;
  align-self: flex-start;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: 0.6rem;
}
#page-main.userinfojsp .userinfo-anchor-nav__link {
  padding: 0.55rem 0.75rem;
  border-radius: var(--radius-sm);
  color: var(--clr-text-body);
  font-size: 0.83rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.12s, color 0.12s;
}
#page-main.userinfojsp .userinfo-anchor-nav__link:hover {
  background: var(--clr-bg-muted);
  color: var(--clr-text-main);
}
#page-main.userinfojsp .userinfo-anchor-nav__link.is-active {
  background: var(--clr-accent);
  color: #fff;
}
@media screen and (max-width: 991.98px) {
  #page-main.userinfojsp .userinfo-anchor-nav {
    display: none;
  }
}
/* ---------- Seccion 1: panel de datos del usuario, ancho completo ---------- */
#page-main.userinfojsp .cont_panel_form {
  width: 100%;
}
#page-main.userinfojsp .cont_panel_form .panel.panel-info {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  flex: 1 1 auto;
  margin: 0;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
}
#page-main.userinfojsp .cont_panel_form .panel-heading {
  background: var(--clr-bg-subtle);
  border: none;
  border-bottom: 1px solid var(--clr-border-light);
  border-radius: 0;
  padding: 0.85rem 1.4rem;
  margin: 0;
}
#page-main.userinfojsp .cont_panel_form .panel_titulo {
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--clr-primary);
  font-family: inherit;
  text-transform: none;
  line-height: 1.3;
  background: transparent;
  border: none;
  text-shadow: none;
}
#page-main.userinfojsp .cont_panel_form .panel-body {
  padding: 1.5rem 1.75rem;
  background: transparent;
  border: none;
}
#page-main.userinfojsp .cont_formulario {
  width: 100%;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Campos del formulario: label encima del input, a ancho completo. */
#page-main.userinfojsp form .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  width: 100%;
}
#page-main.userinfojsp form .form-group .control-label,
#page-main.userinfojsp form label {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--clr-text-body);
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto;
  line-height: 1.35;
}
#page-main.userinfojsp form .col-sm-8,
#page-main.userinfojsp form .col-sm-4 {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  padding: 0;
}
#page-main.userinfojsp form .form-control {
  display: block;
  width: 100%;
  height: 38px;
  padding: 0.5rem 0.75rem;
  font-size: 0.88rem;
  color: var(--clr-text-main);
  background-color: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  box-shadow: none;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0;
}
#page-main.userinfojsp form .form-control:focus {
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(58, 124, 165, 0.15);
  outline: none;
}
/* Botonera: una sola linea, mismo alto/forma para las 3 acciones,
   jerarquia por color (guardar=solido, vaciar=neutro, eliminar=peligro). */
#page-main.userinfojsp .cont_botonera {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0.25rem 0 0;
  padding: 0;
  width: 100%;
  border: none;
  background: transparent;
}
#page-main.userinfojsp .botonera {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  margin: 0;
  padding: 0;
}
/* Especificidad reforzada (#id + 4 clases) a proposito: el bloque de
   "boton mostrar mas" de _user_pages.less (#page-main.tipo_mymediasearch
   .col_dcha .cont_botonera .btn, misma cadena de ancestros por
   coincidencia de nombres de clase) tambien pone !important a
   background/border con esa misma especificidad — sin iguales o
   superarla aqui, esas reglas seguian ganando y los 3 botones salian
   todos blancos/grises identicos pase lo que pase con btn_enviar/
   btn_limpiar/btn_delete de abajo. */
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .botonera .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 40px !important;
  min-width: 130px;
  padding: 0 1.2rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_enviar {
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  color: #fff !important;
  /* siempre primero: la accion principal manda visualmente */
  order: 1;
}
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_enviar:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_limpiar {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  color: var(--clr-text-body) !important;
  font-weight: 500 !important;
  order: 2;
}
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_limpiar:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-text-light) !important;
  color: var(--clr-text-main) !important;
}
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_delete {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-danger) !important;
  color: var(--clr-danger) !important;
  font-weight: 500 !important;
  min-width: 110px;
  /* accion destructiva, deliberadamente al final */
  order: 3;
  margin-left: auto;
}
#page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_delete:hover {
  background: var(--clr-danger) !important;
  border-color: var(--clr-danger) !important;
  color: #fff !important;
}
@media screen and (max-width: 575.98px) {
  #page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_delete {
    margin-left: 0;
  }
  #page-main.userinfojsp.tipo_mymediasearch .col_dcha .cont_botonera .botonera .btn {
    flex: 1 1 auto;
  }
}
/* ---------- Seccion 2: canales de alertas — panel de tarjetas ---------- */
#page-main.userinfojsp .channel-section__intro {
  margin: -0.5rem 0 0;
  color: var(--clr-text-muted);
  font-size: 0.85rem;
  line-height: 1.5;
}
#page-main.userinfojsp .channel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
}
#page-main.userinfojsp .channel-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  background: var(--clr-bg-subtle);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1rem 1.1rem;
  transition: box-shadow 0.15s, border-color 0.15s;
}
#page-main.userinfojsp .channel-card:hover {
  border-color: var(--clr-border);
  box-shadow: var(--shadow-xs);
}
#page-main.userinfojsp .channel-card__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(58, 124, 165, 0.12);
  color: var(--clr-accent);
  font-size: 1.15rem;
}
#page-main.userinfojsp .channel-card__icon--whatsapp {
  background: rgba(37, 211, 102, 0.14);
  color: #1da851;
}
#page-main.userinfojsp .channel-card__icon--telegram {
  background: rgba(38, 165, 228, 0.14);
  color: #26a5e4;
}
#page-main.userinfojsp .channel-card__content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#page-main.userinfojsp .channel-card__title {
  margin: 0;
  padding: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--clr-text-main);
  font-family: inherit;
  text-transform: none;
  line-height: 1.3;
  border: none;
  background: transparent;
}
#page-main.userinfojsp .channel-card__desc {
  margin: 0;
  color: var(--clr-text-muted);
  font-size: 0.8rem;
  line-height: 1.5;
}
#page-main.userinfojsp .channel-card__desc--muted {
  font-style: italic;
}
#page-main.userinfojsp .channel-card__body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}
#page-main.userinfojsp .channel-card__value {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--clr-text-body);
}
#page-main.userinfojsp .channel-card__error {
  color: var(--clr-danger);
  font-size: 0.78rem;
}
#page-main.userinfojsp .channel-card__error:empty {
  display: none;
}
#page-main.userinfojsp .channel-card__success {
  color: var(--clr-success);
}
/* Badge de estado (Activado / Vinculado) */
#page-main.userinfojsp .channel-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
}
#page-main.userinfojsp .channel-badge--on {
  background: rgba(16, 185, 129, 0.13);
  color: #0d9668;
}
#page-main.userinfojsp .channel-badge--off {
  background: var(--clr-bg-muted);
  color: var(--clr-text-muted);
}
/* Campo de telefono/codigo dentro de una tarjeta */
#page-main.userinfojsp .channel-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  width: 100%;
}
#page-main.userinfojsp .channel-field label {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--clr-text-body);
}
#page-main.userinfojsp .channel-input {
  height: 36px;
  padding: 0 0.65rem;
  font-size: 0.85rem;
  color: var(--clr-text-main);
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  box-shadow: none;
  transition: border-color 0.12s, box-shadow 0.12s;
}
#page-main.userinfojsp .channel-input:focus {
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(58, 124, 165, 0.15);
  outline: none;
}
#page-main.userinfojsp .channel-input--code {
  max-width: 140px;
  letter-spacing: 0.15em;
  font-weight: 600;
  text-align: center;
}
/* Botones de canal: mismo alto/forma que la botonera principal, pero
   mas compactos (viven dentro de una tarjeta, no en la cabecera). */
#page-main.userinfojsp .channel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 0.95rem;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: var(--radius-sm);
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.userinfojsp .channel-btn--primary {
  background: var(--clr-accent);
  border: 1px solid var(--clr-accent);
  color: #fff;
}
#page-main.userinfojsp .channel-btn--primary:hover {
  background: var(--clr-accent-dark);
  border-color: var(--clr-accent-dark);
}
#page-main.userinfojsp .channel-btn--success {
  background: var(--clr-success);
  border: 1px solid var(--clr-success);
  color: #fff;
}
#page-main.userinfojsp .channel-btn--success:hover {
  filter: brightness(0.93);
}
#page-main.userinfojsp .channel-btn--ghost {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  color: var(--clr-text-body);
  font-weight: 500;
}
#page-main.userinfojsp .channel-btn--ghost:hover {
  background: var(--clr-bg-muted);
  border-color: var(--clr-text-light);
  color: var(--clr-text-main);
}
/* Instrucciones de vinculacion de Telegram (codigo a enviar al bot) */
#page-main.userinfojsp .channel-instructions {
  width: 100%;
  margin-top: 0.35rem;
  padding: 0.65rem 0.8rem;
  background: var(--clr-bg-card);
  border: 1px dashed var(--clr-border);
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
}
#page-main.userinfojsp .channel-instructions p {
  margin: 0 0 0.3rem;
}
#page-main.userinfojsp .channel-instructions p:last-child {
  margin-bottom: 0;
}
#page-main.userinfojsp .channel-instructions code {
  background: var(--clr-bg-muted);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
}
/* ============================================================
   P) update.password.jsp ("Contraseña") — mismo rediseño que
   userinfojsp (panel a ancho completo, botonera en una linea con
   aspecto consistente), pero SIN menu de anclas: es una sola
   seccion, no hace falta navegar entre partes. Se ha quitado
   .updatepasswordjsp del bloque compartido "centered card" de
   _alerts.less/_core.less (igual que se hizo con .userinfojsp) --
   el bloque de mensajes/alertas (.cont_informaciones/.cont_mensaje)
   de _alerts.less SI sigue aplicando aqui, no se ha tocado.
   ============================================================ */
#page-main.updatepasswordjsp .cont_panel_form {
  width: 100%;
}
#page-main.updatepasswordjsp .cont_panel_form .panel.panel-info {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  flex: 1 1 auto;
  margin: 0;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
}
#page-main.updatepasswordjsp .cont_panel_form .panel-heading {
  background: var(--clr-bg-subtle);
  border: none;
  border-bottom: 1px solid var(--clr-border-light);
  border-radius: 0;
  padding: 0.85rem 1.4rem;
  margin: 0;
}
#page-main.updatepasswordjsp .cont_panel_form .panel_titulo {
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--clr-primary);
  font-family: inherit;
  text-transform: none;
  line-height: 1.3;
  background: transparent;
  border: none;
  text-shadow: none;
}
#page-main.updatepasswordjsp .cont_panel_form .panel-body {
  padding: 1.5rem 1.75rem;
  background: transparent;
  border: none;
}
#page-main.updatepasswordjsp .cont_formulario {
  width: 100%;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Campos: label encima del input, a ancho completo (mismo patron que userinfojsp). */
#page-main.updatepasswordjsp form .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  width: 100%;
}
#page-main.updatepasswordjsp form .form-group .control-label,
#page-main.updatepasswordjsp form label {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--clr-text-body);
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto;
  line-height: 1.35;
}
#page-main.updatepasswordjsp form .col-sm-8,
#page-main.updatepasswordjsp form .col-sm-4 {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  padding: 0;
}
#page-main.updatepasswordjsp form .form-control {
  display: block;
  width: 100%;
  height: 38px;
  padding: 0.5rem 0.75rem;
  font-size: 0.88rem;
  color: var(--clr-text-main);
  background-color: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  box-shadow: none;
  transition: border-color 0.12s, box-shadow 0.12s;
  margin: 0;
}
#page-main.updatepasswordjsp form .form-control:focus {
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(58, 124, 165, 0.15);
  outline: none;
}
/* Botonera: una sola linea, mismo alto/forma para las 2 acciones.
   Misma especificidad reforzada que userinfojsp: el bloque de "boton
   mostrar mas" de _user_pages.less (#page-main.tipo_mymediasearch
   .col_dcha .cont_botonera .btn) tambien pone !important con esa
   misma especificidad y gana si no se iguala/supera aqui. */
#page-main.updatepasswordjsp .cont_botonera {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0.25rem 0 0;
  padding: 0;
  width: 100%;
  border: none;
  background: transparent;
}
#page-main.updatepasswordjsp .botonera {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  margin: 0;
  padding: 0;
}
#page-main.updatepasswordjsp.tipo_mymediasearch .col_dcha .cont_botonera .botonera .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 40px !important;
  min-width: 130px;
  padding: 0 1.2rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.updatepasswordjsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_enviar {
  background: var(--clr-accent) !important;
  border: 1px solid var(--clr-accent) !important;
  color: #fff !important;
  order: 1;
}
#page-main.updatepasswordjsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_enviar:hover {
  background: var(--clr-accent-dark) !important;
  border-color: var(--clr-accent-dark) !important;
}
#page-main.updatepasswordjsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_limpiar {
  background: var(--clr-bg-card) !important;
  border: 1px solid var(--clr-border) !important;
  color: var(--clr-text-body) !important;
  font-weight: 500 !important;
  order: 2;
}
#page-main.updatepasswordjsp.tipo_mymediasearch .col_dcha .cont_botonera .btn_limpiar:hover {
  background: var(--clr-bg-muted) !important;
  border-color: var(--clr-text-light) !important;
  color: var(--clr-text-main) !important;
}
@media screen and (max-width: 575.98px) {
  #page-main.updatepasswordjsp.tipo_mymediasearch .col_dcha .cont_botonera .botonera .btn {
    flex: 1 1 auto;
  }
}
/* ---------- userinfojsp: seccion Avatar (primera seccion) ---------- */
#page-main.userinfojsp .avatar-section__body {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
#page-main.userinfojsp .avatar-section__img {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--clr-border-light);
  background: var(--clr-bg-subtle);
  flex: 0 0 auto;
}
#page-main.userinfojsp .avatar-section__actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}
#page-main.userinfojsp .avatar-section__desc {
  margin: 0;
  color: var(--clr-text-muted);
  font-size: 0.82rem;
}
#page-main.userinfojsp .avatar-section__upload-btn {
  cursor: pointer;
  margin: 0;
}
@media screen and (max-width: 575.98px) {
  #page-main.userinfojsp .avatar-section__body {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ============================================================
   Q) alertsOpac.jsp ("Mis alertas") — rediseño 2026-09-12
   ============================================================
   La version anterior (tabla dataTables + fila de "fuentes" por
   alerta + badge de tipo de acceso) dependia de un plugin que no
   esta cargado en este tema ($tablas.dataTable is not a function),
   asi que los botones ni se enganchaban via JS, y encima resultaba
   compleja para un ciudadano. Sustituida por una lista sencilla de
   tarjetas con enlaces normales (recarga de pagina, sin AJAX): un
   solo boton "Suscribirme"/"Suscrito" por tema, sin fuentes ni
   badges de acceso. El "efecto oscuro al pasar el raton por el
   centro" que no gustaba era el box-shadow + fondo #f8fafc que la
   version anterior aplicaba a las filas insertadas por JS
   (tr.fila_checks) -- esas filas ya no existen en este diseño.
   ============================================================ */
#page-main.alertsOpacjsp .dashboard-section__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.6rem;
  height: 1.4rem;
  padding: 0 0.55rem;
  background: var(--clr-accent);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 999px;
  line-height: 1;
  margin-left: 0.25rem;
}
/* ---------- Chips de filtro por tema ---------- */
#page-main.alertsOpacjsp .alerts-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1rem;
}
#page-main.alertsOpacjsp .alerts-chip {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 0.95rem;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: 999px;
  color: var(--clr-text-body);
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.alertsOpacjsp .alerts-chip:hover {
  background: var(--clr-bg-muted);
  border-color: var(--clr-text-light);
}
#page-main.alertsOpacjsp .alerts-chip--active {
  background: var(--clr-accent);
  border-color: var(--clr-accent);
  color: #ffffff;
}
#page-main.alertsOpacjsp .alerts-chip:focus,
#page-main.alertsOpacjsp .alerts-chip:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(58, 124, 165, 0.25);
}
/* ---------- Lista de tarjetas ---------- */
#page-main.alertsOpacjsp .alerts-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
#page-main.alertsOpacjsp .alert-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border-light);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
#page-main.alertsOpacjsp .alert-card:hover {
  border-color: var(--clr-border);
  box-shadow: var(--shadow-xs);
}
#page-main.alertsOpacjsp .alert-card__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--clr-bg-muted);
  color: var(--clr-text-light);
  font-size: 1.15rem;
  transition: background 0.15s, color 0.15s;
}
#page-main.alertsOpacjsp .alert-card__icon--on {
  background: rgba(58, 124, 165, 0.14);
  color: var(--clr-accent);
}
#page-main.alertsOpacjsp .alert-card__body {
  flex: 1 1 auto;
  min-width: 0;
}
#page-main.alertsOpacjsp .alert-card__name {
  margin: 0;
  padding: 0;
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--clr-text-main);
  font-family: inherit;
  text-transform: none;
  line-height: 1.35;
  border: none;
  background: transparent;
}
#page-main.alertsOpacjsp .alert-card__name .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.4rem;
  height: 1.3rem;
  padding: 0 0.45rem;
  margin-left: 0.35rem;
  background: var(--clr-accent);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 999px;
  vertical-align: middle;
}
#page-main.alertsOpacjsp .alert-card__desc {
  margin: 0.2rem 0 0;
  color: var(--clr-text-muted);
  font-size: 0.82rem;
  line-height: 1.5;
}
#page-main.alertsOpacjsp .alert-card__action {
  flex: 0 0 auto;
}
#page-main.alertsOpacjsp .alert-card__action--stacked {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.3rem;
}
/* Boton de suscripcion: un solo estado visual claro por alerta */
#page-main.alertsOpacjsp .alert-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 38px;
  padding: 0 1.1rem;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  color: var(--clr-text-body);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
#page-main.alertsOpacjsp .alert-toggle-btn:hover {
  background: var(--clr-bg-muted);
  border-color: var(--clr-accent);
  color: var(--clr-accent);
}
#page-main.alertsOpacjsp .alert-toggle-btn--on {
  background: var(--clr-success);
  border-color: var(--clr-success);
  color: #ffffff;
}
#page-main.alertsOpacjsp .alert-toggle-btn--on:hover {
  background: var(--clr-danger);
  border-color: var(--clr-danger);
  color: #ffffff;
}
/* Notificaciones: mismo lenguaje de tarjeta, con enlaces en vez de boton */
#page-main.alertsOpacjsp .notif-card--ARCHIVED {
  opacity: 0.65;
}
#page-main.alertsOpacjsp .alert-inbox-link {
  color: var(--clr-accent);
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
#page-main.alertsOpacjsp .alert-inbox-link:hover {
  text-decoration: underline;
}
@media screen and (max-width: 575.98px) {
  #page-main.alertsOpacjsp .alert-card {
    flex-wrap: wrap;
  }
  #page-main.alertsOpacjsp .alert-card__action {
    flex: 1 1 100%;
  }
  #page-main.alertsOpacjsp .alert-toggle-btn {
    width: 100%;
    justify-content: center;
  }
  #page-main.alertsOpacjsp .alert-card__action--stacked {
    align-items: flex-start;
  }
}
/* ---------- Pestañas "Notificación de alertas" / "Suscripción a alertas" ---------- */
#page-main.alertsOpacjsp .alerts-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: -1.1rem -1.25rem 1.25rem;
  padding: 0 1.25rem;
  border-bottom: 1px solid var(--clr-border-light);
}
#page-main.alertsOpacjsp .alerts-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 0.1rem;
  margin-bottom: -1px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--clr-text-muted);
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  transition: color 0.12s, border-color 0.12s;
}
#page-main.alertsOpacjsp .alerts-tab:hover {
  color: var(--clr-text-main);
}
#page-main.alertsOpacjsp .alerts-tab--active {
  color: var(--clr-accent);
  border-bottom-color: var(--clr-accent);
}
#page-main.alertsOpacjsp .alerts-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.3rem;
  padding: 0 0.45rem;
  background: var(--clr-bg-muted);
  color: var(--clr-text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 999px;
  transition: background 0.12s, color 0.12s;
}
#page-main.alertsOpacjsp .alerts-tab--active .alerts-tab__count {
  background: var(--clr-accent);
  color: #ffffff;
}
#page-main.alertsOpacjsp .alerts-tab-panel[hidden] {
  display: none;
}
@media screen and (max-width: 575.98px) {
  #page-main.alertsOpacjsp .alerts-tabs__nav {
    gap: 1rem;
  }
  #page-main.alertsOpacjsp .alerts-tab {
    font-size: 0.85rem;
  }
}
